登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

baikgd的博客

技术是工具,生活是目的,更好的生活是目标!

 
 
 

日志

 
 

给asterisk添加自动报号功能(转)  

2009-11-04 09:23:58|  分类: Asterisk |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
自动报号是一个很平常的功能,像移动客服里,

在接通客服前一般要说:某某号,为您服务。

 

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为"号,为您服务"语音文件名称

  评论这张
 
阅读(1333)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018