#author("2024-04-02T14:42:28+09:00;2024-04-02T14:35:22+09:00","default:tanopro","tanopro") #author("2024-04-02T14:46:17+09:00;2024-04-02T14:35:22+09:00","default:tanopro","tanopro") #html{{ <h1 style="color: red; background-color: #FFFFCC; padding: 20px;"> SDP </h1> <div class="alert alert-warning" role="alert"> Session Description Protocol </div> }} // 概要 セッション記述プロトコル SDPとは、[[SIP]]メッセージを記載する記述ルールのこと。 //---------------------------------------- #contents //---------------------------------------- *検索 [#f0d1b4d1] -Session Description Protocol - Google 検索 https://www.google.com/search?q=Session+Description+Protocol *説明 [#j36dc029] SDPとは、IP電話([[VoIP]])の呼制御プロトコル([[RIP]])や、[[WebRTC]]などの[[P2P]]通信で、データのストリーミング形式をすり合わせるためのプロトコル。 SDPとは、IP電話([[VoIP]])の呼制御プロトコル([[SIP]])や、[[WebRTC]]などの[[P2P]]通信で、データのストリーミング形式をすり合わせるためのプロトコル。 WebRTCやP2Pの仕組みを理解するために、SDPの仕様は理解していおきたい。 *参考 [#c2785f7c] -Session Description Protocol - Wikipedia https://ja.wikipedia.org/wiki/Session_Description_Protocol >Session Description Protocol(SDP)は、ストリーミングメディアの初期化パラメータを記述する形式の一つである。 これは、RFC 4566としてIETFによって発行された。 >SDPは、セッションの告知やセッションへの招待、他のマルチメディアセッションを開始するために必要な情報を記述することを目的としている。 >SDPは、Session Announcement Protocol([[SAP]])の一つのコンポーネントとして始まったが、 ちょうどマルチキャストセッションを記述するスタンドアローンの形式として、[[RTP]]や[[SIP]]に関連した他の用途が見つけられた。 >SDPに関連する用語に以下の5つがあげられる。 +カンファレンス: カンファレンスとは、なんらかのソフトウェアでコミュニケーションを取り合っている二人以上のユーザの組を表す。 +セッション: セッションとは、マルチメディアの送受信者とその間を流れているストリーミングデータのまとまりを指す。 +セッションの告知: セッションの告知とは、セッションの説明をあらかじめユーザーに伝えるためのメカニズムである。 +セッションの宣伝: セッションの告知と同様である。 +セッションの説明: マルチメディアセッションを発見して参加するための、十分な情報を伝えるために定義された形式。 -SDPのやり取り|WebRTC徹底解説 https://zenn.dev/yuki_uchida/books/c0946d19352af5/viewer/e26b4f >1. WebRTCにおけるSDP [[WebRTC]]では、SDP(Session Description Protocol) をやりとりすることで通信要件のすり合わせを行います。 WebRTCは「ブラウザさえあればどんなデバイス間でも通信が可能」なのが特徴ですが、その分対応しなければいけないデバイスの数は非常に多くなりますから、デバイス間の差異を吸収し、最適な通話設定をするために、このSDPのやりとりは必須です。 >例えば、片方のデバイスが[[VP8]]と[[H264]]という映像コーデックに対応していて、もう片方がH264しか対応していないとします。 この場合、映像はお互いにH264でやり取りする必要がありますよね。 >1.1 SDPの内容 SDPの内容は、大きく二つの情報が格納されます。 ''1. 使用可能なメディアの情報(メディア記述部)'' ''2. 通信の情報など(セッション記述部)'' これらの情報をSDPという形式でまとめ、通信要件をお互いにやりとりし合うことで、双方が利用可能な設定を選ぶことができます。 SDPは、以下のような hoge=fuga という行の塊で表現されます。 この行を羅列することで、自身が利用可能な音声・映像コーデックや設定を表現するということですね。 &ref(SDP_offer-answer.jpg); *関連 [#h1225c99] [[SIP]] [[WebRTC]]