«

»

Imprimir esta Entrada

Registro de Llamadas y Eventos en Elastix


CDR en ElastixElastix utiliza el mismo sistema de registro de llamadas de Asterisk. Es una interfaz web, que sirve para mostrar todo tipo de estadísticas, basada en el sencillo Registro de llamadas que ofrece Asterisk y en la actualidad, es el más completo al menos, con una licencia Open Source. El registro de llamadas en Asterisk, llamado CDR (Call Detail Record), y de Eventos llamado CEL (Call Event Logging) proveen de múltiples mecanismos de almacenaje de toda la información relativa a las llamadas, con carácter entrante y saliente del sistema, específicamente diseñado para su posible posterior analísis.

Sistema CDR

CDR, Call Detail Record, es simplemente un registro de todos los pasos que concurren en una llamada, pero con un nivel de detalle bastante reducido.

Introducción

Este sistema es muy práctico cuando queremos saber por ejemplo, a quien llaman nuestros usuarios, o quien los llama, y otros datos relativos a las mismas, como el tiempo establecido, resultado de la llamada (si estaba ocupada o no disponible, o si fue contestada), etc. Es muy similar en cierto sentido al sistema de Estádisticas aplicable a las Colas.  Pero es bastante limitado en lo que se refiere a controlar el flujo de la llamada, ya que la cantidad de información que registra es bastante escueta.

Pero en este caso, se aplica para el 100% de las llamadas entrantes y salientes, e inclusive llamadas que se realicen dentro de la máquina Asterisk. Los usos más típicos que suelen darse para este sistema son:

  • Control de Llamadas
  • Sistemas de Facturación a Terceros
  • Análisis y Depuración del Sistema
  • Estadísticas varias.

Por defecto, el registro de llamadas se almacena en un archivo llamado Master.csv dentro del directorio /var/log/asterisk/cdr-csv/ en formato como su extensión indica, CSV (Comma-Separated Values, valores separados por comas), siempre que este activada la función de almacenamiento de los CDR en su archivo principal de configuración cdr.conf

Los problemas del sistema CDR surgen debido a que solo se almacena un solo registro CDR con toda la información por llamada. Esto quiere decir, que en el caso que ocurran los siguients posibles casos, la llamada no se registraría en condiciones:

  • Llamadas transferidas
  • Llamadas aparcadas
  • Sistemas de Conferencias
  • Llamadas puestas en Espera

Configuración del Archivo CSV

Para poder configurar CDR, el archivo principal es llamado cdr.conf situado en el mismo directorio que el resto de los archivos de configuración /etc/asterisk/.

La estructura del mismo es relativamente básica, un contexto [general] como casi todos los módulos de Asterisk, y luego los siguientes contextos que hacen referencias a partes especificas, en este caso los dos más comunes son [csv] que hace referencia al fichero Master.CSV que comentabamos anteriormente, y [radius] para almecenamiento utilizando un servidor RADIUS para la autentificación, pero en esencia un archivo CSV para el almacenaje.

Configuración General

Aquí se especifican todos los parámetros que afectar al modo general de almacenaje utilizando este sistema:

  • enable: Básicamente activa la funcionalidad de registro CDR
  • unanswered: Registra las llamadas no atendidas también
  • endbeforehexten: En caso que llegemos a la extensión especial, h pararía el registro CDR en el archivo
  • initiatedseconds: En caso de utilizar un sistema de Facturación, es práctico para redondear el tiempo a nivel de segundos hacia arriba para facilitar el cálculo del importe
  • batch: Permite registrar la información en bloques, en vez de registrarla de un golpe al finalizar la conversación. El riesgo es que si Asterisk se bloquea durante el proceso de una llamada escribiendo en el archivo, este estaría abierto y podría perderse información.
  • size: Si utilizamos el modo batch, aquí especificaríamos el numero de registros CDR antes de lanzar un bloque (batch) al archivo.
  • time: También es posible lanzar un bloque por segundos, en este caso, sería el número de segundos antes de conformar un bloque y lanzarlo al archivo.
  • scheduleronly: En caso que queramos que se genere un proceso específico para realizar la gestión de copia en bloque, o si queremos utilizar el propio proceso que controla el sistema de gestión de los bloques.
  • safeshutdown: En caso que el sistema se detenga, paraliza esto, hasta que todos los registros CDR hayan sido grabados en el archivo.

Configuración Específica

Tanto para la copia directa en nuestra máquina o utilizando un sistema RADIUS existen una serie de parámetros específicos comunes y concretos de cada método:

  • usegmtime: Sirve para registrar los eventos en el huso GMT exclusivamente
  • loguiqueid: Para registrar en cada evento, un identificador unico
  • accountlog: En caso que queramos tener un registro independiente para cada código de cuenta, esto es especifico para temas relativos a Facturación

Y concretamente para el sistema RADIUS especificamos el archivo de configuración del cliente que hará la autentificación con radiuscfg =>

Sistema CEL

CEL, Call Event Logging, es una evolución de CDR, surgida a partir de la versión 1.8 de Asterisk, dando aun superior soporte al anterior intento basado en el CDR Adaptativo, y diseñada para poder tener control no solo de los pasos de la llamada, sino de los eventos a nivel interno que van surgiendo en el flujo de una llamada dentro de nuestro Plan de Marcación. Es posible que el sistema CDR quede obsoleto con el tiempo en favor a CEL, dado que es capaz de recibir y manipular la misma cantidad de información que CDR, pero incluso con mayor detalle a voluntad, aunque el primero, podría aun conservarse para sistemas que tampoco requieran un nivel de detalle tan excesivo, dada que su facilidad de interpretación.

La estructura de almacenamiento es equivalente a la de CDR, con archivos CSV, o con Bases de Datos. Hay que considerar la posible cantidad ingerente de informacion que es capaz de almacenar CEL por tanto la versión en archivos de texto puede ser bastante negativa y en la mayor parte de los casos que vayamos a hacer un uso aceptable (ni siquiera intensivo) del sistema, se deberia optar por la opción de registro en Bases de Datos.

Los archivos de configuración estándar son:

  • Para archivos de texto, sería cel.conf, aplicable también para el caso de registro de eventos a la interfaz AMI y para realizar la autentificación a traves de un servidor RADIUS
  • Para el caso de bases de datos PostgreSQL, sería cel_pgsql.conf.
  • En caso de querer utilizar la base de datos SQLite, cel_sqlite3_custom.conf (solo soporta la versión 3, excepto que posibles versiones superiores, fueran retrocompatibles)
  • Si queremos utilizar un driver ODBC, cel_odbc.conf opción más recomendada entre todas las posibles aquí listadas.

Curiosamente para MySQL no existe todavía una integración especifica, lo que indica en gran medida dado que este sistema de registro de Eventos todavía no es tan popular, que se tenga previsto preservar la conexión con el driver ODBC que resulta más genérico.

En caso de CEL también podemos tener personalizaciones de eventos, al igual que con CDR Adaptativo, la función que se encarga de esta cuestión sería CELGenUserEvent.

27,055 total views, 3 views today



!!! AYUDANOS A MANTENER ESTE SITIO ACTIVO…!!!

Si piensas que te hemos ayudado y merecemos tu apoyo. !!! GRACIAS !!!

Cuando lo hagas tendras acceso inmediato a la documentacion en formato PDF para que la descargues. Encontraras tambien otros tutoriales mas avanzados no publicados en el sitio. Si no puedes o no quieres, no hay problema igual tendras acceso a toda la informacion publicada en este sitio.

!!CLICK AQUI.!! para ver Tutoriales a descargar

!!! GRACIAS POR TU DONACION !!!









Enlace permanente a este artículo: http://elastixtech.com/registro-de-llamadas-y-eventos-en-elastix/

2 comentarios

  1. albertotrejo

    Muy buenos aportes, disculpa y para tener un registro pero de grabación de llamadas entrantes en el conmutador elastix en mi trabajo manejan un conmutador elastix 2.4, que es lo que se nesecita o como se pueden grabar las llamadas?

  2. Gabriel Taucher

    Muchisimas gracias por el aporte, me fue de mucha ayuda para mi nuevo trabajo en telefonia de voIP, ya que era un novato en este campo.

    vuelvo a repetir muchas gracias por el aporte.

Deja un comentario