Asterisk模块编写(2)
来源:互联网 发布:智能家居软件架构 编辑:程序博客网 时间:2024/06/05 08:29
第一部分已经解释了HelloWorldAsterisk模块。该模块只实现了能够给Asterisk编译,能够加载到Asteisk中去,当被加载或卸载时打印简单的日志信息。现在让该模块做些更有意的事情。
在res_helloworld.c中,我们应用了load_module和unload_module函数。在那个模块中,我们仅仅是打印日志,其实在该模块中可以实现更多的功能。
load_module的工作是说:“helloAsterisk, I’m a module. I can provide some features to Asterisk andhere is how you use them."
相反的,unload_module的工作是“Hello Asterisk, again. I’m aboutto disappear, so please don’t use any of these features that I wasproviding to you anymore. If you do, you’ll explode. kthx! ”
现在是更新模块提供功能给Asterisk的时候了。我们将从CDR处理开始,CDR接口不算是一个非常简单的应用。首先是添加合适的头文件。
然后,我们增加一个新的函数,该函数在每次CDRpost
时将会调用,参数是CDR
本身。
接下来,将刚刚实现的应用通过load_module()
和unload_module()
函数经新功能添加到该模块中去。
在load_module()
函数中,将增加一个函数调用用于向AsteriskCore
注册该CDR
处理。参数是该应用的名称,简短的描述,以及当CDRpost
时AsteriskCore
调用函数。
在unload_module()
中,需要对刚刚添加的应用注销。
ast_cdr_unregister("HelloWorld");
编译安装后,运行Asterisk
,可以去确认你的新CDR
应用是否被注册到了AsteriskCore
。
当你挂电话,将会看到CDR
处理被执行。
你已经可以在Asterisk
模块中添加CDR
处理了!
- Asterisk模块编写(2)
- Asterisk模块编写(1)
- Asterisk模块编写1
- Asterisk模块编写指南
- 基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1)
- 基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1)
- 基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1)
- 基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1)
- 如何写Asterisk模块(3)
- Asterisk 可加载模块
- Asterisk cli模块分析
- Asterisk cli模块分析
- Asterisk 可加载模块
- Asterisk cli模块分析
- asterisk 模块app开发
- Asterisk 可加载模块
- asterisk 自动加载模块
- 基于Asterisk的VoIP开发指南——(2)Asterisk AGI程序编写指南
- 火狐Firefox与众不同的快速购物功能
- Flex单元测试 – Mocking
- C++中栈区 堆区 常量区
- this关键字
- 从数据库中读取和写入文件
- Asterisk模块编写(2)
- 在客户端显示服务器端任务处理进度条的探讨
- 说都不会话了!147条真理!
- vipca遭遇报错:CRS-0215:Could not start resource 'ora.rac2.ons'
- Data MisAlignment问题
- 又见好字体
- [杂言]iTSP组内的调侃与对话
- GIS的那些牛人
- 写dll应该注意的问题