]> git.ipfire.org Git - thirdparty/asterisk.git/commit
rtp: Add support for transport-cc in receiver direction.
authorJoshua Colp <jcolp@digium.com>
Tue, 23 Apr 2019 10:00:43 +0000 (10:00 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 1 May 2019 11:13:14 +0000 (05:13 -0600)
commit6bb70c93f139e8ec95b08b8a6348f49232dba83d
tree1a6d12886328a0b08e8bf9ae1fadea9320a95add
parent45a9ff82860a323f771f1ad5bdd051e04605d7a5
rtp: Add support for transport-cc in receiver direction.

The transport-cc draft is a mechanism by which additional information
about packet reception can be provided to the sender of packets so
they can do sender side bandwidth estimation. This is accomplished
by having a transport specific sequence number and an RTCP feedback
message. This change implements this in the receiver direction.

For each received RTP packet where transport-cc is negotiated we store
the time at which the RTP packet was received and its sequence number.
At a 1 second interval we go through all packets in that period of time
and use the stored time of each in comparison to its preceding packet to
calculate its delta. This delta information is placed in the RTCP
feedback message, along with indicators for any packets which were not
received.

The browser then uses this information to better estimate available
bandwidth and adjust accordingly. This may result in it lowering the
available send bandwidth or adjusting how "bursty" it can be.

ASTERISK-28400

Change-Id: I654a2cff5bd5554ab94457a14f70adb71f574afc
include/asterisk/rtp_engine.h
main/rtp_engine.c
res/res_pjsip_sdp_rtp.c
res/res_rtp_asterisk.c