3. Determining Support for Trickle ICE (Determinazione del supporto per Trickle ICE)
Per supportare completamente Trickle ICE, i protocolli di utilizzo dovrebbero (SHOULD) incorporare uno dei seguenti meccanismi in modo che le implementazioni possano determinare se Trickle ICE è supportato:
-
Fornire un metodo di scoperta delle capacità in modo che gli agenti possano verificare il supporto di Trickle ICE prima di avviare una sessione (la Service Discovery di XMPP [XEP-0030] è uno di questi meccanismi).
-
Rendere obbligatorio il supporto di Trickle ICE in modo che gli agenti utente possano presumere il supporto.
Se un protocollo di utilizzo non fornisce un metodo per determinare in anticipo se Trickle ICE è supportato, gli agenti possono utilizzare la procedura half-trickle descritta nella Sezione 16.
Prima di trasmettere la descrizione ICE iniziale, gli agenti che implementano protocolli di utilizzo che supportano la scoperta delle capacità possono tentare di verificare se la parte remota supporta Trickle ICE o meno. Se un agente determina che la parte remota non supporta Trickle ICE, deve (MUST) tornare all'utilizzo di ICE regolare o abbandonare l'intera sessione.
Anche se un protocollo di utilizzo non include un metodo di scoperta delle capacità, un agente utente può fornire un'indicazione nella descrizione ICE che supporta Trickle ICE comunicando un'opzione ICE di 'trickle'. Questo token deve (MUST) essere fornito sia a livello di sessione, sia, se a livello di flusso di dati, per ogni flusso di dati (un agente non deve (MUST NOT) specificare il supporto di Trickle ICE per alcuni flussi di dati ma non per altri). Nota: La codifica dell'opzione ICE 'trickle' e il/i messaggio/i utilizzato/i per trasmetterla al peer sono specifici del protocollo; ad esempio, la codifica per SDP [RFC4566] è definita in [RFC8840].
La semantica di scoperta dedicata e il half trickle sono necessari solo prima dell'avvio di una sessione ICE. Dopo che una sessione ICE è stabilita e il supporto di Trickle ICE è confermato per entrambe le parti, entrambi gli agenti possono utilizzare il full trickle per gli scambi successivi (vedere anche la Sezione 15).