About the SIP 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 Transport Control Protocol (TCP), User Datagram Protocol (UDP), or other lower-layer networking protocols.
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 humans can read the SIP messages passed between endpoints in a SIP session.
SIP Requests
The SIP protocol defines the following common request types:
Table 2-1 SIP Request Types
SIP Request | Description |
---|---|
INVITE |
Initiates 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. |
INFO |
Sends a mid-session information that does not modify session state. |
UPDATE |
Modifies session state without changing the dialog state. |
SUBSCRIBE |
Subscribes to event notifications from a notifier. |
NOTIFY |
Notifies a subscriber of a new event. |
REFER |
As a recipient to issue a SIP call transfer request. |
PRACK |
A provisional acknowledgement. |
PUBLISH |
Publishes an event to the server. |
MESSAGE |
Simple instant message transport. |
SIP requests are codes used to indicate the various stages in a connection between SIP-enabled entities.