Asterisk 1.6 : Installation, compilation et configuration du CDR via MySQL
Introduction
Pour continuer la série d’article sur asterisk, celuis-ci vous expliquera comment compiler et installer les modules complémentaire (addons) d’asterisk. Ainsi comment configurer le CDR (Call Detail Record, registre des appels en français). Bonne lecture.
Veuiller prendre note que les versions spécifier dans cet artricle sont les derniers versions stables disponible lors de la création de celui-ci.
Description
Les modules complémentaire d’asterisk comprend ceci :
- Applications
- app_addon_sql_mysql (Interface pour MySQL)
- app_saycountpl (gadget selon moi)
- Call Detail Recording
- cdr_addon_mysql (pour enregistrer le registre des appels dans MySQL, le but de l’article)
- Channel Drivers
- chan_mobile (Pilote pour les périphérique Bluetooth)
- chan_ooh323 (Objective Open H.323)
- Format Interpreters
- format_mp3 (ça le dit, supporter le format MP3)
- Ressource Modules
- res_config_mysql (pour la configuration en temps réel )
Pré-requis
Avoir installé une Debian de Base, Asterisk et MySQL serveur
Paquets à installer :
# apt-get install build-essential libncurses-dev libmysqlclient15-dev
Télécharger les modules complémentaires d’asterisk :
# wget http://downloads.asterisk.org/pub/telephony/asterisk/releases\ /asterisk-addons-1.6.1.2-rc1.tar.gz
Compilation
# tar -zcf asterisk-addons-1.6.1.2-rc1.tar.gz && cd asterisk-addons-1.6.1.2-rc1
# ./configure --host=i486-linux-gnu --build=i486-linux-gnu \
--prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
Les options au script ./configure, sont des variables pour le standard Debian.
La commande make menuconfig est optionnel, utiliser la si vous voulez personaliser les modules d’asterisk
# make menuconfig # make # make install # make samples
La commande make samples va créer des fichiers de configuration de base dans le répertoire /etc/asterisk
Configuration
Serveur MySQL
Veuiller créer une table dans MySQL, voici le template :
CREATE TABLE IF NOT EXISTS `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 '', `userfield` varchar(255) NOT NULL default '', KEY `calldate` (`calldate`), KEY `dst` (`dst`), KEY `calldate_2` (`calldate`), KEY `dst_2` (`dst`), KEY `accountcode` (`accountcode`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/etc/asterisk/cdr_mysql.conf
[global] hostname=l'adresse de votre serveur MySQL dbname=nom_de_la_base_de_donnée table=nom_de_la_table password=le_mot_de_passe user=nom_de_l'usager port=3306 ;sock=/tmp/mysql.sock
Finalement
Redémarrer Asterisk et le tout devrait fonctionner. Si vous avez des questions, laisser moi un commentaire.