iosswiftwebrtcapprtcxirsys

iOS WebRTC P2P Connection with ICE Server


I have an ios app written in swift setup with AppRTC code from here.

I have the app setup on two phone and everything works when connecting to googles http://appr.tc. I would like to take google's apprtc out. When I setup both apps with ICE servers (STUN/TURN) but no rtc server the apps are not able to connect to each other. They both log WARNING: Renegotiation needed but unimplemented. How can I have the two apps webRTC communicate back and forth using only the ICE servers?


Solution

  • WebRTC needs a signaling server to exchange ICE credentials + candidates as well as DTLS fingerprints. The ICE servers are not a replacement for the signaling server.

    See https://bloggeek.me/media-signaling-flows-look-like-webrtc/ or https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/ for two pretty good introductions to the topic.