There are several types of message requests. SIP is transactional, communicating through requests and replies. The most important types of requests are described in the following table:
Message |
Description |
RFC |
---|---|---|
ACK |
Acknowledges an INVITE |
RFC 3261 |
BYE |
Terminates an existing session |
RFC 3261 |
CANCEL |
Cancels a pending registration |
RFC 3261 |
INFO |
Provides mid-call signaling information |
RFC 2976 |
INVITE |
Session establishment |
RFC 3261 |
MESSAGE |
Instant message transport |
RFC 3428 |
NOTIFY |
Sends information after subscribing |
RFC 3265 |
PRACK |
Acknowledges a provisional response |
RFC 3262 |
PUBLISH |
Uploads the status information to the server |
RFC 3903 |
REFER |
RFC 3515 | |
REGISTER |
Registers the user and updates the location table |
RFC 3261 |
SUBSCRIBE |
Establishes a session to receive future updates |
RFC 3265 |
UPDATE |
Updates a session state information |
RFC 3311 |
Most of the time, you will use REGISTER, INVITE, ACK, BYE, and CANCEL. Some messages are used for other features. For example, INFO is used for Dual-tone Multi-frequency (DTMF) relay and mid-call signaling information. PUBLISH, NOTIFY, and SUBSCRIBE give support to the presence systems. REFER is used for call transfer and MESSAGE for chat applications. Newer requests can appear depending on the protocol standardization process. Responses to these requests are in the text format as in the HTTP protocol. Some of the most important replies are shown as follows: