Asternic Stats

De Asterisk Wiki
Ir a la navegación Ir a la búsqueda

Asternic Stats es una interfaces web más populares, basada en lenguaje de programación PHP cuya función básica es la de reportar estadísticas de uso del sistema de Colas ofrecido por Asterisk.

Descripción General

Asternic Call Center Stats es una aplicación web creada por Nicolás Gudiño en 2004 y puesta a disposición de la comunidad Asterisk

Según el propio autor, la interfaz Asternic Stats esta diseña para ofrecer las siguientes características:

  • Ofrece un sistema de informes, exportables a formatos de visualización clásicos como PDF y CSV, pero adicionalmente son visualizables directamente desde la propia interfaz web, gracias a un sistema de Gráficos dinámicos.
  • Existen dos versiones, con diferentes funcionalidades como veremos más adelante. La versión Open Source es lo suficientemente funcional como para cumplir el propósito principal de esta aplicación.
  • Tiene la opción de sincronizar con AMI para poder recibir información en tiempo real acerca del estado de los agentes en las colas

Versiones

El producto se ofrece en tres versiones:

  • Open Source, con una licencia GPLv3, cumple toda la funcionalidad básica, inclusive, la exportación de información, y el visionado del estado de los agentes en tiempo real según visto antes
  • Licencia Profesional, ofrece mayor nivel de información, inclusive la opción de ver el número del llamante, ofrece un demonio con capacidad de aportar la información en tiempo real (en la versión Open Source se podría conseguir este efecto sin mucha dificultad), la posibilidad de crear cuentas de usuario, con niveles de acceso en la visualización, y otro tipo de informes especiales, como la disponibilidad de los agentes, y la capacidad de no solo restringir la información a nivel de día sino también a nivel de hora.
  • Licencia Desarrollador, da las mismas capacidades de la Licencia Profesional, e incluye todo el código fuente de esas funciones adicionales.

Instalación

El proceso de instalación del sistema Asternic Stats[1] depende de que haya en funcionamiento, un sistema de Colas en nuestra máquina Asterisk, que se toma como presuposición.

A partir de ahí sigue así:

En primer lugar descargamos las fuentes de la siguiente web. La versión actual que podemos descargar sus fuentes es:

# wget http://www.asternic.biz/download/asternic-stats-1.4.tgz


Considerando que ya tenemos instalado el paquete LAMP, o su defecto una instalación de algún servidor Web con integración PHP y un servidor SQL.

También es interesante que para una gestión cómoda instalemos la interfaz web phpMyAdmin, en Debian:

# sudo aptitude install phpmyadmin


Una vez descargado, y en el mismo directorio donde lo hayamos descargado, descomprimimos el paquete Asterinic Stats y entramos en la carpeta descomprimida asternic-stats, ejecutamos los dos siguientes comandos para ello:

# tar –xvf asternic-stats-1.4.tgz


# cd asternic-stats


Creamos una Base de Datos en nuestro servidor SQL llamada por ejemplo "qstats" con el comando, si pusimos una contraseña a la base de datos, nos la pedira antes de crear la DB. Si tenemos otro usuario en el sistema SQL con privilegios para crear base de datos también lo podemos poner sustitutivamente a root:

# mysqladmin -u root -p create qstats


Introducimos la estructura de tablas gracias a un script SQL que tenemos en la carpeta recién descomprimida de asternic-stats:

# mysql -u root -p qstats < sql/qstat.sql


Y ahora hacemos algunas modificaciones en el fichero config.php dentro del directorio html:

Archivo: ./html/config.php
// Credenciales para la base de datos MYSQL

$dbhost = 'localhost';
$dbname = 'qstats';
$dbuser = 'root';
$dbpass = 'asterisk';
// Credenciales para el interfaz AMI
$manager_host = "127.0.0.1";
$manager_user = "asterisk";
$manager_secret = "asterisk";

// Available languages "es", "en", "ru", "de", "fr"
$language = "es";


Tambien editamos el fichero config.php pero del directorio parselog:

Archivo: ./parselog/config.php
$queue_log_dir = '/var/log/asterisk/';
$queue_log_file = 'queue_log';

$dbhost = 'localhost';
$dbname = 'qstats';
$dbuser = 'root';
$dbpass = 'asterisk';


Creamos un directorio en nuestro directorio web raíz (por regla general /var/www) llamado por ejemplo qstats:

# sudo mkdir /var/www/qstats


Y ahora copiamos los ficheros web en ese directorio, y el directorio de gestión de logs de Asterisk también:

# cp ./html/* /var/www/qstats


# cp ./parselog/ /var/www/qstats


Finalmente tenemos que configurar el usuario asterisk en el Asterisk Manager Interface (AMI).

Editamos el fichero manager.conf dentro de /etc/asterisk (si es que no esta editado ya) y añadimos la siguiente información inicial (deberíamos ajustarla un poco más en concepto de Seguridad). Considerar que dar acceso al AMI solo sirve para una funcionalidad que incorpora el sistema Asternic Stats, que ofrece visión en tiempo real, de los usuarios conectados y disponibles en las colas. Práctico para un gestor de Call-Centers:

Archivo: /etc/asterisk/manager.conf
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0

[asterisk]
secret = asterisk
read = all
write = all


Si queremos que se carguen los registros de Asterisk (/var/log/asterisk/queue_log) en nuestro sistema Asternic Stats para poder analizar estadísticas, tenemos que ejecutar el comando:

# php -q /var/www/qstats/parselog/parselog.php


Aunque lo más lógico que esta información se cargue automáticamente, las veces que deseemos al día. Por ejemplo cada hora, editamos el fichero /etc/crontab para incluir al final la siguiente linea:

Archivo: /etc/crontab
@hourly php -q /var/www/qstats/parselog/parselog.php


Ahora podemos acceder a las estadísticas desde la dirección web:

http://ip_de_nuestro_servidor/qstats

Uso de la Interfaz

Hay que reconocer que la interfaz de manejo web es bastante intuitiva, se distribuye en los siguientes apartados, para la versión Open Source:

  • Selección de Datos
  • Estadísticas de llamadas Atendidas
  • Estadísticas de llamadas Sin Atender
  • Estadísticas de llamadas según la Distribución de Tiempo
  • Información sobre Agentes de Colas, en Tiempo Real

Selección de Datos

En este apartado podemos seleccionar los datos que se mostraran en las estadísticas de los siguientes tres apartados (Llamadas Atendidas, Sin Atender y basadas en las Franjas Horarias)

Los datos disponibles para seleccionar son:

  • Colas entre las colas disponibles en nuestro sistema de Colas(/etc/asterisk/queues.conf), y que hayan sido utilizadas por algún llamante alguna vez. Que estén definidas no implica su aparición en la selección.
  • Agentes entre todos los agentes que han trabajado dentro de nuestras colas (que aunque los tengamos definidos de manera estática, han tenido que ser utilizados al menos 1 vez para que aparezcan en las estadísticas.
  • Y el intervalo de tiempo en días que queremos analizar en las estadísticas. Con la versión de pago profesional tendríamos incluso acceso a una selección mas detallada por horas.

Llamadas Atendidas

En la parte superior tenemos un resumen de las llamadas atendidas, y luego el desglose va a continuación:

  • Llamadas atendidas por Agente: con estadísticas sobre cada uno de los agentes, porcentaje relativo de llamadas atendidas, tiempo medio de atención, etc. Análisis estadísticos en profundidad de este tipo suelen ser lo que dan lugar a los potentes Marcadores Predictivos.
  • Nivel de Servicio: según hayamos especificado en el parámetro de las Colas servicelevel podremos establecer intervalos de niveles de servicio en segundos y verlos reflejados aquí para observar si estamos ofreciendo la calidad de respuesta que esperamos de nuestro Call-Center
  • Llamadas atendidas por Colas: muy útil si queremos analizar el impacto de cada cola sobre nuestros agentes, especialmente si varios acceden a múltiples simultáneamente. Se hace imprescindible cuando manejamos un sistema de estrategias basado en "multas".
  • Causa de Desconexión: para ver si las llamadas son finalizadas por nuestros agentes o si son los clientes los que voluntariamente cuelgan la llamada al terminar la conversación. Esto es solo útil si los agentes tienen la posibilidad de cortar las llamadas
  • Información sobre Transferencias: para ver si hemos tenido que transferir al cliente, a otra cola por ejemplo, dado que ha elegido una opción errónea.

Llamadas No Atendidas

Gráficos de Llamadas No Atendidas

Al igual que en el apartado anterior, en la parte superior un resumen, y el desglose:

  • Causas de Desconexión: Podemos ver las principales causas concretas, de desconexión de las llamadas, quizá porque no les cogieron a tiempo el télefono según el parámetro de Colas timeout, o porque simplemente abandonaron la llamada colgando voluntariamente
  • Llamadas No-Atendidas por Colas: de la misma forma interesante, que la estadística de llamadas atendidas por colas

Distribución Temporal

Información general en la parte superior, estadísticas son muy prácticas para entender la carga de trabajo que tienen nuestro agentes distribuida en el tiempo, en franjas horarias, días de la semana (podemos ver si se distribuye equitativamente, o si los primeros días de la semana suelen ser más activos que los últimos por ejemplo), así como la distribución mensual, podemos analizar si en determinados días del mes se desarrolla una actividad más fuerte o si es estable durante todo el mes. A continuación:

  • Estadísticas por días del mes: Podemos analizar las estadísticas desglosadas día a día del mes
  • Estadísticas por franjas horarias: Podemos ver las horas que más actividad hay, y justo a la inversa.
  • Estadísticas por días de la semana: Lo mismo que las anteriores, pero desglosado por los siete días de la semana.

Estado de los Agentes

Información sobre Estado de Agentes

Este apartado, se desarrolla gracias a la interfaz AMI con estadísticas en tiempo real.

  • Podemos seleccionar si queremos ver todos los agentes, o solo los disponibles con la caja marcable
  • Vemos la disponibilidad de los agentes individualmente, y además si tienen llamadas en curso o si no están disponibles
  • Un resumen de las Colas disponibles con sus respectivos agentes.
  • Una lista de llamadas que se encuentran en las colas pendientes de ser atendidas

Referencias

  1. Proceso de Instalación de Asternic Stats, Nicolás Gudiño (2004)

Véase también

Enlaces Externos