webrtc-sdp-negotiation
Installation
SKILL.md
SDP Negotiation & ICE
Source: MDN Introduction to WebRTC protocols, Google Developers Getting started with peer connections, MDN RTCPeerConnection.setLocalDescription()
Purpose
This is the core handshake that establishes a WebRTC peer-to-peer connection. It covers the SDP offer/answer exchange (what media/codecs each peer supports) and ICE candidate gathering (how to route around NATs/firewalls). Signaling — the channel for exchanging this metadata — is not defined by WebRTC and must be implemented separately (WebSocket, REST, etc.).
When to Use
- Setting up any WebRTC
RTCPeerConnectionbetween two endpoints - Implementing the offer/answer lifecycle (including renegotiation for adding/removing tracks mid-session)
- Configuring ICE servers (STUN/TURN) for NAT traversal
- Debugging connection failures or SDP mismatches