Home

 / Blog / 

Session Description Protocol - Everything You Need To Know

Session Description Protocol - Everything You Need To Know

November 6, 20234 min read

Share

Session Description Protocol Cover Image.png

Definition

Session Description Protocol (SDP) is a text-based format that meticulously outlines the attributes and parameters of a multimedia session. In essence, it serves as a blueprint, providing the technical specifications required to set up real-time services. This could range from video conferencing and VoIP calls to streaming your favorite music. Think of SDP as the coordinator that ensures all the technical gears mesh perfectly during a multimedia interaction.

What does it really mean?

At its core, the Session Description Protocol (SDP) is like the ultimate coordinator for digital communications, ensuring that everyone, regardless of their equipment's capabilities, can interact seamlessly. Imagine you're organizing a video conference where one team has cutting-edge 4K video capabilities and the other is equipped with standard laptops capable of 1080p video. SDP is the behind-the-scenes negotiator that allows these teams to find a common resolution so that the meeting proceeds without a hitch. It's akin to an interpreter who helps two people speaking different languages understand each other, allowing them to carry on a conversation smoothly.

History of SDP

Understanding Transfer Protocols

In the digital realm, transfer protocols are the essential rules that enable devices to communicate over a network. They are like the languages of the internet, determining how data is formatted, transmitted, received, and acknowledged. Whether it's HTTP for web browsing or FTP for file transfers, these protocols ensure that the vast and varied components of the internet can speak to each other efficiently. But they lack the mechanisms to describe media sessions in a way that allows for real-time communication and synchronization between endpoints, which is essential for applications like VoIP or video conferencing.

SDP outlines the technical details for establishing multimedia communication sessions, such as codecs and IP addresses while working with protocols like SIP to manage the sessions. It defines session properties in a standardized format, crucial for setting up everything from phone calls to live broadcasts.

What was used before SDP?

In the initial days of multimedia communication, the world operated without a standardized protocol. Setting up a multimedia session was akin to painstakingly crafting a unique event every single time. The industry made its first significant leap towards structure with the H.323 protocol, an early contender that attempted to streamline the process but still had its quirks.

Sample H.323 Message

Setup(UUIE)
{
  protocolIdentifier = { 0,0,8,2250,0,4 };
  sourceAddress = { e164, "1234567" };
  destinationAddress = { e164, "7654321" };
  activeMC = FALSE;
  conferenceID = 128 bits;
}

What challenge did it face?

The multimedia communication realm faced several hurdles:

  • Tedious Setups: Each multimedia session setup was equivalent to manually writing individual invitations for an event, with intricate details about the venue, dress code, and agenda.
  • Lack of Flexibility: The existing protocols, such as H.323, were rigid, offering limited flexibility to adapt to the rapidly evolving needs of multimedia communication.
  • Error-prone Process: The manual approach was not just labor-intensive but also highly susceptible to errors, leading to unsatisfactory user experiences.

How is SDP solving it?

SDP revamped multimedia communication by introducing a universal format to describe sessions. It streamlined the entire process, from setting the media types to specifying the codecs, ensuring compatibility across various devices. Furthermore, by working hand-in-hand with other protocols like RTP and SIP, SDP paved the way for a seamless, integrated, and efficient multimedia communication system.

Information Contained in SDP

In professional networking and telecommunications, SDP operates as a detailed "contract" that lays out the technical specifics for setting up real-time services like video conferences, VoIP calls, and media streaming. This contract is not just about ensuring that the video feeds align but also involves complex parameters such as audio and video codecs, IP addresses, and port numbers. SDP works with other protocols, notably SIP (Session Initiation Protocol), to establish, conduct, and conclude multimedia sessions. It's a testament to the protocol's flexibility and importance that it is used across various applications, from a simple phone call to a complex live broadcast of an international event.

Defined in the Internet Engineering Task Force's RFC 4566, SDP doesn't transfer media by itself; rather, it sets the stage for media transfer by detailing the session's properties using succinct key-value pairs. These include the protocol version (v=), the session's originator and identifier (o=), and the media description (m=), among others. SDP's real prowess is in its ability to be transported through multiple channels, be it SIP, RTSP, or embedded in HTTP/HTTPS for WebRTC applications. With its extensible attributes (a= lines), SDP is adaptable, allowing for specialized vendor-specific functions, whether it's setting up encrypted sessions or specifying bandwidth for high-definition streams.

Sample SDP Message

v=0
o=bob 2890844527 2890844527 IN IP4 server.somewhere.net
s=Conference Call
c=IN IP4 server.somewhere.net
t=0 0
m=audio 49200 RTP/AVP 8
a=rtpmap:8 PCMA/8000
m=video 51400 RTP/AVP 34
a=rtpmap:34 H263/90000
m=audio 53100 RTP/AVP 101
a=rtpmap:101 telephone-event/8000

Frequently Asked Questions

What is the difference between an SIP and an SDP?

SIP (Session Initiation Protocol) is a signaling protocol to initiate, modify, and terminate multimedia sessions. SDP (Session Description Protocol) describes the multimedia content of the session, such as codecs and media types. While SIP handles the setup and control of sessions, SDP provides the technical details for the actual media exchange.

What is SDP in RTSP?

In RTSP (Real-Time Streaming Protocol), SDP (Session Description Protocol) is used to convey media streaming details. SDP provides the technical specifications, like codecs and transport protocols, for the media streams. RTSP utilizes SDP to ensure both the server and client understand and agree on the streaming parameters.

Why SDP is required with SIP?

SDP (Session Description Protocol) is embedded within SIP messages to convey the media negotiation parameters, such as codecs, media formats, and transport protocols. Including SDP in SIP ensures that endpoints can negotiate and agree on the technical specifics for a successful media exchange.

References

  • https://www.ietf.org/rfc/rfc2327.txt
  • https://en.wikipedia.org/wiki/Session_Description_Protocol
  • https://developer.mozilla.org/en-US/docs/Glossary/SDP

Glossary

Share

Related articles

See all articles