Asterisk可以存储CDR记录到一个MYSQL数据库中,也可以选择以CSV文本文件的形式保存起来。 由于Mysql客户端开发库的版权问题,Mysql billing应用程序不再作为Asterisk标准发布版本中的其中一部分来发布,而是以附加内容的形式存在:asterisk-addons。 为了让Asterisk支持把CDR日志保存到mysql数据库中,必须下载asterisk-addons包,然后编译与mysql有关的几个模块,并且装载到你的Asterisk服务器中。 一.下载asterisk-addons包。 有两种方式: 1:官方网站上发布的: http://downloads./pub/asterisk/,如果你当前使用的asterisk是.14版本而且是最新的,这时候从目录中找到最新的asterisk-addons包。 2:从SVN库中检出 svn checkout http://svn./svn/asterisk-addons/branches/1.4/,用这种方法要注意几点: (1) http://svn./svn/asterisk-addons/,这个根目录下面,有 这几个目录,如果你当前使用的asterisk是.14版本而且是最新的,这时候应该要从branches分支目录中找到最新的版本下载,注意:不要直接check out trunk/目录。 二. 编译安装asterisk addons
1. 修改Makefile文件 在编译asterisk addons之前,必须修改asterisk addons源文件下的Makefile文 件: CFLAGS+=-fPIC ifeq ($(OSARCH),SunOS) ASTETCDIR=/var/etc/asterisk ASTLIBDIR=/opt/asterisk/lib else ASTLIBDIR=/usr/lib/asterisks (对应asterisk安装后的模块目录上一级目录) #ASTETCDIR=/home/asterisk- endif MODULES_DIR=$(ASTLIBDIR)/modules 2.执行三部曲 确定已经有了zlib-devel、mysql-devel(/usr/lib/mysql/), # make menuselect (在这个命令下选择待编译的模块,按enter选择或取消选择某个模块,按x保存并退出) 三. 修改所有配置文件 *1:编辑cdr_manager.conf:enabled = yes *2:编辑modules.conf,在[modules], 增加:load => cdr_addon_mysql.so 3:编辑cdr_mysql.conf,如果目前还没有这个文件,新创建一个 [global] hostname=0.0.0.0(Mysql数据库服务器) dbname=cdrmysqltest (数据库名) user=root password=123456 port=3306 userfield=1 四.在Mysql数据库中新建数据数据库、表 CREATE DATABASE cdrmysqltest ; CREATE TABLE `cdr` ( |
|
来自: MikeDoc > 《asterisk》