SIP180vs183Vs Early media
プライバシー&クッキー
このサイトはクッキーを使用しています。 継続することにより、あなたはそれらの使用に同意します。 Cookieの制御方法など、詳細についてはこちらをご覧ください。
正常なSIPコールが正常に確立されました呼び出し先が最終応答200OKでそれを受け入れると、コーデックネゴシエーションが行われ、コールは両端が互いの機 この基本的かつ原則的な仕組みについては間違いありません。
しかし、これはメディアが実際に起動したときとは関係がありませんが、通話に応答せずに数字入力を求めるために遠端がIVRを再生していることに気
だから、コールが確立される前のメディアフローは初期メディアとみなされます。 それはあなたが話をして喜んでいる人の声ではなく、むしろシステムトーン、アナウンス、または遠端があなたに聞きたい音です。
あなたの携帯電話が信号外番号に到達しようとすると、PSTNと何らかの形で同様の実装が発生する可能性があります:
あなたがダイヤルした番号は、現時点では利用できません、後で再試行してください。
それはあなたが結果として聞くものである可能性があり、この場合、あなたの電話サービスプロバイダーはあなたの電話に応答したり、通話料を請求したりすることはありません。
180リンギング
SIP bible rfc3261に記載されているように、180は、招待を受信したUAがリンギングしていることを発信者に警告するために使用されます。
ほとんどの場合、180応答はSDP本体を搬送せず、この応答を受信したデバイスは通常、エンドユーザーへのローカルリングバックを開始します。 つまり、呼び出し先が応答するのを待っているときに聞こえる着信音は、ネットワーク走行ではなく、エンドポイントデバイスで設定可能です。
いくつかの4XX、5XX、6XXが受信されたときに同じことが起こることに言及する価値があります。
183Session Progress
183(Session Progress)応答は、情報を伝えるために使用されます。 この場合のヘッダフィールドまたはSDP本文は、コールの進行状況についての詳細を伝達するために使用され得る。
183応答にはSDP本文が含まれており、通常は3つのケースで使用されます:
- ネットワーク走行リングバックを行う:UACを実行しているデバイスは、呼び出し先が警告されていることを示すために、UASによってユーザーに送信されたメ
- 単にエラーメッセージ音を再生してから、上記のようにハングアップします。
- 対話型音声応答の実装のために:dtmfトーンは、メディアパケットと一緒に収集することができます。
それは初期のメディアのことですが、単純ですね?
初期メディアの検出
上記は初期メディアに関するSIP定義ですが、かなり簡単ですが、実際には、UACは受信したSIP応答を中継して、ローカルリングバッ SIPシグナリングとRTPメディアが独自の方法であるため、UASはメディアパケットを送信せずにSDPボディを含む183応答を開始することができます。
それ以外にも、一部の実装では180応答でSDP本体をアタッチし、183応答なしで初期のメディアセッションに入ります。
そのため、初期のメディアを検出するには、UACもメディアパケットが特定の瞬間に到着しているかどうかを確認する必要があります。
そしてrfc3960のおかげで、これらの混乱のためのいくつかのポリシーが推奨されています:
1. 180(リンギング)応答を受信しない限り、
ローカルリンギングを生成しないでください。2. 180(リンギング)が受信されているが、着信
メディアパケットがない場合は、ローカルリンギングを生成します。3. 180(リンギング)が受信され、着信
メディアパケットがある場合は、それらを再生し、ローカルリンギングを生成しません。
これらのポリシーは、すべてのSIPデバイスで従うべき標準として定義されているわけではありませんが、単に次のように述べています:
すべてのUAは、着信メディアパケットを再生する必要があります(実行されていた場合は、ローカルの着信音の生成を停止します)
最後に重要なことを言い忘れましたが、コールが応答されて早期メディア状態を離れるとき、200OKのSDP回答は、183/180以前のSDP回答と一致する必要があります。
まあそれはそれです、私はそれがあなたのために理にかなっていることを願っています。 可能であれば、早期メディアを使用したSIP通話のWiresharkトレースは、より明確に理解するのに役立ちます。
Leave a Reply