Skip to content

Header extension negotiation: Allow adding needed ones after initial O/A? #248

Description

@alvestrand

It turns out that JSEP says that we shouldn't add header extensions in subsequent offers. Nevertheless, Chrome has allowed that.
Now we removed that function through implementing the "remember what you negotiated" extension, and of course an use case has shown up.

The use case is this:

Initial offer: video, with all the extensions including RID
Initial answer: video, extension not containing RID
Second offer: new video section, extensions copied from last negotiation, simulcast turned on.
Result: Rejection - simulcast is not supported without the RID extension.

We know (because this worked earlier) that if the RID extension is sent together with the additional section, O/A will work - we will get an answer with RID in the header extension list.

The alternatives I see here are:

  • Don't support this use case
  • Add a sentence saying something like "when there exists a sender configuration with simulcast enabled, set HeaderExtensionsToNegotiate[rid] to "sendrecv" for that section"
  • Something else?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions