What is Session Description Protocol (SDP)?
Session Description Protocol (SDP) is an Internet Engineering Task Force (IETF) standard that is used to describe multimedia sessions in a format that can be understood by computers. The protocol enables the description of parameters such as transport protocol, media format, and encryption for real-time multimedia communication sessions. It was initially designed for use in the session initiation protocol (SIP) but has found applications in other protocols as well.
To understand SDP, it is essential to first define what is meant by a session in the context of multimedia communication. A session comprises a group of participants exchanging multimedia content such as voice, video, and data in real-time. A session may comprise a one-to-one conversation, a conference with multiple participants, or a broadcast session.
SDP provides a standardized format for describing multimedia sessions, which enables interoperability between different systems and applications. The basic structure of an SDP message comprises a session-level description, followed by media-level descriptors. The session-level description includes the session’s start and end times, the session’s owner, the session’s global information, and session-level attributes. Media-level descriptors include information on the type of media in use, such as audio or video, the media’s format and codec, and transport protocols.
SDP enables multimedia endpoints to exchange information about the technical parameters of the multimedia session, which helps ensure compatibility between different systems. This exchange of information occurs during the SIP transaction, which initiates a session.
SDP is a prolific protocol used in many applications where multimedia communication takes place. For example, SDP is used in web conferencing protocols such as WebRTC and in the real-time transport protocol (RTP). SDP is also used in applications such as streaming, Voice over IP (VoIP), and instant messaging.