Generare una chiamata automaticamente con Asterisk

Asterisk ha la capacità di generare chiamate in modo automatico o programmato utilizzando il metodo file di chiamata. Per utilizzare questa modalità è necessario creare un file con le seguenti informazioni:

  • Come effettuare la chiamata
  • Cosa fare quando si risponde alla chiamata

Sintassi di un file di chiamata

La sintassi di un file di chiamata è molto semplice. In questo esempio, il file chiede ad Asterisk di telefonare ad un cellulare e quando ottiene risposta, di eseguire il test di eco (disponibile digitando *43 in tutte le distribuzioni con FreePBX)

Channel: Local/0039342XXXXXXX@from-internal
MaxRetries: 2
Callerid: "Prova" <334>
RetryTime: 2000
WaitTime: 30
Archive: yes
Context: app-echo-test
Extension: *43
Priority: 1

Come creare un file di chiamata

Il manuale di Asterisk consiglia di non creare o modificare i file direttamente nella cartella /var/spool/asterisk/outgoing ma di lavorare sempre su un'altra cartella e poi spostare il file su /var/spool/asterisk/outgoing

Come programmare una chiamata

I file di chiamata che hanno una data di ultima modifica posteriore all'ora attuale saranno ignorati da Asterisk. Questo consente di programmare una chiamata modificando la data e l'ora di un file di chiamata. Spostandolo poi nella cartella di uscita, Asterisk eseguirà i comandi del file nella data e orario impostato.

# vi test.call
Channel: Local/0039342XXXXXXX@from-internal
MaxRetries: 2
Callerid: "Prova" <334>
RetryTime: 2000
WaitTime: 30
Archive: yes
Context: app-echo-test
Extension: *43
Priority: 1

Programmare la chiamata fra un'ora

# touch -d "$(date -r test.call) + 1 hour" test.call

Spostare il file di chiamata

# mv test.call /var/spool/asterisk/outgoing/

In questo modo, la chiama partirà tra un'ora