我正在尝试从上下文执行命令行扩展(通过asterisk -rx“命令”),该上下文使得基于AGI的查询确定需要拨打哪个扩展(这些扩展在数据库上更新)
这是这样的:
[autodialer]
exten => 2,1,Answer()
exten => 2,n,AGI(database_query.php); Makes a database query and generates vars
exten => 2,n,Set(CALLERID(name)=${db_customer_name}); Sets callerid from DB data
exten => 2,n,Dial(SIP/${db_customer_extension}); Also, extensions are stored on DB
exten => 2,n,Playback(custom/important_message)
exten => 2,n,SayDigits(${important_numbers}); The message, stored on DB too.
exten => h,1,Hangup()
在这里,我需要从命令行执行上下文,而不必从任何扩展名拨打它(它应该每隔X次用crontab执行)。
我尝试使用 originate 命令,但我认为我误解了命令语法并且无效。
我认为它应该是这样的: asterisk -rx“channel originate 2 @ autodialer”然后Asterisk执行该上下文,我们都对我们的重要数字感到满意。
我知道这不是正确的语法,只是试图解释我的想象它可以起作用。
感谢您的帮助。
答案 0 :(得分:0)
没有办法只发起一条腿。你有第二个参数(其他通道dest)
如果您不需要其他频道,请创建这样的上下文
[wait]
exten =>s,1,Wait(10000)
并使用
asterisk -rx "channel originate 2@autodialer s@wait"
阅读这篇文章:
http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out
注意:建议不要为具有不到5年专用星号经验的人员提供拨号应用程序。如果您需要,请使用vicidial.org或其他拨号程序。