我想知道如何在呼出呼叫中运行ivr。
我在extensions.conf中做了这样的星号设置
[outgoing] ;context
exten => 1567XXXX,1,Dial(SIP/101010@ip) ;the call is successfully route on this number
exten => 1567xxxx,1,Answer()
exten => 1567xxxx,n,Wait(1)
exten => 1567xxxx,n,Playback(hello-world) ;but i want this ivr to be play when end user pick up the call
尝试在拨号命令中使用宏:
[outgoing] ;context
exten => 1567XXXX,1,Dial(SIP/101010@ip,,M(call))
[macro-call]
exten => s,1,Wait(1)
exten => s,n,Playback(hello-world)
exten => s,n,MacroExit
您需要创建出站呼叫并将呼叫的另一端置于您的上下文中。请查看本文:http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out
注意:如果你要创建拨号器,这是一个非常糟糕的主意。最好使用开源软件,或者雇佣专业人士。这条路会有很多问题
您有两个可能的选择。一种是使用"original"命令。参见http://www.voip-info.org/wiki/view/Asterisk+manager+Example:+Originate查看示例。
另一个是我喜欢的解决方案,因为它不需要AMI,它使用假脱机调用文件。请参阅https://wiki.asterisk.org/wiki/display/AST/Asterisk+Call+Files了解如何做到这一点。诀窍是在/tmp中创建spool文件,然后将该文件"移动"到../spool/星号/输出目录。
如果您为假脱机呼叫分配了唯一的通道变量键/值,那么您可以使用拨号计划将其拾取并适当地路由呼叫。
如果您正在构建一个批拨号机系统,其最基本的是一个数据库应用程序,它每分钟创建一次呼叫假脱机文件,等于您的系统已挂起的行数。如果您担心预测/优化拨号或将呼叫传递给代理,则假脱机系统的复杂性会迅速增加。
以类似线轴的方式创建出站呼叫并不像MichelV69所建议的那样容易-我的意思是,它很容易,但是一旦您开始有新的需求,事情就会开始走下坡路。我完全同意这里的文章http://www.wombatdialer.com/manuals/WD_UserManual-chunked/ar01s01.html#_why_was_wombatdialer_created因为这就是你将要面对的