What is SIP protocol?
Someone once tried explaining SIP protocol to me. The explanation flew past my head, went over a wall and pretty much missed everything that tried to stand in its way until it reached a communication engineer. It was simply too technical. Recently, Freshcaller released two new features — SIP connections and SIP forwarding. Very soon we’ll be rolling out SIP trunking as well. While it is great news for our customers, it also meant that some of us *ahem* had to finally understand what SIP meant. How do you advocate something you don’t understand? You don’t.
Breaking down SIP protocol
One of the best ways to begin understanding a concept is to break down its name. SIP stands for Session Initiation Protocol.
In computer science and telecom, a protocol is a globally accepted set of rules that prevent any ‘misunderstanding’ between two systems while they exchange information and commands with each other. It dictates how information is organized so that a receiving device (your cellphone, for example) can perfectly understand a sending device (let’s say, a laptop) — one could say, it makes sure that both devices are speaking the same language and playing by the same rules.
Here are some protocols that we encounter almost daily and take for granted: The hypertext transfer protocol (HTTP) allows web servers and web browsers (like Chrome, Firefox) to communicate with each other, and subsequently show us websites or web pages. The IP (internet protocol) helps networks to interact with each other and lays the foundation for the entire internet.
Similarly, SIP is a protocol that enables phones, mobile devices and computers to make phone calls or video calls with each other, or even send IMs and text messages. It enables two parties to talk to each other (over a phone call) or multiple parties to be part of a conversation (like a call conference or a group video call).
Now, what is a session? A session, in telecommunication, is a period of time devoted to the exchange of data and commands between two devices. This exchange of information is also called signaling (remember this).
Initiation of course means the act of beginning something. However, SIP doesn’t just take care of initiating a session. It takes care of establishing, maintaining as well terminating one.
So, what is SIP?
Now that we’ve broken down all the terms, let’s try to put them together. Session Initiation Protocol is a signaling protocol that initiates, maintains and terminates real-time sessions between two systems on an IP network (any network that follows the IP protocol we encountered earlier). In simpler language, SIP protocol is a set of rules that allows two systems to start (and stop) exchanging information over a network like the internet. An everyday example would be a phone call or a video call made over the internet.
What does SIP protocol handle?
It’s important to note that this protocol does not handle each and every dimension of such calls or messages. In fact, these are the five aspects of calls handled by SIP:
1) User Location
User location determines the location of the recipient and enables them to answer calls or receive messages even when they are on the move.
2) Use Availability
User availability finds out whether the recipient is available or online to receive your calls or texts.
3) User Capability
User Capability makes sure that the recipient’s device is equipped to handle certain kinds of media — video, for example.
4) Session Set-up
Session set-up is what we call, in common parlance, ‘ringing’.
5) Session Management
Session Management enables any action that we take between calls like transferring or creating a conference.
In short, SIP protocol finds out if a person is in a location where they are accessible (and not in a remote place with no network coverage) and if they are available to respond. Then, it checks if the recipient has a device compatible with the kind of communication sent (a cellphone that can play video, for instance) and rings them up. Once they answer, it permits them to perform on-call actions and then eventually hang up!
What does it mean for cloud telephony users?
Phone systems on the cloud typically allow us to make and receive calls on our computers. SIP protocol enables users to establish sessions between computers and IP phones (phones that transmit calls over an IP network). This means that with the help of SIP, customer service teams, call center agents and sales reps can toggle between their laptop, desk IP phone and call center app to manage their phone calls.
So even if businesses want to switch to cloud telephony, they needn’t put their deskphones up for sale or discard them to sit in a landfill somewhere.
Applications of SIP in business telephony
SIP enables cloud phone systems to have the following features.
1) SIP trunking
SIP trunking allows VoIP phone systems to connect with regular phones that are on public telephone networks. This allows businesses to maintain both VoIP systems and your plain old telephone systems (POTS). If your reps are reluctant to adopt new systems one fine morning, this a great way to transition them into cloud telephony.
2) SIP forwarding
SIP forwarding facilitates users to bring their own carriers or numbers to a new phone system. For example, this comes in handy if you want to switch to Freshcaller and you do not want to port in your existing numbers. You can opt to retain your carrier and still define call flows for all your numbers in Freshcaller.
3) SIP connections
SIP connections is your basic application of SIP protocol — connecting VoIP phone systems to SIP phones. You can activate SIP credentials, like login and URI, in your VoIP phone system and key them in your phone to connect them. A SIP URI (the equivalent of a phone’s number) typically looks like this: ‘domain01.sip.us1.twilio.com’
Well, that was SIP 101 for you. Let us know in the comment section if this flew past your head or if it stuck. And if you feel that you are ready to take the next step in understanding SIP, check out our Advanced Guide to SIP terms.
Illustration by Nikhil Kanda
Subscribe for blog updates
Thank you for subscribing! Please check your e-mail to confirm.
OOPS! something went wrong try after sometime