BroadNet
SIP / VoIPRéponses

Codes de réponse SIP (1xx-6xx)

Mis à jour le 4 min de lectureFondé sur des normes
Réponse directe

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.

§01

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.

Classes de réponse SIP
ClasseSignification
1xxProvisoire — reçu, en cours de traitement (non définitif)
2xxSuccès — la requête a abouti
3xxRedirection — essayez un autre emplacement
4xxÉchec de la requête client — impossible de la traiter telle quelle
5xxDéfaillance du serveur — le serveur n'a pas pu traiter une requête valide
6xxÉchec global — échec partout ; arrêter le forking
§02

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.

Codes 1xx et 2xx clés
CodeRaisonSignification
100TryingRequête reçue ; interrompt la retransmission en amont
180RingingL'appelé est en cours d'alerte (sonnerie)
181Call Is Being ForwardedLa requête est en cours de redirection
182QueuedAppelé temporairement indisponible ; appel mis en file d'attente
183Session ProgressMédias anticipés (sonnerie/annonce) disponibles
200OKSuccès — pour INVITE, l'appel est décroché
§03

É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.

Codes 4xx fréquemment vus
CodeRaisonCause typique
400Bad RequestMessage malformé
401 / 407Unauthorized / Proxy Auth RequiredDéfi d'authentification (UAS / proxy)
403ForbiddenAuthentifié mais non autorisé
404Not FoundUtilisateur inconnu / Request-URI incorrecte
408Request TimeoutAucune réponse dans le délai imparti
480Temporarily UnavailableEnregistré mais injoignable actuellement
486Busy HereL'appelé est occupé
487Request TerminatedL'INVITE a été annulée
488Not Acceptable HereÉchec de la négociation média/codec (SDP)
§04

É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.

Codes 5xx et 6xx clés
CodeRaisonSignification
500Server Internal ErrorLe serveur a rencontré une erreur inattendue
503Service UnavailableServeur temporairement surchargé/hors service
504Server Time-outPas de réponse à temps d'un serveur en aval
600Busy EverywhereAppelé occupé sur tous les terminaux
603DeclineL'appelé a explicitement refusé l'appel
604Does Not Exist AnywhereL'utilisateur n'existe nulle part
606Not AcceptableParamètres de session inacceptables partout
FAQ

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.

Références

Spécifications sources

Les normes publiées sur lesquelles repose cette page. S'ouvre dans un nouvel onglet.

BNMaintenu par l'équipe d'ingénierie BroadNet·Messagerie de qualité opérateur depuis 2003
Placez-le sur le fil

Conçu avec une véritable liaison SMPP et une API REST.

Demandez un accès de test avec de véritables clés de test : envoyez d’abord à votre propre numéro vérifié, puis passez en production dans plus de 200 pays une fois que votre identité d’expéditeur et vos routes seront approuvées.