Open
Bug 1448352
Opened 8 years ago
Updated 3 years ago
firefox 59 webrtc O/A interoperability problem
Categories
(Core :: WebRTC: Signaling, defect, P3)
Tracking
()
NEW
People
(Reporter: lu_zero, Unassigned)
Details
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Firefox/60.0
Build ID: 20180319175655
Steps to reproduce:
Firefox 59 seems unable to interoperate with FreeSwitch.
https://freeswitch.org/jira/browse/FS-11035
Actual results:
Apparently Firefox sends the Offer with a stream order that is different from the one FreeSwitch uses.
That leads to a rejection.
Expected results:
As per Firefox 58 send the Offer with the expected order (if isn't Freeswitch sorting being wrong or naive).
| Reporter | ||
Updated•8 years ago
|
Summary: firefox 95 webrtc O/A interoperability problem → firefox 59 webrtc O/A interoperability problem
Updated•8 years ago
|
Component: Untriaged → WebRTC
Product: Firefox → Core
Comment 1•8 years ago
|
||
Thanks Luca for filing. FF59 introduces RTCRtpTransceivers, so there have been changes in this area to more closely match the spec.
That said, not sure what you mean with "Offer with the expected order". Doesn't an offerer normally set the initial terms to be followed?
The error in this case seems to come from Firefox complaining about the answer it receives back [1] having different media types in the m-lines compared to what it sent out (which by spec it mustn't). This would seem to point to a problem with the other side?
The SDP shown though doesn't appear to reflect this. Is this SDP an exact dump of what went over the signaling channel, or from what's been successfully set on the pc end-point?
Byron, thoughts?
[1] https://searchfox.org/mozilla-central/rev/003262ae12ce937950ffb8d3b0fa520d1cc38bff/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp#1779,1794
Flags: needinfo?(docfaraday)
Comment 2•8 years ago
|
||
Yeah, I'm going to need to see the raw SDP from each side in the failure scenario. What has happened, almost certainly, is that Firefox has offered video, then audio, because that was the order in which the tracks were added. Freeswitch then answers audio, then video, because it has sorted the m-sections by type, which is a bug.
I bet that you can work around this by adding the tracks in the order Freeswitch expects.
Flags: needinfo?(docfaraday)
| Reporter | ||
Comment 3•8 years ago
|
||
I'll try to produce them, in general the problem is the one you described:
- video first, then audio from Firefox
- audio first, then video from Freeswitch
Comment 4•8 years ago
|
||
Luca, have you been able to get those raw SPD? It would be really helpful to make sure to characterize this behaviour correctly, thanks!
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(lu_zero)
Whiteboard: [needinfo to reporter on 2018/03/30]
| Reporter | ||
Comment 5•8 years ago
|
||
It took me some time since I had been otherwise busy but here they are:
Offer
v=0
o=mozilla...THIS_IS_SDPARTA-60.0 1342420112361924415 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 AF:72:EB:FF:7C:DF:BD:4B:8C:04:A0:7B:B2:29:E1:02:0D:98:39:06:2A:96:BD:CE:3C:F9:6D:23:04:D7:5B:51
a=group:BUNDLE sdparta_0 sdparta_1
a=ice-options:trickle
a=msid-semantic:WMS *
m=video 53139 UDP/TLS/RTP/SAVPF 120 121 126 97
c=IN IP4 62.149.188.248
a=candidate:0 1 UDP 2122252543 192.168.0.3 49383 typ host
a=candidate:4 1 UDP 2122187007 fd8a:b6bd:9f89:43f2:accc:298:558f:4dcf 49384 typ host
a=candidate:8 1 TCP 2105524479 192.168.0.3 9 typ host tcptype active
a=candidate:9 1 TCP 2105458943 fd8a:b6bd:9f89:43f2:accc:298:558f:4dcf 9 typ host tcptype active
a=candidate:0 2 UDP 2122252542 192.168.0.3 63568 typ host
a=candidate:4 2 UDP 2122187006 fd8a:b6bd:9f89:43f2:accc:298:558f:4dcf 63569 typ host
a=candidate:8 2 TCP 2105524478 192.168.0.3 9 typ host tcptype active
a=candidate:9 2 TCP 2105458942 fd8a:b6bd:9f89:43f2:accc:298:558f:4dcf 9 typ host tcptype active
a=candidate:1 1 UDP 1686052863 84.220.83.138 49383 typ srflx raddr 192.168.0.3 rport 49383
a=candidate:3 1 UDP 92217087 62.149.188.248 53139 typ relay raddr 62.149.188.248 rport 53139
a=candidate:1 2 UDP 1686052862 84.220.83.138 63568 typ srflx raddr 192.168.0.3 rport 63568
a=candidate:3 2 UDP 92217086 62.149.188.248 50318 typ relay raddr 62.149.188.248 rport 50318
a=sendrecv
a=end-of-candidates
a=extmap:1 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1
a=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1
a=fmtp:120 max-fs=12288;max-fr=60
a=fmtp:121 max-fs=12288;max-fr=60
a=ice-pwd:5c2dbe3e0ffa50c45109e711bb716648
a=ice-ufrag:caeea87a
a=mid:sdparta_0
a=msid:{c6f3420e-432e-1545-ad25-fb089cce1ed5} {3ba31056-f087-d24c-a7ab-e4d87b7be51d}
a=rtcp:50318 IN IP4 62.149.188.248
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=rtcp-fb:120 goog-remb
a=rtcp-fb:121 nack
a=rtcp-fb:121 nack pli
a=rtcp-fb:121 ccm fir
a=rtcp-fb:121 goog-remb
a=rtcp-fb:126 nack
a=rtcp-fb:126 nack pli
a=rtcp-fb:126 ccm fir
a=rtcp-fb:126 goog-remb
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir
a=rtcp-fb:97 goog-remb
a=rtcp-mux
a=rtpmap:120 VP8/90000
a=rtpmap:121 VP9/90000
a=rtpmap:126 H264/90000
a=rtpmap:97 H264/90000
a=setup:actpass
a=ssrc:3152745422 cname:{51e5b963-72e3-654f-ba2e-8c737788bd71}
m=audio 53464 UDP/TLS/RTP/SAVPF 109 9 0 8 101
c=IN IP4 62.149.188.248
a=candidate:0 1 UDP 2122252543 192.168.0.3 55046 typ host
a=candidate:4 1 UDP 2122187007 fd8a:b6bd:9f89:43f2:accc:298:558f:4dcf 55047 typ host
a=candidate:8 1 TCP 2105524479 192.168.0.3 9 typ host tcptype active
a=candidate:9 1 TCP 2105458943 fd8a:b6bd:9f89:43f2:accc:298:558f:4dcf 9 typ host tcptype active
a=candidate:0 2 UDP 2122252542 192.168.0.3 55391 typ host
a=candidate:4 2 UDP 2122187006 fd8a:b6bd:9f89:43f2:accc:298:558f:4dcf 55392 typ host
a=candidate:8 2 TCP 2105524478 192.168.0.3 9 typ host tcptype active
a=candidate:9 2 TCP 2105458942 fd8a:b6bd:9f89:43f2:accc:298:558f:4dcf 9 typ host tcptype active
a=candidate:1 1 UDP 1686052863 84.220.83.138 55046 typ srflx raddr 192.168.0.3 rport 55046
a=candidate:1 2 UDP 1686052862 84.220.83.138 55391 typ srflx raddr 192.168.0.3 rport 55391
a=candidate:3 1 UDP 92217087 62.149.188.248 53464 typ relay raddr 62.149.188.248 rport 53464
a=candidate:3 2 UDP 92217086 62.149.188.248 59967 typ relay raddr 62.149.188.248 rport 59967
a=sendrecv
a=end-of-candidates
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2/recvonly urn:ietf:params:rtp-hdrext:csrc-audio-level
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1
a=fmtp:101 0-15
a=ice-pwd:5c2dbe3e0ffa50c45109e711bb716648
a=ice-ufrag:caeea87a
a=mid:sdparta_1
a=msid:{c6f3420e-432e-1545-ad25-fb089cce1ed5} {6cd597e9-4a90-0b41-a92c-4606c197a576}
a=rtcp:59967 IN IP4 62.149.188.248
a=rtcp-mux
a=rtpmap:109 opus/48000/2
a=rtpmap:9 G722/8000/1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=setup:actpass
a=ssrc:3473057336 cname:{51e5b963-72e3-654f-ba2e-8c737788bd71}
Answer
v=0
o=FreeSWITCH 1522389916 1522389917 IN IP4 188.213.165.106
s=FreeSWITCH
c=IN IP4 188.213.165.106
t=0 0
a=msid-semantic: WMS CTeuLU0Wq03jAW9vA7tDlYsgJKxSlt1N
m=audio 19970 UDP/TLS/RTP/SAVPF 109 101
a=rtpmap:109 opus/48000/2
a=fmtp:109 useinbandfec=1; stereo=1; sprop-stereo=1
a=rtpmap:101 telephone-event/8000
a=silenceSupp:off - - - -
b=TIAS:60000
a=ptime:20
a=sendrecv
a=fingerprint:sha-256 7C:79:7F:03:5D:7C:F6:05:42:75:33:DE:70:B5:13:93:C7:19:6D:9E:78:33:C0:FF:25:B0:A0:14:98:44:1E:1B
a=setup:active
a=rtcp-mux
a=rtcp:19970 IN IP4 188.213.165.106
a=ice-ufrag:cUaoJtui3R1fbTSf
a=ice-pwd:PQTvFkskFyqMDQjGBjVaDgjx
a=candidate:8785970155 1 udp 659136 188.213.165.106 19970 typ host generation 0
a=ssrc:3401737406 cname:d57OQYA6OuffhfAH
a=ssrc:3401737406 msid:CTeuLU0Wq03jAW9vA7tDlYsgJKxSlt1N a0
a=ssrc:3401737406 mslabel:CTeuLU0Wq03jAW9vA7tDlYsgJKxSlt1N
a=ssrc:3401737406 label:CTeuLU0Wq03jAW9vA7tDlYsgJKxSlt1Na0
m=video 24288 UDP/TLS/RTP/SAVPF 120
a=rtpmap:120 VP8/90000
b=TIAS:400000
a=fingerprint:sha-256 7C:79:7F:03:5D:7C:F6:05:42:75:33:DE:70:B5:13:93:C7:19:6D:9E:78:33:C0:FF:25:B0:A0:14:98:44:1E:1B
a=setup:active
a=rtcp-mux
a=rtcp:24288 IN IP4 188.213.165.106
b=AS:1024
a=rtcp-fb:120 ccm fir
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=ssrc:2640553335 cname:d57OQYA6OuffhfAH
a=ssrc:2640553335 msid:CTeuLU0Wq03jAW9vA7tDlYsgJKxSlt1N v0
a=ssrc:2640553335 mslabel:CTeuLU0Wq03jAW9vA7tDlYsgJKxSlt1N
a=ssrc:2640553335 label:CTeuLU0Wq03jAW9vA7tDlYsgJKxSlt1Nv0
a=ice-ufrag:hXPjJ0fPSGDJgQ1V
a=ice-pwd:ejNJpbVl4CmUC8RJVxTvnYa6
a=candidate:8973496612 1 udp 659136 188.213.165.106 24288 typ host generation 0
Flags: needinfo?(lu_zero)
Updated•8 years ago
|
Rank: 25
Component: WebRTC → WebRTC: Signaling
Priority: -- → P3
Whiteboard: [needinfo to reporter on 2018/03/30]
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•