Skip to main content

Module peer

Module peer 

Source
Expand description

Peer websocket forwarding.

When a client connects to /call (or /call/sip, /call/webrtc) with a session id that is not hosted on this node, the node polls every configured peer (crate::config::Config::peers) and tunnels the websocket to the first peer that accepts the call. Forwarding requests carry forward=1 and a visited list so that a peer never silently creates a new call for a find-phase request and so that A→B→A loops cannot occur.

Functions§

try_forward
Attempt to forward a websocket to the first peer that hosts session_id.
tunnel
Bidirectionally relay frames between the client websocket and the peer websocket until either side closes.