# Exposing RTCPeerConnection for a given transport

**URL:** <https://mediasoup.discourse.group/t/exposing-rtcpeerconnection-for-a-given-transport/962>\
**Category:** mediasoup libraries\
**Created:** [May 6, 2020, 2:41pm UTC](https://mediasoup.discourse.group/t/exposing-rtcpeerconnection-for-a-given-transport/962 "2020-05-06T14:41:17Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![kevmo314](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/kevmo314/32/315_2.png) [@kevmo314](https://mediasoup.discourse.group/u/kevmo314)\
**Post date:** [May 6, 2020, 2:41pm UTC](https://mediasoup.discourse.group/t/exposing-rtcpeerconnection-for-a-given-transport/962/1 "2020-05-06T14:41:17Z")

</div>

Can the RTCPeerConnection for a given transport be exposed? It’s necessary to do things like use [insertable streams](https://github.com/alvestrand/webrtc-media-streams/blob/master/explainer.md#code-examples) to mutate the stream before sending it to mediasoup, but right now the API doesn’t seem to provide such an operation?

---

<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:** [May 6, 2020, 2:53pm UTC](https://mediasoup.discourse.group/t/exposing-rtcpeerconnection-for-a-given-transport/962/2 "2020-05-06T14:53:31Z")

</div>

AFAIS you don’t need access to the PeerConnection at all. You can tell mediasoup-client to create the pc with those new constraints by passing them in `additionalSettings`:

- [https://mediasoup.org/documentation/v3/mediasoup-client/api/#TransportOptions](https://mediasoup.org/documentation/v3/mediasoup-client/api/#TransportOptions)

And you already have access to the `RTCRtpSender` once a `Producer` is created:

- [https://mediasoup.org/documentation/v3/mediasoup-client/api/#producer-rtpSender](https://mediasoup.org/documentation/v3/mediasoup-client/api/#producer-rtpSender)

Let me know if there is something else you need that is not exposed above. For now, marking this topic as resolved.

---

<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:** [May 7, 2020, 8:53am UTC](https://mediasoup.discourse.group/t/exposing-rtcpeerconnection-for-a-given-transport/962/3 "2020-05-07T08:53:10Z")

</div>

@kevmo314 can you confirm that this is ok?

---

<div class="post-metadata">

**Author:** ![havfo](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/havfo/32/268_2.png) [@havfo](https://mediasoup.discourse.group/u/havfo)\
**Post date:** [May 7, 2020, 9:49am UTC](https://mediasoup.discourse.group/t/exposing-rtcpeerconnection-for-a-given-transport/962/4 "2020-05-07T09:49:59Z")

</div>

It seems one would need access to the RTPReceiver as well, on the consumer side if one is to decode the streams.

---

<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:** [May 7, 2020, 9:55am UTC](https://mediasoup.discourse.group/t/exposing-rtcpeerconnection-for-a-given-transport/962/5 "2020-05-07T09:55:22Z")

</div>

Have you actually checked the full API exposed by mediasoup-client? 🙂

- [https://mediasoup.org/documentation/v3/mediasoup-client/api/#consumer-rtpReceiver](https://mediasoup.org/documentation/v3/mediasoup-client/api/#consumer-rtpReceiver)

---

<div class="post-metadata">

**Author:** ![havfo](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/havfo/32/268_2.png) [@havfo](https://mediasoup.discourse.group/u/havfo)\
**Post date:** [May 7, 2020, 9:57am UTC](https://mediasoup.discourse.group/t/exposing-rtcpeerconnection-for-a-given-transport/962/6 "2020-05-07T09:57:40Z")

</div>

Off course you have already thought about it, great work! I need to read more carefully 🙂
