cdr_adaptive_odbc в Asterisk Gentoo

Dec 13, 2017 14:13



Установим необходимый драйвер для MySQL.
emerge -av unixodbc

Необходимо отредактировать конфиги

файл /etc/unixodbc/odbcinst.ini

[myodbc-5.2]
Description=MySQL ODBC 5.2 Driver
Driver=/usr/lib/libmyodbc5a.so
UsageCount=1

файл /etc/unixodbc/odbc.ini

[mysql-asterisk]
Description=MySQL ODBC 5.2 Driver Testing DSN
Driver=myodbc-5.2
Socket=/var/run/mysqld/mysqld.sock
Server=localhost
User=asterisk
Password=jNW2d
Database=asterisk
Option=3

файл /etc/asterisk/res_odbc.conf

[mysqlaster]
enabled => yes
dsn => mysql-asterisk
username => asterisk
password => jNW2d
pre-connect => yes
pooling => no

файл /etc/asterisk/cdr_adaptive_odbc.conf

[mysqlaster]
connection=mysqlaster
loguniqueid=yes
table=cdr
usegmtime=no
alias start => calldate
timezone=Europe/Moscow

Параметр DSN отвечает за подключение Asterisk к базе данных, указанной в файле /etc/unixodbc/odbc.ini. Этот параметр говорит Asterisk, что необходимо открыть и поддерживать соединение с базой данных при загрузке модуля res_adaptive_odbc.so.

Перезапустим сервис Asterisk /etc/init.d/asterisk restart

Через CLI Asterisk проверим подключение к БД через драйвер ODBC

*CLI> odbc show
ODBC DSN Settings
-----------------
 Name:   mysqlaster
 DSN:    mysql-asterisk
   Last connection attempt: 1970-01-01 03:00:00
 Pooled: No
 Connected: Yes

Необходимо создать базу в мускуле, если еще не создана

mysql> create database asterisk;
mysql> use asterisk;
mysql> CREATE TABLE `cdr` (   `id` int(9) unsigned NOT NULL auto_increment,   `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 '',   `uniqueid` varchar(32) NOT NULL default '',   `userfield` varchar(255) NOT NULL default '',   PRIMARY KEY  (`id`),   KEY `calldate` (`calldate`),   KEY `accountcode` (`accountcode`),   KEY `uniqueid` (`uniqueid`),   KEY `dst` (`dst`),   KEY `src` (`src`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
mysql> grant all on asterisk.* to 'asterisk'@'localhost' identified by 'jNW2d';
mysql> \q
Bye

asterisk, #ятестируюновыйредактор, gentoo

Previous post Next post
Up