Esta web utiliza cookies, puedes ver nuestra la política de cookies, aquí Si continuas navegando estás aceptándola
Política de cookies +

Cómo montar un IVR multinivel en Asterisk usando la aplicación Read (y no morir en el intento)

Si alguna vez has soñado con que tus clientes naveguen por un laberinto de opciones telefónicas, pulsando números hasta perder la paciencia (o la fe en la humanidad), este artículo es para ti. Hoy aprenderás, con humor y sin perder la cordura, a usar la mítica aplicación Read de Asterisk para construir un IVR multinivel digno de una operadora de los 90, pero con la potencia de la VoIP moderna.

¿Qué demonios es Read?

Read es la aplicación de Asterisk que te permite leer dígitos introducidos por el usuario y almacenarlos en una variable. Es el equivalente digital a pedirle a tu abuelita que marque el 1 para hablar con el nieto favorito, el 2 para el que nunca llama, y el 3 para el que sólo pide dinero.

La receta básica del IVR multinivel

  1. Contesta la llamada con Answer().
  2. Reproduce una grabación con Playback() o Background().
  3. Usa Read() para capturar la elección del usuario.
  4. Según la opción, salta a otro contexto, submenú, o directamente a una extensión interna (¡marcado directo!).
  5. Si el usuario no sabe qué hacer, repite el menú hasta que aprenda... o cuelgue.

Ejemplo práctico: El IVR multinivel de la empresa “TodoLío S.A.”

Imagina que tienes varios departamentos y quieres que la gente pueda marcarlos directamente o navegar por menús. Además, tienes varios contextos porque te gusta complicarte la vida (y porque tienes varias sucursales).

Archivo extensions.conf

[entrada_principal]
exten => s,1,Answer()
 same => n,Playback(bienvenido-a-todolio)
 same => n,Playback(si-sabe-la-extension-marquela)
 same => n,Read(EXT,por-favor-marque-la-extension,4,,3,5)
 same => n,GotoIf($["${EXT}" = ""]?menu_principal,s,1)
 same => n,Goto(dial_extensiones,${EXT},1)

[menu_principal]
exten => s,1,Playback(menu-principal)
 same => n,Playback(pulse-1-ventas)
 same => n,Playback(pulse-2-soporte)
 same => n,Playback(pulse-3-contabilidad)
 same => n,Read(OPCION,por-favor-ingrese-opcion,1,,3,5)
 same => n,GotoIf($["${OPCION}" = "1"]?ventas,s,1)
 same => n,GotoIf($["${OPCION}" = "2"]?soporte,s,1)
 same => n,GotoIf($["${OPCION}" = "3"]?contabilidad,s,1)
 same => n,Playback(opcion-invalida)
 same => n,Goto(menu_principal,s,1)

[dial_extensiones]
exten => _1XX,1,Dial(SIP/${EXT}@internos)
 same => n,Hangup()

[ventas]
exten => s,1,Playback(ha-contactado-ventas)
 same => n,Hangup()

[soporte]
exten => s,1,Playback(ha-contactado-soporte)
 same => n,Hangup()

[contabilidad]
exten => s,1,Playback(ha-contactado-contabilidad)
 same => n,Hangup()

; Contexto de otra sucursal
[sucursal2_entrada]
exten => s,1,Answer()
 same => n,Playback(bienvenido-sucursal2)
 same => n,Read(EXT2,marque-extension,4,,3,5)
 same => n,GotoIf($["${EXT2}" = ""]?menu_sucursal2,s,1)
 same => n,Goto(dial_extensiones_s2,${EXT2},1)

[menu_sucursal2]
exten => s,1,Playback(menu-sucursal2)
 same => n,Playback(pulse-1-rrhh)
 same => n,Playback(pulse-2-it)
 same => n,Read(OPCION2,ingrese-opcion,1,,3,5)
 same => n,GotoIf($["${OPCION2}" = "1"]?rrhh,s,1)
 same => n,GotoIf($["${OPCION2}" = "2"]?it,s,1)
 same => n,Playback(opcion-invalida)
 same => n,Goto(menu_sucursal2,s,1)

[dial_extensiones_s2]
exten => _2XX,1,Dial(SIP/${EXT2}@internos_s2)
 same => n,Hangup()

[rrhh]
exten => s,1,Playback(ha-contactado-rrhh)
 same => n,Hangup()

[it]
exten => s,1,Playback(ha-contactado-it)
 same => n,Hangup()
    

¿Qué está pasando aquí?

Consejos de supervivencia

Conclusión

Montar un IVR multinivel con Read en Asterisk es más fácil de lo que parece, y mucho más divertido si te lo tomas con humor. Recuerda: un buen IVR puede ser la diferencia entre un cliente feliz y uno que te maldice en tres idiomas. ¡Suerte, y que las extensiones estén siempre a tu favor!

Capa Tres Soluciones Tecnológicas es una empresa registrada en la CNMC como operador de telecomunicaciones.

Capa Tres Soluciones Tecnológicas S.L. CIF B63846984. Networkia Bussiness Center. Avda Portal de l'Angel, 36. 08002 Barcelona. Teléfono 935605424. Email comercial@capatres.com. Colloquor es una marca comercial registrada.