SIP Requests and Descriptions
In typical VoLTE point of view here is a list of all SIP messages and their meaning. In the rightmost column you can find the RFC number.
SIP Request | Description | Definition |
INVITE | Indicates that a client is being invited to participate in a call session | RFC 3261 |
ACK | Confirms that the client has received a final response to an INVITE request | RFC 3261 |
BYE | Terminates a call; can be sent by either the caller or the called party | RFC 3261 |
CANCEL | Cancels any pending request | RFC 3261 |
OPTIONS | Queries the capabilities of servers | RFC 3261 |
PRACK | Provisional acknowledgement | RFC 3262 |
SUBSCRIBE | Subscribes to event notification | RFC 3265 |
NOTIFY | Notifies the subscriber of a new Event | RFC 3265 |
PUBLISH | Publishes an event to the Server | RFC 3903 |
INFO | Sends mid-session information that does not modify the session state | RFC 6086 |
REFER | Asks recipient to issue a SIP request (call transfer) | RFC 3515 |
MESSAGE | Transports instant messages using SIP | RFC 3428 |
UPDATE | Modifies the state of a session without changing the state of the dialog. | RFC 3311 |
SIP Codes and Descriptions
SIP is based around request/response transactions, in a similar manner to the Hypertext Transfer Protocol (HTTP). Each transaction consists of a SIP request (which will be one of several request methods), and at least one response.
These codes are grouped according to their first digit as “provisional”, “success”, “redirection”, “client error”, “server error” or “global failure” codes, corresponding to a first digit of 1–6; these are expressed as, for example, “1xx” for provisional responses with a code of 100–199.
SIP Code | Description |
1xx | Provisional Responses |
100 | Trying |
180 | Ringing |
181 | Call is Being Forwarded |
181 | Queued |
183 | Session Progress |
199 | Early Dialog Terminated |
2xx | Successful Response |
200 | OK |
202 | Accepted |
204 | No Notification |
3xx | Redirection Response |
300 | Multiple Choices |
301 | Moved Permanently |
302 | Moved Temporarily |
305 | Use Proxy |
380 | Alternative Service |
4xx | Client Failure Response |
400 | Bad Request |
401 | Unauthorized |
402 | Payment Required |
403 | Forbidden |
404 | Not Found |
405 | Method Not Allowed |
406 | Not Acceptable |
407 | Proxy Authentication Required |
408 | Request Timeout |
410 | Gone |
412 | Conditional Request Failed |
413 | Request Entity Too Large |
414 | Request-URI Too Long |
415 | Unsupported Media Type |
416 | Unsupported URI Scheme |
417 | Unknown Resource-Priority |
420 | Bad Extension |
421 | Extension Required |
422 | Session Interval Too Small |
423 | Interval Too Brief |
428 | Use Identity Header |
429 | Provide Referer Identity |
430 | Flow Failed |
433 | Anonymity Disallowed |
436 | Bad Identity-Info |
437 | Unsupported Certificate |
438 | Invalid Identity Header |
439 | First Hop Lacks Outbound Support |
440 | Max-Breadth Exceeded |
469 | Bad Info Package |
470 | Consent Needed |
480 | Temporarily Unavailable |
481 | Call/Transaction Does Not Exist |
482 | Loop Detected |
483 | Too Many Hops |
484 | Address Incomplete |
485 | Ambiguous |
486 | Busy Here |
487 | Request Terminated |
488 | Not Acceptable Here |
489 | Bad Event |
491 | Request Pending |
493 | Undecipherable |
494 | Security Agreement Required |
5xx | Server Failure Response |
500 | Server Internal Error |
501 | Not Implemented |
502 | Bad Gateway |
503 | Service Unavailable |
504 | Server Time-out |
505 | Version Not Supported |
513 | Message Too Large |
580 | Precondition Failure |
6xx | Global Failure Response |
600 | Busy Everywhere |
603 | Decline |
604 | Does Not Exist Anywhere |
606 | Not Acceptable |
Permalink
Nice collation of SIP info Prashant
Permalink
This chaptered collection of VoLTE info/history is incredibly interesting; to the point where I struggled to continue reading despite actively falling asleep! I had to finish it upon waking up, which I did because the content was intriguing enough for me to remember wanting to finish. So I’d like to extend my gratitude for your thorough compilation of this information, thank you kindly sir.
Though still absolutely understandable as is, I could tell that English is not your first language. I’m not saying that as an insult, but rather to further exemplify just how amazingly impressed I am with this little VoLTE series.
In fact, I enjoyed it so much that I’d like to extend an offer to review it for grammatical improvements if you are interested. I’m not one with loads of excess time on my hands, but this just seems like such a great overview of recent mobile standards blunders/fixes/improvements. I’d be honored to help, and I certainly cannot do so from a technical perspective! So email me if you are open to such feedback.
Thanks again for these great posts!
Permalink
its a great post about LTE.I never seen this type posts to understand easly,
thanks again and again by heart….
Permalink
Thank you, great material
Permalink
Thanks a lot. You are amazing.. 🙂
Permalink
any one know what this error for?
onCallTerminated reasonCode=510
Permalink
Thanks a lot for this great stuff…Pls continue to provide the post on Signalling and voice traffic flow end to end, Call flow.
Permalink
Very informative, nicely articulated
Permalink
What will be the reason code for “No SIP session”?
Permalink
Big Question. Which network error actually causes poor experience?
Which ones are fine and a redundant network will fix on its own?