Asterisk中開啓CDR通話記錄
Asterisk 怎麼在數據庫中記錄咱們的通話記錄,如去電和來電號碼,時間==。。,
首先我想到的是能夠直接在 dialplan中把主叫及被叫號及時間==其它信息直接手寫添加到mysql 數據中。
那麼官方提供了這樣的一個方法來開啓CDR記錄
一:首先得在mysql 中創建好咱們 數據庫名稱 和 cdr 表,官方提供的mysql 語句以下:
- CREATE DATABASE asterisk;
- GRANT INSERT
- ON asterisk.*
- TO asterisk@localhost
- IDENTIFIED BY 'yourpassword';
- USE asterisk;
- CREATE TABLE `cdr` (
- `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 '',
- `userfield` varchar(255) NOT NULL default ''
- );
- ALTER TABLE `cdr` ADD `uniqueid` VARCHAR(32) NOT NULL default '';
- ALTER TABLE `cdr` ADD INDEX ( `calldate` );
- ALTER TABLE `cdr` ADD INDEX ( `dst` );
- ALTER TABLE `cdr` ADD INDEX ( `accountcode` );
二:改動ASTERISK下的配置文件
cdr_manager.conf 和 cdr_mysql.conf ,主要是改 cdr_mysql.conf 文件,以下:
- [global]
- hostname=localhost
- dbname=asterisk //數據庫名
- table=cdr //表名
- password=888888 //數據庫密碼
- user=root //數據庫用戶名
- port=3306 //默認的端口
- sock=/var/lib/asterisk/mysql.sock //mysql.sock 的路徑
- userfield=1 //cdr表userfield 爲能夠寫
三:重啓相關服務
簡單點吧:直接重啓系統就OK
歡迎關注本站公眾號,獲取更多信息