DTLS handshake starts before transmitting the STUN response for the nomination

RESOLVED FIXED in Firefox 39

Status

()

Core
WebRTC: Signaling
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: bwc, Assigned: bwc)

Tracking

(Blocks: 2 bugs)

Trunk
mozilla39
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox39 fixed)

Details

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(1 attachment, 1 obsolete attachment)

(Assignee)

Description

3 years ago
On the answerer side, when the offerer (controlling ICE agent) sends a STUN check that causes ICE to transition to connected, we fire events that cause the DTLS handshake to start, and then send the response. This means that the Client Hello arrives before the STUN response, causing it to be dropped (because ICE isn't connected yet). The retransmission happens a full second later, delaying the flow of media significantly. Fixing this will not only allow our tests to run faster, but will also improve user experience somewhat.
(Assignee)

Comment 1

3 years ago
Created attachment 8570744 [details]
MozReview Request: bz://1137932/bwc

/r/4443 - Bug 1137932: Unwind the stack before starting the DTLS handshake.

Pull down this commit:

hg pull review -r d505249a669520931f59b0f9bcaf772b19fe3b2e
(Assignee)

Comment 2

3 years ago
Comment on attachment 8570744 [details]
MozReview Request: bz://1137932/bwc

This is one possible approach for fixing this bug.

The other approach is sending the STUN response before firing the ready callback, which is currently not possible because the ready callback can return an error code that determines whether the STUN response is a 200 or not. In order to do this, we'd either need to do away with this behavior entirely, or we would need to have two ready callbacks, the first of which can fail, and the second of which can not. This would be a bit more invasive.
Attachment #8570744 - Flags: review?(martin.thomson)
(Assignee)

Updated

3 years ago
Assignee: nobody → docfaraday

Updated

3 years ago
Attachment #8570744 - Flags: review?(martin.thomson) → review+
(Assignee)

Comment 3

3 years ago
https://treeherder.mozilla.org/#/jobs?repo=try&revision=74bace86d0a5
Flags: needinfo?(docfaraday)

Updated

3 years ago
See Also: → bug 1138559
(Assignee)

Comment 4

3 years ago
Seeing some persistent infra build bustage on that try push. Let's see if a rebase clears that up:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=9799aed03755
https://hg.mozilla.org/mozilla-central/rev/4bcedf1c976c
Status: NEW → RESOLVED
Last Resolved: 3 years ago
status-firefox39: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
(Assignee)

Updated

3 years ago
Blocks: 1140584
(Assignee)

Updated

3 years ago
No longer blocks: 1136252
(Assignee)

Updated

3 years ago
Blocks: 901562
(Assignee)

Comment 7

3 years ago
Comment on attachment 8570744 [details]
MozReview Request: bz://1137932/bwc
Attachment #8570744 - Attachment is obsolete: true
Attachment #8619624 - Flags: review+
(Assignee)

Comment 8

3 years ago
Created attachment 8619624 [details]
MozReview Request: Bug 1137932: Unwind the stack before starting the DTLS handshake.
You need to log in before you can comment on or make changes to this bug.