[webrtc-extensions] RTP header extension control: Modify for re-offers (#237)

alvestrand has just created a new issue for https://github.com/w3c/webrtc-extensions:

== RTP header extension control: Modify for re-offers ==
At the moment, the RTP header extension control procedure changes in [5.2](https://w3c.github.io/webrtc-extensions/#rtp-header-extension-control-modifications) does not alter HeaderExtensionsToNegotiate.

This means that in the following scenario:

A sets HeaderExtensionsToNegotiate(extension Y) = stopped (for an extension where default is "sendrecv")
A sends offer to B (without Y)
B sends answer to A (without Y, per spec)
B sends a counteroffer to A

the counteroffer will have extension Y = sendrecv. A similar problem exists where B rejects a header extension.

To correct, add to the algorithm modification, after step 3:

4. Set transceiver.[[HeaderExtensionsToNegotiate]] to negotiatedExtensions

This will ensure that the counteroffer (or reoffer in the case of original offerer) will not make any changes to the set of header extensions offered, while still preserving the ability to change HeaderExtensionsToNegotiate either before the offer or (for an answerer) within the offer processing.


Please view or discuss this issue at https://github.com/w3c/webrtc-extensions/issues/237 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 14 August 2025 07:46:55 UTC