Internet telephony is quickly becoming the ideal option for most firms, owing to its increased reliability and accessibility. Two application layer protocols form the backbone for IP telephony, SIP and RTP.  The Session Initiation Protocol (SIP) exists within the Network Layer, Internet Protocol, and is responsible for the signaling in the call.  Within the SIP (over UDP or TCP) the Session Description Protocol (SDP) is established, allowing for the RTP (Real Time Protocol) to be set up and maintain a connection for real time content, such as voice or video.  SDP is negotiated between the originating UA and the termination device (often times a proxy or SBC between the actual endpoint). A session, in this case, refers to an exchange of data between two endpoints.

In terms of how it functions, the designers and developers of SIP sought to come up with a call setup and signaling protocol for internet telephony.  They intended for it to support at least as many of the features and call processing functions that were in the Public Switched Telephone Network (PSTN) as possible. To do that, SIP follows similar underlying concepts like its predecessor, PSTN, except it runs its calls over the internet as opposed to the traditional POTS (plain old telephone service) lines.  

To start using SIP, users must first obtain a unique SIP address/account, which is typically provided by the chosen VoIP service provider. The user also needs SIP capable hardware or to install a SIP client on their device, also known as a ‘Softphone’. A SIP client typically contains the full featured functionality of traditional voice lines as well as expanded features, such as Call Park.

Using the assigned SIP addresses and authentication details, in most cases, the users register with a registrar server. When a user initiates a call a SIP request is sent to a SIP server, this request will include a To number or address indicating where the call is destined.  A typical call flow originating from a SIP endpoint will follow:  

  • First, a caller sends an INVITE request to the SIP server, which then authenticates the call and will process any call handling and call routing information.
  • The SIP server will send a packet either indicating ‘Ringing’ or a failure code for varying reasons.
  • The SIP server will then set up a call leg for the callee according to the routing rules for the dialed destination.
  • Then, provided the destination party is available, the call will be established by an OK with SDP negotiated to establish RTP.

It is worth noting that SIP does not itself transport RTP, but it takes care of the signaling required to establish the call. First, it helps identify user location, as demonstrated earlier. Moreover, it also helps in identifying user availability, which involves determining whether the callee is willing to engage in communication. SIP also helps in determining user capability, in the sense of the media parameters to be used and what each UA can support. Most importantly, it helps setup a session by establishing session parameters at both the caller and the “callee” party. Lastly, it facilitates session management. For instance, session transfer, creating a conference, termination of sessions, and so on. It also helps in the modification of session parameters and invoking services.       

SIP has had a large impact on the telephony industry, allowing for sometimes upward of 75% cost savings versus traditional premise-based POTS lines.  Besides cost savings VoIP allows for increased reliability due to continuously upgraded internet infrastructure by service providers, and increased mobility of users.