SIP Messages
SIP Messages
Session Initiation Protocol is a standard which provides the call control, signaling and session
management, of voice calls over an IP network. Call Control is accomplished this by sending and
receiving specific messages in the payload header of IP packets. In order to understand why a
call can or can not be established a trace of these messages may need to be done and
interpreted. This document provides an overview of several of the messages that would be
found in a trace along with the meaning that they carry.
Solution Summary:
SIP has Several Messages that make up its portion of call control. The messages are split into 2
main groups, they are requests and responses. The requests are messages made from a server
to a client and the responses are sent as answers to that request. A brief overview is as follows:
Requests
The following is a list of SIP request messages:
Responses
In response to request messages, SIP uses the following categories of responses:
Technical Discussion:
The following is a list of SIP Requests and their descriptions:
Invite - Is initiated by the calling party. It is used to ask parties to join a call.
ACK - Sent by the client , it indicates that the client has received a final response to the
initiated Invite Message.
OPTIONS - The client queries a proxy server for it's capabilities.
BYE - Terminates the call.
CANCEL - Cancel any pending Searches.
REGISTER - Register the device with a 3rd party, such as a proxy server.
1xx-Informational Messages
o 100-Trying: Indicates that a request has been initiated by the caller and the
called party has yet not been located.
o 180-Ringing: Indicates that the called party has been located and is being
notified of the call.
o 181-Call is being forwarded: Indicates that the called party has rerouted the
call to another.
o 182-Queued: Indicates that the called party is currently not available, and have
put the call in queue.
2xx-Successful Responses
o 200-OK: Indicates that the request has been successfully processed.
3xx-Redirection Responses
o 300-Multiple Choices: Indicates that the address resolved to more than one
location.
o 301-Moved permanently: Indicates user is no longer available at this location,
an alternate location should be included in the header.
o 302-Moved Temporarily: Indicates that the user in temporarily unavailable, an
alternate location should be included in the header.
o 305-Use Proxy: This response indicates that the caller must use a proxy to
contact the called party.
o 380-Call is not successful but alternate services are available.
4xx-Request Failure Responses
o 400-Bad Request: Indicates the request sent could not be understood.
o 401-Unauthorized Request: Indicates the request requires authorization.
o 402-Payment Required: Indicates payment is required to complete the call.
o 403-Forbidden: Indicates Server has received the request but will not provide
the service.
o 404-Not Found: Indicates the server was not found.
o 405-Method Not Allowed: Indicates that the request contains a list of methods
that are not allowed.
o 406-Not acceptable: Indicates that the request can not be processed by the
client.
o 407-Proxy Authentication Required: Client must first authenticate itself with a
proxy.
o 408-Request Timeout: The server could not produce a response before a given
time out.
o 409-Conflict: Indicates a conflict with the current state of the resource.
o 410-Gone: Resource is no longer available at the server and no forwarding
address was found.
o 411-Length Required: User refuses request without a specified length.
o 412-Request Entity Too Large: Server refuses to process request because URI
is too long.
o 415-Unsupported Media: Indicates the format of the body is not supported by
the destination endpoint.
o 420-Bad Extension: The server could not understand the protocol extension
indicated in the required header.
o 480-Temporarily Unavailable: Indicates that the called party was contacted but
was temporarily unavailable.
o 481-Call Leg Transaction Does Not Exist: Indicates that the server was ignoring
the request of bye or cancel since there is no matching Invite transaction.
o 482-Loop Detected: Server received a request which has it self in the path.
o 483-Too Many Hops: The server received a request that required more hops
than allowed.
o 484-Incomplete Address: The server received a request with an incomplete
address.
o 485-Ambiguous: Server received a request in which the called address is
ambiguous.
o 486-Busy Here: The called party was contacted but the system was not able to
receive any more calls.
5xx-Server Failure Responses
o 500-Server Internal Error: Server encountered an unexpected error and could
not process the request
o 501-Not Implemented: Server does not support the functions required to
complete the request.
o 502-Bad Gateway: Server received an invalid request upstream.
o 503-Service Unavailable: Server has an overload or maintenance problem.
o 504-Gateway Timeout: Server did not receive a timely response from another
server.
o 505-Version Not Supported: Server does not support the SIP protocol used in
the request.
6xx-Global Failure Responses
o 600-Busy Everywhere: Called party is busy and cannot take the call at this
time.
o 603-Decline: Called party was contacted but does not want to take part in the
call.
o 604-Does Not Exist Anywhere: Called Party does not exist anywhere in the
network.
o 606-Not Acceptable: Called party has rejected some part of the call session
description as unacceptable.