iOS WebRTC only working on a LAN
Currently I have an iOS application (client) that is streaming to a C application (server) over WebRTC using Gstreamer on both ends. The applications are working fine on a LAN but when I switch to a WAN, "pad-added" never gets called on iOS client or in C server for the bidirectional video feed. Checking our signaling server log I can see the ICE and SDP messages are being generated and sent when using there WAN.
I am using Coturn at the STUN and TURN server.
I am doubtful the Coturn is the issue because I have a C client application, and that has no issues communicating to our C server, on the LAN or WAN. I have also setup the centricular WebRTC sendrecv demo to use our Coturn server and it works with no issues over the LAN and WAN. I am also doubtful the C server is the issue, since the same exact server code works with our C client over the wan.
Possibly Relevant Information:
- Server is running Ubuntu 19.10 and Gstreamer 16.1
- iOS is using Xcode 11, iOS 13 and Gstreamer 16.1
- Coturn is version 126.96.36.199 on Ubuntu 19.10
One interesting I noticed is on the server the version of lib nice is 0.1.14 and the version of lib nice on iOS is 0.1.15. I wonder if there can be a compatibility issue here.
Any suggestions on how I can debug this?