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à’.