Open Bug 1253308 Opened 8 years ago Updated 2 years ago

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

Categories

(Core :: WebRTC: Signaling, defect, P3)

38 Branch
defect

Tracking

()

People

(Reporter: ekr, Unassigned)

Details

"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)
At least being able to accept this will be important soon otherwise we won't be able to interop with conformant implementaitons
Rank: 17
Priority: -- → P1
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
Moving to p3 because no activity for at least 1 year(s).
See https://github.com/mozilla/bug-handling/blob/master/policy/triage-bugzilla.md#how-do-you-triage for more information
Priority: P2 → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.