# mediasoup-client 3.23.0 released with RTP extension control API

**URL:** <https://mediasoup.discourse.group/t/mediasoup-client-3-23-0-released-with-rtp-extension-control-api/6999>\
**Category:** Announcements\
**Created:** [August 27, 2026, 11:07am UTC](https://mediasoup.discourse.group/t/mediasoup-client-3-23-0-released-with-rtp-extension-control-api/6999 "2026-08-27T11:07:14Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [August 27, 2026, 11:07am UTC](https://mediasoup.discourse.group/t/mediasoup-client-3-23-0-released-with-rtp-extension-control-api/6999/1 "2026-08-27T11:07:14Z")

</div>

mediasoup-client 3.23.0 comes with a new feature and a breaking change:

- **[BREAKING CHANGE]** `transport.produce()`: Remove `headerExtensionOptions`.
- `DeviceOptions`: Add `forcedRtpExtensions` option, which is an object whose keys are valid `RtpHeaderExtensionUri` strings and values are booleans indicating whether such a RTP extension should be enabled or disabled.
- Currently it only works in latest Chrome, which is the only browser that supports the [WebRTC RTP Extension Control API](https://w3c.github.io/webrtc-extensions/#rtp-header-extension-control).

**Usage example:**

```js
const mediasoupDevice = await mediasoupClient.Device.factory({
	forcedRtpExtensions: {
		'http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time': true
	},
});

```

- Related PR: [Add forced RTP extensions API by ibc · Pull Request #379 · versatica/mediasoup-client · GitHub](https://github.com/versatica/mediasoup-client/pull/379)
- Fixed issue: [`pc.setLocalDescription()` fails in Canary 149 with "Codec collision" error due to "abs-capture-time" extension · Issue #373 · versatica/mediasoup-client · GitHub](https://github.com/versatica/mediasoup-client/issues/373)
- Fixed issue: [Use the header extension API · Issue #351 · versatica/mediasoup-client · GitHub](https://github.com/versatica/mediasoup-client/issues/351)

---

<div class="post-metadata">

**Author:** ![miroslavpejic85](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/miroslavpejic85/32/1044_2.png) [@miroslavpejic85](https://mediasoup.discourse.group/u/miroslavpejic85)\
**Post date:** [August 27, 2026, 11:47am UTC](https://mediasoup.discourse.group/t/mediasoup-client-3-23-0-released-with-rtp-extension-control-api/6999/2 "2026-08-27T11:47:55Z")

</div>

So `forcedRtpExtensions` is not mandatory and mediasoup-client still works without it, right?

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [August 27, 2026, 11:54am UTC](https://mediasoup.discourse.group/t/mediasoup-client-3-23-0-released-with-rtp-extension-control-api/6999/3 "2026-08-27T11:54:37Z")

</div>

Correct.

BTW everything is always documented: [mediasoup :: API](https://mediasoup.org/documentation/v3/mediasoup-client/api/#DeviceOptions)

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/mediasoup/original/2X/b/b318c4d3397e65af9535f79c605b80b9ceb066c8.png) [@system](https://mediasoup.discourse.group/u/system)\
**Post date:** [August 29, 2026, 11:08am UTC](https://mediasoup.discourse.group/t/mediasoup-client-3-23-0-released-with-rtp-extension-control-api/6999/4 "2026-08-29T11:08:04Z")

</div>

This topic was automatically closed after 2 days. New replies are no longer allowed.
