Précédent Sommaire Suivant
Une réponse à une requête est caractérisée, comme nous avons déjà pu le constater, par un code et un motif , appelés code d’état et reason phrase respectivement. Un code d’état est un entier codé sur 3 bits indiquant un résultat à l’issue de la réception d’une requête. Ce résultat est précisé par une phrase, text-based (UTF-8), expliquant le motif du refus ou de l’acceptation de la requête. Le code d’état est donc destiné à l’automate gérant l’établissement des sessions SIP et les motifs aux programmeurs.
Il existe 6 classes de réponses et donc de codes d’état, représentées par le premier bit :
· 1xx = Information : la requête a été reçue et continue à être traîtée ;
· 2xx = Succès : l’action a été reçue avec succès, comprise et acceptée ;
· 3xx = Redirection : une autre action doit être menée afin de valider la requête ;
· 4xx = Erreur du client : la requête contient une syntaxe éronnée ou ne peut pas être traîtée par ce serveur ;
· 5xx = Erreur du serveur : le serveur n’a pas réussi à traîter une requête apparemment correcte ;
· 6xx = Echec général : la requête ne peut être traitée par aucun serveur.
Récapitulatif des codes d’état et des motifs pour la version SIP/2.0 :
Information |
100 180 181 182 |
Trying Ringing Call Is Being Forwarded Queued |
Succès |
200 |
OK(1) |
Redirection(2) |
300 301 302 303 305 380 |
Multiple Choices Moved Permanently Moved Temporarily See other Use Proxy Server Alternative Service |
Erreur du client |
400 401 402 403 404 405 406 407 408 409 410 411 413 414 415 420 480 481 482 483 484 485 486 |
Bad Request Unauthorized Payment Required(3) Forbidden Not Found Method Not Allowed Not Acceptable Proxy Server Authentification Required Request Timeout Conflict(4) Gone(5) Length Required Request Entity Too Large Request URI Too Large Unsupported Media Type Bad Extension Temporarily not available Call Leg/Transaction Does Not Exist(6) Loop Detected(7) Too Many Hops Address Incomplete Ambiguous(8) Busy Here |
Erreur du serveur |
500 501 502 503 504 505 |
Internal Server Error Not Implemented Bad Gateway Service Unavailable Gateway Timeout SIP Version not supported |
Echec général |
600 603 604 606 |
Busy Everywhere Decline(9) Does not exist anywhere Not Acceptable |
L’on peut remarquer que cette version de SIP possède de nombreux codes en commun avec la version HTTP/1.1. Les nouveaux codes ajoutés par SIP commencent à x80 pour éviter tout conflit avec HTTP. De plus SIP apporte une nouvelle classe 6xx de codes d’état. Les codes d’état des réponses SIP sont donc extensibles. Les applications SIP ne doivent pas nécessairement comprendre tous ces codes mais doivent absolument comprendre les classes de ces codes, indiquées par le premier bit du code détat. Toute réponse de code inconnu doit être traîtée par l’application comme une réponse de code x00.