モバイル ネットワーク プロバイダーが作成した Windows デスクトップ アプリケーションを使用しています。このアプリケーションは、SIP を使用してあらゆる種類の処理を行います: 通話、メッセージの送信など。このアプリが正常に送信する方法のスクリーンショットMESSAGE
(最後の 4 行):
MESSAGE
デスクトップ アプリケーションからのリクエストは、(後ろから 4 行目) として送信されます。
MESSAGE sip:FROM@DOMAIN SIP/2.0
Via: SIP/2.0/UDP LOCALIP:2112;branch=z9hG4bK-d8754z-905183245f478c76-1---d8754z-;rport
Max-Forwards: 70
To: "TO"<sip:TO@DOMAIN>
From: "FROM"<sip:USERNAME@DOMAIN>;tag=63088d09
Call-ID: NGVhMDJhYzQwNmExOTQyNThmNjc5OGNmOTViNDUyYWM.
CSeq: 2 MESSAGE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Content-Type: text/plain
Content-Length: 4
test
それに対する成功した応答は次のとおりです。
SIP/2.0 407 Proxy Authentication Required
Via: SIP/2.0/UDP LOCALIP:2112;received=EXTERNALIP;branch=z9hG4bK-d8754z-905183245f478c76-1---d8754z-;rport=2112
To: "TO"<sip:TO@DOMAIN>;tag=c005f0e30133ec730add76fc91f4bea
From: "FROM"<sip:USERNAME@DOMAIN>;tag=63088d09
Call-ID: NGVhMDJhYzQwNmExOTQyNThmNjc5OGNmOTViNDUyYWM.
CSeq: 2 MESSAGE
Content-Length: 0
Proxy-Authenticate: Digest nonce="3F178051B97E1F52000123000A3C53D4B",realm="DOMAIN",algorithm=MD5,qop="auth"
次に、PHP から同一の (および n バリエーション) リクエストを送信しようとしますが、SIP/2.0 403 Forbidden
代わりに常に受信しますSIP/2.0 407 Proxy Authentication Required
:
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP LOCALIP;received=EXTERNALIP
To: "TO"<sip:TO@DOMAIN>;tag=aprqngfrt-f7ccjj0000020
From: "FROM"<sip:USERNAME@DOMAIN>;tag=8f7be81d
Call-ID: 526576901edcc@localhost
CSeq: 1 MESSAGE
Reason: Q.850;cause=55;text="Call Terminated"
Content-Length: 0
おもしろいのは、リクエストを送信すると機能し、ヘッダーREGISTER
を正常に受信することです。オーソリを再計算し、再送信します。それから私は受け取ります。それはどのように動作するはずです。SIP/2.0 401 Unauthorized
WWW-Authenticate
SIP/2.0 200 OK
MESSAGE
何が間違っている可能性がありますか?私は何を取りこぼしたか?MESSAGE
その前にリクエストに他のリクエストが必要ですか(私はすでに試しましREGISTER
た)?RFC 3428を上下に
読み、可能なすべての例を試しましたが、成功しませんでした。