2016-05-10 12 views
0

Warum benötigt die SIP CANCEL-Methode dieselbe CSeq-Nummer und dieselbe Verzweigungs-ID wie INVITE. Die Übereinstimmung mit der entsprechenden INVITE-Verzweigungs-ID ist ausreichend. Da es sich um einen langen Wert handelt, ist es ausreichend, um die Transaktion zu identifizieren. Warum hat CANCEL cseq dann denselben Wert?SIP CANCEL Request

Antwort

0

Der Grund ist für die Übereinstimmung mit der vorherigen Spezifikation, dh: rfc2543. In dieser alten Spezifikation wurde der Verzweigungsparameter nicht verwendet. Stattdessen wurden rq-uri, to-tag, call-id, cseq und top-via überprüft.

Um die Kompatibilität mit rfc2543 zu gewährleisten, erfordert die neue Spezifikation die Verwendung einer Verzweigung, die mit einem magischen Cookie ("z9hG4bK") beginnt, aber weiterhin die alte Methode erfordert.

Passend eine INVITE, ein, die in Abschnitt 17.2.3 von rfc3261 (Matching-Anfragen an Server-Transaktionen)

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. 
+0

Dank definierten Regeln folgen CANCEL sollte. Ich muss auch RFC 2543 lesen. – Sudhansu

+0

Sie müssen nicht! rfc3261 stellt alle Informationen bereit, die Sie benötigen, um mit RFC2543 kompatibel zu sein ... – AymericM