Closed Bug 1611999 Opened 6 years ago Closed 5 years ago

WebRTC Data Channel won't establish in Firefox, works in every other context

Categories

(Core :: WebRTC: Networking, defect)

72 Branch
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: michael, Unassigned, NeedInfo)

References

()

Details

(Keywords: parity-chrome, parity-safari)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36

Steps to reproduce:

I'm having a weird issue where establishing a WebRTC data channel always fails in Firefox with the error ICE failed, add a TURN server and see about:webrtc for more details

I've tried to minimize the code as much as possible, but it's still a little long so I've put it on PasteBin: https://pastebin.com/dZcnenPf

This code works in any combination of Chrome, Safari, Native Android + iOS clients, but not Firefox.

about:webrtc results
SDP
Local SDP (Offer)
v=0
o=mozilla...THIS_IS_SDPARTA-72.0.2 8828198557720782700 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 28:89:8F:9C:09:18:F4:A9:6D:2B:D1:4B:5A:A9:7E:C7:78:B2:65:E1:50:A5:D2:47:B5:95:F0:77:F9:54:B2:B8
a=group:BUNDLE 0
a=ice-options:trickle
a=msid-semantic:WMS *

m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=sendrecv
a=ice-pwd:9637e18a4077bb9ecbcad94f91120f52
a=ice-ufrag:d8d03939
a=mid:0
a=setup:actpass
a=sctp-port:5000
a=max-message-size:1073741823

Remote SDP (Answer)
v=0
o=mozilla...THIS_IS_SDPARTA-72.0.2 8648289249897946738 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 2A:71:6A:01:46:20:E9:05:30:FA:F3:B4:54:0D:56:6B:1B:6C:D0:72:CD:8B:0D:3A:1F:9D:88:45:BC:D8:67:C1
a=group:BUNDLE 0
a=ice-options:trickle
a=msid-semantic:WMS *
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=sendrecv
a=ice-pwd:ac3e187d7492c227243e59b4254de0b3
a=ice-ufrag:51a009ad
a=mid:0
a=setup:active
a=sctp-port:5000
a=max-message-size:1073741823

Actual results:

ICE failed, add a TURN server and see about:webrtc for more details

Expected results:

RTC connection established

Component: Untriaged → WebRTC: Networking
Product: Firefox → Core

Michael, thanks for the bug report. Could you try the current Nightly? It might help if you could capture some logs. See https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Gecko_Logging , specifically the "Enabling Logging", "Redirecting logging output to a file", and "E10s note" sections.

We need to log at least "sdp:5,signaling:5".

Flags: needinfo?(michael)

MJF, do you know how to enable the nICER logging?

Flags: needinfo?(mfroman)

Hey Nico, I can try Nightly tomorrow. Gecko logging appears to be a C++ framework, but my code is just JS running on a website. I'm not exactly sure how to translate that into the logs that would be helpful.

Flags: needinfo?(michael)

Michael, if you scroll to the "Enable Logging" section of that page it will tell you which environment variables to set set in your shell to capture logging. If your code is in a JSFiddle or Codepen somewhere I would be happy to try to reproduce the issue with logging enabled for you.

Nico, I've created a build on JSFiddle that repros: https://jsfiddle.net/fm9162hp/

Let me know if you have any issue with this

Sorry -- I made an update so that link can't get connected to any other users. You'll need to open two windows with the link for them to attempt to connect. https://jsfiddle.net/fbon1s9y

(In reply to Nico Grunbaum [:ng] from comment #2)

MJF, do you know how to enable the nICER logging?

From the command line I use this:
export R_LOG_DESTINATION=stderr
export R_LOG_LEVEL=9
export R_LOG_VERBOSE=1

Flags: needinfo?(mfroman)
Flags: needinfo?(na-g)

(In reply to Michael Anthony from comment #6)

Sorry -- I made an update so that link can't get connected to any other users. You'll need to open two windows with the link for them to attempt to connect. https://jsfiddle.net/fbon1s9y

Michael A., I think that the second fiddle link may not be correct. Could you have a look?

Flags: needinfo?(na-g) → needinfo?(michael)

This is almost certainly related to draft-ietf-rtcweb-ip-handling, and the particulars of your network environment. We might be able to learn more if you can attach a copy of about:webrtc to this bug. Otherwise, we're probably not going to be able to reproduce.

Hi Michael, per comment 9 we are expecting your copy of about:webrtc. Could you follow up, please?

Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.