Observation for iPhone 7 that the WebRTC sample peer connection demo works on Wi-Fi, but does not work on mobile networks. Same results with both iOS 15.1 and 15.2.
https://webrtc.github.io/samples/src/content/peerconnection/pc1/
Observation for iPhone 7 that the WebRTC sample peer connection demo works on Wi-Fi, but does not work on mobile networks. Same results with both iOS 15.1 and 15.2.
https://webrtc.github.io/samples/src/content/peerconnection/pc1/
Investigating this issue further, reveals iPhone is scrambling IP addresses to something like
b252fe7e-2bcf-4fd4-8db0-fe2a450defd9.local 56245
localPeerConnection ICE candidate: candidate:2384342172 1 udp 2122260223 b252fe7e-2bcf-4fd4-8db0-fe2a450defd9.local 56245 typ host generation 0 ufrag hu67 network-id 1 network-cost 900 (main.js, line 126)
its failing the UDP negotiation, then trying a TCP negotiation and failing.
localPeerConnection ICE candidate: candidate:3231567980 1 tcp 1518280447 b252fe7e-2bcf-4fd4-8db0-fe2a450defd9.local 9 typ host tcptype active generation 0 ufrag hu67 network-id 1 network-cost 900 (main.js, line 126)
Testing against a turn server, shows that the UK mobile network Three is blocking UDP packets with the scrambled IP, but Mobile network O2 is not blocking the scrambled IP from sending UDP.
My conclusion is that mobile network NAT's for scrambled IP's cannot be resolved for a basic single tab peer to peer connections.
Attempts at disabling mobile network settings "Limit IP address Tracking" has not had the desired effect of unscrambling iPhone iOS 15 IP addresses and getting WebRTC on iPhone to behave like other mobile devices / iOS 14.
Does Apple have plans to fix the peer to peer connection issues? At least ask the user if they would like to use WebRTC and disable the settings that is breaking it for the duration of the WebRTC connection?
It appears as though WebRTC mDNS ICE candidates are enabled by default in iOS15, and users are unable to disable it.