Recommended resources
The freely available resources this lesson will direct you to.
Bonjour et bienvenue dans cette troisième leçon sur les fondamentaux du SIP.
Dans les leçons précédentes, nous avons exploré les requêtes SIP (les méthodes comme INVITE ou BYE) qui demandent une action. Vous savez maintenant comment un équipement demande à initier, terminer ou superviser un appel.
Aujourd'hui, nous allons nous intéresser à la deuxième partie de la conversation : les réponses SIP. Chaque requête que nous avons vue entraîne une réponse de la part du destinataire. Cette réponse, sous la forme d'un code à trois chiffres, nous indique le résultat de la requête : a-t-elle réussi ? A-t-elle échoué ? Est-elle en cours de traitement ?
Comprendre ces codes est absolument fondamental pour le dépannage. Un code 404 Not Found pointe vers un problème de routage, tandis qu'un 503 Service Unavailable indique un problème sur le serveur distant. Savoir les interpréter vous permet de diagnostiquer la cause d'un échec d'appel en quelques secondes.
Objectif de cette leçon : Interpréter les codes de réponse SIP (1xx, 2xx, 3xx, 4xx, 5xx, 6xx) et leurs significations.
1. Les Six Catégories de Réponses SIP
Les réponses SIP sont toujours constituées d'un code à trois chiffres. Le premier chiffre est le plus important, car il classe la réponse dans l'une des six catégories, chacune ayant une signification générale.

Ces catégories peuvent être regroupées en deux types principaux :
- Provisoire (1xx) : Ces réponses indiquent que la requête a été reçue et est en cours de traitement, mais que le dialogue n'est pas encore finalisé.
- Finale (2xx-6xx) : Ces réponses terminent la transaction SIP. Elles indiquent un succès, une redirection ou un échec définitif.
Pour une introduction textuelle, je vous invite à lire le début de l'article suivant qui présente ces concepts.
L'article "SIP Response Codes" de 46 Labs offre une excellente introduction. Il explique la structure des codes, les six catégories, et la distinction essentielle entre les réponses 'provisoires' et 'finales'.
Lisez la première partie de l'article, jusqu'à la section '1xx - Informational'. Concentrez-vous sur la définition des six classes et sur la différence entre une réponse provisoire et une réponse finale.
En résumé, voici ce que chaque catégorie signifie en pratique pour le dépannage :
| Catégorie | Signification | "Traduction" en dépannage |
|---|---|---|
| 1xx | Informationnel | "J'ai bien reçu, je traite la demande." (ex: 100 Trying, 180 Ringing) |
| 2xx | Succès | "C'est bon, la requête est acceptée." (ex: 200 OK) |
| 3xx | Redirection | "Ce n'est pas la bonne adresse, va voir ailleurs." (ex: 302 Moved Temporarily) |
| 4xx | Erreur Client | "Ta requête est incorrecte." (ex: 404 Not Found, 401 Unauthorized) |
| 5xx | Erreur Serveur | "J'ai un problème, je ne peux pas te répondre." (ex: 503 Service Unavailable) |
| 6xx | Échec Global | "L'appel ne peut aboutir nulle part." (ex: 600 Busy Everywhere) |
Pour le troubleshooting, les catégories 4xx, 5xx et 6xx sont vos principaux indicateurs d'un problème à investiguer.
2. Exploration Détaillée des Codes de Réponse
Pour bien maîtriser ces codes, il faut aller au-delà de la catégorie et comprendre la signification des codes les plus courants. La vidéo suivante est une excellente ressource qui parcourt chaque catégorie en détail.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
La vidéo "SIP Error Codes/Messages Explained" de Technical Venture est un guide complet des codes de réponse. Nous allons la regarder en plusieurs parties pour assimiler chaque catégorie.
Nous allons commencer par l'introduction générale. Regardez la section de 0:00 à 3:45 qui présente les six catégories de messages.
a) 1xx - Réponses Provisoires
Ces codes informent l'appelant de la progression de l'appel avant qu'il ne soit décroché.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Continuons avec la vidéo pour explorer en détail les réponses 1xx.
Regardez maintenant la section de 3:45 à 15:57. Portez une attention particulière aux explications sur 100 Trying, 180 Ringing, et 183 Session Progress.
-
100 Trying: C'est la première réponse, envoyée immédiatement par un proxy ou un SBC. Son rôle est de dire à l'appelant "J'ai reçu ton INVITE, arrête de le renvoyer". Sans ce100 Trying, l'équipement appelant renverrait l'INVITEen boucle, pensant qu'il a été perdu. -
180 Ringing: Indique que le téléphone du destinataire sonne. L'équipement de l'appelant génère alors localement la tonalité de sonnerie. -
183 Session Progress: C'est un code plus complexe. Il indique aussi une progression, mais il transporte généralement un corps de message SDP. Cela permet au réseau de jouer un message audio ou une tonalité avant même que l'appel ne soit décroché (ce qu'on appelle "early media").- Cas pratique (Teams Direct Routing) : Un problème classique est l'absence de sonnerie (
ringback). Cela arrive quand un opérateur envoie un183 Session Progress. Certains équipements arrêtent de jouer la sonnerie locale en pensant qu'un média va arriver du réseau. Pour corriger cela, les SBC AudioCodes peuvent être configurés pour transformer le183en180ou simplement ignorer les183après le premier180, forçant ainsi la sonnerie locale. Le document de Microsoft LINK ("Issues that affect inbound Direct Routing calls") décrit précisément ce scénario.
- Cas pratique (Teams Direct Routing) : Un problème classique est l'absence de sonnerie (
b) 2xx - Réponses de Succès
La requête a été comprise et traitée avec succès.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Cette partie de la vidéo couvre les réponses de succès.
Regardez la section de 15:57 à 19:25.
200 OK: C'est la réponse de succès la plus courante. Pour unINVITE, elle signifie "Appel décroché". Pour unREGISTER, "Enregistrement réussi". Pour unBYE, "Fin d'appel confirmée". C'est le signal que tout s'est bien passé.
c) 3xx - Réponses de Redirection
Indique que la requête doit être envoyée à une autre destination.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Voyons maintenant comment le SIP gère les redirections.
Regardez la section de 19:25 à 25:01. Notez la différence entre une redirection permanente (301) et temporaire (302).
301 Moved Permanently: L'utilisateur a déménagé de façon permanente. L'appelant doit utiliser la nouvelle adresse (fournie dans l'en-têteContact) pour tous les futurs appels.302 Moved Temporarily: L'utilisateur est temporairement ailleurs (ex: renvoi d'appel). L'appelant doit essayer la nouvelle adresse pour cet appel uniquement, mais ne doit pas la sauvegarder.
d) 4xx - Erreurs Client
C'est là que le dépannage commence vraiment. La requête de l'appelant (le client) a un problème.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Cette section est l'une des plus importantes pour le troubleshooting. Elle couvre les erreurs côté client.
Regardez la longue section de 25:01 à 36:05. Voici les codes à absolument retenir : 401 Unauthorized / 407 Proxy Authentication Required : Problème de mot de passe ou d'authentification. 404 Not Found : L'utilisateur ou le numéro n'existe pas là où on le cherche. C'est typiquement un problème de routage. 486 Busy Here : Le correspondant est déjà en ligne. 487 Request Terminated : La requête a été annulée (par un CANCEL). Signifie que l'appelant a raccroché avant que ça ne décroche. 488 Not Acceptable Here : Souvent un problème de codecs. Le SDP proposé dans l'INVITE n'est pas compatible avec ce que le destinataire peut accepter.
L'image ci-dessous montre un 401 Unauthorized dans un flux d'appel. C'est une réponse très courante lors de la configuration d'un nouveau trunk qui nécessite une authentification.

e) 5xx - Erreurs Serveur
Le problème ne vient pas de la requête, mais de l'équipement qui essaie de la traiter.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Explorons maintenant les erreurs qui indiquent un problème sur l'équipement distant.
Regardez la section de 36:05 à 41:25. Les plus importants sont : 500 Server Internal Error : Erreur générique, le serveur a rencontré un problème inattendu. 503 Service Unavailable : Le serveur est surchargé ou en maintenance. C'est un code typique quand un trunk opérateur est en panne.
f) 6xx - Échecs Globaux
Ces erreurs indiquent que l'appel a échoué et qu'il est inutile d'essayer ailleurs.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Enfin, terminons avec les échecs globaux.
Regardez la dernière section de 41:25 à 45:19. Le plus courant est 603 Decline, qui signifie que l'utilisateur a délibérément rejeté l'appel.
603 Decline: Le destinataire a été contacté mais a refusé l'appel (a appuyé sur le bouton "Rejeter").
3. Application Pratique : Isoler les Erreurs
Maintenant que vous connaissez les codes, comment les trouver rapidement dans une capture réseau ? Des outils comme Wireshark permettent de filtrer spécifiquement les erreurs.
Detect SIP Errors with Wireshark
Cette courte vidéo de Laura C vous montre une astuce très pratique pour trouver instantanément toutes les erreurs (4xx, 5xx, 6xx) dans une capture Wireshark.
Regardez de 0:55 à 3:31. Observez comment elle construit le filtre d'affichage sip.StatusCode >= 400 pour isoler uniquement les paquets de réponse SIP indiquant une erreur.
Cette technique est un gain de temps considérable en situation de dépannage. Au lieu de lire des centaines de messages, vous allez directement à la cause de l'échec.
Conclusion
Vous êtes maintenant capable de lire et d'interpréter la réponse à n'importe quelle requête SIP. Cette compétence est au cœur du métier d'un ingénieur VoIP, car elle transforme une trace de paquets complexe en un diagnostic clair.
Points clés à retenir
- 1xx (Provisoire) : L'appel progresse (
100,180,183). - 2xx (Succès) : L'action a réussi (
200 OK). - 3xx (Redirection) : L'appel est dévié (
301,302). - 4xx (Erreur Client) : La requête est mauvaise. Cherchez le problème dans la configuration de l'équipement qui envoie la requête. (
404-> routage,401-> authentification,488-> codecs). - 5xx (Erreur Serveur) : Le serveur a un problème. Cherchez le problème sur l'équipement qui reçoit la requête. (
503-> trunk en panne,500-> bug). - 6xx (Échec Global) : L'appel est définitivement refusé (
603).
Étapes clés d'analyse d'une réponse SIP
- Repérer la réponse qui suit une requête (
INVITE,REGISTER, etc.) dans la trace. - Identifier le code à 3 chiffres (ex:
SIP/2.0 404 Not Found). - Classifier le code (1xx à 6xx) pour avoir une idée générale de l'issue.
- Interpréter la signification spécifique du code pour formuler une hypothèse de diagnostic.
- Utiliser le filtre
sip.StatusCode >= 400dans Wireshark pour trouver directement les échecs.
Dans la prochaine leçon, nous allons assembler toutes les pièces du puzzle. Fort de votre connaissance des méthodes (requêtes) et des codes de réponse, nous allons analyser un flux d'appel complet, de l'établissement à la libération, à l'aide d'un diagramme de séquence.