0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Inter IMS】マルチメディアネットワークの設計を読み解く! Part4【執筆中】

0
Posted at

はじめに

 SIPダイアログに関する話題が続いていますが、今回でいったん完結です!Part4では、early mediaフローの2つのモデルとENUMについて扱いたいと思います。

early mediaの2つのモデル

 early mediaのフローには、GatewayモデルApplication Serverモデルの2つがあります。以下ではこの2つのモデルを詳細に見ていきます。

Gatewayモデル

 Gatewayモデルとは、一度early dialog上で確立されたearly mediaをcomformed mediaでも引き継ぐモデルです。そのためINVITEフローは以下のようになります。

voip43.png

これまで見てきたフローと同じですね!特徴としてはSDPの交換が1回のみです。実はこのモデルだとforkingを行う際にmedia clippingの問題が発生します。

forkingによるmedia clippingの問題

では、実際にforkingの問題を確認してみます。まずUACがプロキシに向かってINVITEを送信し、forkingによって複数のSIP端末へリクエストがコピーされたとします。

voip45.png

すると、このINVITEに対する暫定応答18xが発呼したUACにレスポンスされますね。これによって複数のearly dialogが確立することになります。問題はこの時のearly mediaの扱いです。

voip46.png

着信先の各sip端末が別々にearly mediaを送ってくるので、UAC側ではこれらの音声がミックスされて受信されることになります。そのような音声をユーザにそのまま届けてしまったら混乱を招いてしまうでしょう。そのため、発呼側UACでは、1つのearky session上のearly dialogをランダムや先着によって選択し、それ以外のearly mediaをミュートする必要があります。この時、ネットワークの帯域節約のために、着信先SIP端末側でRTPの再生を止めてもらうUPDATEリクエストを送る場合があります。

voip47.png

これで一つのsip端末のみとのealy mediaが確立されたわけですが、もしも着信先ユーザがealy mediaを確立していないsip端末で応答したらどうなるでしょうか。応答先sip端末のRTP送信は一時的に止められているので、着信先ユーザが話はじめでも発信先のユーザには聞こえないわけです。つまりmedia clippingが発生してしまいます。

voip48.png

では、forking時にmedia clippingを発生させないようにするにはどうすべきでしょうか?その答えは次に紹介するApplication Serverモデルを使うことです。

Application Serverモデル

 Application Serverモデルとは、明確にearly mediaとregular mediaを分割するモデルです。より具体的に言えばearly mmediaを引きつかずに、また新しいメディアセッションを確立します。そのためSDPもearly media用とregular media用で2つ交換します。具体的なINVITEフローの例を以下に示します。

voip49.png

このように、early sessionとregular sessionを明確に分離することで、たとえearly mediaを1つ選択してそれ以外の端末ではRTPのミュートを行ったとしても、regular mediaはミュートされていないため、着信応答後即座に通話を開始することができます。

voip50.png

また、Application Serverモデルでは、early mediaとregular mediaでメディアの送信元を変えるようなことも可能です。そのためIMSがearly media上でIVRを流し、regular mediaは別のUAからメディアを流す場合などにはApplication Serverモデルが利用されます。Application Serverモデルを利用するためには、sip extensionとして early-session tagを利用する必要があります。つまり、Supported/Requireヘッダに"early-session"を記述する必要があります。

ダイアログのまとめ

ここまででSIPのダイアログの基本的な部分を包括的に解説できたのではないかと思います。ここから話を少し変えて、ENUMについて扱いたいと思います。

DDDS

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?