Contact Me

Dragon Technologie

514.917.0969

Asterisk 1.6 : Installation, compilation et configuration du CDR via MySQL

Posted on Friday, 20th November, 2009

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
  • 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.

Référence

 

avatar

Your name

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Etienne Lachance - Copyright © 2009 - Dragon Technologie - Tout droits réservés