The first version of SIP was published in 1999, than the standard was updated to version 2.0 in 2002.
SIP is a text-based protocol. The formatting of SIP requests and responses is based on HTTP. Endpoints that communicate using SIP use the following protocols:
- SIP used to establish and terminate the session;
- Session Description Protocol (SDP for short), used to exchange information about audio channels;
- RTP used to send the real-time streams of audio across the network.
SIP messages are exchanged between two endpoints. The exchange of messages consists of a request and the response or responses. The messages that belong to the same activity / transaction share the same activity / transaction ID. This ID is called CSeq in SIP. Each activity / transaction should have a CSeq number, with only a single exception: the ACK message (ACK for “acknowledge”) uses the same CSeq number as the activity / transaction in which it applies.
- Messages: There can be two types of messages: Request and Responses;
- Transaction: Occurs between client and server;
- Dialog: A dialog is just a series of transactions between two SIP peers. The purpose
of a dialog is to setup, possibly modify, and then tear down a session. It’s a completed request with Call-ID, To and From Tags established which may or may not consist of a media stream.
A SIP network can consist of a number of components. It is often the case in practice that some of the components are combined in one SIP server.
- Proxies, registrars, and redirect servers.
Components of the SIP network:
- User Agent: The User agent is seen as an endpoint which can initiate, modify, or terminate a session. It could be a softphone, a mobile, or a workstation. User agents are logically divided into two segments − The User Agent Client (UAC) role, the UA sends requests. In the User Agent Server (UAS) role, the UA receives requests and sends responses.
- Registrar: The registrar server accepts registration requests from user agents. It helps users to authenticate themselves within the network. The REGISTER message contains location information, i.e. IPADDR, hardphones, and softphones.
- Proxy: It is the network element that takes a request from a user agent and forwards it to another user.