Session description protocol definition
Session description protocol (SDP) is a format that applications use to describe multimedia communication sessions. It’s a crucial part of voice calls, video conferences, and streaming. SDP gives the necessary information to establish these sessions, including details about the media type (audio, video, text), the format (codec), network information (IP address, port), and session timing. SDP does not transport the media, but it initiates the connection by sharing all required parameters between endpoints.
See also: VoIP, VoIP gateway, session control protocol, session border controller
How SDP works
During the setup for a communication session, involved parties exchange SDP messages. They include details like the session name, purpose, media types (audio, video, etc.), transport protocols, codec formats, and network information (addresses and ports).
For example, in a Voice over IP (VoIP) call, the caller's system sends an SDP message to the recipient's system, specifying its capabilities and preferences. The recipient's system responds with its own SDP message, and the two negotiate the best settings for the session.
Structure
An SDP message has several lines, each starting with a single character (a field name) followed by an equals sign and a value:
- v= (version): Indicates the SDP version.
- o= (origin): Session originator’s username, session ID, and network type.
- s= (session name): A mandatory field specifying the name of the session.
- c= (connection information): States the network connection information.
- t= (time): Indicates the start and stop times for the session.
- m= (media): Describes the media type, transport port, and the transport protocol.
- a= (attribute): Provides additional attributes like codec information or encryption keys.