Installer Asterisk CDR Mysql
Exigencs Asterisk CRD
- Apache / http server
- Php
- Postgresql or mysql
- Php-pgSQL or Php-MySQL
- Need GD library
- Jpgraph_lib (inclued)
Par défaut Asterisk CDR génère des enregistrements dans un fichier CSV situés dans le répertoire /var/log/asterisk/cdr-csv.
Asterisk cdr peut également stocker des enregistrements CDR dans une base de données comme MySQL ou PostgreSQL comme une alternative aux fichiers CSV.
Si vos enregistrements CDR sont stockées dans une base de données, vous pouvez installer un analyseur basé sur le Web CDR facilement gérer et analyser vos enregistrements CDR comme Asterisk stat par :
Installer Asterisk stat
Fonctionnalités d’Asterisk stat
-
CDR report (monthly or daily)
-
Monthly traffic
-
Daily load
-
Compare call load with previous days
-
Many criterias to define the report
-
Export CDR report to PDF and CSV
-
Support MySQL and PostgreSQL database
-
Many others
Pour installer asterisk-stat, vous devez installer un serveur HTTP, PHP et MySQL. Je suppose que vous utilisez CentOS et avoir Asterisk installé dans votre serveur.
http://www.cahilig.org/install-asterisk-12-centos-4-and-centos-5
or download the auto install script form
http://www.cahilig.org/install-asterisk-12-auto-install-script-centos-4-and-centos-5.
Pour commencer, installez le serveur web Apache, PHP et MySQL. Exécutez cette commande dans la console.
# yum install httpd php php-mysql php-gd mysql mysql-devel mysql-server
Démarrer Apache et MySQL et assurez-vous qu’il se déroulera pendant le temps de démarrage en tapant cette commande.
# service httpd start # chkconfig httpd on # service mysqld start # chkconfig mysqld on
Allez dans /usr/src/ télécharger et installer asterisk-addon.
# wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.2.8.tar.gz # tar -zxvf asterisk-addons-1.2.8.tar.gz # make clean # make # make install
Copiez le fichier à partir du répertoire cdr_mysql.conf.sample configs dans /etc/asterisk, renommez-le en cdr_mysql.conf. Modifier la configuration de base de données.
[global] hostname=localhost dbname=asteriskcdrdb table=cdr password=password user=asterisk port=3306
Ensuite, éditez votre fichier /etc/asterisk/modules.conf et ajoutez la cdr_addon_mysql.so dans la section [global].
[global] load => cdr_addon_mysql.so
Connectez-vous à votre serveur MySQL et créer un mot de passe root pour sécuriser votre serveur, puis créer une base de données pour stocker vos enregistrements.
# mysql -u root mysql> SET PASSWORD FOR root@localhost = PASSWORD ('password'); mysql> Create Asterisk CDR databases and user to the databases. mysql> create database asteriskcdrdb; mysql> GRANT SELECT,INSERT ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY 'password'; mysql> Create a table called cdr under the database name you will be using the following schema. mysql> USE asteriskcdrdb; mysql> CREATE TABLE cdr ( calldate datetime NOT NULL default '0000-00-00 00:00:00', clid varchar(80) NOT NULL default '', src varchar(80) NOT NULL default '', dst varchar(80) NOT NULL default '', dcontext varchar(80) NOT NULL default '', channel varchar(80) NOT NULL default '', dstchannel varchar(80) NOT NULL default '', lastapp varchar(80) NOT NULL default '', lastdata varchar(80) NOT NULL default '', duration int(11) NOT NULL default '0', billsec int(11) NOT NULL default '0', disposition varchar(45) NOT NULL default '', amaflags int(11) NOT NULL default '0', accountcode varchar(20) NOT NULL default '', uniqueid varchar(32) NOT NULL default '', userfield varchar(255) NOT NULL default '' );quit
Se connecter à votre serveur MySQL et créer un mot de passe root pour sécuriser votre serveur, puis redémarrez votre PBX, commencer à faire un appel et vérifier si le CDR est écrit dans votre base de données.
mysql> use asteriskcdrdb; mysql> select uniqueid, src, calldate from cdr;
Vous pouvez également vérifier dans la console en tapant la commande :
# asterisk -ncrvvvvvvvvvv # cdr mysql status
Il permet d’afficher le message exactement comme ceci :
Connecté à asteriskcdrdb @ localhost en utilisant la table cdr pour 0 heures, 15 minutes, 15 secondes.
Écrit 1 enregistrements depuis le dernier redémarrage.
Si vous voyez le message de ce type en haut, vous avez réussi à installer asterisk-addon.
Allez dans /var/www/html/ et saisir asterisk-stats package à partir de:
# wget http://areski.net/asterisk-stat-v2/asterisk-stat-v2_0_1.tar.gz # tar -zxvf asterisk-stat-v2_0_1.tar.gz
Renommer asterisk-stat-v2_0_1 à asterisk-stats et modifier le defines.php dans le répertoire /lib.
define ("WEBROOT", "http://hostname/asterisk-stats/"); define ("FSROOT", "/var/www/html/asterisk-stats/"); define ("LIBDIR", FSROOT."lib/"); define ("HOST", "localhost"); define ("PORT", "3306"); define ("USER", "asterisk"); define ("PASS", "password"); define ("DBNAME", "asteriskcdrdb"); define ("DB_TYPE", "mysql"); define ("DB_TABLENAME", "cdr");
Créer un lien symbolique de cdr.php à index.php
# ln -sf cdr.php index.php
Et l’URL serait:
http://localhost/asterisk-stats
La version v2.0.1 a un bogue quand vous exportez des CDR au format pdf.
Pour corriger le bogue, vous devez changer la ligne 5 du export_pdf.php à partir de:
include_once(dirname(FILE) . "/lib/fpdf.php');
Par:
include_once(dirname(FILE) . "/lib/fpdf.php");
Il devrait être bien maintenant, vous pouvez exporter votre CDR au format PDF.
Votre asterisk-stat est fait, mais il n’est pas encore assuré, tout le monde peut se connecter sans authentification. Si vous voulez mettre une authentification à votre Asterisk-stat, il suffit de suivre ce tutoriel. Il faudra visiteurs du site Web de se connecter avec un nom d’utilisateur et mot de passe.
Vous pouvez supprimer le CDR dans votre base de données MySQL avec phpMyAdmin.