没有合适的资源?快使用搜索试试~ 我知道了~
20120605_扩展Asterisk1.8.7的CLI接口1
需积分: 0 0 下载量 38 浏览量
2022-08-04
14:29:26
上传
评论
收藏 142KB PDF 举报
温馨提示
试读
4页
1、为了方便代码的管理,我决定新建立一个叫 addons_test 的文件夹 3、打开 asterisk 主目录下的 Makefile 文件,在 MOD_SUB
资源详情
资源评论
资源推荐
扩展 Asterisk1.8.7 的 CLI 接口
大部分情况下,配置 asterisk 的拨号方案,用 CLI、AMI 之类的就可以满足我们的需
求。可有些情况下涉及到业务的东东,需要数据库的参与(比如用 sqlserve 存储 asterisk 的录
音记录等等),拨号方案那种静态的做法完全不用考虑,而原始的 CLI、AMI 已经不能满足
需求。这时就需要考虑从源码入手,扩展 asterisk 了。
asterisk 是基于插件的,很容易扩展。手动编译过 asterisk 源码的朋友应该知道,在
asterisk 源码目录里有一个 addons 的目录,里面就是 asterisk 的插件(其实 apps 下也可以看
做是插件)。
这里有个小例子,主要演示怎么从源码扩展 asterisk 的 CLI 接口。
一、建立目录结构,配置 Makefile
1、为了方便代码的管理,我决定新建立一个叫 addons_test 的文件夹;
2、将 apps 下的 Makefile 复制到该目录;
3、打开 asterisk 主目录下的 Makefile 文件,在 MOD_SUBDIRS 变量中加入 addons_test(我
的 Makefile 是在 266 行)。
二、编写 CLI 插件代码
1、在 addons_test 目录添加文件 app_testApp20120605.c 和文件 app_testApp20120605.exports
说明:
app_testApp20120605.c 为程序代码
app_testApp20120605.exports 为动态库导出配置
2、编写文件内容
app_testApp20120605.exports 文件简单,可以将 apps 目录下的任一”.exports”文件
copy 至本目录改名即可,这里主要介绍 app_testApp20120605.c 的书写。
2.1 首先需要添加头文件:
#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/cli.h"
2.2 定义 Application 名称:
static char *app_testApp = "testApp20120605";
2.3 写模块加载函数:
static int testApp_exec(struct ast_channel *chan, const char *data)
{
ast_verb(2,"testApp_exec : %s",data);
return 0;
}
说明:这个要用此格式,尽管 chan 变量没有用到,但加载模块的函数指针是这种格式。
2.4 编写 CLI 接口函数:
E-Mail : Mike_Zhang@live.com 1
小米智能生活
- 粉丝: 31
- 资源: 300
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0