SDP is older than WebRTC — it dates to RFC 4566 (2006) and was originally part of SIP and SAP for VoIP and multicast session announcement. WebRTC adopted SDP for its session negotiation: when a peer connection starts, the initiator generates an SDP "offer" listing its supported codecs, transport parameters, ICE candidates and security info; the recipient responds with an "answer" picking what they support; the two sides exchange them through a signalling channel (typically WebSocket) and then run ICE to establish the actual media flow.

SDP is plain text with line-oriented syntax (each line starts with a one-letter type code: v= for version, m= for media, a= for attribute). A modern WebRTC SDP for one video + one audio runs to 50–100 lines. The format is widely criticised for being verbose and prone to interop bugs (browser SDP parsers each have their quirks), but no successor has displaced it in WebRTC. WHIP and WHEP both use SDP for their HTTP POST payloads.

For developers, SDP is mostly hidden inside RTCPeerConnection.setLocalDescription() and setRemoteDescription(). It only surfaces when something goes wrong — codec negotiation fails because one side lacks a profile, ICE candidates don't trickle correctly, DTLS fingerprints mismatch. Inspecting SDP is a routine WebRTC debugging skill; tools like webrtc-internals in Chrome and rtcstats in Firefox dump it on demand.

Book cover: Video Streaming, Volume 3 of the Fora Soft Video Engineering Handbook

The book · Volume 3 of 7

Video Streaming: A Complete Guide to Video Delivery: From ABR and CDNs to Players, WebRTC, DRM, and the Economics of Streaming

SDP is the negotiation text every WebRTC call exchanges, and a single wrong line can drop a codec or break the connection. Volume 3 covers WebRTC and real-time delivery in detail, alongside players, ABR and QoE monitoring, so you can read an SDP offer and answer and see why two peers failed to agree. Written by Nikolay Sapunov, CEO at Fora Soft.

Read it on Amazon →Kindle & paperback · Fora Soft Video Engineering Handbook

WebRTC calls failing to connect even though the SDP offer and answer look fine?

Send us SDP logs from a failing call and we will pinpoint the negotiation problem and return a fix for your signalling code. 250+ video products shipped since 2005.

Book a 30-min call →WhatsApp →Email us →