The SIP Servlet Tutorial

About the SIP Protocol

The session initiation protocol (SIP) is a simple network signalling protocol for creating and terminating sessions with one or more participant. The SIP protocol is designed to be independent of the underlying transport protocol, so SIP applications can run on TCP, UDP, or other lower-layer networking protocols.

Figure 1–1 The SIP Protocol

Diagram showing the SIP protocol and its relationship
in a networking stack.

Typically, the SIP protocol is used for internet telephony and multimedia distribution between two or more endpoints. For example, one person can initiate a telephone call to another person using SIP, or someone may create a conference call with many participants.

The SIP protocol was designed to be very simple, with a limited set of commands. It is also text-based, so human can read the SIP messages passed between endpoints in a SIP session.

SIP Requests

The SIP protocol defines some common request types:

Table 1–1 Common SIP Requests

SIP Request 

Description 

INVITE

initiate a session between two participants 

ACK

the client acknowledges receiving the final message from an INVITE request

BYE

terminates a connection 

CANCEL

cancels any pending actions, but does not terminate any accepted connections 

OPTIONS

queries the server for a list of capabilities 

REGISTER

registers the address in the To header with the server

SIP requests are codes used to indicate the various stages in a connection between SIP-enabled entities.

See SIP Requests for a list of all SIP requests.

SIP Responses

The SIP Protocol uses response codes similar to the HTTP protocol.

Some common response codes are as follows:

See SIP Responses for more information on SIP responses.