Aller au contenu principal

5.8.3. Semantics Verification

5.8.3. Semantics Verification

En supposant que l'analyse se termine avec succès, la description analysée est ensuite évaluée pour garantir la cohérence interne ainsi qu'un support correct des fonctionnalités obligatoires. Plus précisément, les vérifications suivantes sont effectuées :

  • Pour chaque section m=, des valeurs valides pour chacune des fonctionnalités d'usage obligatoire énumérées en section 5.1.1 DOIVENT être présentes. Ces valeurs PEUVENT être présentes au niveau média ou héritées du niveau session.

    • Les valeurs ICE ufrag et mot de passe, qui DOIVENT respecter les limites de taille spécifiées dans [RFC8839], section 5.4.

    • Une valeur tls-id, qui DOIT être définie selon [RFC8842], section 5. S'il s'agit d'une nouvelle offre ou d'une réponse à une nouvelle offre et que la valeur tls-id diffère de celle actuellement utilisée, la connexion DTLS n'est pas poursuivie et la description distante DOIT faire partie d'un redémarrage ICE, avec de nouvelles valeurs ufrag et mot de passe.

    • Une valeur de configuration DTLS (setup), qui DOIT être définie selon les règles de [RFC5763], section 5, et DOIT être cohérente avec le rôle sélectionné de la connexion DTLS actuelle, si elle existe et est poursuivie.

    • Les valeurs d'empreinte DTLS, où au moins une empreinte DOIT être présente.

  • Tous les rid-ids référencés dans une ligne a=simulcast DOIVENT exister comme lignes a=rid.

  • Chaque section m= est aussi vérifiée pour s'assurer que les fonctionnalités interdites ne sont pas utilisées.

  • Si la politique de multiplexage RTP/RTCP est require, chaque section m= DOIT contenir un attribut a=rtcp-mux. Si une section m= contient un attribut a=rtcp-mux-only, cette section DOIT aussi contenir un attribut a=rtcp-mux.

  • Si une section m= était présente dans la réponse précédente, l'état du multiplexage RTP/RTCP DOIT correspondre à ce qui a été négocié précédemment.

Si cette description de session est de type pranswer ou answer, les vérifications supplémentaires suivantes s'appliquent :

  • La description de session DOIT suivre les règles définies dans [RFC3264], section 6, y compris l'exigence que le nombre de sections m= DOIT correspondre exactement au nombre de sections m= dans l'offre associée.

  • Pour chaque section m=, les valeurs de type de média et de protocole DOIVENT correspondre exactement aux valeurs de type de média et de protocole dans la section m= correspondante de l'offre associée.

Si l'une des vérifications précédentes a échoué, le traitement DOIT s'arrêter et une erreur DOIT être renvoyée.