sábado, 19 de abril de 2014

ARCHIVOS DE CONFIGURACIÓN Y APLICACIONES UTILIZADAS EN EL CALL CENTER


A diferencia de las redes telefónicas tradicionales, Asterisk no transmite la voz en tiempo real, lo que sucede es una transmisión de paquetes entre dos direcciones IP a través de un canal de comunicación. Cuando se habla a través de un teléfono IP, por ejemplo, es necesario un protocolo que convierta la voz en paquetes de datos que puedan ser transportadas por la red de datos.

Es por esto que se utiliza el protocolo de señalización SIP, el cual permite establecer sesiones multimedia entre cliente y servidor para transmitir voz o vídeo, intercambiando peticiones o respuestas entre agentes a través de un servidor proxy por ejemplo.

Configuración extensiones archivo sip.conf

En Asterisk, el archivo sip.conf es donde se definen las extensiones SIP, los proveedores SIP y, en general, todo lo relacionado con el protocolo SIP. Con las extensiones configuradas se podrán llamar una con otra, se podrán enrutar las llamadas a teléfonos fijos y/o celulares, utilizar proveedores SIP, Gateway PSTN, y aprovechar los típicos servicios de una PBX como llamada en espera, desvío de llamadas, llamada a tres, contestador automático, buzón de voz, etc.

[supervisor](!)

type=friend
context=supervisor
language=es
host=dynamic
nat=yes
secret=1a2b3c
dtmfmode=auto
disallow=all
allow=alaw

[4001](supervisor)

[agentes](!)

type=friend
context=agentes
language=es
host=dynamic
nat=yes
secret=a1b2c3
dtmfmode=auto
disallow=all
allow=alaw

[4002](agentes)
mailbox=4002@agentes
callerid= Dexter Morgan 

[4003](agentes)
mailbox=4003@agentes
callerid= Walter White 


Configuración Dial Plan archivo extensions.conf

El archivo de configuración de Asterisk extensions.conf es donde se define el dialplan de Asterisk. Todas las llamadas entrantes y salientes se procesan en este archivo. Cabe señalar que las extensiónes en Asterisk son una serie de números o letras que definen bloques en el dialplan dentro del cual se ejecutan aplicaciones o funciones como ya se había mencionado.

; Numero para simular una llamada desde el exterior

exten => 01800123,1,Goto(entrante,s,1)

[agentes]

exten => _40XX,1,Macro(llamadas,SIP/${EXTEN},agentes)

exten => 150,1,VoiceMailMain(${CALLERID(num)@agentes})

[supervisor]

include => agentes

[entrante]

exten => s,1,Answer()
same => n,Playback(welcome)
same => n,Background(main-menu)
same => n,WaitExten(5)

exten => i,1,Playback(pbx-invalid)
same => n,Goto(entrante,s,1)

exten => t,1,Playback(thank-you-for-calling)
same => n,Dial(SIP/4003)
same => n,Voicemail(4003@agentes)

#include macros.conf


macros.conf

[macro-llamadas]

exten => s,1,Dial(${ARG1},7)
same => n,Voicemail(${MACRO_EXTEN}@${ARG2})


Inclusión de archivos y contextos

Hacen referencia a la acción de incluir algo dentro de un contexto o apartado del Dial Plan, sin tener que reescribirlo todo para evitar la redundancia. Son muy parecidos a los Include de la mayoría de los lenguajes de programación existentes.
Existen dos opciones:

Incluir un contexto: Mecanismo principal para establecer una jerarquía, o un mecanismo de "herencia" para distintos contextos a los que están asociados varios dispositivos.

Incluir un archivo: Sirven principalmente, para poder "modularizar" el Dial Plan evitando miles de líneas que hacen difícil la interpretación.
La sintaxis es, "#include archivo.conf".

Por ejemplo, al hacer un IVR se creara un contexto dentro de un archivo llamando por ejemplo ivr-extensions.conf y dentro de este exclusivamente el contexto [ivr] con todo el proceso que deseemos aportar. Es una buena práctica trabajar siguiendo este concepto.


Aplicaciones

Acciones aplicables al manejo de las llamadas dentro del Dial Plan. Por ejemplo, la más popular sería la aplicación Dial, la cual simplemente tiene como propósito hacer que los teléfonos  se llamen entre ellos. Existen otras aplicaciones comunes, como:

Dial
Voicemail
Answer
Playback
Backgraund
WaitExten
Goto
Macro

Background() y Playback(), reproducen archivos de audio, ubicados en /var/lib/asterisk/sounds/es, la diferencia radica en que al momento de presionar una tecla, Background() hace que se interrumpa la grabación inmediatamente se presione una tecla del teléfono.

WaitExten() Esta aplicación espera un tiempo para que sea oprimida una tecla por y es usada directamente con la aplicación Background().

Cuando un contexto recibe una solicitud de una extensión no valida, la llamada es enviada a la extensión i. 

Cuando al estar llamando no se oprime la tecla dentro del tiempo valido (10 segundos por defecto) la llamada será enviada a la extensión t.

Cuando en el DialPlan algunas acciones son repetitivas, los Macros permiten simplificar este tipo de operaciones.

Macro(nombre macro, argumento1,argumento2,argumentoN)

ArgumentoN es un valor o una variable que se pasa a la macro al momento de llamarla desde el plan de marcado.
La aplicación macro crea las siguientes variables de canal:
• ${MACRO_EXTEN} contendrá el numero marcado
• ${MACRO_CONTEXT} contendrá el contexto de donde se ha llamado la Macro
• ${MACRO_PRIORITY} contendrá la prioridad de la línea de donde se ha llamado la Macro
• ${ARG1}, ${ARG2}, ${ARGN) son las variables que contienen los argumentos que se han enviado a la Macro.

                                       Configuración Buzón de Voz archivo voicemail.conf


En el archivo voicemail.conf es donde se configura todo lo relacionado con el buzón de voz. Si se recibe una llamada y no se contesta o la línea está ocupada, entrará en función el buzón de voz, y se podrá grabar un mensaje. Es posible crear distintos grupos de buzones de voz, en el caso del proyecto se creara uno para los agentes.

En el archivo sip.conf, Se configura el parámetro mailbox, cuando las extensiones se conecten al servidor Asterisk, éste controlará si hay mensajes de voz pendientes y en caso positivo se lo comunicará usando MWI = Message Waiting Indicator,  que puede ser recibida por la mayoría de los teléfonos IP o Softphone.


La opción callerid es el nombre y el número que identifica la extensión cuando llama.

[agentes]

; Numero extensión => contraseña, nombre apellido,

4002=> 4321, Dexter Morgan

4003=> 4321, Walter White 

2 comentarios:

  1. Hola, Te agradezco por compartir tus conocimientos de Asterisk con todos.
    Estoy tomando un curso de Asterisk y justamente la comentaba al profesor que no había encontrado en la web algún sitio que tenga dialplans ya configurados, para que estudiándolos, podamos aprender a configurar nuestros propios dialplans.
    Tu blog es muy útil en ese sentido.
    Muchas gracias.
    Edwin Velasco

    ResponderEliminar
    Respuestas
    1. Gracias Edwin, si la idea es poner en el blog como implementar un proyecto con Asterisk, ya que cuando comenzaba con este tema no encontraba casi información de como configurar el DialPlan, espero te sirva.

      Eliminar