“Gracias por comunicarse con Mi Empresa SRL….……para comunicarse con Ventas marque 1… para comunicarse con Soporte marque 2 …. Para comunicarse con Administración marque 3… para enviar un fax presione 4 sino aguarde y será atendido por una operadora.”
Para realizar esta tarea seguiremos los siguientes pasos:
1º crear un IVR en formato wav llamado menudia.wav y convertirlo a extension gsm con el software WavePadSound editor.
2º con el winscp copiar el archivo creado (menudia2.gsm) en el siguiente PATH /var/lib/asterisk/sounds/es/
3º agregar el contexto menu-dia en el archivo extensions.conf. Si queremos listar el directorio, lo hacemos con la opción 9. Para ello copiar el archivo cp /var/lib/asterisk/sounds/es/dir-intro.gsm /var/lib/asterisk/sounds/es/dir-welcome.gsm
[phones]include => internal [internal] exten => _2XXX,1,Dial(SIP/${EXTEN},10) ; llamados de ext 2xxx exten => _2XXX,n,VoiceMail(${EXTEN}@default,u) ; opcion de dejar un mensaje en la casilla de la ext exten => _2XXX,n,Playback(vm_goodbye) ; se despide con un mensaje exten => _2XXX,n,Hangup() ; cuelga la comunicacion ;;;;;con *98 entro a mi casilla de mensajes exten => *98,1,Answer exten => *98,2,Wait(1) exten => *98,3,VoiceMailMain(${CALLERID}@default) exten => *98,4,Hangup ;llamando al interno 2000 entra al IVRsegun el horario ejecuta el mensaje exten => 2000,1,GotoIfTime(9:00-18:00|mon-fri|*|*?menu-dia,s,1) exten => 2000,2,GotoIfTime(18:01-8:59|mon-fri|*|*?menu-noche,s,1) [menu-noche] exten=>s,1,Answer exten=>s,2,Wait(1) exten=>s,3,Playback(menunoct) exten=>s,4,Hangup ;;;;; llamando al 3333 grabo un IVR exten => 3333,1,Answer exten => 3333,n,Wait(0.5) exten => 3333,n,Record(menudia2.gsm) exten => 3333,n,Wait(1) exten => 3333,n,Playback(menudia2) exten => 3333,n,Hangup() [menu-dia] exten => s,1,Answer exten => s,n,Wait(0.5) exten => s,n,Background(menudia2) ; reproduce el mensaje grabado exten => s,n,WaitExtend(5) exten => 1,1,Goto(internal,2001,1) ; si selecciona la opcion 1 redirecciona a la ext 2001 exten => 2,1,Goto(internal,2002,1); si selecciona la opcion 2 redirecciona a la ext 2002 exten => 2,1,Goto(internal,2003,1); si selecciona la opcion 3 redirecciona a la ext 2003 exten => 9,1,Directory(default,user,e) ; si selecciona la opcion 9 redirige al directorio exten => *,1,Goto(s,1) ; vuelve a reproducer el menu principal con la tecla asterisco exten => t,1,Playback(goodbye) ; si esta mucho tiempo sin hacer nada despide y cuelga exten => t,n,Hangup() exten => i,1,Playback(pbx-invalid) ; si el numero digitado no es valido comunica el error exten => i,n,goto(s,1) ;vuleve al menu principal del IVR |
TIPS= La diferencia entre Playback() y Background () es que con Playback cuando reproduce un mensaje tengo que esperar a que termine para elegir la opción que deseo, en cambio con Background puedo oprimir la opción antes de que termine el mensaje.
4º Se agrega la siguiente línea al contexto features.
[features] exten => 2000,1,Goto(menu-dia,s,1) ; llamando a la ext 2000 ingresa al menu del IVR |
5º se realiza la prueba llamando al interno 2000 donde tendría que escucharse el IVR
Diagrama de flujo de comportamiento del IVR
Cómo funciona el IVR según horarios.Vamos hacer que el IVR según el horario la operadora de 2 tipos de mensajes
1- Si el llamado es de lunes a viernes de 9:00 a 18:00 nos atiende la operadora dando la bienvenida y derivando a la extensión que queremos ejecutando el contexto menu-dia.
2- Si el llamado es fuera de horario y día hábil, nos dará un mensaje informando el horario de atención, ejecutando el contexto menú-noche.
exten => 2000,1,GotoIfTime(9:00-18:00|mon-fri|*|*?menu-dia,s,1)
exten => 2000,2,GotoIfTime(18:01-8:59|mon-fri|*|*?menu-noche,s,1)
La sintaxis es la siguiente para entender cómo funciona el GotoifTime
(9:00-18:00|mon-fri|*|*?menu-dia,s,1)
(rango horario|dias de la semana|dias del mes| meses?contexto)
No hay comentarios:
Publicar un comentario