HOME

STORIES

google-news

FOLLOW

JOIN

FOLLOW

SIP – Response Codes and SIP- header methods

A SIP response is a message generated by a SFB server or SIP server to reply a request generated by a SFB client

SIP – Response Codes

1xx = Informational – SIP response Codes 

  • 100 Trying – Extended search is being performed so a forking proxy must send a 100 Trying response.
  • 180 Ringing – The Destination User Agent has received the INVITE message and is alerting the user of call.
  • 181 Call Is Being Forwarded – Optional, send by Server to indicate a call is being forwarded.
  • 182 Queued – Destination was temporarily unavailable, the server has queued the call until the destination is available.
  • 183 Session Progress – This response may be used to send extra information for a call which is still being set up.
  • 199 Early Dialog Terminated – Send by the User Agent Server to indicate that an early dialogue has been terminated.

2xx = Success responses –  SIP response Codes

  • 200 OK – Shows that the request was successful.
  • 202 Accepted – Indicates that the request has been accepted for processing, mainly used for referrals.
  • 204 No Notification – Indicates that the request was successful but no response will be received.

3xx = Redirection responses – SIP response Codes

  • 300 Multiple Choices –  The address resolved to one of several options for the user or client to choose between.
  • 301 Moved Permanently – The original Request URI is no longer valid, the new address is given in the Contact header.
  • 302 Moved Temporarily – The client should try at the address in the Contact field.
  • 305 Use Proxy – The Contact field details a proxy that must be used to access the requested destination.
  • 380 Alternative Service – The call failed, but alternatives are detailed in the message body.

4xx = Request failures – SIP response Codes

  • 400 Bad Request – The request could not be understood due to malformed syntax.
  • 401 Unauthorized – The request requires user authentication. This response is issued by UASs and registrars.
  • 402 Payment Required –  (Reserved for future use).
  • 403 Forbidden – The server understood the request, but is refusing to fulfil it.
  • 404 Not Found – The server has definitive information that the user does not exist at the (User not found).
  • 405 Method Not Allowed – The method specified in the Request-Line is understood, but not allowed.
  • 406 Not Acceptable – The resource is only capable of generating responses with unacceptable content.
  • 407 Proxy Authentication Required – The request requires user authentication.
  • 408 Request Timeout – Couldn’t find the user in time.
  • 409 Conflict – User already registered (deprecated).
  • 410 Gone – The user existed once but is not available here any more.
  • 411 Length Required – The server will not accept the request without a valid content length (deprecated).
  • 412 Conditional Request Failed – The given precondition has not been met.
  • 413 Request Entity Too Large – Request body too large.
  • 414 Request URI Too Long – Server refuses to service the request, the Req-URI is longer than the server can interpret.
  • 415 Unsupported Media Type – Request body is in a non-supported format.
  • 416 Unsupported URI Scheme – Request-URI is unknown to the server.
  • 417 Uknown Resource-Priority – There was a resource-priority option tag, but no Resource-Priority header.
  • 420 Bad Extension – Bad SIP Protocol Extension used, not understood by the server.
  • 421 Extension Required – The server needs a specific extension not listed in the Supported header.
  • 422 Session Interval Too Small – The request contains a Session-Expires header field with a duration below the minimum.
  • 423 Interval Too Brief – Expiration time of the resource is too short.
  • 424 Bad Location Information – The request’s location content was malformed or otherwise unsatisfactory.
  • 428 Use Identity Header – The server policy requires an Identity header, and one has not been provided.
  • 429 Provide Referrer Identity – The server did not receive a valid Referred-By token on the request.
  • 430 Flow Failed – A specific flow to a user agent has failed, although other flows may succeed.
  • 433 Anonymity Disallowed – The request has been rejected because it was anonymous.
  • 436 Bad Identity Info – The request has an Identity-Info header and the   URI scheme contained cannot be de-referenced.
  • 437 Unsupported Certificate – The server was unable to validate a certificate for the domain that signed the request.
  • 438 Invalid Identity Header – Server obtained a valid certificate used to sign a request, was unable to verify the signature.
  • 439 First Hop Lacks Outbound Support – The first outbound proxy doesn’t support the “outbound” feature.
  • 440 Max-Breadth Exceeded – If a SIP proxy determined a response context had insufficient Incoming Max-Breadth to carry out a desired parallel fork, and the proxy is unwilling/unable to compensate by forking serially or sending a redirect, that proxy MUST return a 440 response. A client receiving a 440 response can infer that its request did not reach all possible destinations.
  • 469 Bad Info Package – If a SIP UA receives an INFO request associated with an Info Package that the UA has not indicated willingness to receive, the UA MUST send a 469 response, which contains a Recv-Info header field with Info Packages for which UA is willing to receive INFO requests.
  • 470 Consent Needed – The source of the request did not have the permission of the recipient to make such a request.
  • 480 Temporarily Unavailable – Callee currently unavailable.
  • 481 Call/Transaction Does Not Exist – Server received a request that does not match any dialogue or transaction.
  • 482 Loop Detected – Server has detected a loop.
  • 483 Too Many Hops – Max-Forwards header has reached the value ‘0’.
  • 484 Address Incomplete – Request-URI incomplete.
  • 485 Ambiguous – Request-URI is ambiguous.
  • 486 Busy Here – Callee is busy.
  • 487 Request Terminated – Request has terminated by bye or cancel.
  • 488 Not Acceptable Here – Some aspects of the session description of the Request-URI are not acceptable.
  • 489 Bad Event – The server did not understand an event package specified in an Event header field.
  • 491 Request Pending – Server has some pending request from the same dialogue.
  • 493 Undecipherable – UndecipherableRequest contains an encrypted MIME body, which recipient can not decrypt.
  • 494 Security Agreement Required – The server has received a request that requires a negotiated security mechanism.

 

5xx = Server errors – SIP response Codes

  • 500 Server Internal Error – The server could not fulfill the request due to some unexpected condition.
  • 501 Not Implemented – The SIP request method is not implemented here.
  • 502 Bad Gateway – The server, received an invalid response from a downstream server while trying to fulfill a request.
  • 503 Service Unavailable – The server is in maintenance or is temporarily overloaded and cannot process the request.
  • 504 Server Time-out – The server tried to access another server while trying to process a request, no timely response.
  • 505 Version Not Supported – The SIP protocol version in the request is not supported by the server.
  • 513 Message Too Large – The request message length is longer than the server can process.
  • 555 Push Notification Service Not Supported – The server does not support the push notification serviced specified in the pn-provider SIP URI parameter.
  • 580 Precondition Failure – The server is unable or unwilling to meet some constraints specified in the offer.

6xx = Global failures – SIP response Codes

  • 600 Busy Everywhere – All possible destinations are busy.
  • 603 Decline – Destination cannot/doen’t wish to participate in the call,  no alternative destinations.
  • 604 Does Not Exist Anywhere – The server has authoritative information that the requested user does not exist anywhere.
  • 606 Not Acceptable – The user’s agent was contacted successfully but some aspects of the session description were not acceptable.
  • 607 Unwanted – The called party did not want his call from the calling party. Future attempts from the calling party are likely to be similarly rejected.

SIP- header methods:

  • INVITE: Establishes a session
  • ACK: Confirms INVITE request
  • BYE: Ends a session
  • CANCEL: Cancels establishing a session
  • REGISTER: Communicates user location
  • OPTIONS: Communicates info about the calling/receiving SIP phones’ capabilities
  • PRACK = Provisional acknowledgment
  • SUBSCRIBE = Subscribes to notifications
  • NOTIFY = Notifies the subscriber of a new event
  • PUBLISH = Publishes an event to the server
  • INFO = Sends mid-session info
  • REFER = Asks the callee to start a call transfer
  • MESSAGE = Sends an instant message
  • UPDATE = Changes the session’s state

Conclusion:

Post reading above blog I can understand SIP – Response Codes and SIP header methods successfully