1

SUBSCRIBESIPクライアントを作成していますが、既存のクライアント(別のフリーウェアソフトウェア)を使用すると、奇妙な問題が発生します。

私は自分のサーバーを使用していますがSUBSCRIBE、別のクライアント(pjsip)から実行している場合はすべて正常に機能するため、問題はありません。

私はこのSUBSCRIBEメッセージを送信しています:

SUBSCRIBE sip:3009@10.0.0.4 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.7:5060;rport;branch=z9hG4bKPj3893ccd****************
Max-Forwards: 70
From: <sip:10.0.0.7>;tag=023a965a14a143eb8*******
To: sip:3009@10.0.0.5;tag=8cfb7*********
Contact: <sip:10.0.0.7:5060;ob>
Call-ID: bf5d48fe8ca0***************
CSeq: 14388 SUBSCRIBE
Route: <sip:10.0.0.5;lr;ftag=023a965a14a143eb8*********>
Event: presence
Expires: 600
Supported: replaces, 100rel, timer, norefersub
Accept: application/pidf+xml, application/xpidf+xml
Allow-Events: presence, message-summary, refer
Content-Length:  0

そのメッセージの後、anOKが受信NOTIFYされますが、HEがサーバーに登録してから、他のクライアントが行ったプレゼンスの変更ごとにメッセージを受信して​​います。

この問題は、別のクライアントでは発生しません。

Visual Studio 2008重要な場合は、Windows764ビットで開発しています

何か案は?

ありがとう!

4

1 に答える 1

3

コメントから、問題はクライアントに有効な応答を送信していないため、各NOTIFY要求の複数の再送信を送信しているようです。

有効な応答を生成するための重要な側面は、ViaブランチパラメータとCSeqを要求と同じ値に設定する必要があることです。RFC3261のセクション17.1.3を参照してください。

于 2013-01-07T10:19:15.917 に答える