Descargar

Configuración avanzada de Asterisk

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    Discado automático Archivos .call

    Se utilizan para iniciar llamadas desde una aplicación externa. Son archivos de texto que al copiarse en el directorio /var/spool/asterisk/outgoing, Asterisk notará su presencia e inmediatamente activará la extensión en la prioridad especificada en el archivo .call. Generalmente, se combinan con el programador de tareas de Linux: el cron. Algunos ejemplos de uso son: soluciones de callback, despertador telefónico, anuncios automáticos.

    edu.red

    Discado automático: ejemplo En el siguiente ejemplo: se llama al 43424444 en el canal Zap/1Dahdi/1 y envía la llamada al contexto [mensajes-salida], extensión 84, Prioridad 1: Archivo mensaje.call Channel: Zap/1Dahdi/1/43424444 MaxRetries: 2 RetryTime: 60 WaitTime: 30 Context: mensajes-salida Extension: 84 Priority: 1 extensions.conf [mensajes-salida] exten => 84,1,Playback(anuncio) exten => 84,2,Playback(vm-goodbye) exten => 84,3,Hangup

    edu.red

    Manejo de colas El sistema de colas en Asterisk se compone de:

    Llamadas entrantes que son ubicadas en una cola. Miembros que contestan las llamadas en la cola (extensiones o bien usuarios que se loguean como agentes). Una estrategia sobre cómo manejar la cola y repartir las llamadas entre los miembros Música que se reproduce durante la espera en la cola. Anuncios para miembros y emisores de llamadas.

    edu.red

    Manejo de colas: Config La configuración de las colas se define:

    Estáticamente: en el archivo queues.conf Dinámicamente: la configuración se almacena en una BD, “disponibilizando” los cambios sin necesidad de realizar un reload.

    La configuración de los agentes se define en el archivo agents.conf.

    edu.red

    Manejo de colas: agentes Los agentes atienden las llamadas de una cola específica.

    Un agente debe realizar un login (llamando a una extensión especial que contiene la aplicación AgentLogin) indicando que está listo para tomar llamadas.

    Los miembros son aquellos canales disponibles que están activamente atendiendo la cola. Pueden ser tanto agentes como también canales regulares (sip/juan).

    edu.red

    Manejo de colas: estrategias Las llamadas son distribuidas entre los miembros de una cola siguiendo alguna de las siguientes estrategias:

    ringall: hace sonar todos los canales disponibles hasta que alguno responda (configuración por defecto). roundrobin: hace sonar cada interfaz disponible por turnos. leastrecent: hace sonar la interfaz que fue menos recientemente llamada por esta cola. fewestcalls: hace sonar la interfaz con la menor cantidad de llamadas completas. random: hace sonar una interfaz al azar. rrmemory: igual que el round robin pero recuerda cual fue el último teléfono que atendió una llamada y continúa con el siguiente.

    edu.red

    Manejo de colas: penalties y priorities Penalty: se le asigna una penalidad a cada agente, de manera tal que primero se derivan las llamadas (vía la estrategia definida) a los agentes con el menor valor de penalidad. En el caso de estar todos ocupados, se continúa con la siguiente penalty y así sucesivamente. Ejemplo: sólo si la telefonista está ocupada, se deriva el llamado a la oficina.

    Priority: se le asigna una prioridad a cada llamada entrante, permitiendo situarla en un lugar más adelante de la cola (no siempre al final). Ejemplo: las llamadas al nro. 110 tienen más prioridad que las del 111.

    edu.red

    Manejo de colas: aplicaciones Aplicaciones principales, utilizadas en extensions.conf:

    Queue: aplicación utilizada para encolar una llamada (toma como parámetro las colas definidas en queue.conf). AddQueueMember: agrega dinámicamente un miembro a la cola. RemoveQueueMember: remueve dinámicamente un miembro de la cola. AgentLogin: login de un agente a una cola.

    edu.red

    Manejo de colas: CLI Comandos relacionados de la CLI: show agents: muestra los agentes . show queues: lista todas las colas. show queue: muestra datos de una cola en particular. queue add member: agrega un miembro a la cola. queue remove member: elimina un miembro de la cola.

    edu.red

    Manejo de colas: ejemplo queue.conf

    [MyQueue] ; nombre de la cola music=default ; musica que coloca antes que lo atiendan strategy=ringall ; estrategia de ring timeout=15 ; tiempo maximo de ring a un miembro retry=5 ; tiempo de espera hasta reintentar con otro miembro wrapuptime=0 ; tiempo de espera luego de intentar con todos los miembros maxlen = 0 ; announce-frequency = 0 ; cantidad de veces que sale el anuncio announce-holdtime = no ; si dice el tpo de espera aproximado member => Agent/1001,1 member => Agent/1002,1 member => Agent/1003,1

    edu.red

    Manejo de colas: ejemplo agents.conf

    [agents] agent => 1001,1111,Juan agent => 1002,2222,Pedro agent => 1003,3333,Pablo

    extensions.conf

    exten => 2020,1,Answer exten => 2020,3,Wait(2) exten => 2020,4,SetMusicOnHold(default) exten => 2020,5,Queue(MyQueue|r) exten => 2020,6,Hangup

    edu.red

    ENUM

    ENUM proviene de tElephone Number Mapping. Se asocian los números telefónicos convencionales (E.164) a nombre DNS en .e164.arpa. +34 944012345 ? 5.4.3.2.1.0.4.4.9.4.3. e164.arpa El servidor DNS que alberga la entrada, tiene registrados los servicios (sip, mail, http) publicados para dicho número. Ejemplo de entrada en Bind: $ORIGIN 5.4.3.2.1.0.4.4.9.4.3.e164.arpa. NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:[email protected]!" . NAPTR 10 101 "u" "E2U+msg" "!^.*$!mailto:[email protected]!" . – Prioridad 1: contactar vía SIP con [email protected] – Prioridad 2: contactar por correo con [email protected]

    Partes: 1, 2
    Página siguiente