我已按照此主题中的说明操作:Asterisk AMI - pickup call。但是,我仍无法通过AMI接听电话。我可以拨打分机号码,但该分机的相应电话不响铃。然后我可以运行AMI命令来接听该呼叫,它确实回答了,但显然没有任何实际响应。
拨号方案(使用扩展程序116进行测试):
exten => 116,1,AGI(agi:async)
我在这里做错了什么想法?
答案 0 :(得分:0)
使用
exten => 116,1,Answer
exten => 116,2,AGI(agi:async)
或通过ami使用答案行动。
http://www.voip-info.org/wiki/view/Asterisk+manager+API
当看到agi-async事件问题时,您需要侦听事件在同一频道上应答。例如,您可以使用答案执行播放命令。
非常喜欢你需要从AGI界面开始,这对理解起来要简单得多。不使用agi:async,它需要了解星号内部。
答案 1 :(得分:0)
找到答案。对于那些想要使用API Manager回答的人,您可以使用以下内容 -
http://ip-address:port/asterisk/rawman?action=Originate&Channel=Local/(exten you want to answer with)@(context)&Application=Exec&Data=Pickup((exten you want to answer with)@PICKUPMARK)
我当然正在使用http来发送我的请求,如果您正在使用其他内容,则需要更改格式。
或者您可以使用bridge命令。当您从一个分机拨打另一个分机时,将创建两个频道,桥接这些频道,您将获得比拾取更好的整体功能。