メインコンテンツまでスキップ

3. Determining Support for Trickle ICE (Trickle ICEサポートの判定)

Trickle ICEを完全にサポートするために、使用プロトコルは、実装がTrickle ICEがサポートされているかどうかを判断できるように、以下のメカニズムのいずれかを組み込むべきです (SHOULD):

  1. エージェントがセッションを開始する前にTrickle ICEサポートを確認できるように、機能検出方法を提供する(XMPPのService Discovery [XEP-0030]はそのようなメカニズムの1つです)。

  2. Trickle ICEサポートを必須にして、ユーザーエージェントがサポートを仮定できるようにする。

使用プロトコルが事前にTrickle ICEがサポートされているかどうかを判断する方法を提供していない場合、エージェントはセクション16で説明されているハーフトリクル手順を使用できます。

初期ICE記述を送信する前に、機能検出をサポートする使用プロトコルを実装するエージェントは、リモート側がTrickle ICEをサポートしているかどうかを確認しようとすることができます (MAY)。エージェントがリモート側がTrickle ICEをサポートしていないと判断した場合、通常のICEの使用に戻るか、セッション全体を放棄しなければなりません (MUST)。

使用プロトコルに機能検出方法が含まれていない場合でも、ユーザーエージェントは、'trickle'のICEオプションを通信することにより、ICE記述でTrickle ICEをサポートしていることを示すことができます。このトークンは、セッションレベル、またはデータストリームレベルの場合は各データストリームに対して提供されなければなりません (MUST)(エージェントは、一部のデータストリームではTrickle ICEサポートを指定し、他のデータストリームでは指定しないことがあってはなりません (MUST NOT))。注:ICEオプション'trickle'のエンコーディングと、それをピアに送信するために使用されるメッセージは、プロトコル固有です。例えば、SDP [RFC4566]のエンコーディングは[RFC8840]で定義されています。

専用の検出セマンティクスとハーフトリクルは、ICEセッションの開始前にのみ必要です。ICEセッションが確立され、両方の当事者のTrickle ICEサポートが確認された後、いずれのエージェントも後続の交換にフルトリクルを使用できます(セクション15も参照)。