Skip to content
Snippets Groups Projects
user avatar
Joshua Colp authored
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
6bb70c93
History
Name Last commit Last update
..
ael
ari
parking
res_pjsip
snmp
srtp
stasis
stasis_recording
Makefile
ari.make
res.xml
res_adsi.c
res_ael_share.c
res_ael_share.exports.in
res_agi.c
res_agi.exports.in
res_ari.c
res_ari.exports.in
res_ari_applications.c
res_ari_asterisk.c
res_ari_bridges.c
res_ari_channels.c
res_ari_device_states.c
res_ari_endpoints.c
res_ari_events.c
res_ari_mailboxes.c
res_ari_model.c
res_ari_model.exports.in
res_ari_playbacks.c
res_ari_recordings.c
res_ari_sounds.c
res_calendar.c
res_calendar.exports.in
res_calendar_caldav.c
res_calendar_ews.c
res_calendar_exchange.c
res_calendar_icalendar.c
res_chan_stats.c
res_clialiases.c
res_clioriginate.c
res_config_curl.c
res_config_ldap.c
res_config_odbc.c
res_config_pgsql.c
res_config_sqlite.c
res_config_sqlite3.c
res_convert.c
res_corosync.c
res_crypto.c
res_crypto.exports.in
res_curl.c
res_endpoint_stats.c
res_fax.c
res_fax.exports.in
res_fax_spandsp.c
res_format_attr_celt.c
res_format_attr_g729.c
res_format_attr_h263.c
res_format_attr_h264.c
res_format_attr_ilbc.c
res_format_attr_opus.c
res_format_attr_silk.c
res_format_attr_siren14.c
res_format_attr_siren7.c
res_format_attr_vp8.c
res_hep.c
res_hep.exports.in
res_hep_pjsip.c
res_hep_rtcp.c
res_http_media_cache.c
res_http_post.c
res_http_websocket.c
res_http_websocket.exports.in
res_limit.c
res_manager_devicestate.c
res_manager_presencestate.c
res_monitor.c
res_monitor.exports.in
res_musiconhold.c
res_mutestream.c
res_mwi_devstate.c
res_mwi_external.c
res_mwi_external.exports.in
res_mwi_external_ami.c
res_odbc.c
res_odbc.exports.in
res_odbc_transaction.c
res_odbc_transaction.exports.in
res_parking.c
res_phoneprov.c
res_phoneprov.exports.in
res_pjproject.c
res_pjproject.exports.in
res_pjsip.c
res_pjsip.exports.in
res_pjsip_acl.c
res_pjsip_authenticator_digest.c
res_pjsip_caller_id.c
res_pjsip_config_wizard.c
res_pjsip_dialog_info_body_generator.c