Bonjour. Dans la leçon précédente, nous avons suivi le déroulement d'un appel SIP réussi, de l'invitation initiale à la fin de la communication. Ce scénario "nominal" est la base, mais dans votre rôle de chef de projet et d'expert en communications unifiées, vous passerez une grande partie de votre temps à analyser pourquoi les choses ne fonctionnent pas comme prévu. La clé de ce diagnostic réside dans la compréhension des codes de réponse SIP.
L'objectif de cette leçon est de vous apprendre à classifier et à interpréter la gamme complète des codes de réponse SIP, de 1xx à 6xx. Tout comme les codes de statut HTTP (comme 404 Not Found ou 500 Internal Server Error) vous renseignent sur l'état d'une requête web, les codes de réponse SIP sont un langage standardisé qui vous indique précisément le résultat d'une requête SIP. Maîtriser ce langage est essentiel pour identifier rapidement si un problème vient d'une mauvaise configuration, d'un utilisateur indisponible, d'un équipement en panne ou d'un opérateur défaillant.
Nous allons structurer notre exploration en suivant les grandes familles de codes, qui vous serviront de feuille de route pour tout diagnostic.
La Carte des Réponses SIP
Pour commencer, visualisons la structure globale de ces codes. Chaque famille, identifiée par son premier chiffre, a une signification générale bien précise.

Comme vous pouvez le voir, ces codes se répartissent en deux grands groupes :
- Les réponses provisoires (1xx) : Elles indiquent la progression d'une requête. Elles ne terminent pas la transaction.
- Les réponses finales (2xx-6xx) : Elles terminent la transaction en indiquant un succès, une redirection ou un échec.
Explorons chaque catégorie en détail.
Les Six Classes de Réponses SIP
La vidéo suivante, toujours de la chaîne Technical Venture, offre une excellente présentation des différentes catégories de codes et des messages les plus courants dans chacune. Nous l'utiliserons comme guide principal pour cette leçon.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Cette vidéo, intitulée "SIP Error Codes/Messages Explained", détaille les six catégories de codes de réponse SIP, en expliquant la signification des messages les plus importants pour le dépannage.
Regardez l'introduction de la présentation des catégories pour avoir une vue d'ensemble des six classes. Nous allons ensuite les parcourir une par une.
1xx : Réponses Provisoires (Information)
Nous avons déjà rencontré cette famille dans la leçon précédente. Ces réponses indiquent que la requête a été reçue et est en cours de traitement.
100 Trying: L'accusé de réception de base.180 Ringing: Le téléphone du destinataire sonne, déclenchant la tonalité de retour d'appel chez l'appelant.
Un autre code 1xx très important est le 183 Session Progress. Il est utilisé pour signaler une progression de l'appel avant même qu'il ne soit décroché, notamment pour jouer un message audio. C'est ce qu'on appelle l'Early Media. C'est typiquement le cas lorsque vous tombez sur un message du type "Cet appel peut être enregistré" ou une annonce de votre opérateur avant que la sonnerie ne retentisse. Contrairement au 180 Ringing, le 183 Session Progress est souvent accompagné d'un corps de message SDP pour établir ce flux média précoce.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
La vidéo explique en détail le rôle des principaux codes 1xx.
Veuillez regarder le segment consacré aux réponses 1xx. Portez une attention particulière à la distinction entre 180 Ringing et 183 Session Progress et au concept d'Early Media expliqué à partir de ce point.
2xx : Succès
Cette classe indique que la requête a été reçue, comprise et acceptée.
200 OK: La réponse de succès universelle. C'est la confirmation qu'un appel est établi (en réponse àINVITE) ou terminé (en réponse àBYE).202 Accepted: Indique que la requête a été acceptée pour traitement, mais que celui-ci n'est pas encore terminé. C'est plus rare pour les appels, mais peut être utilisé pour d'autres types de requêtes.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Ce court segment couvre les réponses de succès.
Regardez la section sur les réponses 2xx pour consolider votre compréhension du 200 OK.
3xx : Redirection
Ces réponses indiquent que des actions supplémentaires sont nécessaires pour compléter la requête, généralement en la redirigeant vers une autre destination. C'est le mécanisme de base du renvoi d'appel.
301 Moved Permanently: L'utilisateur a déménagé de façon permanente. Le client SIP doit mettre à jour ses contacts et renvoyer la requête à la nouvelle adresse fournie dans l'en-têteContact.302 Moved Temporarily: Le renvoi est temporaire. Le client doit réessayer à la nouvelle adresse, mais ne doit pas la sauvegarder pour de futurs appels.
La distinction est cruciale pour la logique de routage d'un SBC, qui peut mettre en cache les redirections permanentes.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
La vidéo explique comment les codes 3xx gèrent le renvoi d'appel.
Regardez le passage sur les réponses de redirection 3xx.
4xx : Erreurs Client
C'est la catégorie la plus dense et la plus importante pour le dépannage. Une réponse 4xx signifie que le problème vient de la requête elle-même ou de l'état du client. Le serveur a bien compris la requête mais ne peut pas (ou ne veut pas) la traiter en l'état. Il est inutile de renvoyer la même requête.
Voici les codes les plus courants que vous rencontrerez :
400 Bad Request: La requête est malformée (par exemple, un en-tête manquant ou une syntaxe incorrecte).401 Unauthorized/407 Proxy Authentication Required: La requête nécessite une authentification.401est envoyé par le serveur final (UAS),407par un proxy.404 Not Found: L'utilisateur n'existe pas à l'adresse spécifiée.480 Temporarily Unavailable: L'utilisateur existe mais n'est pas joignable pour le moment (ex: téléphone éteint, pas enregistré).486 Busy Here: L'utilisateur a bien été contacté mais est déjà en ligne.487 Request Terminated: Indique qu'une requêteINVITEa été annulée par l'appelant (via une requêteCANCEL) avant d'avoir été acceptée.488 Not Acceptable Here: Erreur très fréquente ! Le serveur du destinataire a été contacté mais n'a pas pu s'accorder sur les paramètres de la session média. La cause est presque toujours une incompatibilité de codecs, détaillée dans le corps SDP.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Cette partie est la plus longue et la plus cruciale pour le dépannage.
Regardez attentivement la section sur les erreurs client 4xx. Essayez de bien saisir la nuance entre 404 Not Found, 480 Temporarily Unavailable et 486 Busy Here.
5xx : Erreurs Serveur
Contrairement à la classe 4xx, une réponse 5xx indique que le serveur a rencontré un problème qui l'empêche de traiter une requête pourtant valide. Le problème est côté serveur, pas côté client.
500 Server Internal Error: Erreur générique indiquant un problème inattendu sur le serveur.502 Bad Gateway: Un serveur intermédiaire (comme votre SBC) a reçu une réponse invalide d'un serveur en aval (par exemple, le proxy de l'opérateur).503 Service Unavailable: Le serveur est temporairement hors service (surcharge, maintenance). Il inclut souvent un en-têteRetry-Afterindiquant au client quand il peut réessayer. C'est un code critique pour la gestion du basculement (failover) sur un SBC.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Cette section explique les erreurs qui proviennent de l'infrastructure.
Regardez l'explication des erreurs serveur 5xx.
6xx : Échecs Globaux
Cette classe indique un échec définitif. Le serveur a l'information certaine que la requête ne pourra aboutir nulle part ailleurs.
600 Busy Everywhere: L'utilisateur est occupé et on sait qu'il n'a pas d'autre terminal (comme une messagerie vocale) qui pourrait prendre l'appel. C'est plus définitif que486 Busy Here.603 Decline: L'utilisateur a été contacté mais a explicitement refusé l'appel.604 Does Not Exist Anywhere: L'utilisateur demandé n'existe pas dans le domaine, et c'est une information certaine.
Lecture - 6 | SIP Error Codes/Messages Explained - 1XX, 2XX, 3XX, 4XX, 5XX, 6XX
Enfin, cette partie couvre les échecs définitifs.
Concluez avec la section sur les échecs globaux 6xx.
Le Lien avec le Monde Réel : Interconnexion PSTN
Dans votre travail, vous êtes souvent à l'interface entre le monde de la ToIP (SIP) et le réseau téléphonique commuté public (RTC/PSTN). Les SBC AudioCodes, en particulier, sont conçus pour être des passerelles entre ces deux mondes. Lorsqu'un appel échoue depuis le réseau téléphonique traditionnel (signalisation SS7/ISUP), le SBC doit traduire la "cause" de l'échec en un code de réponse SIP approprié.
Comprendre cette traduction est une compétence très précieuse. L'image ci-dessous montre une table de correspondance typique.

Par exemple :
- Un
ISUP Cause Value 1 - unallocated number(numéro non attribué) est traduit enSIP 404 Not Found. - Un
ISUP Cause Value 17 - user busy(utilisateur occupé) est traduit enSIP 486 Busy Here. - Un
ISUP Cause Value 22 - number changed(numéro a changé) est traduit enSIP 410 Gone.
En tant que chef de projet, lorsque vous analysez un échec d'appel sur un trunk opérateur, savoir qu'un 404 Not Found provient d'une cause ISUP "numéro non attribué" vous permet de dire avec certitude que le problème n'est pas sur votre SBC, mais que le numéro composé est simplement incorrect ou n'existe plus chez l'opérateur.
Conclusion
Nous avons couvert aujourd'hui un aspect fondamental du dépannage SIP. Vous devriez maintenant être capable de non seulement lister mais surtout de comprendre la logique derrière les différentes familles de codes de réponse.
Points clés à retenir :
- 1xx (Provisoire) : L'appel progresse.
- 2xx (Succès) : La requête a réussi.
- 3xx (Redirection) : L'appel doit être renvoyé ailleurs.
- 4xx (Erreur Client) : La requête est "mauvaise" ou le client n'est pas joignable. Le problème est côté client/utilisateur.
- 5xx (Erreur Serveur) : La requête est "bonne", mais le serveur a échoué. Le problème est côté infrastructure.
- 6xx (Échec Global) : L'échec est définitif et ne doit pas être retenté.
Cette classification est la première étape de tout diagnostic. Savoir si vous faites face à une erreur 4xx ou 5xx change radicalement la direction de vos investigations.
Dans la prochaine leçon, nous plongerons dans le corps des messages INVITE et 200 OK pour décoder le Session Description Protocol (SDP). C'est là que les détails de la session média (codecs, adresses IP, ports) sont négociés. Vous comprendrez alors précisément ce qui se cache derrière une erreur 488 Not Acceptable Here.