2

SIP実装にPjsipライブラリを使用しています。Pjsip lib を使用すると、完全に IP 呼び出しを行うことができます。私の問題は、他のエンドユーザーが拒否/到達不能または無応答の場合に電話をかけている間、私の通話はボイスメールに接続し、他のエンドユーザーの応答通話と同じようにsipサーバーから200k(通話接続状態)を取得します。
到達不能ケース 183 セッション進行メッセージが欠落しているため、200 ok を区別できます。しかし、応答なしと拒否の場合、実際の通話状態を取得できませんでした。
通話の接続状態とボイスメールの接続状態を見つける方法はありますか?

4

1 に答える 1

2

ユーザー エージェントがボイスメール サーバーに到達したことを知る方法と、応答する人を知る方法は 1 つではありません。

通常、ユーザー エージェントが From URI に INVITE を送信し、その URI を担当するプロキシが、リモート パーティが使用するさまざまなユーザー エージェント (電話、ボイスメール サービスなど) に INVITE をフォークします。最初に 2xx 応答を返したユーザー エージェントが呼び出しを設定します。

Contactただし、200 OK のヘッダーで、接続したユーザー エージェントを常に知ることができます。

おそらく、ボイスメール サーバーは、SDP オファー/アンサーで、特定の受信メディア ストリームを受け入れている間は何も送信しないことを示すため、ストリームにa=recvonly属性を付けます ( RFC 3264を参照)。

于 2012-12-21T11:41:09.277 に答える