AGI应该如何处理HangupRequest

时间:2018-12-10 14:26:38

标签: asterisk agi fastagi

我们最近将星号的版本从1.4.26.1-> 13.23.1。升级了。我们注意到的变化是,在AMI关闭其连接后,它通常使用“挂断”来响应AGI,然后关闭tcp连接。此行为似乎已更改,并且现在收到“ HangupRequest”并保持连接打开状态。从星号日志来看,它似乎也一直在试图破坏该通道。 HangupRequest是否需要AGI的特定响应才能完成挂断?

我们当前正在使用的解决方法是在Dial计划中添加Set(AGIEXITONHANGUP=yes),这会将行为恢复为用于执行挂断的方式,而感觉它们应该是处理挂断的更合适的方式请求在拨号计划中不需要此设置。

1 个答案:

答案 0 :(得分:0)

星号请求挂断后,AMI收到挂断请求。 https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerEvent_HangupRequest在这种情况下,它请求AGI的挂起,我们发现了两种可能的解决方法。 首先是将if constexpr添加到拨号计划中,这意味着当Asterisk收到HANGUP时,它将关闭与AGI的连接。 第二个是在AGI收到HANGUP时制作AGI,以清理与Asterisk的连接,从而执行挂断。