FAQ    

 

 

What is SDP ?

SDP (Session Description Protocol) is a format for describing multimedia communication sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. Defined in RFC 4566, SDP itself does not deliver media or initiate a session but is used in conjunction with other protocols such as SIP (Session Initiation Protocol) in IMS or WebRTC for establishing real-time multimedia sessions over the Internet.

SDP provides a standardized way to describe the parameters of multimedia sessions, facilitating the negotiation and establishment of media streams between participants in a networked environment.

Key Aspects of SDP:

  • Purpose: SDP is used to convey information about media streams in multimedia sessions to allow the recipients of a session description to participate in the session. This includes information such as the type of media (audio, video, etc.), the codecs being used, the IP addresses and ports to be used, and any other details necessary for establishing and participating in the session.
  • Format: SDP is a simple text-based format, consisting of a series of lines of text of the form <type>=<value>. Each line starts with a single character that defines the type of the line, followed by an equals sign (=) and the value for that type.
  • Usage in SIP: In the context of SIP signaling, SDP is commonly used within the payload of SIP messages (such as INVITE or 200 OK) to describe the media aspects of the call or session being established. This allows the communicating parties to negotiate and agree upon the media types, formats, and transport addresses to be used.

Example of SDP Usage:

In a SIP INVITE message initiating a VoIP call, the body of the message may contain an SDP payload that looks something like this:

v=0
o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5
s=SDP Seminar
i=A Seminar on the session description protocol
c=IN IP4 224.2.17.12/127
t=2873397496 2873404696
a=recvonly
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
  • v=: Protocol Version.
  • o=: Originator and session identifier.
  • s=: Session name.
  • i=: Session information (optional).
  • c=: Connection information—typically the IP address.
  • t=: Timing (start and stop times).
  • a=: Zero or more session attribute lines.
  • m=: Media description, specifying the media type, port, and protocol.
  • a=rtpmap=: Describes the media format for the RTP/AVP (Audio Video Profile).

Significance:

  • Interoperability: SDP supports a wide range of applications, codecs, and media types, making it a flexible tool for establishing multimedia sessions across different platforms and networks.
  • Simplicity and Extensibility: Its simple, text-based format makes it easy to parse and generate by different devices and applications, while also being extensible to support new types of media and features.
  • Widespread Adoption: SDP is widely used in Internet telephony, conferencing applications, and streaming media services, underscoring its importance in modern multimedia communication.

Further Readings