VoIP Asterisk: Eseguire Script Bash Chiamate in Ingresso/Uscita
Da qualche giorno ho iniziato ad interessarmi al VoIP, devo dire che e’ una tecnologia che ho sempre sottovalutato e che meriterà molta attenzione nel mio prossimo futuro, dato che ho passato il numero geografico che avevo con Telecom sul VoIP con tutte le comodità’ e le funzionalità’ ad esso connesse ( nel prossimo articolo entrerò’ più nel dettaglio su questa tecnologia) .
Lo scopo di questo piccolo articolo e’ quello di vedere come poter lanciare/eseguire in automatico uno script in bash ( funziona con qualsiasi altro eseguibile Unix-Like ) alla ricezione o alla partenza di una chiamata su Asterisk.
la funzione che ci mette a disposizione Asterisk per l’esecuzione di uno script (Linux command) e’ System() .
Vediamo subito un esempio preso dal mio extensions.conf
exten =› 1234,2,Verbose(Incoming Call From Messagenet)
exten =› 1234,1,System(/home/unicondor/start_incoming_call.sh)
exten =› 1234,n,Wait(3)
exten =› 1234,n,Answer
exten =› 1234,n,DIAL(${CASA},45)
exten =› 1234,n,System(/home/unicondor/stop_incoming_call.sh)
exten =› 1234,n,Hangup
#!/bin/sh /home/unicondor/set_limit_mldonkey.sh 1 exit 0
L’unica accortezza per la corretta esecuzione di start_incoming_call.sh da parte di Asterisk e’ di aggiungere exit 0 alla fine dello script in bash, altrimenti Asterisk non riuscendo a capire lo stato con cui e’ terminato il vostro script non lo eseguirà’.
