- ベストアンサー
SIPについて教えてください
SIPでは,相手のクライアントとのセッションを確立してたあとの メディアデータの送受信ではSIPサーバを経由するのですか? http://itpro.nikkeibp.co.jp/article/COLUMN/20060930/249480/ の図1-2では,SIPサーバを経由しているのは,セッション確立時と終了時だけですか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
何度もごめんなさい。 リンク先を熟読してませんでした。 リンク先にもダイレクト通信しない理由が書いてありましたね。 -------- 例えばたくさんのSIP UAが存在するとき。各 UAがお互いのIPアドレスを個別に管理するのは大変である。そこで,SIPサーバーを置いてアドレスを一元管理してもらうようにする。また,IP電話サービスのように通話時間や料金を管理したいケースでは,SIP UA同士が直接通信してしまうと都合が悪い。こういうケースではSIPサーバーを置き,各SIP UAは必ずSIPサーバー経由で通信するようにする。こうした理由があるため,現実の世界ではSIPサーバーを使うことが多い。 --------- SIPサーバでプロクシを動作させる場合とさせない場合のどちらが“フツウ”かといえば、やはり動作させる方だと思います。
その他の回答 (3)
- ywatanabe
- ベストアンサー率40% (2/5)
質問の意図を勘違いしていたらすいませんが、メディアデータとおっしゃっているのはUA間の音声通話やファイル送受信等の事でしょうか? だとすると、 --- SIPでは,相手のクライアントとのセッションを確立してたあとの メディアデータの送受信ではSIPサーバを経由するのですか? --- セッション確立後のメディアデータはSIPサーバを経由しません。 メディアデータ自体は実際にはSIPというプロトコルではなくRTP等の別のプロトコルパケットでやり取りされています。 これらのメディアデータパケットはUA-UA間のEndToEndでやりとりされます。 ※ストリーミング等はRTPではありませんが。 又、SIPにはSDPといわれるメディア情報を扱うプロトコルが内部に含まれていて、UA同士でセッションを確立する際に、メディアデータをやり取りするIPアドレスやポート等をお互いに教えあってます。 これでUAは相手UAのメディアデータをやり取りできるIPアドレスとポートを知る事ができますので、セッション確立後のメディアデータはEndToEnd通信が可能になります。 実際にはUAから直接UAにメディアデータが送信してはいてもその間にルータやNAPT機器等が挟まっていたりします。 SDPやRTP等は参考URLを見てもらえれば詳しく分かると思います。
- naoiz
- ベストアンサー率40% (59/144)
以降は完全に私の想像です。 おっしゃるとおり、UA間の直接通信の方が効率はいいでしょう。 ただ、例えばUA1とUA2が同じセグメントに存在し、NAPT経由で外部と通信しているとしたらどうでしょう?SIPサーバから見たら両方とも送信元IPが同じって事になってしまいます。これだと、セッションが確立してもUA同士がダイレクトには通信できないんじゃないでしょうか? ※簡単に考えるなら自宅LAN内の2台のPCでWindowsMessengerを使う場面を想像してみてください。 SIPでセッションが確立していれば、UA1とUA2がそれぞれSIPサーバと通信できることは確実ですよね?だから、通常はSIPサーバ経由(若しくは同一セグメント内のプロクシサーバ)でUA1とUA2が通信するんじゃないかと思います。 ------ リンク先の図には,「SIP UA同士が直接通信できるが,多くの場合SIPサーバ」を経由と書いてありますが,メディアデータの送受信もSIPサーバを経由することが通常なのでしょうか? これでは,End to Endの通信とはならないと思うのですが.
- naoiz
- ベストアンサー率40% (59/144)
おっしゃるとおり、SIPというのはあくまでシグナリングと制御を行うプロトコルであり、実際のはSIPサーバを経由しないはずです(たぶん)。もちろん、SIPサーバと同じマシン上でプロクシとか動かしていれば、そこを経由するでしょうけど。 WindowXP搭載のWindowsMessengerがSIPに対応しているので、パケットキャプチャしてみるとその様子がわかるかと思います。 ※3年くらい前にその辺をちょっとやってたんですが、私の理解が間違ってたらごめんなさい。
補足
ありがとうございます. リンク先の図には,「SIP UA同士が直接通信できるが,多くの場合SIPサーバ」を 経由と書いてありますが,メディアデータの送受信もSIPサーバを経由することが通常なのでしょうか? これでは,End to Endの通信とはならないと思うのですが.