INVITE事务:
SIP使用UDP传输协议来传送INVITE消息时,要使用逐跳重传机制保证INVITE的最终传送,即用户代理UA和sip代理proxy都要保证INVITE到达下一跳,下一跳收到时会返回一个临时应答(proxy返回100Trying,UA返回100Trying和180ringing),代理在限定时间内收不到应答即会重传INVITE。
临时应答(100~199)用于阻止逐跳INVITE重传,没有端到端的可靠传输,也就是说当被叫方返回180应答时,如果在路径中途丢失,也不会重传。
最终应答(200~699)能被保证到达它们想要去的目的地。
成功应答(200~299)被可靠地传送到呼叫方UA,但不是使用逐跳重传机制。只有呼叫方UA能为最终成功应答发送一个ACK(直接发送到被叫方UA),如果成功应答在路径中途丢失或者UA发出的ACK丢失,那么被叫方会在限定时间内收不到ACK时重新发送最终应答,直到收到ACK的确认。
非成功最终应答(300~699)使用和INVITE一样的逐跳机制。被叫方用户代理将持续重传非成功应答(给前一跳),直到收到ACK为止(proxy也可以为非成功应答发送ACK)。
CANCEL事务:
CANCEL事务与INVITE事务都是逐跳事务,但是处理方法不同,路径上的每一个代理收到CANCEL请求时,都会发送一个最终应答来响应(而不是发出临时应答),并且向下一跳发送一个CANCEL请求。