呼叫stream程说明

在“了解SIP”一书中,他们说只有INVITE响应才会发送ACK,但是在这个呼叫stream程中也有BYE的ACK。

有人可以向我解释这个现象吗?

呼叫流程 ]

书中的描述 ]

呼叫stream程图不正确。 对BYE的回应应该是2xx; 如上所述,ACK仅用于确认对INVITE的响应。 有关更多详细信息,请参阅RFC 3261 。

在通话结束时,Bob首先断开连接(挂断)并生成BYE消息。 这BYE直接路由到爱丽丝的软电话,再绕过代理。 Alice用200(OK)响应来确认收到BYE,这会终止会话和BYE事务。 没有ACK被发送 – 只有在响应INVITE请求时才发送ACK。 INVITE的这种特殊处理的原因将在后面讨论,但是涉及SIP的可靠性机制,响铃电话应答的时间长度以及分支。 由于这个原因,SIP中的请求处理通常被分类为INVITE或者INVITE,除了INVITE之外,还有其他所有的方法。 会议终止的全部细节在第15节。