Asterisk CDR на MySQL в Gentoo Linux
Asterisk/1.6.2.5
Установка
echo net-misc/asterisk-addons >> /etc/portage/package.keywords echo net-misc/asterisk-addons mysql >> /etc/portage/package.use
Настройка
cp /usr/share/doc/asterisk-addons-1.6.2.0/cdr_mysql.conf.sample.bz2 /etc/asterisk/ bzip2 -d /etc/asterisk/cdr_mysql.conf.sample.bz2 mv /etc/asterisk/cdr_mysql.conf.sample /etc/asterisk/cdr_mysql.conf
/etc/asterisk/cdr_mysql.conf
[global] hostname=localhost dbname=asterisk table=cdr user=asterisk password=PasSw0dr ;port=3306 ;sock=/tmp/mysql.sock [columns] ;static "<value>" => <column> ;alias <cdrvar> => <column> alias start => calldate alias callerid => clid alias src => src alias dst => dst alias dcontext => dcontext alias channel => channel alias dstchannel => dstchannel alias lastapp => lastapp alias lastdata => lastdata alias duration => duration alias billsec => billsec alias disposition => disposition alias amaflags => amaflags alias accountcode => accountcode alias userfield => userfield alias uniqueid => uniqueid
Дамп таблицы cdr
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for cdr -- ---------------------------- CREATE TABLE `cdr` ( `key` INT(11) NOT NULL AUTO_INCREMENT, `calldate` datetime DEFAULT NULL, `clid` VARCHAR(255) DEFAULT '', `src` VARCHAR(255) DEFAULT '', `dst` VARCHAR(255) DEFAULT '', `dcontext` VARCHAR(255) DEFAULT '', `channel` VARCHAR(255) DEFAULT '', `dstchannel` VARCHAR(255) DEFAULT '', `lastapp` VARCHAR(255) DEFAULT '', `lastdata` VARCHAR(255) DEFAULT '', `duration` INT(11) DEFAULT '0', `billsec` INT(11) DEFAULT '0', `disposition` VARCHAR(255) DEFAULT '', `amaflags` INT(11) DEFAULT '0', `accountcode` VARCHAR(255) DEFAULT '', `uniqueid` VARCHAR(255) DEFAULT NULL, `userfield` VARCHAR(255) DEFAULT '', PRIMARY KEY (`key`), KEY `accountcode` (`accountcode`), KEY `calldate` (`calldate`), KEY `dst` (`dst`), KEY `src` (`src`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Загрузка модулей
/etc/asterisk/modules.conf
[modules] autoload=yes ; Отключаем запись в файл noload => cdr_csv.so ; При autoload можно не указывать загрузку модуля ;load => cdr_addon_mysql.so ...
Информация по таблице
Поле | Комментарий |
---|---|
calldate | Дата и время |
clid | Caller ID |
src | Кто звонит |
dst | Куда звонят |
dcontext | Диал план |
channel | Используемый канал от вызывающего абонента |
dstchannel | Используемый канал к вызываемому абоненту |
lastapp | Последняя команда (Dial, BackGround и т.п.) |
lastdata | Аргументы или данные для lastapp |
duration | Полное время в секундах, от начала набора номера до окончания звонка |
billsec | Время вызова в секундах, от ответа (Answer) до окончания звонка. |
disposition | Статус вызова |
amaflags | AMA = Automated Message Accounting |
accountcode | Параметр файла sip.conf. Значение этого параметра, если указано, используется при заполнении CDR. Записывается значение пира, который принимает звонок. |
uniqueid | Можно записать что угодно туда |
exten => _8904XXXXXXX,n,Set(CDR(userfield)=Тele2)
Обсуждение