QueueLogs
PBXSymphony
Con el fin de gestionar adecuadamente las colas de ACD (Automatic Call Distribution), es importante hacer un seguimiento detallado de los eventos que se ejecutan en las mismas. Para ello, Asterisk implementa el queue_log, que es un archivo donde se registran dichas acciones en formato de texto plano y por defecto se encuentra en /var/log/asterisk/queue_log.
Por lo general las herramientas de estadísticas de call center, como Asternic y QueueMetrics, entre otras, basan su funcionamiento en la información que es entregada en este archivo. Por lo tanto, en este artículo nos dedicaremos a analizar en profundidad los datos que podremos encontrar en este log.
Al editar el archivo, encontraremos que los registros se encuentran con el siguiente formato:
TIMESTAMP | UNIQUEID | QUEUE_NAME | AGENT | EVENT | DATA1 | DATA2 | DATA3 | DATA4 | DATA5
TIMESTAMP
Es la fecha y hora en formato unix time.
UNIQUEIDEl id único que identifica el canal.
QUEUE_NAMEEl nombre de la cola o NONE si se trata de un evento general como AGENTLOGOFF
AGENTSi el llamado fue asignado a un agente: Tecnología/Interno o NONE si es un evento general como ABANDON
DATA nSon los valores que retorna cada evento, luego de su ejecución. Por ejemplo la duración de un llamado cuando es finalizado.
QUEUELOG
Como podemos observar en la imagen los logs son mostrados en un grafico, que podemos manipular para lograr obtener resultados relacionados con el llamadas Abandonadas, Completadas, etc.
Ahora que conocemos la estructura general del archivo queue_log, pasaremos a ver en detalle los eventos y los valores que devuelve cada uno.
ABANDON:Este evento se produce, cuando una persona abandona su posición en la Cola, antes de ser atendido. Los data que devuelve son:
- Data 1: position, la posición que tenía en la cola cuando realizó el hangup
- Data 2: origposition, la posición en la que entró en la cola
- Data 3: waittime, el tiempo que espero en la cola
El agente rechazó el llamado, mientras el cliente escuchaba el anuncio de la cola.
AGENTLOGIN:El agente es logueado.
- Data 1: channel, el canal donde se genero el logueo.
El agente se desloguea.
- Data 1 channel, el canal donde se origino el deslogueo
- Data 2 logintime, la cantidad de tiempo que el agente estuvo logueado. (en segundos)
El agente del tipo "callback" es deslogueado de la cola.
- Data 1 exten@context, el interno@contexto utilizado por el agente.
- Data 2 logintime, el tiempo que estuvo logueado
- Data 3 reason, la razón por la cual fue deslogueado, si no es un logoff normal. Ej Autologoff, Chanunavail
El llamado fue conectado con un agente, y este fue finalizado normalmente por el agente.
- Data 1 holdtime, Tiempo que espero el cliente a ser atendido
- Data 2 holdtime, Duración de la llamada
- Data 3 origposition, Posición donde ingresó en que ingresó el llamado a la cola.
El llamado fue conectado con un agente, y este fue finalizado normalmente por el cliente.
- Data 1 holdtime, Tiempo que espero el cliente a ser atendido
- Data 2 holdtime, Duración de la llamada
- Data 3 origposition, Posición donde ingresó en que ingresó el llamado a la cola.
La configuración ha sido re-cargada. (ej asterisk -rx "reload")
CONNECTEl llamado fue conectado con un agente.
- Data 1 holdtime, la cantidad de tiempo que el cliente estuvo en hold
- Data 2 bridgedchanneluniqueid, es el uniqueid del canal del agente que toma el llamado
Un llamado ha ingresado a la cola.
- Data 1 URL, si es especificada
- Data 2 CallerID, Número de teléfono del cliente
La llamada es rechazada por la cola, debido a que no existen agentes logueados para atender la misma.
- Data 1 position, posición de la llamada en el momento que fue rechazada
- Data 2 origposition, posición de la llamada cuando ingresó a la cola
- Data 3 waittime, tiempo de espera
El cliente utilizó una opción del menú, para salir de la cola.
- Data 1 key, tecla que presionó
- Data 2 position, posición en la que se encontraba en la cola
El cliente estuvo demasiado tiempo en hold, y el tiempo expiró
- Data 1 position, posición del cliente en la cola
- Data 2 position, posición del cliente al salir de la cola
- Data 3 position, duracion del cliente al salir de la cola
El sistema de colas ha sido iniciado.
RINGNOANSWEREl llamado es conectado a un agente, pero este no lo atiende.
- Data 1 ringtime, tiempo que estuvo sonando el teléfono del agente.
La llamada está sonando a un miembro de la cola, pero el agente cuelga la llamada (la llamada continua en la cola).
- Data 1, duración en milisegundos antes del cancel.
La llamada es atendida por el agente, pero el sistema la rechaza porque los canales no son compatibles.
ATTENDEDTRANSFER
(method|method-data|holdtime|calltime|origposition)
Este mensaje indicará el método por el cual se completó la transferencia asistida: BRIDGE para una fusión de puente, APP para ejecutar una aplicación en un puente o canal , o LINK para unir dos puentes con canales locales..
- Data 1 method, BRIDGE, APP, LINK
- Data 2 method-data, codigo del metodo.
- Data 3 holdtime, tiempo en espera del agente hasta que se realizó la transferencia
- Data 4 calltime, duración de la llamada hasta que fue transferida.
- Data 5 origposition, origposicion en la cola hasta que fue transferida.
BLINDTRANSFER
(extension|context|holdtime|calltime|origposition)
Una transferencia ciega dará como resultado un mensaje BLINDTRANSFER con el contexto y la extensión de destino.
- Data 3 holdtime, tiempo en espera del agente hasta que se realizó la transferencia
- Data 4 calltime, duración de la llamada hasta que fue transferida.
- Data 5 origposition, origposicion en la cola hasta que fue transferida.
TRANSFER
(extension|context|holdtime|calltime|origposition)
La persona que llama se transfirió a una extensión diferente. Se registran el contexto y la extensión. El tiempo de espera de la persona que llama y la duración de la llamada se registran, al igual que la posición de entrada de la persona que llama en el momento de la transferencia. POR FAVOR recuerde que las transferencias realizadas por SIP UA's a través de una reinvitación no siempre pueden ser detectadas por Asterisk y desencadenan este evento. La única forma de estar 100% seguro de que obtendrá este evento cuando un miembro de la cola realice una transferencia es usar la funcionalidad de transferencia integrada de Asterisk.
- Data 3 holdtime, tiempo en espera del agente hasta que se realizó la transferencia
- Data 4 calltime, duración de la llamada hasta que fue transferida.
- Data 5 origposition, origposicion en la cola hasta que fue transferida.
QueueLogs en PBXSymphony
Una de las características de PBXSymphony es que permite realizar un monitoreo de cada uno de los eventos de las Colas de forma simple.