Como agregar contextos personalizados en todos los servidores de un cluster con Vicidial

13 Oct

Hoy me di a la tarea de implementar un plan de llamadas personalizado en un cluster de Vicidial: mi cliente no quería que existiera la posibilidad de que los agentes marcaran manualmente desde su X-Lite, y al tratarse de un entorno de múltiples servidores, a la larga resultaría complicado mantener por separado cada uno de los archivos extensions.conf de los servidores.

¿Cuál es entonces la mejor manera para crear contextos de plan de llamadas que aparezcan en TODOS los servidores instalados en un cluster de Vicidial sin tener el problema de replicar manualmente los cambios?

La respuesta viene con las últimas versiones de Vici (2.2+) ya que bajo Admin -> System settings viene un espacio interesante donde podemos agregar planes de llamadas personalizados: el Custom Dialplan Entry.

Custom Dialplan Entry para Vicidial

Sin embargo, hay un problema, y es que todo lo colocado en esta caja se escribe dentro del contexto [vicidial-auto], por lo que si decidimos ingresar contextos por separado, romperiamos la funcionalidad del plan de llamadas automático de Vici, pero el truco es más sencillo de lo que se cree. Solo tenemos que iniciar y terminar nuestro bloque con las siguientes líneas:

[codesyntax lang=”bash”]

include => vicidial-auto2

; Este es mi contexto personalizado
[agentes]
exten => _ZXXX,1,Dial(SIP/${EXTEN})
; Fin de mi contexto personalizado

[vicidial-auto2]

[/codesyntax]

¿Qué logramos hacer con esto? Hacemos que nuestro cluster genere todos los contextos personalizados que metamos en medio de nuestras lineas, pero además, no rompemos la funcionalidad de Vici porque la línea de include => vicidial-auto2 hace que la inclusión del contexto [vicidial-auto2] sea transparente, de manera que no rompemos ninguna de las funcionalidades del sistema, y evitamos tener que administrar una linea de comandos para que la exportación de la configuración sea más transparente.

Este truco me sacó de un problema que sé que a la larga, se habría perdido el control de la administración tarde o temprano.

¡Suerte!

Christian Cabrera

Soy un ingenieron en comunicaciones con especial interés en el área de voz sobre IP y tecnologías sobre información. He usado Asterisk de manera diaria desde hace más de 12 años.En el 2011 co-fundé Enlaza Comunicaciones, una empresa que se especializa en brindar servicios profesionales de consultoría sobre voz sobre IP basadas en Asterisk.

  • Irving Lugo

    Que onda Christian!
    Oye estoy teniendo una bronca con un sistema ViciDial, creo que es algo simple pero no encuentro el problema, tengo definido en mi carrier el dialplan que quiero utilizar, en las opciones de campaña ya he probado varios cambios en el area de prefijo, incluso agregue mi marcacion a extensions.conf, peeeero a vicidial le vale y siempre me manda un 1 antes del numero y nisiquiera concatena lo que quiero, la verdad ando empezando con Vici en el area practica, a ver si tu sabes en que la estoy regando! Gracias de antemano

    exten => _7X.,1,AGI(agi://127.0.0.1:4577/call_log)

    exten => _7X.,2,Dial(${PROVIDER}/NOCUENTA${EXTEN:1},60,tTo)

    exten => _7X.,3,Hangup