Realizziamo un IVR con Asterisk [Terza parte]

Realizziamo un IVR con Asterisk [Terza parte]

Completiamo l’IVR aggiungendo le opzioni che possono essere scelte dall’utente quando effettua una chiamata sul nostro numero. Inizialmente avevamo specificato che le opzioni dovevano essere “1” per il reparto commerciale (supponiamo che risponda all’interno 200) e “2” per quello tecnico (supponiamo che risponda all’interno 201). In caso di nessun tasto premuto, il sistema in automatico passerà la chiamata in segreteria (supponiamo sia l’interno 300).

Per implementare tutto questo continuiamo ad aggiungere le seguenti estensioni nel contesto “[sportello]”.

;In caso venga selezionato il tasto 1 si passa all'interno 200 (reparto commerciale)
exten => 1,1,Dial(SIP/200,20)
; il telefono squilla per 20 secondi e poi si chiude
exten => 1,2,Hangup

;in caso venga selezionato il tasto 2 si passa all'interno 201 (reparto tecnico)
exten => 2,1,Dial(SIP/201,20)
; il telefono squilla per 20 secondi e poi si chiude
exten => 2,2,Hangup

;l'estensione i viene scelta in caso l'utente sbaglia il tasto premuto
exten => i,1,Goto(s,3)

;in caso l'utente attenda in linea e scade il timeout viene scelta questa estensione
exten => t,1,Dial(SIP/300,20)

Vediamo meglio le ultime due righe del contesto:

  • l’estensione i viene eseguita quando l’utente digita un tasto sul telefono che non ha nessuna estensione relativa configurata (nel nostro caso qualsiasi tasto diverso da 1 o 2). In questo caso viene eseguita l’applicazione GOTO che ha il compito di rimandare la chiamata nel contesto [sportello] sull’estensione s. In pratica se l’utente sbaglia tasto il messaggio viene ripetuto daccapo;
  • l’estensione t viene eseguita quando l’utente non preme alcun tasto fino alla scadenza del timeout impostato all’inizio del contesto, in questo caso decidiamo di inoltrare la chiamata alla segreteria (interno 300).

Fate pure i vostri test e comunicatemi i risultati, magari per commentarli insieme.

Ti consigliamo anche

Link copiato negli appunti