WebRTC-iOS icon indicating copy to clipboard operation
WebRTC-iOS copied to clipboard

Does not work in LTE network and TURN server

Open vtyutin opened this issue 5 years ago • 10 comments

Hello, App work pretty well when both iPhone devices are in the same WiFi network and use STUN servers from Google. Now I need one iPhone to be connected to LTE (4G) network and get connected with another iPhone connected to WiFi router. So both devices are behind NAT and I have to use TURN server for connection. What was done:

  1. I installed TURN server on our server. It's configured correctly because https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ tests are passed.
  2. On our server I installed and run your NodeJS signaling server. So two iPhones (one in WiFi and second in LTE network) were able to connect to signalling server and exchanged ICE candidates. But connection via TURN server can't be established.

Here is my code change to use TURN server: In WebRTCClient.swift in init function: //config.iceServers = [RTCIceServer(urlStrings: iceServers)] config.iceServers = [RTCIceServer(urlStrings: ["turn:148.76.71.179:3478"], username: "developer", credential: "my_password")]

Here is log from iOS app connected to LTE (I added print for ICE candidates local and remote):

Received remote sdp: RTCSessionDescription: offer v=0

o=- 8089407949024379867 2 IN IP4 127.0.0.1

s=-

t=0 0

a=group:BUNDLE 0 1 2

a=msid-semantic: WMS stream

m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126

c=IN IP4 0.0.0.0

a=rtcp:9 IN IP4 0.0.0.0

a=ice-ufrag:Ns3E

a=ice-pwd:SL1RUF7GCGOmd39guho0RfOj

a=ice-options:trickle renomination

a=fingerprint:sha-256 4F:FF:ED:46:5D:80:99:F3:4D:27:6C:5C:FA:B6:3F:D1:76:CD:0A:92:5D:FF:FC:69:77:D6:84:13:6E:50:3C:B3

a=setup:actpass

a=mid:0

a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level

a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time

a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01

a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid

a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id

a=sendrecv

a=msid:stream audio0

a=rtcp-mux

a=rtpmap:111 opus/48000/2

a=rtcp-fb:111 transport-cc

a=fmtp:111 minptime=10;useinbandfec=1

a=rtpmap:103 ISAC/16000

a=rtpmap:104 ISAC/32000

a=rtpmap:9 G722/8000

a=rtpmap:102 ILBC/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=rtpmap:106 CN/32000

a=rtpmap:105 CN/16000

a=rtpmap:13 CN/8000

a=rtpmap:110 telephone-event/48000

a=rtpmap:112 telephone-event/32000

a=rtpmap:113 telephone-event/16000

a=rtpmap:126 telephone-event/8000

a=ssrc:2402187635 cname:9IibNs0pHqnnhI03

a=ssrc:2402187635 msid:stream audio0

a=ssrc:2402187635 mslabel:stream

a=ssrc:2402187635 label:audio0

m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 124 125

c=IN IP4 0.0.0.0

a=rtcp:9 IN IP4 0.0.0.0

a=ice-ufrag:Ns3E

a=ice-pwd:SL1RUF7GCGOmd39guho0RfOj

a=ice-options:trickle renomination

a=fingerprint:sha-256 4F:FF:ED:46:5D:80:99:F3:4D:27:6C:5C:FA:B6:3F:D1:76:CD:0A:92:5D:FF:FC:69:77:D6:84:13:6E:50:3C:B3

a=setup:actpass

a=mid:1

a=extmap:14 urn:ietf:params:rtp-hdrext:toffset

a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time

a=extmap:13 urn:3gpp:video-orientation

a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01

a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay

a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type

a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing

a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07

a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space

a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid

a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id

a=sendrecv

a=msid:stream video0

a=rtcp-mux

a=rtcp-rsize

a=rtpmap:96 H264/90000

a=rtcp-fb:96 goog-remb

a=rtcp-fb:96 transport-cc

a=rtcp-fb:96 ccm fir

a=rtcp-fb:96 nack

a=rtcp-fb:96 nack pli

a=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c2a

a=rtpmap:97 rtx/90000

a=fmtp:97 apt=96

a=rtpmap:98 H264/90000

a=rtcp-fb:98 goog-remb

a=rtcp-fb:98 transport-cc

a=rtcp-fb:98 ccm fir

a=rtcp-fb:98 nack

a=rtcp-fb:98 nack pli

a=fmtp:98 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e02a

a=rtpmap:99 rtx/90000

a=fmtp:99 apt=98

a=rtpmap:100 VP8/90000

a=rtcp-fb:100 goog-remb

a=rtcp-fb:100 transport-cc

a=rtcp-fb:100 ccm fir

a=rtcp-fb:100 nack

a=rtcp-fb:100 nack pli

a=rtpmap:101 rtx/90000

a=fmtp:101 apt=100

a=rtpmap:127 red/90000

a=rtpmap:124 rtx/90000

a=fmtp:124 apt=127

a=rtpmap:125 ulpfec/90000

a=ssrc-group:FID 1401229420 1830666492

a=ssrc:1401229420 cname:9IibNs0pHqnnhI03

a=ssrc:1401229420 msid:stream video0

a=ssrc:1401229420 mslabel:stream

a=ssrc:1401229420 label:video0

a=ssrc:1830666492 cname:9IibNs0pHqnnhI03

a=ssrc:1830666492 msid:stream video0

a=ssrc:1830666492 mslabel:stream

a=ssrc:1830666492 label:video0

m=application 9 UDP/DTLS/SCTP webrtc-datachannel

c=IN IP4 0.0.0.0

a=ice-ufrag:Ns3E

a=ice-pwd:SL1RUF7GCGOmd39guho0RfOj

a=ice-options:trickle renomination

a=fingerprint:sha-256 4F:FF:ED:46:5D:80:99:F3:4D:27:6C:5C:FA:B6:3F:D1:76:CD:0A:92:5D:FF:FC:69:77:D6:84:13:6E:50:3C:B3

a=setup:actpass

a=mid:2

a=sctp-port:5000

a=max-message-size:262144

"peerConnection new signaling state: haveRemoteOffer" "peerConnection did add stream" Received remote candidate: candidate:2787077078 1 udp 2122260223 192.168.1.23 50915 typ host generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:2787077078 1 udp 2122260223 192.168.1.23 56192 typ host generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:2787077078 1 udp 2122260223 192.168.1.23 59031 typ host generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:3902576422 1 tcp 1518280447 192.168.1.23 50760 typ host tcptype passive generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:3902576422 1 tcp 1518280447 192.168.1.23 50761 typ host tcptype passive generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:3902576422 1 tcp 1518280447 192.168.1.23 50762 typ host tcptype passive generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:1343164930 1 udp 1686052607 148.76.71.129 50915 typ srflx raddr 192.168.1.23 rport 50915 generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:1343164930 1 udp 1686052607 148.76.71.129 56192 typ srflx raddr 192.168.1.23 rport 56192 generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:1343164930 1 udp 1686052607 148.76.71.129 59031 typ srflx raddr 192.168.1.23 rport 59031 generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:2349648962 1 udp 41885439 63.247.187.186 52943 typ relay raddr 148.76.71.129 rport 50915 generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:2349648962 1 udp 41885439 63.247.187.186 50738 typ relay raddr 148.76.71.129 rport 56192 generation 0 ufrag Ns3E network-id 1 network-cost 10 Received remote candidate: candidate:2349648962 1 udp 41885439 63.247.187.186 51763 typ relay raddr 148.76.71.129 rport 59031 generation 0 ufrag Ns3E network-id 1 network-cost 10 "peerConnection new signaling state: stable" "peerConnection new connection state: checking" "peerConnection new gathering state: gathering" discovered local candidate: candidate:2878891346 1 udp 2122260223 169.254.220.166 58363 typ host generation 0 ufrag KRRQ network-id 1 network-cost 10 discovered local candidate: candidate:2417625907 1 udp 2122194687 100.82.220.147 60447 typ host generation 0 ufrag KRRQ network-id 10 network-cost 900 discovered local candidate: candidate:4173202738 1 udp 2122134271 fd74:6572:6d6e:7573:c:40d7:9709:d2c 60448 typ host generation 0 ufrag KRRQ network-id 2 network-cost 50 discovered local candidate: candidate:428871510 1 udp 2122068735 fd74:6572:6d6e:7573:d:40d7:9709:d2c 60449 typ host generation 0 ufrag KRRQ network-id 3 network-cost 50 discovered local candidate: candidate:4173202738 1 udp 2122003199 fd74:6572:6d6e:7573:c:40d7:9709:d2c 60450 typ host generation 0 ufrag KRRQ network-id 5 network-cost 50 discovered local candidate: candidate:4173202738 1 udp 2121937663 fd74:6572:6d6e:7573:c:40d7:9709:d2c 60451 typ host generation 0 ufrag KRRQ network-id 7 network-cost 50 discovered local candidate: candidate:2486661909 1 udp 2121867007 10.254.254.254 55435 typ host generation 0 ufrag KRRQ network-id 4 network-cost 50 discovered local candidate: candidate:2486661909 1 udp 2121801471 10.254.254.254 54684 typ host generation 0 ufrag KRRQ network-id 6 network-cost 50 discovered local candidate: candidate:3843791266 1 tcp 1518280447 169.254.220.166 55834 typ host tcptype passive generation 0 ufrag KRRQ network-id 1 network-cost 10 discovered local candidate: candidate:3734632387 1 tcp 1518214911 100.82.220.147 55836 typ host tcptype passive generation 0 ufrag KRRQ network-id 10 network-cost 900 discovered local candidate: candidate:3057514946 1 tcp 1518154495 fd74:6572:6d6e:7573:c:40d7:9709:d2c 55838 typ host tcptype passive generation 0 ufrag KRRQ network-id 2 network-cost 50 discovered local candidate: candidate:1460925350 1 tcp 1518088959 fd74:6572:6d6e:7573:d:40d7:9709:d2c 55839 typ host tcptype passive generation 0 ufrag KRRQ network-id 3 network-cost 50 discovered local candidate: candidate:3057514946 1 tcp 1518023423 fd74:6572:6d6e:7573:c:40d7:9709:d2c 55840 typ host tcptype passive generation 0 ufrag KRRQ network-id 5 network-cost 50 discovered local candidate: candidate:3057514946 1 tcp 1517957887 fd74:6572:6d6e:7573:c:40d7:9709:d2c 55841 typ host tcptype passive generation 0 ufrag KRRQ network-id 7 network-cost 50 discovered local candidate: candidate:3669266405 1 tcp 1517887231 10.254.254.254 55842 typ host tcptype passive generation 0 ufrag KRRQ network-id 4 network-cost 50 discovered local candidate: candidate:3669266405 1 tcp 1517821695 10.254.254.254 55844 typ host tcptype passive generation 0 ufrag KRRQ network-id 6 network-cost 50 discovered local candidate: candidate:1553413280 1 udp 1685987071 148.76.71.129 47383 typ srflx raddr 100.82.220.147 rport 60447 generation 0 ufrag KRRQ network-id 10 network-cost 900 discovered local candidate: candidate:2349648962 1 udp 41819903 63.247.187.186 59825 typ relay raddr 148.76.71.129 rport 47383 generation 0 ufrag KRRQ network-id 10 network-cost 900 "peerConnection new connection state: failed"

If it helps here is log from signaling server:

Client connected. Total connected clients: 1 Client connected. Total connected clients: 2 {"payload":{"sdp":"v=0\r\no=- 8089407949024379867 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1 2\r\na=msid-semantic: WMS stream\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Ns3E\r\na=ice-pwd:SL1RUF7GCGOmd39guho0RfOj\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 4F:FF:ED:46:5D:80:99:F3:4D:27:6C:5C:FA:B6:3F:D1:76:CD:0A:92:5D:FF:FC:69:77:D6:84:13:6E:50:3C:B3\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendrecv\r\na=msid:stream audio0\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2402187635 cname:9IibNs0pHqnnhI03\r\na=ssrc:2402187635 msid:stream audio0\r\na=ssrc:2402187635 mslabel:stream\r\na=ssrc:2402187635 label:audio0\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 124 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Ns3E\r\na=ice-pwd:SL1RUF7GCGOmd39guho0RfOj\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 4F:FF:ED:46:5D:80:99:F3:4D:27:6C:5C:FA:B6:3F:D1:76:CD:0A:92:5D:FF:FC:69:77:D6:84:13:6E:50:3C:B3\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07\r\na=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendrecv\r\na=msid:stream video0\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 H264/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c2a\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 H264/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=fmtp:98 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e02a\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:100 VP8/90000\r\na=rtcp-fb:100 goog-remb\r\na=rtcp-fb:100 transport-cc\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\na=rtpmap:127 red/90000\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1401229420 1830666492\r\na=ssrc:1401229420 cname:9IibNs0pHqnnhI03\r\na=ssrc:1401229420 msid:stream video0\r\na=ssrc:1401229420 mslabel:stream\r\na=ssrc:1401229420 label:video0\r\na=ssrc:1830666492 cname:9IibNs0pHqnnhI03\r\na=ssrc:1830666492 msid:stream video0\r\na=ssrc:1830666492 mslabel:stream\r\na=ssrc:1830666492 label:video0\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Ns3E\r\na=ice-pwd:SL1RUF7GCGOmd39guho0RfOj\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 4F:FF:ED:46:5D:80:99:F3:4D:27:6C:5C:FA:B6:3F:D1:76:CD:0A:92:5D:FF:FC:69:77:D6:84:13:6E:50:3C:B3\r\na=setup:actpass\r\na=mid:2\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"type":"SessionDescription"}

{"payload":{"sdp":"candidate:2787077078 1 udp 2122260223 192.168.1.23 50915 typ host generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:2787077078 1 udp 2122260223 192.168.1.23 56192 typ host generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:2787077078 1 udp 2122260223 192.168.1.23 59031 typ host generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":2,"sdpMid":"2"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:3902576422 1 tcp 1518280447 192.168.1.23 50760 typ host tcptype passive generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:3902576422 1 tcp 1518280447 192.168.1.23 50761 typ host tcptype passive generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:3902576422 1 tcp 1518280447 192.168.1.23 50762 typ host tcptype passive generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":2,"sdpMid":"2"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:1343164930 1 udp 1686052607 148.76.71.129 50915 typ srflx raddr 192.168.1.23 rport 50915 generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:1343164930 1 udp 1686052607 148.76.71.129 56192 typ srflx raddr 192.168.1.23 rport 56192 generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:1343164930 1 udp 1686052607 148.76.71.129 59031 typ srflx raddr 192.168.1.23 rport 59031 generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":2,"sdpMid":"2"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:2349648962 1 udp 41885439 63.247.187.186 52943 typ relay raddr 148.76.71.129 rport 50915 generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:2349648962 1 udp 41885439 63.247.187.186 50738 typ relay raddr 148.76.71.129 rport 56192 generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:2349648962 1 udp 41885439 63.247.187.186 51763 typ relay raddr 148.76.71.129 rport 59031 generation 0 ufrag Ns3E network-id 1 network-cost 10","sdpMLineIndex":2,"sdpMid":"2"},"type":"IceCandidate"}

{"payload":{"sdp":"v=0\r\no=- 4220147033990272335 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1 2\r\na=msid-semantic: WMS stream\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:KRRQ\r\na=ice-pwd:u601UFw6aPdvaaFzDpm4H0xi\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 F2:42:8F:00:8A:64:7E:62:D3:6F:47:C1:AD:3C:5E:72:4E:79:EF:1A:FA:21:A8:E0:6B:03:1E:46:16:B3:75:41\r\na=setup:active\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendrecv\r\na=msid:stream audio0\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:296461485 cname:aou2AgdC5PkIIcOa\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 124 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:KRRQ\r\na=ice-pwd:u601UFw6aPdvaaFzDpm4H0xi\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 F2:42:8F:00:8A:64:7E:62:D3:6F:47:C1:AD:3C:5E:72:4E:79:EF:1A:FA:21:A8:E0:6B:03:1E:46:16:B3:75:41\r\na=setup:active\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07\r\na=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendrecv\r\na=msid:stream video0\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 H264/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c34\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 H264/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=fmtp:98 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e034\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:100 VP8/90000\r\na=rtcp-fb:100 goog-remb\r\na=rtcp-fb:100 transport-cc\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\na=rtpmap:127 red/90000\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3528923844 2994558085\r\na=ssrc:3528923844 cname:aou2AgdC5PkIIcOa\r\na=ssrc:2994558085 cname:aou2AgdC5PkIIcOa\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\nb=AS:30\r\na=ice-ufrag:KRRQ\r\na=ice-pwd:u601UFw6aPdvaaFzDpm4H0xi\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 F2:42:8F:00:8A:64:7E:62:D3:6F:47:C1:AD:3C:5E:72:4E:79:EF:1A:FA:21:A8:E0:6B:03:1E:46:16:B3:75:41\r\na=setup:active\r\na=mid:2\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"type":"SessionDescription"}

{"payload":{"sdp":"candidate:2878891346 1 udp 2122260223 169.254.220.166 58363 typ host generation 0 ufrag KRRQ network-id 1 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:2417625907 1 udp 2122194687 100.82.220.147 60447 typ host generation 0 ufrag KRRQ network-id 10 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:4173202738 1 udp 2122134271 fd74:6572:6d6e:7573:c:40d7:9709:d2c 60448 typ host generation 0 ufrag KRRQ network-id 2 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:428871510 1 udp 2122068735 fd74:6572:6d6e:7573:d:40d7:9709:d2c 60449 typ host generation 0 ufrag KRRQ network-id 3 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:4173202738 1 udp 2122003199 fd74:6572:6d6e:7573:c:40d7:9709:d2c 60450 typ host generation 0 ufrag KRRQ network-id 5 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:4173202738 1 udp 2121937663 fd74:6572:6d6e:7573:c:40d7:9709:d2c 60451 typ host generation 0 ufrag KRRQ network-id 7 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:2486661909 1 udp 2121867007 10.254.254.254 55435 typ host generation 0 ufrag KRRQ network-id 4 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:2486661909 1 udp 2121801471 10.254.254.254 54684 typ host generation 0 ufrag KRRQ network-id 6 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:3843791266 1 tcp 1518280447 169.254.220.166 55834 typ host tcptype passive generation 0 ufrag KRRQ network-id 1 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:3734632387 1 tcp 1518214911 100.82.220.147 55836 typ host tcptype passive generation 0 ufrag KRRQ network-id 10 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:3057514946 1 tcp 1518154495 fd74:6572:6d6e:7573:c:40d7:9709:d2c 55838 typ host tcptype passive generation 0 ufrag KRRQ network-id 2 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:1460925350 1 tcp 1518088959 fd74:6572:6d6e:7573:d:40d7:9709:d2c 55839 typ host tcptype passive generation 0 ufrag KRRQ network-id 3 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:3057514946 1 tcp 1518023423 fd74:6572:6d6e:7573:c:40d7:9709:d2c 55840 typ host tcptype passive generation 0 ufrag KRRQ network-id 5 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:3057514946 1 tcp 1517957887 fd74:6572:6d6e:7573:c:40d7:9709:d2c 55841 typ host tcptype passive generation 0 ufrag KRRQ network-id 7 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:3669266405 1 tcp 1517887231 10.254.254.254 55842 typ host tcptype passive generation 0 ufrag KRRQ network-id 4 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:3669266405 1 tcp 1517821695 10.254.254.254 55844 typ host tcptype passive generation 0 ufrag KRRQ network-id 6 network-cost 50","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:1553413280 1 udp 1685987071 148.76.71.129 47383 typ srflx raddr 100.82.220.147 rport 60447 generation 0 ufrag KRRQ network-id 10 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

{"payload":{"sdp":"candidate:2349648962 1 udp 41819903 63.247.187.186 59825 typ relay raddr 148.76.71.129 rport 47383 generation 0 ufrag KRRQ network-id 10 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"type":"IceCandidate"}

And finally here is TURN server log:

70: handle_udp_packet: New UDP endpoint: local addr 148.76.71.179:3478, remote addr 148.76.71.129:56744 70: session 000000000000000001: user <>: incoming packet BINDING processed, success 70: handle_udp_packet: New UDP endpoint: local addr 148.76.71.179:3478, remote addr 148.76.71.129:64817 70: session 003000000000000001: user <>: incoming packet BINDING processed, success 70: handle_udp_packet: New UDP endpoint: local addr 148.76.71.179:3478, remote addr 148.76.71.129:63266 70: session 012000000000000001: user <>: incoming packet BINDING processed, success 71: session 000000000000000001: user <>: incoming packet message processed, error 401: Unauthorised 71: session 012000000000000001: user <>: incoming packet message processed, error 401: Unauthorised 71: session 003000000000000001: user <>: incoming packet message processed, error 401: Unauthorised 71: session 003000000000000001: user <>: incoming packet BINDING processed, success 71: session 012000000000000001: user <>: incoming packet BINDING processed, success 71: session 000000000000000001: user <>: incoming packet message processed, error 401: Unauthorised 71: session 003000000000000001: user <>: incoming packet message processed, error 401: Unauthorised 71: session 012000000000000001: user <>: incoming packet message processed, error 401: Unauthorised 71: IPv4. Local relay addr: 148.76.71.179:58550 71: session 012000000000000001: new, username=, lifetime=600 71: session 012000000000000001: user : incoming packet ALLOCATE processed, success 71: session 012000000000000001: user : incoming packet ALLOCATE processed, success 71: IPv4. Local relay addr: 148.76.71.179:53008 71: session 000000000000000001: new, username=, lifetime=600 71: session 000000000000000001: user : incoming packet ALLOCATE processed, success 71: IPv4. Local relay addr: 148.76.71.179:60125 71: session 003000000000000001: new, username=, lifetime=600 71: session 003000000000000001: user : incoming packet ALLOCATE processed, success 72: session 012000000000000001: user : incoming packet ALLOCATE processed, success 72: session 000000000000000001: user : incoming packet ALLOCATE processed, success 72: session 003000000000000001: user : incoming packet ALLOCATE processed, success 76: handle_udp_packet: New UDP endpoint: local addr 148.76.71.179:3478, remote addr 148.76.71.129:47997 76: session 014000000000000001: user <>: incoming packet BINDING processed, success 76: session 014000000000000001: user <>: incoming packet message processed, error 401: Unauthorised 76: IPv4. Local relay addr: 148.76.71.179:63310 76: session 014000000000000001: new, username=, lifetime=600 76: session 014000000000000001: user : incoming packet ALLOCATE processed, success 76: session 014000000000000001: user : incoming packet CREATE_PERMISSION processed, success 76: session 014000000000000001: user : incoming packet CREATE_PERMISSION processed, success 76: session 014000000000000001: user : incoming packet CREATE_PERMISSION processed, success 77: session 000000000000000001: refreshed, username=, lifetime=0 77: session 000000000000000001: user : incoming packet REFRESH processed, success 77: session 003000000000000001: refreshed, username=, lifetime=0 77: session 003000000000000001: user : incoming packet REFRESH processed, success 77: session 012000000000000001: user : incoming packet CREATE_PERMISSION processed, success 77: session 012000000000000001: user : incoming packet CREATE_PERMISSION processed, success 77: session 012000000000000001: user : incoming packet CREATE_PERMISSION processed, success 77: session 012000000000000001: user : incoming packet CREATE_PERMISSION processed, success 77: session 012000000000000001: user : incoming packet CREATE_PERMISSION processed, success 77: session 012000000000000001: user : incoming packet CREATE_PERMISSION processed, success 78: session 012000000000000001: user : incoming packet CREATE_PERMISSION processed, success 78: session 012000000000000001: user : incoming packet CREATE_PERMISSION processed, success 78: session 000000000000000001: closed (2nd stage), user , local 148.76.71.179:3478, remote 148.76.71.129:56744, reason: allocation timeout 78: session 003000000000000001: closed (2nd stage), user , local 148.76.71.179:3478, remote 148.76.71.129:64817, reason: allocation timeout 81: session 012000000000000001: user : incoming packet BINDING processed, success 86: session 014000000000000001: user : incoming packet BINDING processed, success 91: session 012000000000000001: user : incoming packet BINDING processed, success 91: session 012000000000000001: user : incoming packet BINDING processed, success 96: session 014000000000000001: user : incoming packet BINDING processed, success 102: session 012000000000000001: user : incoming packet BINDING processed, success 106: session 014000000000000001: user : incoming packet BINDING processed, success 112: session 012000000000000001: user : incoming packet BINDING processed, success 112: session 012000000000000001: user : incoming packet BINDING processed, success 117: session 014000000000000001: user : incoming packet BINDING processed, success 122: session 012000000000000001: user : incoming packet BINDING processed, success 122: session 012000000000000001: user : incoming packet BINDING processed, success 127: session 014000000000000001: user : incoming packet BINDING processed, success 133: session 012000000000000001: user : incoming packet BINDING processed, success 137: session 014000000000000001: user : incoming packet BINDING processed, success

====================================================================

vtyutin avatar Jun 30 '20 09:06 vtyutin

Dear vtyutin,

Have you fixed this problem already? We got the same problem....

Regards!

SteffvGils avatar Nov 12 '20 11:11 SteffvGils

Dear all,

Could you fix this problem?

Thanks :)

tfgoztok avatar Jun 25 '21 19:06 tfgoztok

i'm having similar issues as well. added some details here: https://github.com/stasel/WebRTC-iOS/issues/74#issuecomment-969386004 did anyone find a fix?

balusu-murali avatar Nov 15 '21 22:11 balusu-murali

any one solve it please

MostafaALZOUBI1994 avatar Sep 19 '22 10:09 MostafaALZOUBI1994

pleasssse any one share the solution

MostafaALZOUBI1994 avatar Sep 19 '22 11:09 MostafaALZOUBI1994

anyone solved this?

fukemy avatar Oct 20 '22 09:10 fukemy

yeah bro the problem is that ice candidate sometimes arrive before the call event try to make latency when you send candidate and this will solve your problem or put an event that holds the send candidate process until the receiver is ready to receive it.

MostafaALZOUBI1994 avatar Oct 20 '22 12:10 MostafaALZOUBI1994

Hi bro. I tried to get mediaDevices after audioSessionDidActivated, but still not working

fukemy avatar Oct 20 '22 12:10 fukemy

the problem is send candidate not get mediaDevices

MostafaALZOUBI1994 avatar Oct 20 '22 12:10 MostafaALZOUBI1994

the problem is end candidate not get mediaDevices

Thanks so much u will check the problem

fukemy avatar Oct 20 '22 14:10 fukemy