# Best practices for using RtcpFeedbacks

**URL:** <https://mediasoup.discourse.group/t/best-practices-for-using-rtcpfeedbacks/433>\
**Category:** mediasoup libraries\
**Created:** [November 30, 2019, 2:06pm UTC](https://mediasoup.discourse.group/t/best-practices-for-using-rtcpfeedbacks/433 "2019-11-30T14:06:44Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkh](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/mkh/32/145_2.png) [@mkh](https://mediasoup.discourse.group/u/mkh)\
**Post date:** [November 30, 2019, 2:06pm UTC](https://mediasoup.discourse.group/t/best-practices-for-using-rtcpfeedbacks/433/1 "2019-11-30T14:06:44Z")

</div>

I know that using [RtcpFeedback](https://mediasoup.org/documentation/v3/mediasoup/rtp-parameters-and-capabilities/#RtcpFeedback)s, in general, would help to improve the quality of media transfer in bad network conditions. However I didn’t find any advice in the docs on when to use them and when not. Is enabling all the feedbacks for a specific codec (e.g. VP8) useful or they create **overhead** and there must be **performance** considerations when using them?

And why **mediasoup demo** does not benefit from them assuming that the demo code is kind of reference for developers?

---

<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:** [November 30, 2019, 8:02pm UTC](https://mediasoup.discourse.group/t/best-practices-for-using-rtcpfeedbacks/433/2 "2019-11-30T20:02:02Z")

</div>

RTCP feedbacks are defined in their corresponding RFCs and drafts. The mediasoup website/documentation is not a generic RTP/RTCP glossary.

The mediasoup-demo uses mediasoup and mediasoup-client. So of course those RTCP feedbacks are properly set and used. if you still think they are “not used” please be specific about what exactly you mean.

---

<div class="post-metadata">

**Author:** ![mkh](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/mkh/32/145_2.png) [@mkh](https://mediasoup.discourse.group/u/mkh)\
**Post date:** [December 1, 2019, 5:04am UTC](https://mediasoup.discourse.group/t/best-practices-for-using-rtcpfeedbacks/433/3 "2019-12-01T05:04:38Z")

</div>

> [@ibc](#):
>
> RTCP feedbacks are defined in their corresponding RFCs and drafts. The mediasoup website/documentation is not a generic RTP/RTCP glossary.

I see.

> [@ibc](#):
>
> So of course those RTCP feedbacks are properly set and used. if you still think they are “not used” please be specific about what exactly you mean.

I just didn’t find any RTCP feedback usage in the codes, neither in the `config.example.js` nor in the `server.js` files.

---

<div class="post-metadata">

**Author:** ![mkh](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/mkh/32/145_2.png) [@mkh](https://mediasoup.discourse.group/u/mkh)\
**Post date:** [December 1, 2019, 6:23am UTC](https://mediasoup.discourse.group/t/best-practices-for-using-rtcpfeedbacks/433/4 "2019-12-01T06:23:09Z")

</div>

> [@mkh](#):
>
> I just didn’t find any RTCP feedback usage in the codes, neither in the `config.example.js` nor in the `server.js` files.

Sorry I just confused. RTCP feedbacks are provided by the client using `Device.rtpCapabilities` so no need to be explicitly declared like what we do for `PlainRtpTransport`.

---

<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:** [December 1, 2019, 8:23pm UTC](https://mediasoup.discourse.group/t/best-practices-for-using-rtcpfeedbacks/433/5 "2019-12-01T20:23:30Z")

</div>

mediasoup-client includes per device supported RTCP feedbacks in each Producer `rtpParameters` it generates. In addition, `device.rtpCapabilities` defines the per codec RTCP feedback that the device supports for receiving.

---

<div class="post-metadata">

**Author:** ![mkh](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/mkh/32/145_2.png) [@mkh](https://mediasoup.discourse.group/u/mkh)\
**Post date:** [December 2, 2019, 3:04am UTC](https://mediasoup.discourse.group/t/best-practices-for-using-rtcpfeedbacks/433/6 "2019-12-02T03:04:36Z")

</div>

That’s perfect. 👌

---

<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:** [December 2, 2019, 11:11pm UTC](https://mediasoup.discourse.group/t/best-practices-for-using-rtcpfeedbacks/433/7 "2019-12-02T23:11:02Z")

</div>

Closed on December 2, 2019, 11:11pm UTC


