CDR-Stats
![]() |
To Do Esta página necesita ser completada. Puedes revisar todas las páginas por completar en este enlace. |
CDR-Stats 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 (Mozilla Public License V2).
Sumario
Descripción General
CDR-Stats es una aplicación web creada por Areski Belaid en 2010, y ofrecida a la comunidad desde entonces. En la actualidad pertenece a Star2Billing Inc, misma compañia creadora del sistema A2Billing
Esta aplicación esta basada en Python, concretamente, en su framework Django [1] y utiliza una base de datos especifica para la gestión del sistema llamada MongoDB (No esta basada en consultas SQL)
Básicamente sirve de interfaz visual, muy atractiva y llamativa, para poder filtrar, y controlar todos los registros CDR que vayan almacenandose en una base de datos SQL (no valido para instalaciones del sistema CDR basados en ficheros CSV).
Instalación
Existen dos partes relacionadas a la instalación del sistema CDR-Stats.
Por un lado la implicita de Asterisk, relacionada a conseguir que el [Registro Llamadas y Eventos|registro de llamadas]] pase a la Base de Datos de forma autónoma.
Por otro lado, sería la instalación de la plataforma Django en la que esta basada CDR-Stats. Para ello el creador provee un script generico en su página web oficial [2]
En este caso, ofrecemos una versión "manual" de la instalación y menos perecedera dado que hecha la primera parte, la parte de configuración especifica no resulta tan compleja.
En primer lugar descargamos el paquete correspondiente a la última versión de CDR-Stats del siguiente enlace.
A continuación lo descomprimimos en un directorio, por ejemplo:
Y accedemos al directorio de descompresión, para comenzar a aplicar los cambios. Vamos a preparar la interfaz web primero. Para ello creamos un directorio dentro de nuestra raíz WWW por ejemplo
Ahora en siguiente lugar hay que instalar todo el software necesario para que el sistema CDR-Stats funcione:
libevent-dev libapache2-mod-python libapache2-mod-wsgi git-core mercurial gawk
hg+http://bitbucket.org/andrewgodwin/south/@ecaafda23e600e510e252734d67bf8f9f2362dc9#egg=South-dev
Creamos el directorio para logs:
{{Comando|sudo mkdir /var/log/cdr-stats}
Instalamos CDR-Stats en su directorio de instalación por defecto, en este caso: /usr/share/cdr_stats.
Instalando MongoDB
Es necesario lanzar los siguientes comandos en orden.
Necesitamos instalar el paquete debian para la base de datos Mongo, para ello necesitamos añadir un repositorio y una clave a nuestro sistema Ubuntu:
dist 10gen" >> /etc/apt/sources.list'
Por otro lado, necesitamos aplicar algunas configuraciones específicas para su funcionamiento:
Instalando Python Virtual Environment
Instalamos la característica de entornos virtuales.
Preparando el entorno Virtual
{{Comando|sudo sh -c 'echo "export WORKON_HOME=/usr/share/virtualenvs"
>> ~/.bashrc'}
>> ~/.bashrc'
Instalando dependencias Python
Ahora creamos un pequeño script para instalar todas las dependencias de Django Python de un golpe gracias a los ficheros de instalación que provee CDR-Stats:
do
pip install $line
done
echo "Install Django requirements..."
for line in $(cat /usr/src/cdr-stats/install/requirements/django-requirements.txt)
do
pip install $line
done
Volvemos a instalar la dependencia South ahora en el entorno virtual:
hg+http://bitbucket.org/andrewgodwin/south/@ecaafda23e600e510e252734d67bf8f9f2362dc9#egg=South-dev
Vamos a establecer una clave aleatoria para la seguridad del sistema:
Deshabilitamos el entorno de depuración:
Y ahora tenemos que acceder al fichero settings_local.py dentro del directorio de instalación settings_local.py para establecer los parametros de configuración de nuestra base de datos MySQL:
'ENGINE': 'django.db.backends.mysql',
'NAME': 'asterisk',
'USER': 'asterisk',
'PASSWORD': 'asterisk',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'init_command': 'SET storage_engine{INNODB',
}
}
}
Instalando la Interfaz Web
Copiamos dentro todos los ficheros relativos a la interfaz web, dentro del directorio que descomprimimos el paquete CDR-Stats:
Ahora creamos un fichero dentro del directorio Apache:
DocumentRoot '/var/www/cdrstats'/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory '/var/www/cdrstats'>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
AllowOverride All
allow from all
</Directory>
</VirtualHost>
Y eliminamos el script por defecto:
Referencias
- ↑ Django Project, Django Software Foundation (2005)
- ↑ Script de Instalación de CDR-Stats, en Inglés, Areski Belaid