Les réponses SIP sont des codes à trois chiffres en six classes, calquées sur HTTP : 1xx provisoire (requête reçue, en cours de traitement), 2xx succès, 3xx redirection, 4xx échec client/requête, 5xx échec serveur, et 6xx échec global (la requête échoue partout). Le premier chiffre fixe la classe ; le code complet identifie le résultat précis.
Les six classes de réponse
Chaque réponse SIP porte un code d'état dont le premier chiffre définit sa classe, exactement comme en HTTP. Les réponses provisoires (1xx) sont intermédiaires — la requête progresse mais sans résultat final. 2xx est un succès. 3xx redirige l'appelant ailleurs. 4xx signifie que la requête a échoué et est généralement la faute de l'appelant ou de la requête. 5xx signifie qu'un serveur n'a pu satisfaire une requête apparemment valide. 6xx est un échec global définitif — la requête échouera à chaque emplacement, aussi les proxies devraient-ils cesser d'essayer d'autres alternatives.
| Classe | Signification |
|---|---|
| 1xx | Provisoire — reçu, en cours de traitement (non définitif) |
| 2xx | Succès — la requête a abouti |
| 3xx | Redirection — essayez un autre emplacement |
| 4xx | Échec de la requête client — impossible de la traiter telle quelle |
| 5xx | Défaillance du serveur — le serveur n'a pas pu traiter une requête valide |
| 6xx | Échec global — échec partout ; arrêter le forking |
Codes provisoires et de succès
Le début du flux d'appel est piloté par les 1xx et 2xx. 100 Trying indique au saut amont que la requête a été reçue et arrête les retransmissions. 180 Ringing indique que le téléphone de l'appelé sonne. 183 Session Progress porte du early media (retour d'appel ou annonces) avant le décroché. 200 OK est le succès définitif — pour un INVITE, il signifie que l'appel a été décroché et porte la réponse SDP, et il doit être confirmé par un ACK.
| Code | Raison | Signification |
|---|---|---|
| 100 | Trying | Requête reçue ; interrompt la retransmission en amont |
| 180 | Ringing | L'appelé est en cours d'alerte (sonnerie) |
| 181 | Call Is Being Forwarded | La requête est en cours de redirection |
| 182 | Queued | Appelé temporairement indisponible ; appel mis en file d'attente |
| 183 | Session Progress | Médias anticipés (sonnerie/annonce) disponibles |
| 200 | OK | Succès — pour INVITE, l'appel est décroché |
Échecs client (4xx) — ceux que vous déboguerez
Les codes 4xx dominent le dépannage réel. 401/407 demandent une authentification (depuis un UAS/registrar ou un proxy respectivement). 403 Forbidden et 404 Not Found sont explicites. 408 Request Timeout signifie aucune réponse dans les temps. 486 Busy Here est l'appelé occupé ; 480 Temporarily Unavailable est l'appelé injoignable. 487 Request Terminated est la réponse à un INVITE qui a été CANCELlé. 488 Not Acceptable Here signale généralement un échec de négociation SDP/codec.
| Code | Raison | Cause typique |
|---|---|---|
| 400 | Bad Request | Message malformé |
| 401 / 407 | Unauthorized / Proxy Auth Required | Défi d'authentification (UAS / proxy) |
| 403 | Forbidden | Authentifié mais non autorisé |
| 404 | Not Found | Utilisateur inconnu / Request-URI incorrecte |
| 408 | Request Timeout | Aucune réponse dans le délai imparti |
| 480 | Temporarily Unavailable | Enregistré mais injoignable actuellement |
| 486 | Busy Here | L'appelé est occupé |
| 487 | Request Terminated | L'INVITE a été annulée |
| 488 | Not Acceptable Here | Échec de la négociation média/codec (SDP) |
Échecs serveur (5xx) et global (6xx)
Les codes 5xx et 6xx signalent des échecs au-delà de la requête elle-même. 500 Server Internal Error et 503 Service Unavailable indiquent un problème serveur ou en aval ; 504 Server Time-out est un dépassement de délai de passerelle. La classe 6xx est catégorique : 600 Busy Everywhere, 603 Decline (l'appelé a activement refusé), 604 Does Not Exist Anywhere, et 606 Not Acceptable. Comme un 6xx signifie que la requête échoue à chaque emplacement possible, un proxy forkant cesse d'essayer d'autres branches — contrairement à un 4xx, propre à une cible.
| Code | Raison | Signification |
|---|---|---|
| 500 | Server Internal Error | Le serveur a rencontré une erreur inattendue |
| 503 | Service Unavailable | Serveur temporairement surchargé/hors service |
| 504 | Server Time-out | Pas de réponse à temps d'un serveur en aval |
| 600 | Busy Everywhere | Appelé occupé sur tous les terminaux |
| 603 | Decline | L'appelé a explicitement refusé l'appel |
| 604 | Does Not Exist Anywhere | L'utilisateur n'existe nulle part |
| 606 | Not Acceptable | Paramètres de session inacceptables partout |
Questions fréquemment posées
Que signifie SIP 200 OK ?
200 OK est la réponse de succès. Pour un INVITE, il signifie que l'appel a été décroché et porte la réponse SDP qui complète la négociation des médias ; l'appelant doit le confirmer par un ACK. Pour d'autres requêtes, il confirme simplement que l'opération a réussi.
Quelle différence entre 486 Busy Here et 600 Busy Everywhere ?
486 Busy Here signifie que le point d'extrémité contacté précis est occupé, si bien qu'un proxy forkant peut encore essayer d'autres emplacements. 600 Busy Everywhere est un échec global (6xx) signifiant que l'appelé est occupé à tous les emplacements, aussi les proxies devraient-ils cesser de forker et renvoyer l'échec.
Pourquoi ai-je un SIP 488 Not Acceptable Here ?
488 signifie presque toujours un échec de négociation des médias — l'offre et la réponse SDP ne partagent aucun codec commun, ou un paramètre média requis (par exemple une suite crypto SRTP) n'a pu être convenu. Vérifiez que les deux côtés prennent en charge un codec et un transport communs.
Que signifie 407 Proxy Authentication Required ?
Un proxy défie la requête pour obtenir des identifiants. Le client doit renvoyer la requête avec un en-tête Proxy-Authorization calculé à partir du défi. C'est le pendant côté proxy du 401 Unauthorized, qui vient du UAS ou du registrar.
À quoi sert la réponse SIP 100 Trying ?
100 Trying est une réponse provisoire indiquant au saut amont que la requête a été reçue et est en cours de traitement, ce qui arrête la retransmission de la requête par l'émetteur. Elle est saut par saut et ne voyage jamais de bout en bout comme un 180 ou un 200.
Spécifications sources
Les normes publiées sur lesquelles repose cette page. S'ouvre dans un nouvel onglet.