SIP Services


SIP or ‘Session Initiation Protocol’ is an IP telephony signaling protocol developed by the IETF. Primarily used for voice over IP (VoIP) calls, SIP can also be used for video or any media type; for example, SIP has been used to set up multi-player games, and SIP is also used for instant messaging.

SIP is a text-based protocol that is based on HTTP and MIME, which makes it suitable and very flexible for integrated voice-data applications. SIP is designed for real-time transmission, uses fewer resources and is considerably less complex than H.323. Its addressing scheme uses URLs and is human readable; for example: sip:user@examplecompany.com.

SIP relies on the session description protocol (SDP) for session description and the Real Time Transport Protocol (RTP) for actual transport (see RTP and SDP). Windows XP was the first version of Windows to natively support SIP for PC-based phone applications, and numerous vendors make SIP desktop phones.

SIP Network Elements:

SIP User Agents (UAs) are the end-user devices, used to create and manage a SIP session. A SIP UA has two main components, the User Agent Client (UAC) sends messages and answers with SIP responses, the User Agent Server (UAS) responds to SIP requests sent by the peer. SIP UAs may work in point to point mode. Typical implementations of a UA are SIP soft phones, SIP hard phones and SIP-enabled ATAs.

SIP also defines server network elements. Although two SIP endpoints can communicate without any intervening SIP infrastructure, which is why the protocol is described as peer-to-peer, this approach is impractical for a public service. There are various implementations that can act as SIP servers:

Proxy Server: An intermediary entity that acts as both a server and a client for the purpose of making requests on behalf of other clients. A proxy server primarily plays the role of routing, which means its job is to ensure that a request is sent to another entity “closer” to the targeted user. Proxies are also useful for enforcing policy (for example, making sure a user is allowed to make a call). A proxy interprets, and, if necessary, rewrites specific parts of a request message before forwarding it.