Asterisk: Dialplan con esempio - le Variabili

In questo tutorial/guida vedremo quali sono e come si utilizzano le Variabili nel nostro Dialplan di Asterisk.

Le variabili di Asterisk hanno tutte questa sintassi:
${NOME-VARIABILE}
Le variabili di Asterisk sono case sensitive! Quindi ${MIAVAR} e ${miavar} sono 2 variabili diverse!
Le variabili che Asterisk genera automaticamente (per ogni chiamata) sono tutte in maiuscolo (Es. ${DIALSTATUS}).

Le variabili di Asterisk si dividono in 3 diverse tipologie:

Variabili Globali

Sono le variabili utilizzabili in qualsiasi contesto del dialplan (di fatto in tutti i canali).
Si deviniscono e valorizzano:
- nella sezione [globals] del file extensions.conf
[globals]
variabile-globale-1=valore-da-assegnare
- nel dialplan con l'application Set
exten=>6124,1,Set(GLOBAL(MYGLOBALVAR)=valore-da-assegnare)

Variabili di Canale

Sono le variabili che vengono definite e valorizzate per la sola durata di ogni singola chiamata.
Ci sono tantissime varibili di canale. Un mini estratto:
${CALLERID(name)} - Caller ID Name only
${CALLERID(num)} - Caller ID Number only
${CHANNEL} - Current channel name
${CONTEXT} - Current context
${EXTEN} - Current extension
${HANGUPCAUSE} - Asterisk cause of hangup (inbound/outbound)
${UNIQUEID} - Current call unique identifier

Per avere maggiori dettagli visitate il Wiki di Asterisk

Le variabili di canale possono essere "modificate" con l'application Set
Esempio: aggiungiamo lo zero al CALLERID(num) (al numero del chiamante)
exten=>123,1,Set(CALLERID(num)=0${CALLERID(num)})

Variabili di Ambiente

Sono le variabili di Linux a cui si può accedere con Asterisk all'interno del dialplan, grazie alla funzione ENV().
Esempio:
exten=>123,1,NoOp(${ENV(ASTERISK_PROMPT)})

Ritorna il corrente CLI prompt di Asterisk.



Migliora il tuo business. Partecipa ai nostri Corsi!

I nostri corsi OnLine ed in Aula sono studiati per garantire il miglior apprendimento e sono finalizzati a "creare professionisti nel settore".
Questi i prossimi corsi in calendario:

Corsi 2019

Corso Data Tipo