Applicazione Dial e features.conf

Versione adatta alla stampaSend to friendPDF version

Abbiamo già visto come configurare il file features.conf e come si definiscono il “parcheggio” delle chiamate e altre applicazioni. Oggi vedremo come integrare queste funzionalità nel dialplan di Asterisk usando l’applicazione Dial.

Prima di tutto guardiamo la sintassi dell’applicazione:

Dial(Technology/resource[&Tech2/resource2...][,timeout][,options][,URL]):

Dial: il nome dell’applicazione che ci permette di effettuare una chiamata

Technology: Il protocollo o la tecnologia usata per effettuare la chiamata (es: SIP, IAX2)

resource: La risorsa usata per effettuare la chiamata o l’interno che ci accingiamo a chiamare.

timeout: Il numero di secondi che durerà la chiamata. Se nessuno risponde il diaplan continuerà con la seguente linea

options: Le diverse opzioni che possiamo indicare al momento di usare l’applicazione Dial

URL: Permette di inviare un indirizzo web all’interno chiamato (se il telefono che riceve la chiamata supporta questa funzione)

Alcuni esempi (da usare nell’extensions.conf e nel contesto adeguato):

exten => 2000,1,Dial(SIP/2000,30)

exten => 2000,2,Hangup

Se da un telefono SIP digitiamo 2000, Asterisk chiamerà l’interno usando il protocollo SIP. Aspetterà 30 secondi e se l’interno non risponde si processerà la seguente linea che non fará altro che chiudere il canale (di chi stava chiamando).

Per fare in modo che le funzioni definite nel file features.conf funzionino dobbiamo aggiungere alcune opzioni all’applicazione Dial.

exten => 2000,1,Dial(SIP/2000,30,hH)

Come si vede nella linea qui sopra abbiamo aggiunto le opzioni H e h alla nostra applicazione Dial

h: permette a chi riceve la chiamata di  terminarla usando il carattere * presente sulla tastiera del telefono

H: permette a chi ha iniziato la chiamata di effettuare la stessa operazione

exten => 2000,1,Dial(SIP/2000,30,kK)

k: Permette a chi riceve la chiamata di “parcheggiarla” usando la sequenza di tasti definita nel file features.conf

K: permette a chi ha iniziato la chiamata di effettuare la stessa operazione

exten => 2000,1,Dial(SIP/2000,30,tT)

t: Permette a chi riceve la chiamata di trasferirla ad un altro numero digitando la sequenza di tasti definita nel features.conf

T: Permette a chi ha iniziato la chiamata di effettuare la stessa operazione

exten => 2000,1,Dial(SIP/2000,30,wW)

w: Permette a chi riceve la chiamata di iniziare a registrarla digitando la sequenza di tasti definita nel file features.conf. In questo caso Asterisk creerà due file audio, uno per ogni interlocutore.

W: Permette a chi ha iniziato la chiamata di effettuare la stessa operazione.

exten => 2000,1,Dial(SIP/2000,30,xX)

x: Permette a chi riceve la chiamata di iniziare la registrarla digitando la sequenza di tasti definita nel file features.conf. La differenza con le opzioni w e W è che in questo caso i due canali saranno miscelati e il file audio sarà uno solo.

X: Permette a chi ha iniziato la chiamata di effettuare la stessa operazione

Se vogliamo, per esempio, attivare tutte le opzioni contemporaneamente, la linea della nostra applicazione Dial apparirà così:

exten => 2000,1,Dial(SIP/2000,30,hHkKtTwWxX)

Per evitare problemi di sicurezza è bene attivare queste opzioni solamente quando si è sicuri che non possano essere utilizzate in modo fraudolento. Pensiamo un momento all’opzione che permette al chiamato di trasferire la chiamata. Chiamo un numero di telefono fisso con l’opzione t attivata. Chi riceve la chiamata potrà trasferirla a qualsiasi numero (nazionale o internazionale) a spese di chi ha iniziato la chiamata. È una buona pratica definire bene i contesti in modo che le chiamate fra gli interni siano ben differenziate dalle chiamate esterne, evitando, in questo modo, situazioni come quella descritta nell’esempio riportato.

Condividi contenuti