**已关闭。**此问题为not about programming or software development。目前不接受答案。
此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site相关,您可以留下评论,说明在何处可以找到此问题的答案。
昨天关门了。
Improve this question
如何在使用Asterisk节点ARI客户端应答呼叫后立即检测来电。Asterisk ARI是否有事件来检测来电,或者我们是否必须每隔几秒钟就发出请求来查看频道的应答状态?
3条答案
按热度按时间mcdcgff01#
是的,ARI有“ARI事件”,您可以查找“NEW_CHANNEL”事件。之后进行重定向
但是,无论如何您都需要拨号计划支持,否则系统将在很短的时间内变得不受支持。
iyfamqjs2#
您不需要ARI,但需要AMI(Asterisk Manager Interface)。您不需要修改拨号计划,只需打开一个到AMI端口(默认为5038)的套接字,并侦听那里的事件。您可以找到一个列表,列出official documentation上所有发出的事件。
如果需要在应答事件之后检查呼叫,则可能需要侦听NewState event,使
ChannelStateDesc
属性等于Up
。如果您使用Queues,则会更容易,因为您只需侦听AgentConnect事件。
cxfofazt3#
只需简单地使用channelStateChange函数,有3种状态,其中一个频道可以是1-振铃2-向上(您可以在这里检测哪些已应答)3-向下