Asterisk: non aspettare che la sceneggiatura AGI (bash) finisca prima di continuare a Dialplan

StackOverflow https://stackoverflow.com/questions/19840520

  •  29-07-2022
  •  | 
  •  

Domanda

Ho un dialplan asterisco che esegue uno script bash che corrisponde al chiamante con un database per geolocare il chiamante (abbinando i codici di paese e area). Poiché il database è piuttosto grande (scala globale), ci vogliono fino a 15 secondi per finire.

Devo eseguire questo script immediatamente dopo aver risposto alla chiamata (nel caso in cui l'utente riattacca prima che la chiamata sia finita), ma non voglio che l'utente attenda l'esecuzione dello script. I valori di ritorno dovrebbero idealmente essere elaborati alla fine del dialplan appena prima del risanamento.

Q1: ho trovato http://www.voip-info.org/wiki/view/asterisk+agi#forkandContinuelPlan che si occupa del mio problema per quanto riguarda gli script di Perl. Come faccio a realizzare lo stesso in Bash? So di poter inviare qualsiasi script di bash sullo sfondo aggiungendo un "&" alla fine, ma sono all'oscuro di come farlo in dialplan / quando si utilizza gli script AGI.

Q2: come posso elaborare i valori anche se l'utente ha riattaccato prima / Dialplan "uscito da diversi zero"?

Grazie per l'aiuto!

È stato utile?

Soluzione

Usa l'interfaccia FASTAGI. O spara userevent con Ami Listener.

AGI non è progettato per funzionare come vuoi, quindi non funzionerà.

Sicuramente puoi usare il comando Nohup per ottenere la sceneggiatura immortale bash, ma non è così.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top