Hi,
I have the following case.
There's a conference with a three participants. One of them quits, and after
that ICE connection becomes broken.
Each m-section uses its own mid, audio and video are multistreamed in two
transport channels.
The order is always SetRemoteDescription["offer"] /
SetLocalDescription["answer"].
To delete the participant, I'm using "a=inactive" attributes, adding them to
m=audio and m=video sections. After that I see in Local SDP that m-sections
concerning to Remote SDP sections are also inactive - it's OK -
but other Local SDP sections reflecting still alive third participant by some
reason becomes "recvonly", onicecandidate() callbacks are fired, and ICE
connection dissapears (SFU is not awaiting for ICE reconnection).
How to disable this re-ICEing ?
-------------------------------------------------------------------------------------------------------------------------------
Three participants now
>>> Remote sdp 1, type = offer
v=0
o=- 31464631288080 2 IN IP4 192.67.4.14
s=-
t=0 0
a=group:BUNDLE audio-2775104712 audio-3601440349
a=group:BUNDLE video-3855279324 video-1544371678
a=ice-options:trickle
a=msid-semantic: WMS *
m=audio 1 RTP/SAVPF 102 18 15 9 117 116 115 114 99 96 113 112 8 0 124 125
c=IN IP4 192.168.125.117
b=AS:50
a=mid:audio-2775104712
a=msid:MSID-1-5306(u.vm)@deb7-abagyan.spiritcorp.com-2775104712
MSTID-AUDIO-2775104712 MSID-CqI0IQlUSXZ7hcFH-2775104712-
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:0005USER
a=ice-pwd:0005CALLIDABCDEFGHIJKLMNPASSWORD
a=end-of-candidates
a=sendrecv
a=rtcp-mux
a=fingerprint:sha-256
F4:62:26:0F:66:C8:94:71:5A:9C:E9:0D:E1:D4:81:9C:82:A1:9B:13:BF:0A:6E:73:E7:24:1E:3C:FC:5E:70:CB
a=rtpmap:102 ip-mr_v2.5/16000
a=rtpmap:18 G729/8000
a=rtpmap:15 G728/8000
a=rtpmap:9 G722/8000
a=fmtp:9 bitrate=64000
a=rtpmap:117 G722/16000
a=fmtp:117 bitrate=56000
a=rtpmap:116 G722/16000
a=fmtp:116 bitrate=48000
a=rtpmap:115 G7221/16000
a=fmtp:115 bitrate=32000
a=rtpmap:114 G7221/16000
a=fmtp:114 bitrate=24000
a=rtpmap:99 speex/16000
a=rtpmap:96 speex/8000
a=rtpmap:113 SILK/16000
a=rtpmap:112 SILK/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:124 spirit-ars/1000
a=rtpmap:125 spirit-fec/90000
a=ssrc:2775104712 cname:CqI0IQlUSXZ7hcFH
a=setup:active
m=video 1 RTP/SAVPF 109 100 46 40 124 125
c=IN IP4 192.168.125.117
b=AS:500
a=mid:video-3855279324
a=msid:MSID-1-5306(u.vm)@deb7-abagyan.spiritcorp.com-3855279324
MSTID-VIDEO-3855279324 MSID-CqI0IQlUSXZ7hcFH-3855279324-
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:0005USER
a=ice-pwd:0005CALLIDABCDEFGHIJKLMNPASSWORD
a=end-of-candidates
a=sendrecv
a=rtcp-mux
a=fingerprint:sha-256
F4:62:26:0F:66:C8:94:71:5A:9C:E9:0D:E1:D4:81:9C:82:A1:9B:13:BF:0A:6E:73:E7:24:1E:3C:FC:5E:70:CB
a=rtpmap:109 H264-SVC/90000
a=rtpmap:100 VP8/90000
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtpmap:46 VP8-SVC/90000
a=rtpmap:40 H263-1998/90000
a=rtpmap:124 spirit-ars/1000
a=rtpmap:125 spirit-fec/90000
a=ssrc:3855279324 cname:CqI0IQlUSXZ7hcFH
a=setup:active
m=audio 1 RTP/SAVPF 102 18 15 9 117 116 115 114 99 96 113 112 8 0 124 125
c=IN IP4 192.168.125.117
b=AS:50
a=mid:audio-3601440349
a=msid:MSID-admin(u.vm)@deb7-abagyan.spiritcorp.com-3601440349
MSTID-AUDIO-3601440349 MSID-xM06DtEznzfbpQLm-3601440349-
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:0005USER
a=ice-pwd:0005CALLIDABCDEFGHIJKLMNPASSWORD
a=end-of-candidates
a=sendrecv
a=rtcp-mux
a=fingerprint:sha-256
F4:62:26:0F:66:C8:94:71:5A:9C:E9:0D:E1:D4:81:9C:82:A1:9B:13:BF:0A:6E:73:E7:24:1E:3C:FC:5E:70:CB
a=rtpmap:9 G722/8000
a=fmtp:9 bitrate=64000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=ssrc:3601440349 cname:xM06DtEznzfbpQLm
a=setup:active
m=video 1 RTP/SAVPF 109 100 46 40 124 125
c=IN IP4 192.168.125.117
b=AS:500
a=mid:video-1544371678
a=msid:MSID-admin(u.vm)@deb7-abagyan.spiritcorp.com-1544371678
MSTID-VIDEO-1544371678 MSID-xM06DtEznzfbpQLm-1544371678-
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:0005USER
a=ice-pwd:0005CALLIDABCDEFGHIJKLMNPASSWORD
a=end-of-candidates
a=sendrecv
a=rtcp-mux
a=fingerprint:sha-256
F4:62:26:0F:66:C8:94:71:5A:9C:E9:0D:E1:D4:81:9C:82:A1:9B:13:BF:0A:6E:73:E7:24:1E:3C:FC:5E:70:CB
a=rtpmap:109 H264-SVC/90000
a=rtpmap:100 VP8/90000
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtpmap:46 VP8-SVC/90000
a=rtpmap:40 H263-1998/90000
a=ssrc:1544371678 cname:xM06DtEznzfbpQLm
a=setup:active
onsignalingstatechange signalingstatechange { target: mozRTCPeerConnection,
isTrusted: true, currentTarget: mozRTCPeerConnection, eventPhase: 2, bubbles:
false, cancelable: false, defaultPrevented: false, timeStamp: 1464631288114000,
originalTarget: mozRTCPeerConnection, explicitOriginalTarget:
mozRTCPeerConnection, NONE: 0 } wrtc.js:348:13
remoteDescription happy wrtc.js:805:17
-------------------------------------------------------------------------------------------------------------------------------
>>> Local sdp 2, type = answer :
v=0
o=mozilla...THIS_IS_SDPARTA-46.0.1 3793962313751401269 0 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256
97:70:3D:AA:B7:0A:4C:AC:87:08:81:D5:EC:74:3B:F0:F9:4E:82:41:91:28:D8:BB:4A:54:8F:A5:94:97:D3:1E
a=group:BUNDLE audio-2775104712 audio-3601440349
a=group:BUNDLE video-3855279324 video-1544371678
a=ice-options:trickle
a=msid-semantic:WMS *
m=audio 55599 RTP/SAVPF 9
c=IN IP4 91.224.14.66
a=candidate:0 1 UDP 2122252543 192.168.125.138 55599 typ host
a=candidate:4 1 UDP 1686052863 91.224.14.66 55599 typ srflx raddr
192.168.125.138 rport 55599
a=sendrecv
a=ice-pwd:ea0d6b026e01f88a5f0aee04b8dc1538
a=ice-ufrag:f73e58f8
a=mid:audio-2775104712
a=msid:{e787ea8e-1682-4d6b-9ae2-bb6ba35f2f47}
{027019f7-4dfe-42f7-8c98-18d87fa137aa}
a=rtcp-mux
a=rtpmap:9 G722/8000/1
a=setup:passive
a=ssrc:928883089 cname:{e3570e3a-7c28-4131-9eff-b7c5566c61ae}
m=video 62860 RTP/SAVPF 100
c=IN IP4 91.224.14.66
a=candidate:0 1 UDP 2122252543 192.168.125.138 62860 typ host
a=candidate:4 1 UDP 1686052863 91.224.14.66 62860 typ srflx raddr
192.168.125.138 rport 62860
a=sendrecv
a=fmtp:100 max-fs=12288;max-fr=60
a=ice-pwd:ea0d6b026e01f88a5f0aee04b8dc1538
a=ice-ufrag:f73e58f8
a=mid:video-3855279324
a=msid:{e787ea8e-1682-4d6b-9ae2-bb6ba35f2f47}
{bfe55b3e-3732-4242-bf45-de98e34e8c65}
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtcp-fb:100 ccm fir
a=rtcp-mux
a=rtpmap:100 VP8/90000
a=setup:passive
a=ssrc:3711203578 cname:{e3570e3a-7c28-4131-9eff-b7c5566c61ae}
m=audio 9 RTP/SAVPF 9
c=IN IP4 0.0.0.0
a=recvonly
a=ice-pwd:ea0d6b026e01f88a5f0aee04b8dc1538
a=ice-ufrag:f73e58f8
a=mid:audio-3601440349
a=rtcp-mux
a=rtpmap:9 G722/8000/1
a=setup:passive
a=ssrc:3204547686 cname:{e3570e3a-7c28-4131-9eff-b7c5566c61ae}
m=video 9 RTP/SAVPF 100
c=IN IP4 0.0.0.0
a=recvonly
a=fmtp:100 max-fs=12288;max-fr=60
a=ice-pwd:ea0d6b026e01f88a5f0aee04b8dc1538
a=ice-ufrag:f73e58f8
a=mid:video-1544371678
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtcp-fb:100 ccm fir
a=rtcp-mux
a=rtpmap:100 VP8/90000
a=setup:passive
a=ssrc:3170457423 cname:{e3570e3a-7c28-4131-9eff-b7c5566c61ae}
onsignalingstatechange signalingstatechange { target: mozRTCPeerConnection,
isTrusted: true, currentTarget: mozRTCPeerConnection, eventPhase: 2, bubbles:
false, cancelable: false, defaultPrevented: false, timeStamp: 1464631288123000,
originalTarget: mozRTCPeerConnection, explicitOriginalTarget:
mozRTCPeerConnection, NONE: 0 }
oic() : complete == true , evt.candidate == null
ontrack(): Remote track adding. id: [object RTCTrackEvent]
onaddstream(): Remote stream adding. id:
MSID-admin(u.vm)@deb7-abagyan.mambetcorp.com-1544371678, all tracks: 1,
audioTracks: 0, videoTracks: 1
onaddstream() : attaching video stream to jid
admin(u.vm)@deb7-abagyan.mambetcorp.com wrtc.js:285:17
ontrack(): Remote track adding. id: [object RTCTrackEvent] wrtc.js:232:13
onaddstream(): Remote stream adding. id:
MSID-admin(u.vm)@deb7-abagyan.mambetcorp.com-3601440349, all tracks: 1,
audioTracks: 1, videoTracks: 0
onaddstream() : attaching audio only stream to jid
admin(u.vm)@deb7-abagyan.mambetcorp.com
oic() : complete == true , evt.candidate == undefined
-------------------------------------------------------------------------------------------------------------------------------
----- Remote SDP after deleting the third participant :
>>> Remote sdp 3, type = offer :
v=0
o=- 31464631304994 2 IN IP4 192.67.4.14
s=-
t=0 0
a=group:BUNDLE audio-2775104712 audio-3601440349
a=group:BUNDLE video-3855279324 video-1544371678
a=ice-options:trickle
a=msid-semantic: WMS *
m=audio 1 RTP/SAVPF 102 18 15 9 117 116 115 114 99 96 113 112 8 0 124 125
c=IN IP4 192.168.125.117
b=AS:50
a=mid:audio-2775104712
a=msid:MSID-1-5306(u.vm)@deb7-abagyan.mambetcorp.com-2775104712
MSTID-AUDIO-2775104712 MSID-CqI0IQlUSXZ7hcFH-2775104712-
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:0005USER
a=ice-pwd:0005CALLIDABCDEFGHIJKLMNPASSWORD
a=end-of-candidates
a=sendrecv
a=rtcp-mux
a=fingerprint:sha-256
F4:62:26:0F:66:C8:94:71:5A:9C:E9:0D:E1:D4:81:9C:82:A1:9B:13:BF:0A:6E:73:E7:24:1E:3C:FC:5E:70:CB
a=rtpmap:9 G722/8000
a=fmtp:9 bitrate=64000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=ssrc:2775104712 cname:CqI0IQlUSXZ7hcFH
a=inactive
a=setup:active
m=video 1 RTP/SAVPF 109 100 46 40 124 125
c=IN IP4 192.168.125.117
b=AS:500
a=mid:video-3855279324
a=msid:MSID-1-5306(u.vm)@deb7-abagyan.mambetcorp.com-3855279324
MSTID-VIDEO-3855279324 MSID-CqI0IQlUSXZ7hcFH-3855279324-
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:0005USER
a=ice-pwd:0005CALLIDABCDEFGHIJKLMNPASSWORD
a=end-of-candidates
a=sendrecv
a=rtcp-mux
a=fingerprint:sha-256
F4:62:26:0F:66:C8:94:71:5A:9C:E9:0D:E1:D4:81:9C:82:A1:9B:13:BF:0A:6E:73:E7:24:1E:3C:FC:5E:70:CB
a=rtpmap:109 H264-SVC/90000
a=rtpmap:100 VP8/90000
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtpmap:46 VP8-SVC/90000
a=rtpmap:40 H263-1998/90000
a=ssrc:3855279324 cname:CqI0IQlUSXZ7hcFH
a=inactive
a=setup:active
m=audio 1 RTP/SAVPF 102 18 15 9 117 116 115 114 99 96 113 112 8 0 124 125
c=IN IP4 192.168.125.117
b=AS:50
a=mid:audio-3601440349
a=msid:MSID-admin(u.vm)@deb7-abagyan.mambetcorp.com-3601440349
MSTID-AUDIO-3601440349 MSID-xM06DtEznzfbpQLm-3601440349-
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:0005USER
a=ice-pwd:0005CALLIDABCDEFGHIJKLMNPASSWORD
a=end-of-candidates
a=sendrecv
a=rtcp-mux
a=fingerprint:sha-256
F4:62:26:0F:66:C8:94:71:5A:9C:E9:0D:E1:D4:81:9C:82:A1:9B:13:BF:0A:6E:73:E7:24:1E:3C:FC:5E:70:CB
a=rtpmap:102 ip-mr_v2.5/16000
a=rtpmap:18 G729/8000
a=rtpmap:15 G728/8000
a=rtpmap:9 G722/8000
a=fmtp:9 bitrate=64000
a=rtpmap:117 G722/16000
a=fmtp:117 bitrate=56000
a=rtpmap:116 G722/16000
a=fmtp:116 bitrate=48000
a=rtpmap:115 G7221/16000
a=fmtp:115 bitrate=32000
a=rtpmap:114 G7221/16000
a=fmtp:114 bitrate=24000
a=rtpmap:99 speex/16000
a=rtpmap:96 speex/8000
a=rtpmap:113 SILK/16000
a=rtpmap:112 SILK/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:124 spirit-ars/1000
a=rtpmap:125 spirit-fec/90000
a=ssrc:3601440349 cname:xM06DtEznzfbpQLm
a=setup:active
m=video 1 RTP/SAVPF 109 100 46 40 124 125
c=IN IP4 192.168.125.117
b=AS:500
a=mid:video-1544371678
a=msid:MSID-admin(u.vm)@deb7-abagyan.mambetcorp.com-1544371678
MSTID-VIDEO-1544371678 MSID-xM06DtEznzfbpQLm-1544371678-
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:0005USER
a=ice-pwd:0005CALLIDABCDEFGHIJKLMNPASSWORD
a=end-of-candidates
a=sendrecv
a=rtcp-mux
a=fingerprint:sha-256
F4:62:26:0F:66:C8:94:71:5A:9C:E9:0D:E1:D4:81:9C:82:A1:9B:13:BF:0A:6E:73:E7:24:1E:3C:FC:5E:70:CB
a=rtpmap:109 H264-SVC/90000
a=rtpmap:100 VP8/90000
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtpmap:46 VP8-SVC/90000
a=rtpmap:40 H263-1998/90000
a=rtpmap:124 spirit-ars/1000
a=rtpmap:125 spirit-fec/90000
a=ssrc:1544371678 cname:xM06DtEznzfbpQLm
a=setup:active
Remote stream removed :
MSID-1-5306(u.vm)@deb7-abagyan.mambetcorp.com-2775104712 wrtc.js:304:13
Remote stream removed :
MSID-1-5306(u.vm)@deb7-abagyan.mambetcorp.com-3855279324 wrtc.js:304:13
onsignalingstatechange signalingstatechange { target: mozRTCPeerConnection,
isTrusted: true, currentTarget: mozRTCPeerConnection, eventPhase: 2, bubbles:
false, cancelable: false, defaultPrevented: false, timeStamp: 1464631305035000,
originalTarget: mozRTCPeerConnection, explicitOriginalTarget:
mozRTCPeerConnection, NONE: 0 }
remoteDescription happy
-------------------------------------------------------------------------------------------------------------------------------
>>> Local sdp 4, type = answer :
v=0
o=mozilla...THIS_IS_SDPARTA-46.0.1 3793962313751401269 0 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256
97:70:3D:AA:B7:0A:4C:AC:87:08:81:D5:EC:74:3B:F0:F9:4E:82:41:91:28:D8:BB:4A:54:8F:A5:94:97:D3:1E
a=group:BUNDLE audio-3601440349
a=group:BUNDLE video-1544371678
a=ice-options:trickle
a=msid-semantic:WMS *
m=audio 0 RTP/SAVPF 0
c=IN IP4 0.0.0.0
a=inactive
a=rtpmap:0 PCMU/8000
m=video 0 RTP/SAVPF 120
c=IN IP4 0.0.0.0
a=inactive
a=rtpmap:120 VP8/90000
m=audio 9 RTP/SAVPF 9
c=IN IP4 0.0.0.0
a=sendrecv
a=ice-pwd:ea0d6b026e01f88a5f0aee04b8dc1538
a=ice-ufrag:f73e58f8
a=mid:audio-3601440349
a=msid:{e787ea8e-1682-4d6b-9ae2-bb6ba35f2f47}
{027019f7-4dfe-42f7-8c98-18d87fa137aa}
a=rtcp-mux
a=rtpmap:9 G722/8000/1
a=setup:passive
a=ssrc:928883089 cname:{e3570e3a-7c28-4131-9eff-b7c5566c61ae}
m=video 9 RTP/SAVPF 100
c=IN IP4 0.0.0.0
a=sendrecv
a=fmtp:100 max-fs=12288;max-fr=60
a=ice-pwd:ea0d6b026e01f88a5f0aee04b8dc1538
a=ice-ufrag:f73e58f8
a=mid:video-1544371678
a=msid:{e787ea8e-1682-4d6b-9ae2-bb6ba35f2f47}
{bfe55b3e-3732-4242-bf45-de98e34e8c65}
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtcp-fb:100 ccm fir
a=rtcp-mux
a=rtpmap:100 VP8/90000
a=setup:passive
a=ssrc:3711203578 cname:{e3570e3a-7c28-4131-9eff-b7c5566c61ae}
onsignalingstatechange signalingstatechange { target: mozRTCPeerConnection,
isTrusted: true, currentTarget: mozRTCPeerConnection, eventPhase: 2, bubbles:
false, cancelable: false, defaultPrevented: false, timeStamp: 1464631305046000,
originalTarget: mozRTCPeerConnection, explicitOriginalTarget:
mozRTCPeerConnection, NONE: 0 } wrtc.js:348:13
processRemoveParties : ok
oic() : complete == true , evt.candidate == [object RTCIceCandidate]
oic() : complete == true , evt.candidate == [object RTCIceCandidate]
oic() : complete == true , evt.candidate == undefined
oniceconnectionstatechange iceconnectionstatechange { target:
mozRTCPeerConnection, isTrusted: true, currentTarget: mozRTCPeerConnection,
eventPhase: 2, bubbles: false, cancelable: false, defaultPrevented: false,
timeStamp: 1464631310108000, originalTarget: mozRTCPeerConnection,
explicitOriginalTarget: mozRTCPeerConnection, NONE: 0 } wrtc.js:318:13
ICE failed, see about:webrtc for more details
_______________________________________________
dev-media mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-media