Dopo aver seguito il precedente post abbiamo le conoscenze per realizzare il file audio da utilizzare per la risposta automatica.
Il formato wav, realizzabile con un software qualsiasi di registrazione vocale, dovrà essere convertito in formato GSM, nominato “risposta.gsm” e copiato nella cartella “/var/lib/asterisk/sounds/custom”.
Supponiamo di aver configurato un trunk di ingresso che inoltri le chiamate in arrivo sul contesto: “[sportello]“.
Per ottenere quello che vogliamo dobbiamo specificare il contesto sportello, in questo modo:
[sportello]
;imposta il tempo massimo di attesa per la chiamata
exten => s,1,Set(TIMEOUT(response)=30)
;risponde alla chiamata
exten => s,2,Answer( )
;esegue il file audio risposta
exten => s,3,Background(custom/risposta)
L’applicazione Background esegue il file audio specificato come argomento ma continua a restare in attesa di eventuali tasti digitati sulla tastiera del telefono.
Questo ci permette di far ascoltare all’utente il file audio “risposta” che conterrà il testo da ripetere all’utente.
Esiste un’altra applicazione simile: Playback ma in questo caso non sono accettate pressioni di tasti.
Nel prossimo post completiamo la realizzazione del risponditore automatico.
Se vuoi aggiornamenti su Realizziamo un IVR con Asterisk [Seconda parte] inserisci la tua e-mail nel box qui sotto:
ciao stò seguento le tue guide con piacere, e ti faccio i complimenti, ma arrivato quì ho un prb. Ovvero, se sostituisco la ‘s’ con il mio numero voip asterisk risponde non sento il messaggio, se provo a digitare 1 per un interno non va. Mentre se lascio la ‘s’ mi risponde la compagnia telefo. dicemndo che il num è inesistente. Ciao e grazie
di riccardo magrini - 18 marzo 2009 - 16:17
con “il mio numero asterisk” intendi il numero che hai configurato come trunk voip in ingresso?
per aiutarti dovrei vedere il log del centralino
di Francesco Di Lecce - 19 marzo 2009 - 07:57
ciao Francesco, mi è arrivata la tua risposta via e-mail ma quando vado sul link
Guarda tutti i commenti al post cliccando su questo link:
http://www.onevoiceoverip.it/07/01/2009/realizziamo-un-ivr-con-asterisk-seconda-parte/#comments
si presenta la pagina senza nessun commento. Cosa bisogna fare per vedere i commenti?? grazie
di riccardo magrini - 21 marzo 2009 - 16:14
ciao Francesco si il mio numero asterisk intendo il num registrato su eutelia. per farti avere il log come devo fare? grazie mille
di riccardo magrini - 21 marzo 2009 - 16:20
ok trovati tutti i commenti scusami per i msg precedenti.
di riccardo magrini - 21 marzo 2009 - 18:04
puoi copiarlo qui?
di Francesco Di Lecce - 22 marzo 2009 - 10:37
dal log vedo che il file audio non esiste in nessun formato e non avviane l’apertura. Cosa strana dentro il /var/lib/asterisk/sounds/custom/test.gsm esiste. Per la registrazione ho seguito questa guida
http://www.voipista.com/?p=132
grazie
di riccardo magrini - 22 marzo 2009 - 19:43
hai configurato il trunk di eutelia in modo che le chiamate arrivino su questo contesto?
dentro /var/lib/asterisk/sounds/custom/
esiste per caso un altro file con nome test che ha un’altra estensione?
di Francesco Di Lecce - 22 marzo 2009 - 23:04
ciao Francesco ti allego il mio file extensions, ci sono delle righe commentate:
[from-internal]
exten => 201,1,Dial(SIP/201,20)
exten => 201,2,Hangup
exten => 202,1,Dial(SIP/202,20)
exten => 202,2,Hangup
exten => _7.,1,Dial(SIP/${EXTEN:1}@ext-provider)
;per registrare messaggio
;exten => 203,1,Wait(2)
;exten => 203,2,Record(/tmp/asterisk-recording:gsm)
;exten => 203,3,Wait(2)
;exten => 203,4,Playback(/tmp/asterisk-recording:gsm)
[from-provider]
;exten => 0863xxxx,1,Dial(SIP/201)
;exten => 0863xxxx,2,Hangup
;[sportello]
exten => 0863xxxx,1,Set(TIMEOUT(response)=3)
;risponde alla chiamata
exten => 0863xxxx,2,Answer( )
;esegue il file audio risposta
exten => 0863xxxxx,3,Background(/sounds/custom/test.gsm)
;In caso venga selezionato il tasto 1 si passa all’interno 201 (reparto commerciale)
exten => 1,1,Dial(SIP/201,3)
; il telefono squilla per 3 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/202,3)
; il telefono squilla per 3 secondi e poi si chiude
exten => 2,2,Hangup
a me sembra tutto ok! non vorrei che test.gsm deve essere convertito come fai presente tu.
di riccardo magrini - 23 marzo 2009 - 02:30
guarda ho trovato sullo stesso sito questo link
http://www.voipista.com/?p=20
puo essere d’aiuto?
di riccardo magrini - 23 marzo 2009 - 02:48
exten => 0863xxxxx,3,Background(/sounds/custom/test.gsm)
questa linea non dovrebbe essere corretta perchè il path esatto è:
/var/lib/asterisk/sounds/custom/test.gsm
come specificato sopra
di Francesco Di Lecce - 23 marzo 2009 - 07:40
ciao Francesco ho fatto come dici tu, ma niente mentre se non inserisco nessuna path sento il messaggio, quest’ultimo è quello di default di asterisk posizionato in /usr/share/asterisk/sounds/press-1.
se provo invece a copiare lo stesso file in /var/lib/asterisk/sounds ed inserire la path non sento nulla. Non è per caso bisogna modificare qualche altro file che imposta asterisk di leggere una determinata path invece di un’altra? graize
di riccardo magrini - 28 marzo 2009 - 18:53
in genere la cosa dovrebbe essere abbastanza semplice, ricapitoliamo:
1) sei certo che il file /var/lib/asterisk/sounds/custom/test.gsm esiste?
2) il file test.gsm come è stato creato? hai seguito le istruzioni che ho specificato nel precedente post?
http://www.onevoiceoverip.it/05/01/2009/realizziamo-un-ivr-con-asterisk-prima-parte/
3) sei certo che oltre /var/lib/asterisk/sounds/custom/test.gsm nella stessa directory non esiste un’altro file:/var/lib/asterisk/sounds/custom/test.qualcosa, in genere qui può capitare di lasciare anche il file wav.
ti chiedo di effettuare queste tre verifiche e scrivermi le risposte
ciao
di Francesco Di Lecce - 29 marzo 2009 - 10:40
ok! visto che non sono sicuro di test.gsm ha fatto i test utilizzando i file di default di asterisk (usr/share/asterisk/sounds/…) ad esempio press-1 sento la voce ma quando lo sposto in /var/lib/asterisk/sounds/custom/ la cosa non funge. Di seguito ti ho allegato extensions.conf:
[users]
exten => 201,1,Dial(SIP/201,10)
exten => 201,2,Hangup
exten => 202,1,Dial(SIP/202,10)
exten => 202,2,Hangup
exten => 203,1,Dial(SIP/203,10)
exten => 203,2,Hangup
;exten => 204,1,Dial(SIP/202/203,10)
;exten => 204,2,Hangup
exten => _7.,1,Dial(SIP/${EXTEN:1}@ext-provider)
[from-provider]
exten => 0863xxxx,1,Answer()
exten => 0863xxxx,2,Playback(hello-world)
exten => 0863xxxx,3,wait(1)
exten => 0863xxxx,4,Goto(menu,s,1)
[menu]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Background(press-1)
exten => s,n,Background(or)
exten => s,n,Background(press-2)
exten => s,n,WaitExten(3)
exten => t,1,Dial(SIP/201,10)
exten => t,2,Hangup()
exten => 1,1,Dial(SIP/202,10)
exten => 1,2,Hangup
exten => 2,1,Dial(SIP/203,10)
exten => 2,2,Hangup
facendo delle prove asterisk legge di default /usr/share/asterisk/sounds e non var/lib/asterisk/sounds/custom/…. ah mi sono dimenticato di dirti che utilizzo ubuntu.
di riccardo magrini - 29 marzo 2009 - 18:48
be penso che ti sei risposto da solo,
in ubuntu la directory dei file è diversa devi usare:
/usr/share/asterisk/sounds
di Francesco Di Lecce - 22 aprile 2009 - 18:28