2016-11-10 16 views
0

私はSIPダイアログに敬意とインクリメントのCSeqシーケンス番号と次の二つのRFCのセクションの意味を理解しようとしている:SIPダイアログのCSeqシーケンス番号

https://tools.ietf.org/html/rfc3261#section-12.2.1.1

https://tools.ietf.org/html/rfc3261#section-12.2.2

最初のRFCセクションUACに関しては、

Requests within a dialog MUST contain strictly monotonically increasing and contiguous CSeq sequence numbers (increasing-by-one) in each direction. 

しかし、後者のセクションでは、UASに関しては、

It is possible for the CSeq sequence number to be higher than the remote sequence number by more than one. This is not an error condition, and a UAS SHOULD be prepared to receive and process requests with CSeq values more than one higher than the previous received request. 

私のシナリオでは、サーバーにSIPサブスクリプションを送信するデバイスがあります。その後、サーバは、同じダイアログ内で0以上の通知要求をそのサブスクライバに送信できます。サブスクライバが要求を拒否することなく、通知を送信しているサーバがCSeqシーケンス番号を複数増加させることはできますか?

答えて

1

はい。実際の世界では、シーケンス内のいくつかの番号をスキップしたCSeqのためにリクエストを拒否するSIPユーザエージェントを見つけることはありません。

CSeqが以前の要求のCSeqよりも小さいか等しい場合、要求は拒否されます。これは、再送信として分類されるためです。

+0

デバイスの再サブスクライブ時はどうなりますか?ヘッダーからの、およびヘッダーへのコールIDは、同じである必要がありますか?しかし、再サブスクリプションでシーケンス番号が増えていますか? – user1491636

+0

あなたはその1つ(RFC 3265私は思う)のRFCをチェックしなければならないでしょう。再購読すると新しいダイアログが生成されるため、Call-ID、Fromタグ、Toタグ、およびその他のトランザクション関連ヘッダーに異なる値を使用すると推測しました。 – sipwiz

+0

したがって、RFCによれば、UACは各リクエストのシーケンス番号を増やす必要がありますが、私には理解できないことは、再サブスクリプションが新しいシーケンス番号(まだUASに達していない)同じダイアログ内のリクエストは、UACに同じ番号でも飛行中ですが、UACは新しいリクエストを拒否しませんか? – user1491636

関連する問題