ICE on iOS on a pure ipv6 network not connecting to ipv4 STUN server

797 views
Skip to first unread message

Simon East

unread,
Mar 19, 2022, 3:32:27 PM3/19/22
to discuss-webrtc
Hello all,

I am trying to debug an issue in WebRTC on iOS where we are trying to connect to an ipv4 STUN server from an iOS device on a pure ipv6 network with a NAT64 gateway in the middle.

We gather a load of candidates on the iOS device - both ipv4 and v6 which gets sent to the server and the SDP data that comes back from the STUN server is a single ipv4 candidate:

a=candidate:tEf1eYdh55lQpEB9 1 UDP 2130706431 185.28.x.x 36692 typ host

Currently the ICE process seems to only try and send STUN packets via the ipv4 interfaces in the iOS device - it seems to ignore the ipv6 interfaces. As the device is only connected via ipv6 these STUN requests obviously fail.

I've managed to build a debug version of WebRTC to debug the code - we are still using M92 because the WebRTC is in fact included in a React Native library and this is what it is using still.

So P2PTransportChannel::CreateConnections gets called to cycle through the various connections and for the ipv6 interface we should be using this ends up calling Port::IsCompatibleAddress which then returns false as the ip families are not the same.

So clearly we have something set up wrong in that the STUN server address is ipv4 and the interface address is ipv6 and so this is never going to work. So I assume somewhere there is a process to take an incoming ipv4 STUN address and make a NAT64 compatibale ipv6 address from that that can then be used? If so does anyone know what we are doing wrong such that that conversion never happens. Does the SDP candidate need to include extra information of some kind?

Thanks, Simon.

Philipp Hancke

unread,
Mar 20, 2022, 9:24:33 AM3/20/22
to discuss...@googlegroups.com
but the candidate you showed is a host candidate (i.e. locally gathered), not a srflx candidate that came back from the stun server?
(which never gets involved with SDP, that is the signalling server)

If you have gathered a ipv4 srflx candidate over an ipv6 interface that should be attempting to pair with any remote ipv4 candidate.
If that is not happening please file a bug at https://bugs.chromium.org/p/webrtc/issues/list (or add a comment to https://bugs.chromium.org/p/webrtc/issues/detail?id=10194 which seems similar)

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/79e96b4a-dbfd-46db-bbc5-8ae3cf69fdf7n%40googlegroups.com.

Harald Alvestrand

unread,
Mar 21, 2022, 6:17:39 AM3/21/22
to discuss-webrtc
the classic IPv6 error is if all the non-deprecated IPv6 addresses are MAC-based unmasked addresses (excellent for tracking tokens). WebRTC ignores them by default.
Can you give the output of "ip addr" or equivalent on the device at the time things don't work?

Simon East

unread,
Mar 21, 2022, 9:49:57 AM3/21/22
to discuss-webrtc
Hi Harald,

Thanks for responding.

I can add in some of the logging if that might help? So at the port gathering phase it gathers a whole set of UDP ports (it gathers the same for TCP as well but they will never get used):

basic_port_allocator.cc:375): Start getting ports with turn_port_prune_policy 0
(basic_port_allocator.cc:111): Filtered out ignored networks:
(basic_port_allocator.cc:113): Net[lo0:0:0:0:x:x:x:x:x/128:Loopback:id=8]
(basic_port_allocator.cc:113): Net[lo0:127.0.0.x/8:Loopback:id=7]
(basic_port_allocator.cc:861): Network manager has started
(basic_port_allocator.cc:111): Filtered out ignored networks:
(basic_port_allocator.cc:113): Net[lo0:0:0:0:x:x:x:x:x/128:Loopback:id=8]
(basic_port_allocator.cc:113): Net[lo0:127.0.0.x/8:Loopback:id=7]
(basic_port_allocator.cc:776): Allocate ports on 8 networks
(basic_port_allocator.cc:1361): Net[en0:2001:2:0:x:x:x:x:x/64:Wifi:id=11]: Allocation Phase=Udp
(port.cc:187): Port[6010c00::1:0:local:Net[en0:2001:2:0:x:x:x:x:x/64:Wifi:id=11]]: Port created with network cost 10
(basic_port_allocator.cc:885): Adding allocated port for audio
(basic_port_allocator.cc:907): Port[6010c00:audio:1:0:local:Net[en0:2001:2:0:x:x:x:x:x/64:Wifi:id=11]]: Added port to allocator
(basic_port_allocator.cc:925): Port[6010c00:audio:1:0:local:Net[en0:2001:2:0:x:x:x:x:x/64:Wifi:id=11]]: Gathered candidate: Cand[:2292354713:1:udp:2122262783:[2001:2:0:x:x:x:x:x]:56000:local::0:o7g6:zJ3M638GnQ1yDOiiNNTgaGA0:11:10:0]
(basic_port_allocator.cc:958): Port[6010c00:audio:1:0:local:Net[en0:2001:2:0:x:x:x:x:x/64:Wifi:id=11]]: Port ready.
(basic_ice_controller.cc:541): Sorting 0 available connections
(basic_port_allocator.cc:1069): Port[6010c00:audio:1:0:local:Net[en0:2001:2:0:x:x:x:x:x/64:Wifi:id=11]]: Port completed gathering candidates.
(basic_port_allocator.cc:1361): Net[en0:169.254.0.x/16:Wifi:id=10]: Allocation Phase=Udp
(port.cc:187): Port[6818c00::1:0:local:Net[en0:169.254.0.x/16:Wifi:id=10]]: Port created with network cost 10
(basic_port_allocator.cc:885): Adding allocated port for audio
(basic_port_allocator.cc:907): Port[6818c00:audio:1:0:local:Net[en0:169.254.0.x/16:Wifi:id=10]]: Added port to allocator
(basic_port_allocator.cc:925): Port[6818c00:audio:1:0:local:Net[en0:169.254.0.x/16:Wifi:id=10]]: Gathered candidate: Cand[:136466133:1:udp:2122194687:169.254.37.x:58462:local::0:o7g6:zJ3M638GnQ1yDOiiNNTgaGA0:10:10:0]
(basic_port_allocator.cc:958): Port[6818c00:audio:1:0:local:Net[en0:169.254.0.x/16:Wifi:id=10]]: Port ready.
(basic_ice_controller.cc:541): Sorting 0 available connections
(basic_port_allocator.cc:1069): Port[6818c00:audio:1:0:local:Net[en0:169.254.0.x/16:Wifi:id=10]]: Port completed gathering candidates.
(basic_port_allocator.cc:1361): Net[en2:169.254.0.x/16:Wifi:id=2]: Allocation Phase=Udp
(port.cc:187): Port[18418800::1:0:local:Net[en2:169.254.0.x/16:Wifi:id=2]]: Port created with network cost 10
(basic_port_allocator.cc:885): Adding allocated port for audio
(basic_port_allocator.cc:907): Port[18418800:audio:1:0:local:Net[en2:169.254.0.x/16:Wifi:id=2]]: Added port to allocator
(basic_port_allocator.cc:925): Port[18418800:audio:1:0:local:Net[en2:169.254.0.x/16:Wifi:id=2]]: Gathered candidate: Cand[:1007514039:1:udp:2122129151:169.254.159.x:62452:local::0:o7g6:zJ3M638GnQ1yDOiiNNTgaGA0:2:10:0]
(basic_port_allocator.cc:958): Port[18418800:audio:1:0:local:Net[en2:169.254.0.x/16:Wifi:id=2]]: Port ready.
(basic_ice_controller.cc:541): Sorting 0 available connections
(basic_port_allocator.cc:1069): Port[18418800:audio:1:0:local:Net[en2:169.254.0.x/16:Wifi:id=2]]: Port completed gathering candidates.
(basic_port_allocator.cc:1361): Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]: Allocation Phase=Udp
(port.cc:187): Port[6086000::1:0:local:Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]]: Port created with network cost 900
(basic_port_allocator.cc:885): Adding allocated port for audio
(basic_port_allocator.cc:907): Port[6086000:audio:1:0:local:Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]]: Added port to allocator
(basic_port_allocator.cc:925): Port[6086000:audio:1:0:local:Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]]: Gathered candidate: Cand[:1573866894:1:udp:2122063615:10.150.47.x:51925:local::0:o7g6:zJ3M638GnQ1yDOiiNNTgaGA0:9:900:0]
(basic_port_allocator.cc:958): Port[6086000:audio:1:0:local:Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]]: Port ready.
(basic_ice_controller.cc:541): Sorting 0 available connections
(basic_port_allocator.cc:1069): Port[6086000:audio:1:0:local:Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]]: Port completed gathering candidates.
(basic_port_allocator.cc:1361): Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=3]: Allocation Phase=Udp
(port.cc:187): Port[18b74c00::1:0:local:Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=3]]: Port created with network cost 50
(basic_port_allocator.cc:885): Adding allocated port for audio
(basic_port_allocator.cc:907): Port[18b74c00:audio:1:0:local:Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=3]]: Added port to allocator
(basic_port_allocator.cc:925): Port[18b74c00:audio:1:0:local:Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=3]]: Gathered candidate: Cand[:2829406670:1:udp:2122003199:[fd74:6572:6d6e:x:x:x:x:x]:57621:local::0:o7g6:zJ3M638GnQ1yDOiiNNTgaGA0:3:50:0]
(basic_port_allocator.cc:958): Port[18b74c00:audio:1:0:local:Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=3]]: Port ready.
(basic_ice_controller.cc:541): Sorting 0 available connections
(basic_port_allocator.cc:1069): Port[18b74c00:audio:1:0:local:Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=3]]: Port completed gathering candidates.
(basic_port_allocator.cc:1361): Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=4]: Allocation Phase=Udp
(port.cc:187): Port[6087c00::1:0:local:Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=4]]: Port created with network cost 50
(basic_port_allocator.cc:885): Adding allocated port for audio
(basic_port_allocator.cc:907): Port[6087c00:audio:1:0:local:Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=4]]: Added port to allocator
(basic_port_allocator.cc:925): Port[6087c00:audio:1:0:local:Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=4]]: Gathered candidate: Cand[:3801864837:1:udp:2121937663:[fd74:6572:6d6e:x:x:x:x:x]:59822:local::0:o7g6:zJ3M638GnQ1yDOiiNNTgaGA0:4:50:0]
(basic_port_allocator.cc:958): Port[6087c00:audio:1:0:local:Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=4]]: Port ready.
(basic_ice_controller.cc:541): Sorting 0 available connections
(basic_port_allocator.cc:1069): Port[6087c00:audio:1:0:local:Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=4]]: Port completed gathering candidates.
(basic_port_allocator.cc:1361): Net[ipsec2:fd74:6572:6d6e:x:x:x:x:x/64:VPN/Unknown:id=6]: Allocation Phase=Udp
(port.cc:187): Port[18bb4800::1:0:local:Net[ipsec2:fd74:6572:6d6e:x:x:x:x:x/64:VPN/Unknown:id=6]]: Port created with network cost 50
(basic_port_allocator.cc:885): Adding allocated port for audio
(basic_port_allocator.cc:907): Port[18bb4800:audio:1:0:local:Net[ipsec2:fd74:6572:6d6e:x:x:x:x:x/64:VPN/Unknown:id=6]]: Added port to allocator
(basic_port_allocator.cc:925): Port[18bb4800:audio:1:0:local:Net[ipsec2:fd74:6572:6d6e:x:x:x:x:x/64:VPN/Unknown:id=6]]: Gathered candidate: Cand[:2829406670:1:udp:2121872127:[fd74:6572:6d6e:x:x:x:x:x]:61856:local::0:o7g6:zJ3M638GnQ1yDOiiNNTgaGA0:6:50:0]
(basic_port_allocator.cc:958): Port[18bb4800:audio:1:0:local:Net[ipsec2:fd74:6572:6d6e:x:x:x:x:x/64:VPN/Unknown:id=6]]: Port ready.
(basic_ice_controller.cc:541): Sorting 0 available connections
(basic_port_allocator.cc:1069): Port[18bb4800:audio:1:0:local:Net[ipsec2:fd74:6572:6d6e:x:x:x:x:x/64:VPN/Unknown:id=6]]: Port completed gathering candidates.
(basic_port_allocator.cc:1361): Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]: Allocation Phase=Udp
(port.cc:187): Port[18b91200::1:0:local:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]]: Port created with network cost 50
(basic_port_allocator.cc:885): Adding allocated port for audio
(basic_port_allocator.cc:907): Port[18b91200:audio:1:0:local:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]]: Added port to allocator
(basic_port_allocator.cc:925): Port[18b91200:audio:1:0:local:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]]: Gathered candidate: Cand[:2486661909:1:udp:2121801471:10.254.254.x:51341:local::0:o7g6:zJ3M638GnQ1yDOiiNNTgaGA0:5:50:0]
(basic_port_allocator.cc:958): Port[18b91200:audio:1:0:local:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]]: Port ready.
(basic_ice_controller.cc:541): Sorting 0 available connections
(basic_port_allocator.cc:1069): Port[18b91200:audio:1:0:local:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]]: Port completed gathering candidates.
(basic_port_allocator.cc:1361): Net[en0:2001:2:0:x:x:x:x:x/64:Wifi:id=11]: Allocation Phase=Relay
(basic_port_allocator.cc:1494): AllocationSequence: Relay ports disabled, skipping.
(basic_port_allocator.cc:1361): Net[en0:169.254.0.x/16:Wifi:id=10]: Allocation Phase=Relay
(basic_port_allocator.cc:1494): AllocationSequence: Relay ports disabled, skipping.
(basic_port_allocator.cc:1361): Net[en2:169.254.0.x/16:Wifi:id=2]: Allocation Phase=Relay
(basic_port_allocator.cc:1494): AllocationSequence: Relay ports disabled, skipping.
(basic_port_allocator.cc:1361): Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]: Allocation Phase=Relay
(basic_port_allocator.cc:1494): AllocationSequence: Relay ports disabled, skipping.
(basic_port_allocator.cc:1361): Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=3]: Allocation Phase=Relay
(basic_port_allocator.cc:1494): AllocationSequence: Relay ports disabled, skipping.
(basic_port_allocator.cc:1361): Net[ipsec0:fd74:6572:6d6e:x:x:x:x:x/128:VPN/Unknown:id=4]: Allocation Phase=Relay
(basic_port_allocator.cc:1494): AllocationSequence: Relay ports disabled, skipping.
(basic_port_allocator.cc:1361): Net[ipsec2:fd74:6572:6d6e:x:x:x:x:x/64:VPN/Unknown:id=6]: Allocation Phase=Relay
(basic_port_allocator.cc:1494): AllocationSequence: Relay ports disabled, skipping.
(basic_port_allocator.cc:1361): Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]: Allocation Phase=Relay
(basic_port_allocator.cc:1494): AllocationSequence: Relay ports disabled, skipping.

Then once the candidate ipv4 host has been returned from the server it tries to ping that on the various ipv4 interfaces:

(connection.cc:312): Conn[b860000:audio:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]:9g/JYV3A:1:0:local:udp:10.254.254.x:51341->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9113067930811105278|-]: Connection created
(p2p_transport_channel.cc:1463): Channel[audio|1|__]: Created connection with origin: 2, total: 1
(connection.cc:312): Conn[b893200:audio:Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]:ZugAm0Cd:1:0:local:udp:10.150.47.x:51925->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114193830717947902|-]: Connection created
(p2p_transport_channel.cc:1463): Channel[audio|1|__]: Created connection with origin: 2, total: 2
(connection.cc:312): Conn[b87aa00:audio:Net[en2:169.254.0.x/16:Wifi:id=2]:57gbue1d:1:0:local:udp:169.254.159.x:62452->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114475305694658558|-]: Connection created
(p2p_transport_channel.cc:1463): Chan2022-02-04 15:51:37.072327+0000 TestApp[34259:5334547] [javascript] 'idleRemoteParticipants', ''
2022-02-04 15:51:37.074073+0000 TestApp[34259:5334547] [javascript] 'notConnectedTransferParticipants.length: 0 ', ''
nel[audio|1|__]: Created connection with origin: 2, total: 3
(connection.cc:312): Conn[c81fc00:audio:Net[en0:169.254.0.x/16:Wifi:id=10]:qHiDldP9:1:0:local:udp:169.254.37.x:58462->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114756780671369214|-]: Connection created
(p2p_transport_channel.cc:1463): Channel[audio|1|__]: Created connection with origin: 2, total: 4
(connection.cc:790): Conn[b860000:audio:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]:9g/JYV3A:1:0:local:udp:10.254.254.x:51341->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9113067930811105278|-]: UpdateState(), ms since last received response=664358232, ms since last received data=664358232, rtt=6000, pings_since_last_response=
(connection.cc:790): Conn[b893200:audio:Net[pdp_ip0:10.150.47.x/32:C2022-02-04 15:51:37.076053+0000 TestApp[34259:5334547] [javascript] 'session.remoteParticipants.length: 1 ', ''
ellular:id=9]:ZugAm0Cd:1:0:local:udp:10.150.47.x:51925->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114193830717947902|-]: UpdateState(), ms since last received response=664358232, ms since last received data=664358232, rtt=6000, pings_since_last_response=
(connection.cc:790): Conn[b87aa00:audio:Net[en2:169.254.0.x/16:Wifi:id=2]:57gbue1d:1:0:local:udp:169.254.159.x:62452->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114475305694658558|-]: UpdateState(), ms since last received response=664358232, ms since last received data=664358232, rtt=6000, pings_since_last_response=
(connection.cc:790): Conn[c81fc00:audio:Net[en0:169.254.0.x/16:Wifi:id=10]:qHiDldP9:1:0:local:udp:169.254.37.x:58462->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114756780671369214|-]: UpdateState(), ms since last received response=664358232, ms since last received data=664358232, rtt=6000, pings_since_last_response=
(basic_ice_controller.cc:541): Sorting 4 available connections
(basic_ice_controller.cc:544): Conn[c81fc00:audio:Net[en0:169.254.0.x/16:Wifi:id=10]:qHiDldP9:1:0:local:udp:169.254.37.x:58462->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114756780671369214|-]
(basic_ice_controller.cc:544): Conn[b87aa00:audio:Net[en2:169.254.0.2022-02-04 15:51:37.077139+0000 TestApp[34259:5334547] [javascript] 'notConnectedTransferParticipants.length: 0 ', ''
x/16:Wifi:id=2]:57gbue1d:1:0:local:udp:169.254.159.x:62452->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114475305694658558|-]
(basic_ice_controller.cc:544): Conn[b860000:audio:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]:9g/JYV3A:1:0:local:udp:10.254.254.x:51341->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9113067930811105278|-]
(basic_ice_controller.cc:544): Conn[b893200:audio:Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]:ZugAm0Cd:1:0:local:udp:10.150.47.x:51925->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114193830717947902|-]
(p2p_transport_channel.cc:1917): Channel[audio|1|__]: Transport channel state changed from 0 to 2
(jsep_transport_controller.cc:1272): audio Transport 1 state changed. Check if state is complete.
(jsep_transport_controller.cc:1272): audio Transport 1 state changed. Check if state is complete.
(p2p_transport_channel.cc:1697): Channel[audio|1|__]: Have a pingable connection for the first time; starting to ping.
(connection.cc:792022-02-04 15:51:37.077933+0000 TestApp[34259:5334547] [javascript] 'sessionStatus: 2', ''
0): Conn[c81fc00:audio:Net[en0:169.254.0.x/16:Wifi:id=10]:qHiDldP9:1:0:local:udp:169.254.37.x:58462->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114756780671369214|-]: UpdateState(), ms since last received response=664358234, ms since last received data=664358234, rtt=6000, pings_since_last_response=
(connection.cc:790): Conn[b87aa00:audio:Net[en2:169.254.0.x/16:Wifi:id=2]:57gbue1d:1:0:local:udp:169.254.159.x:62452->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114475305694658558|-]: UpdateState(), ms since last received response=664358234, ms since last received data=664358234, rtt=6000, pings_since_last_response=
(webrtc_voice_engine.cc:2509): WebRtcVoiceMediaChannel::SetDefaultRawAudioSink:
(connection.cc:790): Conn[b860000:audio:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]:9g/JYV3A:1:0:local:udp:10.254.254.x:51341->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9113067930811105278|-]: UpdateState(), ms since last received response=664358234, ms since last received data=664358234, rtt=6000, pings_since_last_response=
(connection.cc:790): Conn[b893200:audio:Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]:ZugAm0Cd:1:0:local:udp:10.150.47.x:51925->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114193830717947902|-]: UpdateState(), ms since last received response=664358234, ms since last received data=664358234, rtt=6000, pings_since_last_response=
(connection.cc:852): Conn[c81fc00:audio:Net[en0:169.254.0.x/16:Wifi:id=10]:qHiDldP9:1:0:local:udp:169.254.37.x:58462->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114756780671369214|-]: Sending STUN ping, id=494b73686b464f47356d3830, nomination=0
2022-02-04 15:51:37.078623+0000 TestApp[34259:5334547] [javascript] 'mapParticipantStatus 5', ''
(stun_port.cc:308): Port[6818c00:audio:1:0:local:Net[en0:169.254.0.x/16:Wifi:id=10]]: UDP send of 104 bytes to host 185.28.212.x:36692 (185.28.212.x:36692) failed with error 65
(connection.cc:445): Conn[c81fc00:audio:Net[en0:169.254.0.x/16:Wifi:id=10]:qHiDldP9:1:0:local:udp:169.254.37.x:58462->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114756780671369214|-]: Failed to send STUN ping  err=-1 id=494b73686b464f47356d3830
(connection.cc:1167): Conn[c81fc00:audio:Net[en0:169.254.0.x/16:Wifi:id=10]:qHiDldP9:1:0:local:udp:169.254.37.x:58462->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114756780671369214|-]: Sent STUN BINDING request, id=494b73686b464f47356d3830, use_candidate=1, nomination=0
2022-02-04 15:51:37.079277+0000 TestApp[34259:5334547] [javascript] 'mapParticipantStatus 6', ''
(peer_connection.cc:1824): Changing standardized IceConnectionState 0 => 1
(connection.cc:790): Conn[c81fc00:audio:Net[en0:169.254.0.x/16:Wifi:id=10]:qHiDldP9:1:0:local:udp:169.254.37.x:58462->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--I|-|0|0|9114756780671369214|-]: UpdateState(), ms since last received response=664358288, ms since last received data=664358288, rtt=6000, pings_since_last_response=494b73686b464f47356d3830
(connection.cc:790): Conn[b87aa00:audio:Net[en2:169.254.0.x/16:Wifi:id=2]:57gbue1d:1:0:local:udp:169.254.159.x:62452->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114475305694658558|-]: UpdateState(), ms since last received response=664358288, ms since last received data=664358288, rtt=6000, pings_since_last_response=
(connection.cc:790): Conn[b860000:audio:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]:9g/JYV3A:1:0:local:udp:10.254.254.x:51341->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9113067930811105278|-]: UpdateState(), ms since last received response=664358288, ms since last received data=664358288, rtt=6000, pings_since_last_response=
(connection.cc:790): Conn[b893200:audio:Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]:ZugAm0Cd:1:0:local:udp:10.150.47.x:51925->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114193830717947902|-]: UpdateState(), ms since last received response=664358288, ms since last received data=664358288, rtt=6000, pings_since_last_response=
(connection.cc:852): Conn[b87aa00:audio:Net[en2:169.254.0.x/16:Wifi:id=2]:57gbue1d:1:0:local:udp:169.254.159.x:62452->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114475305694658558|-]: Sending STUN ping, id=765866383658523042556772, nomination=0
(stun_port.cc:308): Port[18418800:audio:1:0:local:Net[en2:169.254.0.x/16:Wifi:id=2]]: UDP send of 104 bytes to host 185.28.212.x:36692 (185.28.212.x:36692) failed with error 65
(connection.cc:445): Conn[b87aa00:audio:Net[en2:169.254.0.x/16:Wifi:id=2]:57gbue1d:1:0:local:udp:169.254.159.x:62452->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114475305694658558|-]: Failed to send STUN ping  err=-1 id=765866383658523042556772
(connection.cc:1167): Conn[b87aa00:audio:Net[en2:169.254.0.x/16:Wifi:id=2]:57gbue1d:1:0:local:udp:169.254.159.x:62452->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114475305694658558|-]: Sent STUN BINDING request, id=765866383658523042556772, use_candidate=1, nomination=0
(connection.cc:790): Conn[c81fc00:audio:Net[en0:169.254.0.x/16:Wifi:id=10]:qHiDldP9:1:0:local:udp:169.254.37.x:58462->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--I|-|0|0|9114756780671369214|-]: UpdateState(), ms since last received response=664358341, ms since last received data=664358341, rtt=6000, pings_since_last_response=494b73686b464f47356d3830
(connection.cc:790): Conn[b87aa00:audio:Net[en2:169.254.0.x/16:Wifi:id=2]:57gbue1d:1:0:local:udp:169.254.159.x:62452->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--I|-|0|0|9114475305694658558|-]: UpdateState(), ms since last received response=664358341, ms since last received data=664358341, rtt=6000, pings_since_last_response=765866383658523042556772
(connection.cc:790): Conn[b860000:audio:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]:9g/JYV3A:1:0:local:udp:10.254.254.x:51341->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9113067930811105278|-]: UpdateState(), ms since last received response=664358341, ms since last received data=664358341, rtt=6000, pings_since_last_response=
(connection.cc:790): Conn[b893200:audio:Net[pdp_ip0:10.150.47.x/32:Cellular:id=9]:ZugAm0Cd:1:0:local:udp:10.150.47.x:51925->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9114193830717947902|-]: UpdateState(), ms since last received response=664358341, ms since last received data=664358341, rtt=6000, pings_since_last_response=
(connection.cc:852): Conn[b860000:audio:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]:9g/JYV3A:1:0:local:udp:10.254.254.x:51341->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9113067930811105278|-]: Sending STUN ping, id=593030516674666368507876, nomination=0
(stun_port.cc:308): Port[18b91200:audio:1:0:local:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]]: UDP send of 104 bytes to host 185.28.212.x:36692 (185.28.212.x:36692) failed with error 65
(connection.cc:445): Conn[b860000:audio:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]:9g/JYV3A:1:0:local:udp:10.254.254.x:51341->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9113067930811105278|-]: Failed to send STUN ping  err=-1 id=593030516674666368507876
(connection.cc:1167): Conn[b860000:audio:Net[ipsec2:10.254.254.x/32:VPN/Unknown:id=5]:9g/JYV3A:1:0:local:udp:10.254.254.x:51341->wiVPsF5F:1:2130706431:local:udp:185.28.212.x:36692|C--W|-|0|0|9113067930811105278|-]: Sent STUN BINDING request, id=593030516674666368507876, use_candidate=1, nomination=0
2022-02-04 1

And these fail with error 65 because there is no route to the internet given we are on a pure v6 network. It does not attempt to send ping messages on the v6 interfaces because the address families are not the same.

I was expecting WebRTC to try and synthesize a v6 address from the v4 and then try and send to the 2001:2:0:x:x:x:x:x/64 port - but it looks from other comments like there is no provision in the WebRTC code to do this?

Regards,

Simon.

Simon East

unread,
Mar 22, 2022, 8:03:03 AM3/22/22
to discuss-webrtc
So from the feedback I have got it looks like the easiest solution is to set up a TURN server. This seems like a bit of a hacky fix given there is only one NAT gateway in this setup but looks like that is what everyone does to solve these ipv6 issues.
Reply all
Reply to author
Forward
0 new messages