Using JSON for WebRTC Session Negotiation
The WebRTC protocol assumes that a signaling link is available between the two endpoints of a streaming media session before the session starts. The signaling link is used to negotiate the parameters of the media session. During session negotiation, SDP and ICE candidates are exchanged through the signaling link. After these are exchanged, a direct media session can be established between the two endpoints.