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
欢迎关注本站公众号,获取更多信息