JSEP Section 5.3.1 requires non-bundled m= lines to have unique credentials

NEW
Unassigned

Status

()

Core
WebRTC: Signaling
P2
normal
Rank:
17
2 years ago
10 months ago

People

(Reporter: ekr, Unassigned)

Tracking

38 Branch
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years ago
"Each m= section, provided it is not being bundled into another m= section, MUST generate a unique set of ICE credentials and gather its own unique set of ICE candidates. Otherwise, it MUST use the same ICE credentials and candidates as the m= section into which it is being bundled. Note that this means that for offers, any m= sections which are not bundle-only MUST have unique ICE credentials and candidates, since it is possible that the answerer will accept them without bundling them."

SDParta does not behave this way.
byron (or ekr) - can you prioritize?  clearly a spec issue, but how important (and complex) is this?
Flags: needinfo?(docfaraday)
(Reporter)

Comment 2

2 years ago
At least being able to accept this will be important soon otherwise we won't be able to interop with conformant implementaitons

Updated

2 years ago
Rank: 17
Priority: -- → P1

Comment 3

2 years ago
I think Micheal is already on this as part of the ICE restart work (at least for accepting what the remote side does). Micheal?
Flags: needinfo?(docfaraday) → needinfo?(mfroman)
(In reply to Byron Campen [:bwc] from comment #3)
> I think Micheal is already on this as part of the ICE restart work (at least
> for accepting what the remote side does). Micheal?

At the least we'd need specific mochitests to verify that we accept unique ice credentials across unbundled m= sections in the offer. Creating these tests are made more difficult because the credentials are generated down in nICEr (ice_ctx.c) where it is more difficult generate additional sets of credentials using the same code for munging the SDP.

When generating SDP, JsepSessionImpl currently believes in exactly one set of ice credentials. The current changes to implement ice restart (Bug 906986) were not going to address the multiple-credential problem. The last discussion during a webrtc standup was to consider this an edge-case and create a new bug to handle it.  I guess this is that bug.  It seems like it will touch a lot of code.
Flags: needinfo?(mfroman)
Looks to me like a mochitest with munged SDP will not do the trick. Thus I think it probably makes more sense to work on supporting to send and receive at the same time. Then the testing won't be an issue any more.

I believe nICEr already has the capability to store multiple/different credentials. So I guess adapting JsepSessionImpl is tricky part here.
Mass change P1->P2 to align with new Mozilla triage process
Priority: P1 → P2
You need to log in before you can comment on or make changes to this bug.