§ 2.4.1

Via — la route retour.

Chaque proxy traversé ajoute son propre Via au sommet de la pile. Quand la réponse revient, elle redescend la pile : chaque proxy lit son Via, le retire, et transmet au précédent.

Via: SIP/2.0/UDP proxy.lacroix.tv:5060;branch=z9hG4bK-abc
Via: SIP/2.0/UDP 192.0.2.4:5060;branch=z9hG4bK-7a1f

Le branch commence toujours par z9hG4bK. C'est une signature magique qui dit : je suis un SIP RFC 3261, identifie ma transaction par ce branch. Au-delà du préfixe, c'est aléatoire.

§ 2.4.2

From et To.

Deux URI logiques. From est l'expéditeur logique, To est le destinataire logique. Logique, parce que la route réelle peut passer par dix proxies : From et To restent inchangés tout du long.

From: "Alice" <sip:alice@lacroix.tv>;tag=a3f7
To: "Bob" <sip:bob@sip.ippi.com>;tag=b2c1

Le tag From est généré par l'appelant à la création de la requête. Le tag To est ajouté par le destinataire à la première réponse non-100. Ces deux tags, plus le Call-ID, forment l'identité du dialogue.

§ 2.4.3

Call-ID.

Identifiant unique du dialogue, généré à la création de la première requête. Forme typique : une chaîne aléatoire suivie de @ et du host de l'expéditeur.

Call-ID: 2c2e9f2c-3b7a-4d1e-8f6b@lacroix.tv

Un seul Call-ID pour tout le dialogue, du premier INVITE au dernier BYE. Pour filtrer une trace Wireshark sur un seul appel :

sip.Call-ID == "2c2e9f2c-3b7a-4d1e-8f6b@lacroix.tv"
§ 2.4.4

CSeq.

Un entier croissant et la méthode associée. Sert à : ordonner les requêtes dans un dialogue, distinguer les retransmissions, associer chaque réponse à la requête qu'elle acquitte.

CSeq: 1 INVITE
CSeq: 2 BYE

L'ACK garde le numéro de l'INVITE qu'il acquitte (CSeq 1 ACK). En revanche un re-INVITE ou un BYE incrémente.

§ 2.4.5

Contact.

L'URI à laquelle envoyer les requêtes directes à venir. C'est ce qu'Alice écrit pour dire : une fois le dialogue établi, ne passe plus par le proxy, viens me trouver ici.

Contact: <sip:alice@192.0.2.4:5060>

Contraste avec From : From est logique (identité), Contact est physique (route). Une même identité peut avoir plusieurs Contact actifs si plusieurs appareils sont enregistrés.

§ 2.4.6

Max-Forwards.

Compteur de sauts. Initialisé à 70, décrémenté par chaque proxy qui relaie. Quand il atteint 0, le proxy retourne un 483 Too Many Hops. C'est le TTL du SIP : protection contre les boucles de routage.

Max-Forwards: 70
§ 2.4.7

Quelques utiles de plus.

En-têteRôleRFC
AllowListe des méthodes SIP supportées par ce UA.3261
SupportedExtensions optionnelles que le UA comprend (timer, replaces, path).3261
User-AgentIdentifiant du logiciel/firmware. Linphone/5.3.0.3261
ExpiresDurée de validité pour un REGISTER ou une souscription.3261
Record-RouteForce le passage par certains proxies pour toute la durée du dialogue.3261
RouteLe chemin réel à suivre, dérivé des Record-Route.3261
P-Asserted-IdentityIdentité vérifiée par le réseau opérateur, distincte du From déclaré.3325
Refer-ToCible d'un transfert d'appel (REFER).3515
§ 2.4.8

« Sept en-têtes obligatoires, soixante optionnels. Apprenez les sept. » — principe directeur

Retour à : L'aperçu du protocole →