Asterisk录音存储到SQLServer实现
"Asterisk录音记录到SQLServer的实现步骤" 在本文中,我们将探讨如何在Asterisk PBX系统中记录通话,并将这些录音详细信息存储到SQL Server数据库中。这一过程涉及到数据库操作和Asterisk源代码的修改。 一、数据库操作 1. 创建数据库表`monitorDetailRecord`: 为了存储录音记录,首先我们需要创建一个数据库表。这个表包含以下字段: - `Id`:记录的唯一标识,类型为bigint。 - `Src`:源电话号码,类型为varchar。 - `Dst`:目标电话号码,类型为varchar。 - `Channel`:通话通道,类型为varchar。 - `StartTime`:通话开始时间,类型为datetime。 - `EndTime`:通话结束时间,类型为datetime。 - `RecordFileName`:录音文件名,类型为varchar。 2. 创建存储过程`addMonitorDetailRecord`: 这个存储过程用于将新的录音记录插入到`monitorDetailRecord`表中。它接受六个参数:源号码、目标号码、通道、开始时间、结束时间和录音文件名。存储过程首先检查表中是否存在记录,如果不存在则设置`Id`为0,否则获取现有最大`Id`并加1,然后将新记录插入表中。 3. 测试存储过程: 调用`addMonitorDetailRecord`存储过程,传入示例数据进行测试。例如,添加一条记录,模拟来自1003的通话至1100,通道为'SIP/1003-000001',通话开始于'2012-04-13 11:45:50',结束于'2012-04-13 11:45:55',录音文件名为'1.gsm'。 二、修改Asterisk源代码 1. 修改`apps/app_mixmonitor.c`文件: 在Asterisk中,`app_mixmonitor`应用负责混合录音。为了将录音信息存入SQL Server,我们需要在源代码中引入必要的头文件`<sqlfront.h>`和`<sybdb.h>`。这两个头文件提供了与SQL Server交互的接口。 2. 添加数据库测试代码: 需要在`mixmonitor_thread`函数内部实现调用SQL Server存储过程的逻辑。这通常包括打开数据库连接、执行存储过程(传递通话详细信息)以及在通话结束后关闭连接。 3. 实现逻辑: 当`mixmonitor`应用启动时,应创建一个新的数据库连接。当通话开始时,调用`addMonitorDetailRecord`存储过程,将通话信息(如源号码、目标号码、通道、开始时间等)作为参数传递。通话结束时,更新`EndTime`字段并再次调用存储过程,然后关闭数据库连接。 通过以上步骤,Asterisk可以成功地将录音记录保存到SQL Server数据库中,方便后续的查询、分析和管理。这使得Asterisk成为一个更强大的PBX解决方案,能够提供全面的通话记录和日志功能。
![](https://csdnimg.cn/release/download_crawler_static/86325263/bg1.jpg)
下载后可阅读完整内容,剩余5页未读,立即下载
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/aac9f51f22074673b1534e18978528d0_weixin_35794072.jpg!1)
- 粉丝: 21
- 资源: 312
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)