Connection Flow
A client establishes media and signaling through a two-phase handshake: an initial HTTP join, followed by a DataChannel RPC channel.
Sequence
Section titled “Sequence”- Client sends HTTP POST
/rtc/joinwith token, room info, and optional DTLS fingerprints. - Server creates transports and signal DataChannels, returns a
JoinResponse. - Client sets up the mediasoup-client device, creates transports, and establishes the signal DataChannel.
- Client sends a
readyRPC over DataChannel with its RTP capabilities. - Server responds with the other participants and begins auto-subscribing to their tracks.
Reconnection & node forwarding
Section titled “Reconnection & node forwarding”- Reconnection — clients reconnect with a
SyncStateto reconcile track differences seamlessly. - Node forwarding —
JoinRequestandConnectRequestsupport anodeIdfor cross-node request proxying via NATS. - Token refresh — tokens are renewed over DataChannel to avoid reconnection on expiry.