Aller au contenu principal

3. Determining Support for Trickle ICE (Détermination du support de Trickle ICE)

Pour prendre pleinement en charge Trickle ICE, les protocoles d'utilisation devraient (SHOULD) incorporer l'un des mécanismes suivants afin que les implémentations puissent déterminer si Trickle ICE est pris en charge :

  1. Fournir une méthode de découverte de capacités afin que les agents puissent vérifier le support de Trickle ICE avant d'initier une session (la découverte de service (Service Discovery) de XMPP [XEP-0030] est l'un de ces mécanismes).

  2. Rendre le support de Trickle ICE obligatoire afin que les agents utilisateurs puissent supposer le support.

Si un protocole d'utilisation ne fournit pas de méthode pour déterminer à l'avance si Trickle ICE est pris en charge, les agents peuvent utiliser la procédure half-trickle décrite dans la section 16.

Avant de transmettre la description ICE initiale, les agents qui implémentent des protocoles d'utilisation prenant en charge la découverte de capacités peuvent tenter de vérifier si la partie distante prend en charge Trickle ICE ou non. Si un agent détermine que la partie distante ne prend pas en charge Trickle ICE, il doit (MUST) revenir à l'utilisation d'ICE régulier ou abandonner la session entière.

Même si un protocole d'utilisation n'inclut pas de méthode de découverte de capacités, un agent utilisateur peut fournir une indication dans la description ICE qu'il prend en charge Trickle ICE en communiquant une option ICE de 'trickle'. Ce jeton doit (MUST) être fourni soit au niveau de la session, soit, s'il est au niveau du flux de données, pour chaque flux de données (un agent ne doit pas (MUST NOT) spécifier le support de Trickle ICE pour certains flux de données mais pas pour d'autres). Remarque : L'encodage de l'option ICE 'trickle' et le(s) message(s) utilisé(s) pour le transmettre au pair sont spécifiques au protocole ; par exemple, l'encodage pour SDP [RFC4566] est défini dans [RFC8840].

Les sémantiques de découverte dédiées et le half trickle ne sont nécessaires qu'avant l'initiation d'une session ICE. Après qu'une session ICE est établie et que le support de Trickle ICE est confirmé pour les deux parties, l'un ou l'autre agent peut utiliser le trickle complet pour les échanges ultérieurs (voir également la section 15).