Résumé

  • RFC 3261 place 180 Ringing parmi les réponses provisoires : l’agent utilisateur destinataire tente d’alerter l’usager, et l’appelant peut s’en servir pour générer une tonalité locale.
  • Le code ne certifie pas qu’un appareil distant a sonné, qu’un média précoce a été entendu ou qu’une personne a accepté l’appel. PRACK accuse réception d’un provisoire fiable, pas de l’appel lui-même.
  • Une exploitation rigoureuse conserve la branche, l’émetteur et l’horodatage du signal, puis distingue l’alerte, le média, la réponse finale et l’attention humaine.

Une tonalité fabriquée ici à propos d’un état là-bas

La tonalité de retour d’appel ressemble à une preuve acoustique. Pourtant, RFC 3261 autorise le client SIP à la générer localement dès qu’il reçoit 180. Ce que l’appelant entend peut donc être le rendu d’un message de signalisation, non un son transporté depuis le terminal appelé.

Le contenu normatif de la réponse est limité : l’agent utilisateur qui a reçu l’invitation essaie d’alerter l’usager. Un écran peut afficher une notification silencieuse ; un téléphone peut appliquer le mode « ne pas déranger » ; une branche de routage peut produire 180 avant d’être abandonnée. Le protocole sait qu’une tentative d’alerte a été annoncée. Il ignore encore si un être humain l’a perçue.

Cette retenue vient de la classe 1xx elle-même. Une réponse provisoire décrit l’avancement sans clore la transaction. L’acceptation arrive avec une réponse finale 2xx ; un échec final raconte une autre issue. Faire de 180 un « décroché » revient à sauter une transition et à transformer un indice de progression en verdict.

RFC 3261 compte huit auteurs : Jonathan Rosenberg, Henning Schulzrinne, Gonzalo Camarillo, Alan Johnston, Jon Peterson, Robert Sparks, Mark Handley et Eve Schooler. La précision importe. Schulzrinne a joué un rôle majeur dans l’architecture des communications Internet, mais le texte est une œuvre collective ; il ne faut pas lui attribuer seul chaque mécanisme que l’article examine.

Le son, le signal et l’acceptation suivent des chemins distincts

RFC 3960, signé par Gonzalo Camarillo et Schulzrinne, traite justement des médias précoces et de la génération des tonalités. Avant l’acceptation d’une session, un réseau ou un correspondant peut envoyer du média. À l’inverse, le terminal appelant peut produire un son à partir de la signalisation. Une seule étiquette « sonnerie » masque ces deux provenances.

Le choix n’est pas neutre. Une tonalité locale peut couvrir une annonce en bande envoyée par une passerelle. L’attente d’un média précoce peut laisser l’appelant dans le silence si les paquets n’arrivent pas. Avec le fork, plusieurs dialogues précoces peuvent offrir des médias ou des réponses concurrents. RFC 3960 expose donc des politiques et leurs compromis ; il n’institue pas 180 comme certificat sonore universel.

Pour exploiter ces données, il vaut mieux imaginer plusieurs chronologies. La première horodate les messages de signalisation. La deuxième suit la disponibilité du média et son origine. La troisième décrit ce que fait l’interface locale. La quatrième enregistre l’issue finale du dialogue. Une cinquième serait encore nécessaire pour affirmer qu’une personne a effectivement prêté attention. Les chronologies se ressemblent souvent, mais leur coïncidence n’est pas garantie.

Un paquet capturé fournit ainsi une preuve solide dans son domaine : tel élément SIP a reçu tel message à tel instant. Il ne montre pas le niveau sonore du terminal distant, l’état du système d’exploitation ou la présence d’une personne. Ce ne sont pas des trous à combler par intuition ; ce sont des faits relevant d’autres surfaces de contrôle.

PRACK rend la livraison fiable sans rendre le sens définitif

Les réponses provisoires peuvent avoir besoin d’une livraison fiable, notamment lorsqu’elles participent à la négociation ou transportent une information qu’il ne faut pas perdre. RFC 3262, de Jonathan Rosenberg et Schulzrinne, leur donne une séquence et introduit PRACK pour les accuser réception.

Cette mécanique prouve la réception ordonnée du message provisoire concerné. Elle ne change pas sa nature. PRACK n’est ni l’ACK d’une réponse finale 2xx, ni une preuve que le média a franchi le chemin, ni le geste d’un usager décrochant. La spécification permet même l’émission d’une réponse finale avant la réception de PRACK.

La confusion est tentante parce que le dispositif ressemble à un engagement : retransmission, numéro de séquence, corrélation, accusé de réception. Mais la fiabilité porte sur le transport de l’énoncé, non sur l’élargissement de cet énoncé. On sait mieux que « l’état provisoire a été reçu » ; on ne sait toujours pas que « l’appel a été accepté ».

Avec plusieurs branches, il n’existe pas une seule sonnerie

Une invitation SIP peut être envoyée à plusieurs contacts. Une branche répond 180, une autre fournit un message audio, une troisième échoue, puis l’une d’elles obtient finalement l’acceptation. Agréger tout cela sous un unique état d’appel détruit l’origine de chaque observation.

RFC 6228 a introduit la réponse 199 pour indiquer qu’un dialogue précoce particulier est terminé. Les autres dialogues peuvent continuer et la réponse finale à l’invitation reste nécessaire. 199 permet surtout de libérer l’état et d’écarter le média associé à une branche qui ne gagnera pas.

Ce texte est de Christer Holmberg, non de Schulzrinne. Il sert ici de prolongement architectural : les évolutions ultérieures de SIP ont dû exprimer explicitement la fin d’une branche provisoire. La leçon pour la mesure est directe. Un événement 180 sans identifiant de branche ni événement de remplacement est un fragment amputé de son contexte.

Cela ne condamne pas la mesure. Un événement nommé « début d’alerte », attaché à une branche, une source et un instant, peut être très utile. Il révèle des parcours qui stagnent, mesure le temps jusqu’à l’issue finale et aide à distinguer routage et média. Sa valeur dépend justement du refus de le rebaptiser « réponse humaine ».

Situer l’auteur sans fabriquer un héros solitaire

Columbia présente aujourd’hui Schulzrinne comme Julian Clarence Levi Professor of Mathematical Methods and Computer Science, ainsi que professeur de génie électrique. L’instantané du Datatracker de l’IETF lui associe 90 RFC. Ces repères témoignent d’une contribution exceptionnellement large ; ils ne transforment pas les RFC collectives en propriété individuelle.

Une attribution exacte renforce l’analyse : RFC 3261 est collectif ; RFC 3262 revient à Rosenberg et Schulzrinne ; RFC 3960, document informatif de Camarillo et Schulzrinne, n’est pas une norme Internet ; RFC 6228 appartient à Holmberg. L’hygiène de la source ressemble ici à l’hygiène du signal : conserver qui a dit quoi, dans quel périmètre, avant d’en tirer une décision.

Sources