Reputation: 457
The WebRTC connection is working in one network but doesn't work in another network.
I'm using default STUN server (configuration is null).
Both PCs are connected to the same network over WiFi.
Browsers are Chrome v80 on MACs v10.14/v10.15
It is disconnected when PCs both have identical and different resolutions.
I successfully send offer/answer and exchange the ICE candidates both sides, the connection reaches the state:
signalingState=stable, iceConnectionState=checking
and after that disconnects:
signalingState=stable, iceConnectionState=disconnected
No error is thrown.
This is the OFFER request with candidates:
"v=0
o=- 1918312373894049518 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS VMoywDECbWIZecM33M11MCLTtCGocmtiL9dD
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123 119 114 115 116
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:c+e9
a=ice-pwd:Iuq40drPvvQWqZ1HGHHgfg2X
a=ice-options:trickle
a=fingerprint:sha-256 31:53:62:4A:19:03:D4:3C:B4:F8:98:1F:75:A7:13:B8:EF:8F:C8:D2:DF:DC:F1:0C:BF:E3:4A:44:94:BD:B7:83
a=setup:actpass
a=mid:0
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:VMoywDECbWIZecM33M11MCLTtCGocmtiL9dD 77712c39-0b41-4d0b-80a6-d7d9926c2e19
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/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=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/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 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/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=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:121 rtx/90000
a=fmtp:121 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:124 H264/90000
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=124
a=rtpmap:123 H264/90000
a=rtcp-fb:123 goog-remb
a=rtcp-fb:123 transport-cc
a=rtcp-fb:123 ccm fir
a=rtcp-fb:123 nack
a=rtcp-fb:123 nack pli
a=fmtp:123 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640032
a=rtpmap:119 rtx/90000
a=fmtp:119 apt=123
a=rtpmap:114 red/90000
a=rtpmap:115 rtx/90000
a=fmtp:115 apt=114
a=rtpmap:116 ulpfec/90000
a=ssrc-group:FID 2204483179 727304564
a=ssrc:2204483179 cname:BZZUdcK8yex5XUOS
a=ssrc:2204483179 msid:VMoywDECbWIZecM33M11MCLTtCGocmtiL9dD 77712c39-0b41-4d0b-80a6-d7d9926c2e19
a=ssrc:2204483179 mslabel:VMoywDECbWIZecM33M11MCLTtCGocmtiL9dD
a=ssrc:2204483179 label:77712c39-0b41-4d0b-80a6-d7d9926c2e19
a=ssrc:727304564 cname:BZZUdcK8yex5XUOS
a=ssrc:727304564 msid:VMoywDECbWIZecM33M11MCLTtCGocmtiL9dD 77712c39-0b41-4d0b-80a6-d7d9926c2e19
a=ssrc:727304564 mslabel:VMoywDECbWIZecM33M11MCLTtCGocmtiL9dD
a=ssrc:727304564 label:77712c39-0b41-4d0b-80a6-d7d9926c2e19
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:c+e9
a=ice-pwd:Iuq40drPvvQWqZ1HGHHgfg2X
a=ice-options:trickle
a=fingerprint:sha-256 31:53:62:4A:19:03:D4:3C:B4:F8:98:1F:75:A7:13:B8:EF:8F:C8:D2:DF:DC:F1:0C:BF:E3:4A:44:94:BD:B7:83
a=setup:actpass
a=mid:1
a=sctp-port:5000
a=max-message-size:262144
"
"candidate:779392416 1 udp 2122260223 172.20.81.37 53364 typ host generation 0 ufrag c+e9 network-id 1 network-cost 10"
"candidate:779392416 1 udp 2122260223 172.20.81.37 49615 typ host generation 0 ufrag c+e9 network-id 1 network-cost 10"
"candidate:1626827088 1 tcp 1518280447 172.20.81.37 9 typ host tcptype active generation 0 ufrag c+e9 network-id 1 network-cost 10"
"candidate:1626827088 1 tcp 1518280447 172.20.81.37 9 typ host tcptype active generation 0 ufrag c+e9 network-id 1 network-cost 10"
This is the ANSWER request with candidates:
"v=0
o=- 6965597330662106262 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123 119 114 115 116
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:hbTb
a=ice-pwd:tlvpx+snVxtXuCDH4gdrODOF
a=ice-options:trickle
a=fingerprint:sha-256 89:06:89:A5:E3:A5:67:DE:68:BC:61:FC:CC:11:1E:14:97:18:54:DD:3D:FB:26:9D:B6:64:E7:B4:8B:2F:83:B8
a=setup:active
a=mid:0
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=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/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=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/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 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/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=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:121 rtx/90000
a=fmtp:121 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:124 H264/90000
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=124
a=rtpmap:123 H264/90000
a=rtcp-fb:123 goog-remb
a=rtcp-fb:123 transport-cc
a=rtcp-fb:123 ccm fir
a=rtcp-fb:123 nack
a=rtcp-fb:123 nack pli
a=fmtp:123 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640032
a=rtpmap:119 rtx/90000
a=fmtp:119 apt=123
a=rtpmap:114 red/90000
a=rtpmap:115 rtx/90000
a=fmtp:115 apt=114
a=rtpmap:116 ulpfec/90000
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
b=AS:30
a=ice-ufrag:hbTb
a=ice-pwd:tlvpx+snVxtXuCDH4gdrODOF
a=ice-options:trickle
a=fingerprint:sha-256 89:06:89:A5:E3:A5:67:DE:68:BC:61:FC:CC:11:1E:14:97:18:54:DD:3D:FB:26:9D:B6:64:E7:B4:8B:2F:83:B8
a=setup:active
a=mid:1
a=sctp-port:5000
a=max-message-size:262144
"
"candidate:1540403324 1 udp 2122260223 192.168.8.64 50673 typ host generation 0 ufrag hbTb network-id 2"
"candidate:1160182379 1 udp 2122194687 172.20.82.155 58660 typ host generation 0 ufrag hbTb network-id 1 network-cost 10"
"candidate:357780620 1 tcp 1518280447 192.168.8.64 9 typ host tcptype active generation 0 ufrag hbTb network-id 2"
"candidate:195364507 1 tcp 1518214911 172.20.82.155 9 typ host tcptype active generation 0 ufrag hbTb network-id 1 network-cost 10"
Upvotes: 1
Views: 2184
Reputation: 17275
This is an ICE failure, i.e. it is impossible to establish a connection. The ice connection state should go to failed but there is a bug in Chrome.
In your case both clients seem to be on different networks (from the candidates generated), you will need at least a stun server. There is no default stun server.
Upvotes: 1