Closed Bug 1348579 Opened 8 years ago Closed 8 years ago

'failed to create passive TCP host candidate' when attempting to enter Discord voice channel

Categories

(Core :: WebRTC: Networking, defect, P2)

defect

Tracking

()

RESOLVED INVALID

People

(Reporter: shane.bundy, Assigned: drno)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0 Build ID: 20170318030202 Steps to reproduce: 1. Sign in to Discord (discordapp.com) 2. Find a group and enter a voice channel Actual results: Discord claims to be connected while the console stays on the output 'Sending local SDP to voice server'. about:webrtc spews an error saying it was unable to create a passive TCP host candidate. Expected results: Discord should have connected without error.
This started to happen on the March 17th Nightly although it may have crept in to March 16th's one also. Disabling ICE TCP reduces the spew but does not resolve the issue.
Component: Untriaged → WebRTC: Networking
Product: Firefox → Core
Tired it with Nightly 2017-03-15 and 2017-03-19 and I no longer see ICE connecting. I'm not aware of any bigger changes in our ICE stack which would explain this. I think we can safely ignore the ICE TCP error messages, as the discord server never even offers ICE TCP. What looks strange to me is that the discord server advertises as the SSRC for the audio RTP stream 0. That is at least not very clever, if not broken. But even with that SSRC number ICE should connect.
Status: UNCONFIRMED → NEW
Rank: 25
Ever confirmed: true
Priority: -- → P2
The problem is that the discord voice server in it's SDP answer sends back: a=setup:actpass As Firefox offered a=setup:actpass the answerer needs to send back either a=setup:active or a=setup:passive. And it would be good if the discord JS code would also check for errors thrown when doing the SetRemoteDescription() call, because Firefox throws an error/returns a promise failure which points out this error in the answer SDP.
Assignee: nobody → drno
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INVALID
Side-note for Discord - there's evil code in the webrtc.org codebase that Chrome and we (and Safari will) use, which disallows SSRC's of 0 - it uses that as a flag for "not set". (Ugh)
I've filed a bug report with the Discord guys. I'll update this with their response.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: