Configurar un IVR es muy sencillo desde la interfaz web de Elastix, simple para direccionar opciones a extensiones agregadas a nuestra PBX. Pero sabemos que muchas de las veces requerimos hacer cosas mas elaboradas, por ejemplo gestionar datos de una BD y hacerlos interactuar con nuestra central telefónica.
Para este ejemplo mi aplicación contiene:
- Un saludo de bienvenida.
- Un menú principal
- Menus secundarios
- Audios de ingresos correctos e incorrectos.
Para grabar estos archivos podemos hacerlo desde nuestro editor favorito, yo utilizo Audacity respetando ciertas configuraciones de muestreo y otras cosas. Para facilitar nuestro trabajo podemos realizar las grabaciones desde una extensión de nuestra PBX y con la ayuda de un softphone grabar nuestra voz. En la página de elastix hay mucha información de cómo realizar esta labor. Recomiendo los manuales de “Comunicaciones Unificadas con Elastix” volumen 1 y volumen 2.
La aplicación es sencilla y se la puede complicar tanto como queramos.
Empezamos con editar el archivo de configuración extensions_custom.conf, desde nuestra interfaz web llegamos a este archivo de la siguiente manera:
- Clic en PBX
- Clic en Tools
- Clic en File Editor
Para encontrar rapidamente el archivo podemos filtarlo por su nombre:
Agregamos lo siguiente a nuestro archivo:
| include => inicio include => IVR include => IVR1 include => IVR2 [globals] ;——– VARIABLES telefono= [inicio] exten => 1800,1,Answer [IVR] [IVR1] [IVR2] |
Parte del código esta comentado para su entendimiento, es muy fácil seguir su secuencia y probar sus opciones mentalmente. Todo empieza con el contexto [inicio], la extensión de nuestra IVR es 1800, esta a su vez puede ser configurada como ruta entrante de las llamadas o puede ser configurada para que primero sea contestada en un Call Center, etc., son muchas nuestras posibilidades, todo esto se explica en detalle en la documentación oficial.
Luego va al contexto [IVR] donde reproducimos el saludo (PlayBack) y luego el menú (Background), la diferencia entre las dos es que la primera hará caso omiso al usuario hasta terminar de reproducir todo el archivo y background reproducirá el archivo hasta que el usuario presione alguna opción del teclado y el IVR interprete esta opción.
La secuencia depende del número de su secuencia y con “Goto” podemos prácticamente pasearnos por nuestras opciones.
La consulta de conexión a la BD viene con los datos de usuario y password que se menciona en la explicación del código, estos valores vienen por default en Elastix
La aplicación le da al usuario dos opciones:
- Presione 1 para revisar su saldo. Contexto [IVR1]
- Presione 2 para revisar el estado actual de su línea. Contexto [IVR2]
[IVR1]
- El usuario ingresa su numero de telefono 8 caracteres
- Se realiza la consulta
- El IVR lee el resultado de la consulta
- Menu para consultar otro numero o regresar al menú principal o salir
[IVR2]
- El usuario ingresa su numero de telefono 8 caracteres
- Se realiza la consulta
- Los resultados siempre tienen 4 estados de la linea posibles:
- En reparacion
- En mora
- Suspendido
- En linea
- El resultado de la consulta cualquiera que estos fueran tienen un audio con el nombre de archivo igual al de la consulta. Ejemplo: si la consulta devuelve suspendido en el sistema se encuentra un audio llamado suspendido.wav
- Menu para consultar otro numero o regresar al menú principal o salir
Por el momento es todo y hay mucho que se puede hacer, espero le sea de utilidad a alguien. Hasta pronto.






