Você está na página 1de 3

IVR

IVR es la sigla de Interactive Voice Response, que se traduce del ingls como Respuesta
de Voz Interactiva. Consiste en una central telefnica (en este caso Asterisk) que es capaz
de recibir una llamada e interactuar con el usuario a travs de grabaciones de voz y el
reconocimiento de respuestas a travs del uso de las teclas del telfono. Algunos ejemplos:
el men que se escucha cuando se llama a un centro de atencin al cliente; los bancos que
permiten hacer consultas o pagos a travs de un men vocal.

En Asterisk con la aplicacin Record se pueden grabar archivos de audio para luego
utilizarlos en la creacin de un IVR. Para implementarla hay que modificar el dialplan.

En el contexto LocalSets se pone el siguiente bloque:

exten => _66XX,1,Answer()
same => n,Wait(2)

same => n,Record(/tmp/grabacion${EXTEN:2}:wav)
same => n,Wait(2)

same => n,Playback(/tmp/grabacion${EXTEN:2})
same => n,Wait(2)
same => n,Hangup()

Lnea 1: contesta la llamada
Lnea 2: espera 2 segundos
Lnea 3: Graba el archivo de audio en la carpeta /tmp con nombre grabacionXX donde XX
son los ltimos dos dgitos de la extensin que se ha marcado desde cualquier softphone o
telfono IP.

Ejemplo: Si se llama la extensin 6650 el archivo de audio tendr el nombre
grabacion50.waw

Lnea 4: espera 2 segundos
Lnea 5: devuelve el archivo recin grabado
Lnea 6: espera 2 segundos
Lnea 7: cuelga la llamada

Si la grabacin no es satisfactoria, se vuelve a grabar marcando el mismo nmero. La nueva
grabacin remplazar la vieja.

Esta solucin permite grabar hasta 99 archivos de audio. Para el ejemplo a seguir hay que
grabar tres archivos de audio que contienen las siguientes frases:

grabacion01.wav - PARA COMUNICARSE CON REDES MARQUE 1
grabacion02.wav - PARA COMUNICARSE CON TELECOS MARQUE 2
grabacion03.wav - USTED HA MARCADO UN NUMERO NO VALIDO, POR FAVOR
VUELVA A INTENTARLO

Desde la extensin 1000 se marca 6601 y se graba la primera frase; luego 6602 y se graba
la segunda; se termina con 6603 y se graba la tercera. (Para terminar la grabacin hay
que presionar la tecla numero #)

Se mueven los tres archivos (grabacion01.wav grabacion02.wav y grabacion.wav) a la
carpeta creada

cd /tmp
mv grabacion* /var/lib/asterisk/sounds/custom


EJEMPLO

Implementar un IVR el cual permita comunicar los ambientes de TELECOS, REDES y
SECRETARIA, si al comunicarse con secretaria y esta no responde se deje un correo de
voz, tambin de debe tener la opcin de escuchar los correos y consultar el horario de cada
instructor

[general]

[globals]

REDES=SIP/1000
TELECOS=SIP/1001
SECRETARIA=SIP/1002

[LocalSets]

exten=> _10XX,1,Dial(SIP/${EXTEN},30)
exten=> _10XX,1,HangUp()

exten=> 08005000,1,Goto(ivr,s,1)

[ivr]
exten=>s,1,Answer
exten=>s,n,Ringing
exten=>s,n,NoOp(llamada entrante al ivr)
exten=>s,n,Background(/var/lib/asterisk/sounds/custom/ grabacion01)
exten=>s,n,NoOp(marque 1 para hablar con redes y 2 para hablar con telecos)
exten=>s,n,WaitExten(6)

exten=>1,1,NoOp(PARA COMUNICARSE CON REDES MARQUE 1)
exten=>1,n,PlayBack(/var/lib/asterisk/sounds/custom/ grabacion02)
exten=>1,n,Dial(${REDES},30)
exten=>1,n,HangUp()


exten=>2,1,NoOp(PARA COMUNICARSE CON TELECOS MARQUE 2)
exten=>2,n,PlayBack(/var/lib/asterisk/sounds/custom/ grabacion02)
exten=>2,n,Dial(${TELECOS},30)
exten=>2,n,HangUp()
exten=>i,1,PlayBack(pbx-invalid)
exten=>i,n,Goto(ivr,s,1)

exten=>t,1,NoOp(tiempo de espera agotado)
exten=>t,n,PlayBack(/var/lib/asterisk/sounds/custom/tiempo_agotado)
exten=>t,n,Dial(${SECRETARIA},10)
exten=>t,n,Voicemail(1002@default)
exten=>t,n,HangUp()

Você também pode gostar