`
sun4love
  • 浏览: 234655 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

深入浅出asterisk(四):部署CDR MySql模块

    博客分类:
  • VOIP
阅读更多

Asterisk可以存储CDR记录到一个MYSQL数据库中,也可以选择以CSV文本文件的形式保存起来。

由于Mysql客户端开发库的版权问题,Mysql billing应用程序不再作为Asterisk标准发布版本中的其中一部分来发布,而是以附加内容的形式存在:asterisk-addons。

为了让Asterisk支持把CDR日志保存到mysql数据库中,必须下载asterisk-addons包,然后编译与mysql有关的几个模块,并且装载到你的Asterisk服务器中。

一.下载asterisk-addons包。

有两种方式:

1:官方网站上发布的:

http://downloads.digium.com/pub/asterisk/,如果你当前使用的asterisk是.14版本而且是最新的,这时候从目录中找到最新的asterisk-addons包。

    2:从SVN库中检出

     svn checkout  http://svn.digium.com/svn/asterisk-addons/branches/1.4/,用这种方法要注意几点:

(1)    http://svn.digium.com/svn/asterisk-addons/,这个根目录下面,有

branches/

tags/

team/

trunk/

这几个目录,如果你当前使用的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-1.4.11(对应asterisk的源代码目录)

endif

MODULES_DIR=$(ASTLIBDIR)/modules

 

2.执行三部曲

确定已经有了zlib-devel、mysql-devel(/usr/lib/mysql/),
# make clean

# make menuselect

(在这个命令下选择待编译的模块,按enter选择或取消选择某个模块,按x保存并退出)
# make
# make install

 

三. 修改所有配置文件

    *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` (
`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 '',
`uniqueid` varchar(32) NOT NULL default '',
`userfield` varchar(255) NOT NULL default ''
);

ALTER TABLE `cdr` ADD INDEX ( `calldate` );
ALTER TABLE `cdr` ADD INDEX ( `dst` );
ALTER TABLE `cdr` ADD INDEX ( `accountcode` );

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/colinchan/archive/2007/09/28/1805341.aspx

分享到:
评论

相关推荐

    Asterisk 代码学习笔记,深入浅出asterisk,asterisk通道,呼叫情景(call scenario)

    #### 四、Asterisk 架构 Asterisk采用模块化的架构设计,其核心组件包括: - **抽象接口类型**:例如CodecInterpreter和FileFormatHandler等。 - **模块构架**:包括Channel Drivers、RTP引擎、拨号计划应用等。 -...

    深入浅出asterisk代码

    asterisk 代码分析, sip_chan

    最全Asterisk代码学习笔记

    Asterisk的学习涉及到通信协议、网络编程、音视频处理等多个领域,深入理解其内部机制对于构建和维护企业级通信系统至关重要。通过阅读源代码和实践操作,开发者可以更好地定制和优化Asterisk以满足特定需求。

    Asterisk CLI 命令列表

    使用格式:cdr mysql status 说明:显示 cdr_mysql 的当前连接状态。 例子:Connected to mvb2000cdrdb@localhost, port 3306 using table cdr for 6 days, 10 hours, 14 minutes, 46 seconds. Wrote 7 records ...

    asterisk+freeradius+mysql

    在Asterisk的配置文件中(如`extensions.conf`),确保启用了CDR记录,并指定CDR模块为FreeRADIUS。 8. **测试整个系统**: 通过模拟呼叫或使用Asterisk的测试工具,检查CDRs是否正确地发送到FreeRADIUS,且Free...

    Asterisk: The Definitive Guide, 3rd Edition

    ### Asterisk: The Definitive Guide, 3rd Edition #### 核心知识点解析 **一、概述** 《Asterisk: The Definitive Guide》是关于Asterisk开源PBX(Private Branch Exchange)系统的权威指南,适用于Linux管理员...

    Asterisk:The Futrue of Telephony

    《Asterisk:电话系统的未来》这本书深入探讨了Asterisk技术的核心概念及其在现代通信领域中的应用。Asterisk是一种开源的框架,它能够将计算机变成一个完整的交互式语音应答系统(IVR)或电话交换机(PBX)。...

    Centos5.8安装asterisk并配置mysql用户表

    "Centos5.8安装asterisk并配置mysql用户表" Asterisk是一种流行的开源IP PBX系统,它提供了强大的语音通信功能和灵活的配置能力。本篇文章将指导您在Centos5.8系统上安装Asterisk,并配置Mysql用户表以实现动态...

    asterisk 七号信令 模块

    在本文中,我们将深入探讨Asterisk如何通过其"chan_ss7"模块来处理7号信令,并分析提供的文件列表中的各个组件。 7号信令是全球电信网络中广泛使用的通信控制协议,用于建立、管理和终止电话通话,以及传输数据服务...

    asterisk部署文档

    在CentOS 5.4操作系统上部署Asterisk需要经过一系列步骤,包括环境准备、依赖安装、Asterisk及其扩展包的下载与安装,以及数据库配置等。以下是详细过程: 1. **环境准备**: - 首先,登录到CentOS系统,并切换到...

    Asterisk: The Future of Telephony

    根据所提供的标题“Asterisk: The Future of Telephony”以及描述“Asterisk 详尽的教程,对初学Asterisk有很大帮助”,我们可以推断出本文将详细介绍Asterisk的基础知识、应用场景以及如何利用Asterisk构建电话系统...

    asterisk cdr apps

    asterisk cdr app (asterisk cdr 应用模块)

    cdr2serial:将Asterisk CDR发送到串行设备-开源

    在实际部署中,cdr2serial需要配置在Asterisk服务器上,并且正确设置串行端口参数,如波特率、数据位、停止位和校验位。然后,接收端的硬件设备需要能够解析接收到的CDR数据,并根据这些数据执行相应的操作。 总结...

    贝岭的matlab的代码-asterisk-amr:Asterisk13转码模块:AMR-WB

    添加了格式模块,还添加了一个转码模块: codecs/codec_amr.c 。 这是 IETF 的实现。 有时,AMR 被称为 AMR 窄带 (AMR-NB)。 AMR 宽带(ITU-T 建议 G.722.2)有时缩写为 W-AMR ()。 GSMA 移动是 AMR-WB。 比较 AMR ...

    Asterisk权威指南中文

    Asterisk权威指南中文(第3版) ...Asterisk权威指南(第3版)第10章深入Dialplan Asterisk权威指南(第3版)第11章Parking&Paging Asterisk权威指南(第3版)第13章自动呼叫分配(ACD) Asterisk权威指南(第3版)第14章设备状态

    部署asterisk项目到Netbeans进行实时调试(图解)

    标题中的“部署asterisk项目到Netbeans进行实时调试(图解)”是指将开源的PBX系统Asterisk的源代码导入到Netbeans集成开发环境中,以便进行代码学习、调试和项目开发。Asterisk是一个强大的通信平台,允许开发者构建...

    ACR - Asterisk CDR Reporter:有关Asterisk CDR的信息,例如ASR,ACD,计费期限“ billsec”,-开源

    有关Asterisk CDR的信息,例如ASR,ACD,计费持续时间“ billsec”,时间标准(不仅是日期),一旦有时间,我还将添加更多功能,例如频道使用情况和时区偏移。 欢迎您提出建议! 请随时下载,安装和/或修改代码,并...

    Asterisk常用命令

    - 模块管理是Asterisk的一大特色,允许动态加载、卸载和重载功能模块,以适应不同的需求和环境。例如,`cdr_radius.so`可能是一个用于集成Radius认证的模块,可以通过上述命令进行管理。 了解并熟练掌握这些命令,...

    asterisk20编译的相应包编译包

    这里是asterisk20编译的相应编译包,asterisk完整可以运行的docker镜像、快速部署,可以直接sip语音、视频、彩铃会话,通话稳定 codec_opus-20.0_current-x86_64.tar.gz srtp-1.4.4.tgz pjproject-2.13.1.tar.bz2 ...

    asterisk 教程

    - `/etc/asterisk/iax.conf`:IAX通道的呼入呼出设置。 - `/etc/asterisk/extensions.conf`:拨号计划配置。 - `/etc/asterisk/logger.conf`:日志调试信息配置。 - `/etc/asterisk/manager.conf`:管理账号配置。 -...

Global site tag (gtag.js) - Google Analytics