4.1.10. SessionDescriptionType
4.1.10. SessionDescriptionType
セッション記述オブジェクト (RTCSessionDescription) は, "offer", "pranswer", "answer", または "rollback" タイプにすることができます。これらのタイプは, 記述パラメータをどのように解析するか, メディア状態をどのように変更するかに関する情報を提供します。
"offer" は, 記述をオファーとして解析しなければならないことを示します。この記述には, 多くの可能なメディア構成が含まれる場合があります。"offer" として使用される記述は, PeerConnection が "stable" 状態にあるときにいつでも適用できるか, 以前に提供されたがまだアンサーされていない "offer" への更新として適用できます。
"pranswer" は, 記述をアンサーとして解析しなければならないが, 最終アンサーではないため, 割り当てられたリソースの解放をもたらしてはならないことを示します。アンサーが非アクティブなメディア方向を指定しない場合, メディア送信の開始をもたらす可能性があります。"pranswer" として使用される記述は, "offer" への応答として適用できるか, 以前に送信された "pranswer" への更新として適用できます。
"answer" は, 記述をアンサーとして解析しなければならず, オファー/アンサー交換は完了したと見なされなければならず, 不要になったリソース (デコーダー, 候補) を解放すべきであることを示します。"answer" として使用される記述は, "offer" への応答として適用できるか, 以前に送信された "pranswer" への更新として適用できます。
暫定アンサーと最終アンサーの唯一の違いは, 最終アンサーがオファーの結果として割り当てられた未使用のリソースの解放をもたらすことです。そのため, アプリケーションは, アンサーを暫定または最終として適用するかどうかについて裁量を使用でき, 必要に応じてセッション記述のタイプを変更できます。たとえば, シリアルフォーキングシナリオでは, アプリケーションは各リモートエンドポイントから複数の "最終" アンサーを受信する場合があります。アプリケーションは, 最初のアンサーを暫定アンサーとして受け入れることを選択し, 基準を満たすアンサー (ボイスメールではなくライブユーザーなど) を受信したときにのみアンサーを最終として適用できます。
"rollback" は, セクション 4.1.10.2 で説明されているように, 状態マシンを以前の "stable" 状態にロールバックしなければならないことを示す特別なセッション記述タイプです。内容は空でなければなりません。