我收到多个 2** 响应来电。问题是一旦呼叫连接并且服务器接收到“ACK”数据包并且呼叫成功启动,服务器再次将“OK”响应数据包发送回被调用者并再次接收“ACK”数据包。在呼叫自动终止之前,这种情况会发生多次。有人可以向我解释为什么会发生这种情况,即使在呼叫连接成功后我的服务器仍在发送“OK”响应,以及可能的问题解决方案是什么?提前感谢您的帮助。
问问题
280 次
1 回答
1
SIP UAS 会多次重传 2xx 响应,直到收到 UAC 的 ACK 请求。有关详细信息,请参阅SIP RFC 章节“13.3 UAS 处理”。
大多数情况下,当 UAC 发送的 ACK 无效时会发生此类问题,从而阻止 UAS 将其与 INVITE 事务匹配。ACK 请求对其构造有特殊规则,请参见13.2.2.4 2xx 响应。让事情变得更加困难的是,对于 2xx 和非 2xx 最终响应,ACK 请求的构造是不同的。
于 2013-09-05T21:29:39.430 回答