Mar
15
2009
2

Errors loading Asterisk addons, CDR(Call Detail Records) to MySQL

The other day I was doing an Asterisk 1.2 –> 1.4 upgrade.  I have a MySQL database that Asterisk records the Call Detail Record’s(CDR) too.  I deleted the asterisk 1.2 modules, then compiled/installed asterisk 1.4 & asterisk-addons 1.4.  Being that I hadn’t set up the CDR MySQL stuff in a while I loaded the res_mysql.conf, but I copied it from the cdr_addon.conf file by accident.  Because the two files have similer syntax It took me a while to figure this one out.  I checked all the passwords and I even checked the Asterisk CLI to see if the module loaded.  MySQL was populated with the same tables as before.  I also kept seeing this error (see below).

Possibly a mixed up addon file.

Possibly a mixed up addon file.

The error:

[Mar 15 03:25:44] ERROR[23793]: res_config_mysql.c:629 mysql_reconnect: MySQL RealTime: Failed to connect database server asterisk on  (err 2002). Check debug for more info.

The res_mysql & cdr_mysql have very similer config files, but you can’t ‘cut & paste’ between them.

Sample configuration for res_mysql.conf:

;
[general]
;dbhost = 127.0.0.1
;dbname = asterisk
;dbuser = myuser
;dbpass = mypass
;dbport = 3306
;dbsock = /tmp/mysql.sock

; Sample configuration for cdr_mysql.conf:

[global]
;hostname=database.host.name
;dbname=asteriskcdrdb
;table=cdr
;password=password
;user=asteriskcdruser
;port=3306
;sock=/tmp/mysql.sock
;userfield=1

Be careful not to mix the two between upgrades!