What is SIP?

What is SIP?

SIP stands for Session Initiation Protocol. SIP is a “signaling” mechanism, used for setting up and managing real-time communications sessions such as audio and video calls.

The development of SIP dates from the late 1990s. Digital telephone systems were beginning to replace analog telephone systems. There was a clear need for interoperability between products from different manufacturers. The SIP standards process was largely driven by this need as usage grew of cellular telephones and Voice-over-IP (VoIP) business telephone systems.

Because of this history, SIP is often closely associated with “traditional” telephony technology. But the history of the standard is more interesting than that! The first version of SIP was created by researchers who were developing the experimental Mbone Internet multimedia overlay network.

SIP’s roots in Internet research meant that from its earliest versions it allowed for managing multimedia streams in a flexible, digitally native fashion. In the years since it was first standardized, SIP has been extended many times to support new technologies and use cases.

Most systems that use SIP also use a related standard, Session Description Protocol (SDP), for communicating about the capabilities of participants in a multimedia session.

When the WebRTC standard was developed, SDP messages were specified as part of the new standard, but SIP itself was not used. Today, WebRTC powers video and audio calls in web browsers, Facetime, Facebook Messenger, WhatsApp, and many, many more of today’s video calling applications.

Today’s WebRTC platforms generally use SIP only for interoperability with other systems. For example, WebRTC Platforms-as-a-Service use SIP to bridge dial-in telephone calls into WebRTC video and audio sessions.

The most important IETF RFCs defining SIP, SDP, and WebRTC are:

  • RFC 3261 — SIP: Session Initiation Protocol
  • RFC 3264 — An Offer/Answer Model with the Session Description Protocol (SDP)
  • RFC 8825 — Overview: Real-Time Protocols for Browser-Based Applications

Want to learn more about WebRTC? Visit our community, developer resources, or our blog.