WebRTC signalling is deliberately not in the spec
The WebRTC specification covers ICE, DTLS, SRTP, and the media pipeline. It does not cover signalling. There is no mandated way to exchange an offer and an answer.
Why
Because signalling is where products differ. A conference app, a one-to-one call button, and a browser-based support widget have nothing in common at the signalling layer. The working group left it out on purpose.
What you actually have to build
- A transport for SDP offers and answers (WebSocket, usually).
- A way for two peers behind symmetric NAT to learn about each other (a TURN server).
- Presence, so you know whether the other side is online.
- Reconnection logic for when the network changes mid-call.
The part people underestimate
TURN. Roughly ten to twenty percent of calls need it, and it costs bandwidth because the relay carries the media. Budget for it from the first day, not after launch.