Asterisk with CDR Adaptive ODBC

From KlavoWiki
Jump to navigationJump to search

Prerequisite

yum -y install mysql-connector-odbc unixODBC-devel libtool-ltdl-devel

By default by installing ODBC it will automatically set up known driver connections to MySQL and PostgreSQL

odbcinst -q -d

The details of the driver conneciton can be found in:

cat /etc/odbcinst.ini

Create ODBC DSN Connection

vi /etc/odbc.ini

Add the following contents

[MySQL-asterisk]
Description  = Asterisk CDR
Driver       = MySQL
Database     = asterisk
User         = root
Password     = passw0rd
Server       = localhost
Socket       = /var/lib/mysql/mysql.sock

For MySQL and CentOS: /var/lib/mysql/mysql.sock
For MySQL and Debian: /var/run/mysqld/mysqld.sock

Note: Socket is only use when server is localhost or 127.0.0.1

VerifyConnectivity

echo "select 1" | isql -v MySQL-asterisk

Attach res_odbc to DSN

vi /etc/asterisk/res_odbc.conf

Add/Modify the following to the file.

[asterisk]
enabled => yes
dsn => MySQL-asterisk
pre-connect => yes

Attach cdr_adaptive_odbc to res_odbc

vi /etc/asterisk/cdr_adaptive_odbc.conf

Add the following

[cdr_adaptive_connection]
connection=asterisk
table=cdr

If you are using an older CDR table or applications that uses the calldate column rather than the newer start column then you will need to create an alias.

vi /etc/asterisk/cdr_adaptive_odbc.conf

In the cdr_adaptive_connection context add the following line.

alias start => calldate