最近在使用同振,顺振的功能
看似简单的功能,却遇到各种各样的问题。
现在说一下我再使用顺振时遇到的问题:
电话呼入,进入dialplan后,我使用bridge顺振一组分机。
<action application="bridge" data="user/1001|user/1002"> 这样的!具体到应用中,还有其他更详细的设置。
在测试时,发现如果1001拒绝接电话,那么1002可以振铃
问题来了,如果1001没有接听电话,超时应答的情况,则直接结束,1002不振铃。
查询各种资料,赶紧应该加一个continue_on_timeout的变量来控制第一个分机振铃结束后,继续执行而不挂机!
但是搞不明白,为什么第一个分机拒接可以顺振,而无应答则直接挂机。跟踪switch_ivr_originate.c源代码,发现跟continue_on_timeout有一定的关系,关系不是但不是主要原因!
在switch_ivr_originate.c的originate函数中添加日志代码:
拒接日志:
无应答日志:
originate对NO_USER_RESPONSE和NO_ANSWER 处理不一样,continue_on_timeout参数是确实有作用!