您的位置:首页 > 大数据 > 人工智能

asterisk 配置CDR(dall detail record)

2015-07-21 14:03 489 查看
Asterisk从版本12开始就可以使用mysql来保存呼叫记录,但默认情况下该功能是关闭的,所有我们需要:

1. 在/etc/asterisk/目录下,修改cdr相关配置脚本,以打开此功能

2. 创建响应的数据库和表,用于存储记录

具体操作步骤如下(以asterisk 12.0.5为例)

一, 在mysql 中建立好asterisk 数据库和CDR表

1 CREATE DATABASE asterisk;

2 GRANT INSERT

3 ON asterisk.*

4 TO asterisk@localhost

5 IDENTIFIED BY 'yourpassword';

6 USE asterisk;

7 CREATE TABLE `cdr` (

8 `calldate` datetime NOT NULL default '0000-00-00 00:00:00',

9 `clid` varchar(80) NOT NULL default '',

10 `src` varchar(80) NOT NULL default '',

11 `dst` varchar(80) NOT NULL default '',

12 `dcontext` varchar(80) NOT NULL default '',

13 `channel` varchar(80) NOT NULL default '',

14 `dstchannel` varchar(80) NOT NULL default '',

15 `lastapp` varchar(80) NOT NULL default '',

16 `lastdata` varchar(80) NOT NULL default '',

17 `duration` int(11) NOT NULL default '0',

18 `billsec` int(11) NOT NULL default '0',

19 `disposition` varchar(45) NOT NULL default '',

20 `amaflags` int(11) NOT NULL default '0',

21 `accountcode` varchar(20) NOT NULL default '',

22 `userfield` varchar(255) NOT NULL default ''

23 );

24 ALTER TABLE `cdr` ADD `uniqueid` VARCHAR(32) NOT NULL default '';

25 ALTER TABLE `cdr` ADD INDEX ( `calldate` );

26 ALTER TABLE `cdr` ADD INDEX ( `dst` );

27 ALTER TABLE `cdr` ADD INDEX ( `accountcode` );

二, 修改CDR相关配置文件:

1. 修改配置 /etc/asterisk/cdr_mysql.conf 文件

1 [global]

2 hostname=localhost

3 dbname=asterisk //数据库名

4 table=cdr //表名

5 password=888888 //数据库密码

6 user=root //数据库用户名

7 port=3306 //默认的端口

8 sock=/var/lib/mysql/mysql.sock //mysql.sock 的路径

9 userfield=1 //cdr表userfield 为可以写

2.修改 /etc/asterisk/modules.conf文件

在文件最后添加下面一行内容

load => cdr_mysql.so

3.修改/etc/asterisk/cdr.conf

; Define whether or not to use CDR logging. Setting this to "no" will override

; any loading of backend CDR modules. Default is "yes".

enable=yes

4.修改/etc/asterisk/cdr.manager.conf

设置enable=yes

三. 重启asterisk服务

#/usr/sbin/asterisk -r

#core restart now

重启完成后正常情况下可以用cdr mysql status查看相关信息,如果没有则说明还存在问题

四. 确认

进行一次成功的通话操作后进入mysql数据库查看是否已经添加了一条记录,如果有的话则说明已经成功了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: