-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This project is aimed at implementing a functional WebRTC demo with Pion Webrtc stack and Janus Gateway
The following steps were defined as needed in the inital discussions:
- Detect if the network is ECN-aware.
- Get the ECN bits from the incoming RTP flows.
- Apply aggregation algortihm to CE marks before sending the event to upper layers.
- Sending of congestion notifications to upper layers.
RFC8888 seems the right approach to send the congestion feedback information as RTCP. It has been designed to be used with Network-Assisted Dynamic Adaptation (NADA) RFC8698, Self-Clocked Rate Adaptation for Multimedia (SCReAM) RFC8298, Google Congestion Control [Google-GCC], and Shared Bottleneck Detection [RFC8382].
The alternative to notify both client and server applications using out-of-band approaches. This means using neither RTP nor RTCP but application protocols to let the sender send that there is congestion in the network so it can act accordingly.
Since ECN marks can be considered as previous signal of queue congestion, it makes sense to consider the ECN marks as equivalent to packet losses in Band Width Estimation algorithms. Actually ECN is expected to be received when real congestion happen, packet losses can happen also due to connectivity problems in the air interface.
Google Congestion Control algortihm uses the
Like packet losses the number of RTP packets received with ECN-CE marks gives us a measure of how congested are the queues in the intermediate routing elements since the Capacitiy of one of several of the intermediates links can not handle the amount of traffic sent. Opposite to packet losses which occur in congestion situations when the queues are full, packet losses can also happen due to other circunstances such as interferences in the air interface in WiFi or mobile networks. So the ECN-CE marks, which are deliberately included by the congested elements, is an unequivocous signal of congestion. It can have an influence in the packet-loss controller more quickly than packet losses.
As a first approach, an approximation of the GCC algorithm is going to be used to determine when the congestion notification requires a bitrate reduction to accomodate the used bitrate to the capacity available in the 5G network.