Files
meet/docs/features/signaling.md
lebaudantoine ad084e2e52 📝(docs) document signaling configuration and related env vars
Add detailed documentation on signaling server configuration
and associated environment variables to help administrators properly
configure WebRTC connection establishment.
2025-10-06 13:08:46 +02:00

2.0 KiB
Raw Permalink Blame History

Signaling

Signaling is essential for LiveKits real-time communication. It enables peers to discover each other, exchange session descriptions, and negotiate network paths for audio and video streams.

How Signaling Works

LiveKit signaling relies on a WebSocket connection between the client and the LiveKit API server. This WebSocket is required for all signaling messages, including session descriptions, ICE candidates, and connection state updates.

We do not cover internal signaling behavior. For full reference, see the LiveKit client protocol.

Important

The WebSocket is the backbone of LiveKit signaling. All signaling messages rely on it, and without it, ICE candidate exchange and peer connection setup cannot occur. If the WebSocket connection is lost, the client automatically attempts to resume the RTC session once connectivity is restored.

Environment Variables

Variable Type Default Purpose
LIVEKIT_FORCE_WSS_PROTOCOL Boolean True Forces the WebSocket URL to use wss://. Required for legacy browsers (Firefox <124, Chrome <125, Edge <125) where HTTPS URLs in WebSocket() may fail.
LIVEKIT_ENABLE_FIREFOX_PROXY_WORKAROUND Boolean True Workaround for Firefox clients behind proxies that fail to establish WebSocket connections. Pre-establishes a dummy connection to “prime” the WebSocket.

Note

Questions? Open an issue on GitHub or join our Matrix community.