SIP is an application layer signaling protocol used for creating, modifying and terminating sessions in an IP based network with one or more participants. The participants are nothing but the endpoints communicating with each other. A session can simply be thought of as a basic 2-way telephone call or a multimedia conference session.
SIP has borrowed features from two widely used Internet Protocols:
a) HTTP -> Hyper Text Transport Protocol used for web browsing. SIP borrowed a client-server design plus the use of Uniform Resource Locators(URLs). SIP is like a request/response protocol due to the fact that it uses a Client-Server architecture.
b) SMTP -> Simple Mail Transport Protocol used for e-mail. SIP borrowed a text-encoding scheme and
SIP was originally designed by Henning Schulzrinne (Columbia University) and Mark Handley (UCL) starting in 1996. Initial drafts were in the form as:
SIP Invitation Protocol: M.Handley, E.Schooler
Simple Conference Invitation Protocol: H.Schulzrinne
SIP effort then originated in the IETFs MMUSIC (Multiparty Multimedia Session Control) working group in 1996 during February and it published a draft, which was titled "draft-ietf-mmusic-sip-00,". It included only one request type, which was a call setup request. For the ongoing years several revisions were done on this draft.
In January 1999, IETF published a draft called "draft-ietf-mmusic-sip-12" which had six requests that SIP has today. SIP RFC 2543 was the first publication in March 1999. Working group made some changes to it in 2000 and it was then called as RFC 2543 bis which was published officially as the well known RFC 3261.
Just for information sake, few other important SIP working groups are:
SIMPLE (SIP for Instant Messaging and Presence Leveraging Extensions) Working Group. This group expanded the original SIP specification to involve delivery of Instant Messages through the use of MESSAGE request and to know a user's current status called Presence as online/offline or on a call.
SIPPING (Session Initiation Protocol Investigation) Working Group. Key features of this group include investigate applications of SIP, develop requirements for SIP extensions, publish BCP (best current practice) documents. Note: The SIP protocol is situated at the session layer in the OSI model, and at the application layer in the TCP/IP model. SIP is designed to be independent of the underlying transport layer i.e it can run on top of several different transport protocols like UDP, TCP, TLS or SCTP. SIP only provides setup and control of sessions. For an overview please read Functions Of SIP
Importance Of SIP (Are there any ???) :
It was considered that the way in which HTTP spread itself over the entire Web, SIP would follow the same path for the telecommunication world.
- This protocol is in use for a long time now and has gradually become rock-solid.
2. Modular Design and Highly Scalable
- Textual encoding(telnet, tcpdump compatible)
- URL addressing style and syntax (like HTTP)
- Easily extendable
- Features like encryption(SSL, MIME), authentication, denial-of-service prevention and privacy services are available.
4. Not Limited to Internet Telephony
- Since it can run on UDP based protocol, it is extremely efficient.
Now, we can say that SIP has ample of advantages and is one of the favorites in the market for Voice Over Internet Telephony.
- Because of the ongoing demand for SIP by all the entire telecommunications industry it is rapidly becoming a Standard. Other technologies may have few advantages over SIP, but currently they lack global adoption.
To test the interoperability of our applications with other tools, equipments, and servers SIP is the best way to go. Vendors are quite serious to test the interoperability of the products together on a regular basis in meetings called as SIP it for SIP Interoperability Tests.