Asterisk 当被叫方返回180振铃时触发事件?

Asterisk 当被叫方返回180振铃时触发事件?,asterisk,amazon-ami,Asterisk,Amazon Ami,情况如下: 用户A拨用户B 用户B返回180振铃 它们都在同一个PBX(星号11.5)中并已注册 我想知道,当用户B返回180次响铃时(在we Get 200 OK之前),是否有可能触发一个操作 I'v尝试做的是在呼叫连接到Dial()命令的选项“B”之前将呼叫发送到标签,并使用以下命令获取SIP状态: ${HASH(SIP_CAUSE,${CDR(dstchannel)}) 及 更新: 问题在于,由Dial()启动的宏的“B”选项是在发送邀请之前启动的,因此执行的操作是无用的 我知道可以通

情况如下: 用户A拨用户B 用户B返回180振铃

它们都在同一个PBX(星号11.5)中并已注册

我想知道,当用户B返回180次响铃时(在we Get 200 OK之前),是否有可能触发一个操作

I'v尝试做的是在呼叫连接到Dial()命令的选项“B”之前将呼叫发送到标签,并使用以下命令获取SIP状态:

${HASH(SIP_CAUSE,${CDR(dstchannel)}) 

更新:

问题在于,由Dial()启动的宏的“B”选项是在发送邀请之前启动的,因此执行的操作是无用的


我知道可以通过AMI(使用Newstate事件)获得振铃状态,但在这一点上,我不想为任务增加另一个复杂性。

不,这是不可能的。因为出站通道的pbx结构将不会初始化


您必须使用外部AMI脚本或对asterisk core进行复杂的重写。

谢谢,我正在考虑另一种启动SIP选项/通知用户“B”的方法。它应该给我一个状态,如果对方“活着”嗨,我已经实现了一个补丁来解决这个问题。我发布了一个问题,只是为了验证解决方案是否足够优雅:
${DEVICE_STATE(SIP/${CALLEE})}