Asterisk & MySQL, deel 2 : CDR configuratie
Wanneer we Asterisk connecteren met een backend zoals een MySQL-databank, dan gaat er een wereld van toepassingen en implementaties open.
In dit 2e deel van Asterisk & MySQL toon ik hoe we Asterisk configureren via de mysql-config bestanden in /etc/asterisk om dan onze MySQL-databank te gebruiken voor opslag van CDR.
In deel 1 compileerden we de noodzakelijke MySQL-libraries nodig voor Asterisk om met een MySQL-databank te kunnen spreken. Dit resulteert in een aantal nieuwe configuratie files in /etc/asterisk :
cdr_mysql.conf res_mysql.conf mysql.conf | |
Om Call Detail Recording (CDR) op te slaan in een MySQL-databank dienen we eerst de geschikte tabel aan te maken. Dit is de SQL-code :
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 '', `userfield` varchar(255) NOT NULL default '' ); ALTER TABLE `cdr` ADD `uniqueid` VARCHAR(32) NOT NULL default ''; ALTER TABLE `cdr` ADD INDEX ( `calldate` ); ALTER TABLE `cdr` ADD INDEX ( `dst` ); ALTER TABLE `cdr` ADD INDEX ( `accountcode` ); |
|
Dan maken we de noodzakelijke wijzigingen in cdr_mysql.conf :
[global] |
|
In het algemene configuratiebestand cdr.conf verwijzen we naar onze MySQL-backend :
[mysql] |
|
Vergeet in de [general] sectie niet de Call Detail Recording aan te zetten :
[general] |
|
We herladen de module in Asterisk :
asterisk16*CLI> module reload cdr_addon_mysql.so |
|
We controleren of de MySQL-database door Asterisk wordt herkend :
asterisk16*CLI> cdr show status
|
|
En we controleren of Asterisk kan connecteren met de MySQL-databank :
asterisk16*CLI> cdr mysql status |
|
Indien je volgende boodschap krijgt, is er iets mis met de configuratie in cdr_mysql.conf :
asterisk16*CLI> cdr mysql status |
|