VoLTE SIP Methods, Response Codes and Details

LTE, Voice Services, VoLTE

VoLTE IMS Protocols

In IMS subsystem, the critical protocols are the Session Initiation Protocol (SIP), SigComp, Real-time Transport Protocol (RTP), RTP Control Protocol (RTCP) and IP Security (IPSec) and Diameter. These protocols are very important because these are the ones impacted by the UE or have direct impact on UE operation.

In a VoLTE call SIP protocol is used to create, modify and terminate sessions, essentially negotiating a session between two users. SIP does not perform transport layer (delivering data) those are done by RTP/RTCP.

SIP is a sequential  protocol with request/response similar to HTTP both in functionality and format. Every SIP request begins with a starting line that includes the name of request type and also called as method.Table below lists all request methods used for SIP.

SIP Method Description Reference
INVITE INVITE indicates that a client is being invited to participate in a call session RFC 3261
ACK ACK Confirms that the client has received a final response to an INVITE request RFC 3261
BYE Terminates a call; It can be sent by either the caller or the called party  RFC 3261
CANCEL Cancels any pending request RFC 3261
OPTIONS It 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 Message Codes and Its Meaning

SIP message responses are maintained in an Internet Assigned Numbers Authority (IANA) list called Session Initiation Protocol (SIP) Parameters. They always begin with a response code. These Response Code are divided in following categories:

  • 1XX Codes (Informational/Provisional): These code are for request received and being processed e.g. 100 Trying, 180 Ringing
  • 2xx Codes (Successful Action) : The action was successfully received, understood, and accepted e.g. 200 OK, 202 Accepted
  • 3XX Codes (Redirection): Further action needs to be taken (typically by the sender) to complete the request e.g. 301 Moved Permanently, 302 Moved Temporarily
  • 4XX Codes (Client Failure): The request contains bad syntax or cannot be fulfilled at the server e.g. 401 Unauthorized, 403 Forbidden
  • 5XX (Codes Server Failure): The server failed to fulfill an apparently valid request e.g. 500 Server Internal Error, 504 Server Time-out
  • 6XX (Global Failure): The request cannot be fulfilled at any server e.g. 600 Busy Everywhere, 604 Does Not Exist Anywhere

The detailed list of all Response code is given in below tables.

1XX Codes

 SIP Message Code Description Reference
100 Trying
180 Ringing
181 Call Is Being Forwarded
182 Queued
183 Session Progress
199 Early Dialog Terminated RFC6228

2XX Codes

 SIP Message Code Description Reference
200  OK
202  Accepted RFC3265
204  No Notification RFC5839

3XX Codes

 SIP Message Code Description Reference
300 Multiple Choices
301 Moved Permanently
302 Moved Temporarily
305 Use Proxy
380 Alternative Service

4XX Codes

 SIP Message Code Description Reference
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 RFC3903
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Unsupported URI Scheme
417 Unknown Resource-Priority RFC4412
420 Bad Extension
421 Extension Required
422 Session Interval Too Small RFC4028
423 Interval Too Brief
424 Bad Location Information RFC6442
428 Use Identity Header RFC4474
429 Provide Referrer Identity RFC3892
430 Flow Failed RFC5626
433 Anonymity Disallowed RFC5079
436 Bad Identity-Info RFC4474
437 Unsupported Certificate RFC4474
438 Invalid Identity Header RFC4474
439 First Hop Lacks Outbound Support RFC5626
440 Max-Breadth Exceeded RFC5393
469 Bad Info Package RFC6086
470 Consent Needed RFC5360
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 RFC3265
491 Request Pending
493 Undecipherable
494 Security Agreement Required RFC3329

5XX Codes

 SIP Message Code Description Reference
500 Server Internal Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Server Time-out
505 Version Not Supported

6XX Codes

 SIP Message Code Description  Reference
 600 Busy Everywhere
 603 Decline
 604 Does Not Exist Anywhere
 606 Not Acceptable