SIP CANCEL请求

时间:2016-05-10 05:43:31

标签: sip

为什么SIP CANCEL方法需要与INVITE相同的CSeq编号和分支ID。将CANCEL与相应的INVITE分支id匹配就足够了。由于它是一个很长的值,足以识别交易。那么为什么CANCEL cseq具有相同的值呢?

1 个答案:

答案 0 :(得分:0)

原因是符合先前的规范,即:rfc2543。在这个旧规范中,没有使用分支参数。相反,检查了rq-uri,to-tag,call-id,cseq和top-via。

为了保持与rfc2543的兼容性,新的规范要求使用以魔术cookie(“z9hG4bK”)开头的分支,但仍需要旧的方法。

要匹配INVITE,CANCEL应遵循rfc3261(匹配服务器事务请求)的第17.2.3节中定义的规则

If the branch parameter in the top Via header field is not present,
or does not contain the magic cookie, the following procedures are
used.  These exist to handle backwards compatibility with RFC 2543
compliant implementations.

The INVITE request matches a transaction if the Request-URI, To tag,
From tag, Call-ID, CSeq, and top Via header field match those of the
INVITE request which created the transaction.