SIP – Response Codes and SIP- header methods

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

About Sushil G

Hi, my name is Sushil and I am an experienced content writer with a passion for technology. For the past 10 years, I have been specializing in Microsoft products like Azure AD, Exchange, Skype for Business (SFB), and Teams. My in-depth knowledge of these products has enabled me to help many individuals and businesses to achieve their goals by leveraging the power of Microsoft technology. As a content writer, I enjoy taking complex technical concepts and breaking them down into easy-to-understand language. I'm always eager to learn about the latest trends and advancements in the industry and share my knowledge and expertise with others. If you need help in understanding Microsoft products and maximizing their potential, I'm here to help.