asterisk-system.ru Мысли, заметки о Пингвине, Звездочке, Ай-Ти … Перейти к содержимому О сайте Asterisk AGI на примере Perl Install Asterisk 1.8 on CentOS 5.6 Asterisk 1.8 пишем CDR в MySQL базу Опубликовано 26.08.2011 автором admin Для того чтобы Asterisk мог записывать данные о звонках в базу, должен быть установлен пакет “Asterisk-addons”. Для Asterisk версии ниже 1.8, нужна скачать этот самый пакет с сайта. Для 1.8 все проще, он идет в комплекте с ядром, нужно не забыть его включить. Для начала надо установить модули для CDR Mysql apt-get install mysql-client mysql-client libmysqlclient15-dev mysql-server mysql-common далее собираем астериск с галками —> 1. Applications [*] 1. app_addon_sql_mysql 2. Call Detail Recording [*] 1. cdr_addon_mysql 3. Channel Drivers 4. Format Interpreters 5. Resource Mod Итак логинемся в базу # mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.0.77 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> Создаем базу mysql> create database asterisk; Создаем в базе “asterisk” таблицу “cdr”, вот с такой структурой mysql> use asterisk; mysql> CREATE TABLE `cdr` ( `id` int(11) unsigned NOT NULL auto_increment, `calldate` datetime NOT NULL default '1970-01-01 00:00:01', `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 '', `filename` varchar(255) NULL default '', `dnid` varchar(120) 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; Query OK, 0 rows affected (0.04 sec) Теперь даем доступ для пользователя “asterisk_user” с паролем “Some_Pass_Aster01″ к базе “asterisk” только с локалхоста. mysql> grant all on asterisk.* to 'asterisk_user'@'localhost' identified by 'Some_Pass_Aster01'; mysql> flush privileges; Теперь укажем нашему Астериску писать CDR базу, для этого в файле “/etc/asterisk/cdr_mysql.conf” меняем строчки: global] hostname=localhost dbname=asterisk table=cdr password=Some_Pass_Aster01 user=asterisk_user sock=/var/lib/mysql/mysql.sock Для применения изменений перезапускаем “Asterisk”. Чтобы убедиться что мы все сделали правильно в консоле Астерсика вводим test*CLI> cdr mysql status Connected to asterisk on socket file /var/lib/mysql/mysql.sock using table cdr for 5 hours, 22 minutes, 7 seconds. Wrote 5 records since last restart. Если у вас такое же сообщение то все настроено верно Запись опубликована в рубрике Asterisk CentOS с метками Asterisk MySQL . Добавьте в закладки постоянную ссылку Asterisk AGI на примере Perl Install Asterisk 1.8 on CentOS 5.6 24 комментария: Asterisk 1.8 пишем CDR в MySQL базу Алексей говорит: 02.06.2012 в 10:52 дп Подскажите пожалуйста, а как включить Asterisk-addons на версии 1.8. Что то никак не соображу.. Ответить admin говорит: 02.06.2012 в 11:20 дп когда вы собираете Астериск – “make menuselect”, первый же раздел, включаете все галочки, где упоминается mysql. Но перед этим у вас уже должен быть установлен MySQL-сервер. Ответить Алексей говорит: 02.06.2012 в 8:09 пп спасибо большое за статью, все работает сейчас записи прикручивать буду Ответить aleksander говорит: 18.09.2012 в 11:37 дп А как быть с русскими ФИО , у меня в поле CallID на русском. И в любых редакторах одни кракозябли Ответить admin говорит: 20.09.2012 в 8:56 дп посмотрите как виден CallId в Астериске и проверьте в какой кодировке пишет в базу. я обычно использую utf8. Ответить aleksander
Asterisk 1.8 пишем CDR в MySQL базу | asterisk-system.ru
Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.