Résumé

  • Un bloc RTCP XR est une observation typée : son émetteur, le SSRC mesuré, la fenêtre, le point de mesure, l’algorithme et les conventions d’indisponibilité font partie du résultat.
  • L’absence d’un bloc ne vaut pas zéro. Une perte réseau n’est pas un rejet par le terminal, et un MOS estimé n’est pas le témoignage direct d’un utilisateur.

Le piège d’un écran sans passé

Deux courbes portent le même nom : « paquets perdus ». La première cumule depuis le début d’une session de quarante minutes. La seconde ne couvre que les cinq dernières secondes. Elles affichent toutes deux douze. Posées côte à côte, elles semblent confirmer un événement. En réalité, elles ne décrivent ni la même durée ni la même question.

C’est la faute opérationnelle que la lecture de RFC 3611 permet d’éviter. Publié sur la voie normative en novembre 2003, le document définit le paquet RTCP XR de type 207 et un cadre de blocs extensibles. Sept formats initiaux couvrent les pertes, doublons, temps de réception, temps de référence, délai depuis le dernier rapport, résumé statistique et métriques VoIP. Leur richesse ne les transforme pas en verdict global.

L’en-tête du paquet identifie le SSRC qui produit le rapport. Les blocs qui décrivent un autre flux nomment séparément le SSRC mesuré. Le témoin et le sujet ne sont donc pas interchangeables. Un collecteur qui ne garde que la valeur supprime l’origine de l’affirmation. Avec un intermédiaire, un groupe de rapports ou plusieurs médias, cette suppression peut attribuer au réseau une mesure produite par un terminal précis.

Le cadre accepte zéro, un ou plusieurs blocs. Grâce au type et à la longueur, une implémentation peut ignorer un bloc inconnu. Cette tolérance est utile à l’évolution du protocole, mais elle interdit un raccourci analytique : inconnu, absent, non négocié et égal à zéro sont quatre états différents. Le registre IANA prouve qu’un type a été attribué ; il ne prouve pas qu’un équipement le comprend ou l’émet.

Même le texte d’origine demande une mémoire de version. Trois errata vérifiés corrigent le nom du paramètre RTT récepteur, la syntaxe SDP sans paramètre et un exemple de densité de rafale. Une plate-forme qui normalise les octets sans conserver l’interprétation normative rend son calcul difficilement reproductible.

Mesurer, c’est choisir une durée

Les blocs Loss RLE et Packet Receipt Times délimitent leur objet par des numéros de séquence. Ils peuvent appliquer un amincissement — le thinning — afin de réduire la taille. Une trace amincie peut être conforme et honnête sans être exhaustive. La compléter graphiquement comme si chaque position avait été observée fabriquerait une histoire continue à partir d’un échantillon déclaré.

RFC 6776 a ensuite défini un bloc d’information de mesure : premier numéro de la session, bornes étendues de l’intervalle courant, durée de l’intervalle récent et durée cumulative. RFC 6792 distingue métriques d’intervalle, cumulatives et échantillonnées. Ces champs ne sont pas du décor. Ils déterminent si une opération arithmétique ou une comparaison a un sens.

RFC 8861 apporte un avertissement très concret : lorsque les blocs XR et SR/RR associés arrivent dans des paquets composés différents, leur valeur diminue si les fenêtres ne sont pas synchronisées. Un horodatage d’ingestion ne répare pas ce décalage. Il indique quand le collecteur a vu le message, pas quand le phénomène a été mesuré.

Les blocs Receiver Reference Time et DLRR illustrent une autre limite. Ils forment un échange collaboratif qui permet de calculer un aller-retour. Le DLRR mesure le temps écoulé depuis un rapport de référence reçu. Il ne devient pas, par son nom, un délai unidirectionnel ou une preuve du parcours du média.

Le réseau n’est pas le tampon de lecture

Un paquet perdu n’arrive pas au point de mesure. Un paquet rejeté peut être arrivé puis devenir inutile parce qu’il est trop tôt, trop tard ou incompatible avec la politique du tampon de gigue. RFC 3611 sépare loss et discard ; des RFC ultérieurs détaillent les compteurs de rejet, leurs rafales et le comportement du tampon.

Cette distinction déplace l’enquête. Si la perte reste stable et que le rejet augmente, l’équipe doit examiner variation de délai, adaptation du tampon, charge du terminal et politique de lecture. Si la perte augmente avant l’arrivée, le chemin de transport devient prioritaire. Les deux chiffres ne prouvent toujours pas ce que l’auditeur a entendu : codec, masquage de perte, redondance, assemblage de trames et état de l’application peuvent changer le résultat.

Les densités de rafale dépendent elles aussi d’une règle. Gmin sépare rafale et intervalle calme ; RFC 3611 recommande 16 et demande une valeur non nulle, constante pendant la session. Sans ce paramètre, deux fournisseurs peuvent classer la même suite de paquets différemment tout en publiant le même libellé.

Les estimations R factor et MOS ne sont pas des questionnaires utilisateurs. Plusieurs champs réservent 127 à « indisponible » ; certains indicateurs conversationnels ne s’appliquent pas aux conférences multidiffusion. Transformer 127 en mauvaise note, en note parfaite ou en zéro par défaut serait créer une mesure absente.

La précision a un prix et une intimité

XR reste soumis au budget RTCP. Des blocs plus volumineux peuvent allonger l’intervalle moyen des rapports. Une application peut plafonner leur taille, amincir les données, limiter les récepteurs qui parlent ou diminuer la fréquence. Exiger davantage de détails peut donc réduire la résolution temporelle. La politique de collecte modifie ce que le système pourra ensuite savoir.

Le volet sécurité de RFC 3611 souligne des risques de confidentialité accrus. Des traces par paquet peuvent révéler une topologie de multidiffusion ; des métriques VoIP peuvent exposer des informations personnelles. Chiffrer ou filtrer protège les personnes, mais fait perdre de l’information de supervision. Après un changement de confidentialité, un panneau vide est d’abord un changement de visibilité, pas une amélioration du service.

Une gouvernance sérieuse définit qui peut lire les détails, pendant combien de temps, à quelle fin et sous quelle forme agrégée. Elle peut décider de ne pas communiquer un bloc sensible. Elle doit alors conserver « filtré » comme état explicite au lieu de publier zéro.

Rendre au nombre ses conditions

La fiche minimale est simple : SSRC rapporteur et mesuré, session, type de bloc, version corrigée, point de mesure, type d’intervalle, bornes, durée, unités, horloge, payload, thinning, paramètres et sentinelles. Elle indique aussi les blocs non demandés, absents, inconnus ou filtrés. Le résultat transport, la décision du terminal, la lecture du média et l’expérience humaine restent reliés mais séparés.

Cette discipline n’impose pas une collecte totale. Elle fournit un langage commun assez petit pour comparer les observations tout en laissant les systèmes locaux décider des détails. Le code en fonctionnement produit le témoignage ; le standard lui donne une enveloppe ; la gouvernance doit empêcher que l’enveloppe devienne une autorité sans limites.

RFC 3611 n’a pas promis la vérité finale d’un appel. Il a rendu possibles plusieurs témoignages précis. Plus ils sont nombreux, plus leurs fenêtres et leurs silences doivent rester visibles.

Sources