Asterisk发起电话预约回拔

电话预约回拔主要由服务直接拔打客户电话号码,然后播放功能菜单,客户根据功能菜单输入相关的号码提供给服务器操作.不过这么语音服务应用范围还是很广的,如点歌系统,移动的10086语音服务等.
不过要实现这功能之前还是要了解一下Asterisk.
http://www.asterisk.org/
以下是实现简单的预约回拔功能,Asterisk配置简单的功能菜单:

·     编辑extensions.conf
[mainmenu]
exten => s,1,Background(
功能提示语音)
exten => s,2,Background(silence/10) ;
这个主要是播一个静音,等待客户输入
exten => s,3,Noop()
exten => s,4,Background(
结束前语音提示)
exten => s,5,Background(Hangup);
播放结束
exten => _.,1,Goto(BusinessCall,${EXTEN},1);
当用户在服务器等待时输入相关号码后直接转发到BusinessCall规则下处

[BusinessCall]
exten => 10086,1,Goto(mainmenu,s,1);
当接收到10086的请求直接转到语音菜单
exten => _0.,1,Dail(sip/${EXTEN:1});
当用户转0开头的号码,直接把0去了进行SIP拔打

·     通过AMI发起回拔
可以通过AMIOriginate 命令发起一个回拔:
Smark.Asterisk.AMI.Originate Ori = new Originate();
Ori.Account = number;
Ori.Exten = "10086";
Ori.Context = "BusinessCall";
Ori.Channel = "SIP/" + number;
Ori.Priority = "1";
Ori.Variable = "IsCallBack=" + number;
Ori.Async = "yes";
mManager.Send(Ori);
Smark.Asterisk
的组件包可以到:http://smark.codeplex.com/
AMI的详细帮助可以到:http://www.voip-info.org/wiki/view/Asterisk+manager+API
这里也提供一个完善的基于C#AMI组件。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值