asterisk自动报号
文章代码优化部分请点击 自动报号优化
asterisk自动报号是一个很平常的功能,像移动客服里,
在接通客服前一般要说:某某号,为您服务。
asterisk自身没有自动报号功能,我们需要修改源代码
文件位置asterisk-1.4.24\apps\app_queue.c 3165行,可搜索关键字bridge = ast_bridge_call
在bridge = ast_bridge_call(qe->chan,peer, &bridge_config);前添加必要代码即可
网络上说是加 play_file(qe->chan, peer->cid.cid_num);
但是经测试qe->chan->cid.cid_num与peer->cid.cid_num同为呼叫方的电话号码
并不是被叫号码,自动拨号拨的是呼叫方对应的语音文件,这样并不是我们所要的效果
所以要经过另外一种途径获得被叫号码
以下是我所做的修改
在当前作用域内,有个变量member,其member->interface的值类似Local/101@from-internal/n,
其中101为队列中的被叫方,所以只要获得101即可
我是这么做的,在try_calling函数开始声明
//在目录 var/lib/asterisk/sounds内创建sunflower目录用于存放坐席欢迎词,可自行设定
char sunExten[80]="sunflower/";//供10个字符
int suni = 0;//for循环初始值
int sunj=10;//分机号在sunExten起始位置,此处应与sunExten初始字符个数相同
int sunflag = 0;// 字符'/'开始标记
在行3165,
bridge = ast_bridge_call(qe->chan,peer, &bridge_config);
前回车
添加如下代码
for(sun=0;suni<80;suni++){
if(member->interface[suni]=='/'){
sunflag=1;
continue;
}
if(member->interface[suni]=='@'){
sunflag=0;
break;
}
if(sunflag){
sunExten[sunj++]=member->interface[suni];
}
}
play_file(qe->chan, sunExten);
编译安装即可
然后在var/lib/asterisk/sounds/sunflower目录内放置各分机的欢迎语就可以了
另外一种更好的办法
录制0---9个数字的语音文件,和一个类似"号,为您服务"的语音文件,代码修改为
char sunExten[80]="";
int suni = 0;
int sunj=0;
int sunflag = 0;
在行3165,
bridge = ast_bridge_call(qe->chan,peer, &bridge_config);
前回车
添加如下代码
for(sun=0;suni<80;suni++){
if(member->interface[suni]=='/'){
sunflag=1;
continue;
}
if(member->interface[suni]=='@'){
sunflag=0;
break;
}
if(sunflag){
sunExten[sunj++]=member->interface[suni];
}
}
ast_say_digit_str(qe->chan, sunExten, AST_DIGIT_ANY, qe->chan->language);
play_file(qe->chan, "sunService");//sunService为"号,为您服务"语音文件名称
----------------------------------------------------------------
转载请注明出处 zhangxuehuaemail # gmail dot com
本文章来自:http://sunflowers.iteye.com/blog/461329
----------------------------------------------------------------
分享到:
相关推荐
Asterisk-自动话务员
介绍Asterisk交换机管理,自动总机IVR设计。
asterisk下自动寻呼系统设计文档,IP话机呼叫逻辑的定义与实现
Asterisk权威指南(第3版)第15章自动话务员 Asterisk权威指南(第3版)第02章Asterisk体系结构 Asterisk权威指南(第3版)第05章用户设备配置 Asterisk权威指南(第3版)第06章Dialplan基础 Asterisk权威指南(第3版)第07章...
Asterisk 简介 Asterisk 架构 Asterisk程序框图
Asterisk是一种功能非常齐全的应用程序,提供了许多电信功能,能够把你的x86机 器变成你自己的交换机,还能够当作一台企业级的商用交换机。Asterisk让人激动的事情是它在小企业预算可承受的范围内提供了商业交换机的...
详细写了如何实现asterisk视频通讯功能的 每步都有截图噢!
用于控制Asterisk的.net类库,包含了AMI和FastAGI,最新的1.6.3版本
This is a book for anyone who uses Asterisk, but particularly those who already understand the dialplan syntax. In this book, we look at common problems we’ve encountered as Asterisk administrators ...
asterisk16版本安装包,下载之后直接编译安装即可。
Asterisk 代码学习笔记,深入浅出asterisk,由于工作上的VOIP项目需要,最近亲密接触了一下asterisk工程代码。关于asterisk在VOIP上的伟大地位和作用,俺就不絮叨了,请看前作:Astersik+Radius简易攻略 国内对于...
Asterisk群呼功能实现1
Asterisk, voip, ITSP
本代码整理了Asterisk AMI 接口,下载之后,通过配置Asterisk用户名和密码即可连接到Asterisk,用户名和密码在代码中已给出,可自由修改。
asterisk中英文教材,包括原英文文档asterisk.pdf和部分翻译中文版,翻译版如下:第02章Asterisk体系结构 第05章用户设备配置 第06章Dialplan基础 第07章外线连接 第08章语音邮件 第10章深入Dialplan 第11章Parking&...
asterisk拨号方案的配置
Asterisk客户端和Asterisk manager API(AMI)文档。
基于Asterisk的PBX呼叫转移功能的设计与实现,黄喆,马跃,Asterisk 是一个开放源代码的软件VoIP PBX(Private Branch Exchange)系统,它是一个运行在Linux环境下的纯软件PBX解决方案。Asterisk具有开源,可扩��
Asterisk Cookbook.pdf
Asterisk学习必备,共5本书籍,学习助手 Asterisk权威文档(第3版).pdf Asterisk,the future of telephony.pdf Building+Telephony+Systems+with+Asterisk.pdf Asterisk+For+Dummies+2006.pdf Asterisk_Developers_...