WebRTC on iOS ice connection state stuck -


i developing ios app using webrtc peer peer data communications rtcdatachannel. i've managed working when both devices on same wifi network when put 1 on mobile network connection seems stall , can't tell what's wrong. looking @ logs different runs, identical until point stops. i'm not sure @ point since there's no errors. swear @ 1 point working it's been long time since i've tested outside local network. here's example of log output, ideas doing wrong?

device a

20:07:47.653  sending sdp offer 20:07:47.653  ice gathering changed 1 20:07:48.067  ice gathering changed 2 20:07:48.068  sending ice: data:0:candidate:3022624816 1 udp 2122260223 192.168.1.4 54049 typ host generation 0 20:07:48.071  sending ice: data:0:candidate:4205470912 1 tcp 1518280447 192.168.1.4 51226 typ host tcptype passive generation 0 20:07:48.073  sending ice: data:0:candidate:494278629 1 udp 1686052607 14.---.---.208 54049 typ srflx raddr 192.168.1.4 rport 54049 generation 0 20:08:09.448  answer nxblupob1f7q 20:08:09.452  signal state change 0 20:08:09.454  ice connection changed 1 20:08:09.986  ice candidate added 1 20:08:10.335  ice candidate added 1 20:08:10.338  ice candidate added 1 20:08:10.340  ice candidate added 1 20:08:10.342  ice candidate added 1 20:08:10.345  ice candidate added 1 ---- when not on same network things stop here ---- 20:08:10.638  ice connection changed 2 20:08:10.639  ice connection changed 3 20:08:10.642  channel did change state 1 20:08:10.644  connection active 

device b

20:08:07.753 offer ajcoxh6etm3etg== 20:08:07.843 signal state change 3 20:08:07.848 signal state change 0 20:08:07.851 sending sdp answer 20:08:07.851 ice gathering changed 1 20:08:08.245 ice connection changed 1 20:08:08.245 ice candidate added 1 20:08:08.247 ice candidate added 1 20:08:08.249 ice candidate added 1 20:08:08.378 ice gathering changed 2 20:08:08.378 sending ice candidate data:0:candidate:211156821 1 udp 2122260223 192.168.1.5 64361 typ host generation 0 20:08:08.380 sending ice: data:0:candidate:3923309006 1 udp 2122194687 10.---.---.220 50007 typ host generation 0 20:08:08.381 sending ice: data:0:candidate:1108738981 1 tcp 1518280447 192.168.1.5 58785 typ host tcptype passive generation 0 20:08:08.383 sending ice: data:0:candidate:2807762238 1 tcp 1518214911 10.---.---.220 58786 typ host tcptype passive generation 0 20:08:08.384 sending ice: data:0:candidate:1754331002 1 udp 1685987071 1.---.---.24 29841 typ srflx raddr 10.165.91.220 rport 50007 generation 0 20:08:08.385  sending ice: data:0:candidate:2781507712 1 udp 1686052607 14.203.230.208 64361 typ srflx raddr 192.168.1.5 rport 64361 generation 0 ---- when not on same network things stop here ---- 20:08:09.428 ice connection changed 2 20:08:09.443 opened data channel ordered 1 reliable 1 20:08:09.445 channel did change state 1 20:08:09.446 rtc connection did change state 3 20:08:09.447  connection active 

if use both clients behind symetric nat, stun not able handle this. so, should use turn communicate behind symetric nats.


Comments