I understand that to establish a peer-to-peer connection
initiator peer
- initialises shared signaling channel
- initialises RTCPeerConnection object (pc)
- requests local stream(s) using getUserMedia
- registers local MediaStream with pc
- creates SDP offer and sends to peer
- trickles ICE candidates
- registers remote ICE candidate to begins connectivity checks
receiver peer
- listens and processes remote offers delivered
- registers remote ICE candidate to begins connectivity checks
- generates SDP answer and sends to peer
But my WebRTC use case is peer-to-server where received streams are processed on my Node.js server. In my use case the server has publicly routable IP address and is listening for any new RTCPeerConnection requests. Because of this, some of the steps involved to establish a peer-to-peer connection seem unnecessary for my case.
- Q1 How do the steps to establish a peer-to-server connection differ from peer-to-peer connection establishment?
Particularly
- Q2 Do I still need a signaling channel?
- Q3 Do I still need the step to trickle ICE candidates?