我正在收到多个2 **的电话回复。问题是,一旦呼叫被连接并且服务器接收到“ACK”分组并且呼叫成功启动,服务器再次将“OK”响应分组发送回被呼叫者并再次接收“ACK”分组。这种情况会在呼叫自动终止之前多次发生。有人可以向我解释为什么发生这种情况,即使呼叫成功连接后我的服务器也发送了“OK”响应,可能解决问题的方法是什么?提前感谢您的帮助。
答案 0 :(得分:1)
SIP UAS将多次重新发送2xx响应,直到它收到来自UAC的ACK请求。有关详细信息,请参阅SIP RFC chapter "13.3 UAS Processing"。
大多数情况下,当UAC发送的ACK无效时会发生此类问题,从而阻止UAS将其与INVITE事务进行匹配。 ACK请求有关于其构造的特殊规则,请参阅13.2.2.4 2xx Responses。为了使事情变得更加困难,ACK请求的构造对于2xx和非2xx最终响应而言是不同的。