Signaling — ваш канал для SDP/ICE. ICE + STUN/TURN находят path. Всё encrypted (SRTP/DTLS). ~10–20% нужен TURN.
Разбор
Signaling yours to build. WebRTC standardizes media, not discovery. SDP blobs — offer/answer + ICE candidates — over WebSocket, SSE, copy-paste.
ICE finds path. Candidates: local IP (host), public via STUN (server-reflexive), relay via TURN. Connectivity checks → best pair wins.
STUN vs TURN — money question. STUN cheap: «how outside sees you» → direct. Symmetric NATs defeat STUN — different port per destination. Then TURN relay — all media through it. Real bandwidth cost; ~10–20% need TURN. No TURN = mysterious failures.
Everything encrypted. Media SRTP, DataChannel DTLS over SCTP. No opt-out. DataChannel configurable unreliable/unordered (UDP-like games) or reliable/ordered (TCP-like files).
Итог
Ship signaling + STUN + TURN budget; symmetric NAT без TURN = silent user failures.