Now that we've covered the protocols individually, we can put them together. This article describes how the varous WebRTC-related protocols interact with one another in order to create a connection and transfer data and/or media among peers.
What is an Offer/Answer and Signal Channel?
Unfortunately WebRTC can’t create connections without some sort of server in the middle. We call this the Signal Channel. It’s any sort of channel of communication to exchange information before setting up a connection, whether by email, post card or a carrier pigeon... it’s up to you.
The information we need to exchange is the Offer and Answer which just contains the SDP mentioned above.
Peer A who will be the initiator of the connection, will create an Offer. They will then send this offer to Peer B using the chosen signal channel. Peer B will receive the Offer from the signal channel and create an Answer. They will then send this back to Peer A along the signal channel.
What is an ICE candidate?
As well as exchanging information about the media (discussed above in Offer/Answer and SDP), peers must exchange information about the network connection. This is known as an ICE candidate and details the available methods the peer is able to communicate (directly or through a TURN server).