<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.36 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-avtcore-rtp-over-quic-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title>RTP over QUIC</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-over-quic-03"/>
    <author initials="J." surname="Ott" fullname="Jörg Ott">
      <organization>Technical University Munich</organization>
      <address>
        <email>ott@in.tum.de</email>
      </address>
    </author>
    <author initials="M." surname="Engelbart" fullname="Mathis Engelbart">
      <organization>Technical University Munich</organization>
      <address>
        <email>mathis.engelbart@gmail.com</email>
      </address>
    </author>
    <date/>
    <area>Applications and Real-Time</area>
    <workgroup>Audio/Video Transport Core Maintenance</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 35?>

<t>This document specifies a minimal mapping for encapsulating Real-time Transport
Protocol (RTP) and RTP Control Protocol (RTCP) packets within the QUIC protocol.
It also discusses how to leverage state from the QUIC implementation in the
endpoints, in order to reduce the need to exchange RTCP packets and how to
implement congestion control and rate adaptation without relying on RTCP
feedback.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Audio/Video Transport Core Maintenance Working Group mailing list (avt@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/avt/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/mengelbart/rtp-over-quic-draft"/>.</t>
    </note>
  </front>
  <middle>
    <?line 44?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document specifies a minimal mapping for encapsulating Real-time Transport
Protocol (RTP) <xref target="RFC3550"/> and RTP Control Protocol (RTCP) <xref target="RFC3550"/> packets
within the QUIC protocol (<xref target="RFC9000"/>). It also discusses how to leverage state
from the QUIC implementation in the endpoints, in order to reduce the need to
exchange RTCP packets, and how to implement congestion control and rate
adaptation without relying on RTCP feedback. The mapping described in this
document is called RTP over QUIC (RoQ).</t>
      <section anchor="background">
        <name>Background</name>
        <t>The Real-time Transport Protocol (RTP) <xref target="RFC3550"/> is generally used to carry
real-time media for conversational media sessions, such as video conferences,
across the Internet.  Since RTP requires real-time delivery and is tolerant to
packet losses, the default underlying transport protocol has been UDP, recently
with DTLS on top to secure the media exchange and occasionally TCP (and possibly
TLS) as a fallback.</t>
        <t>This specification describes an application usage of QUIC (<xref target="RFC9308"/>).
As a baseline, the specification does not expect more than a standard QUIC implementation
as defined in <xref target="RFC8999"/>, <xref target="RFC9000"/>, <xref target="RFC9001"/>, and <xref target="RFC9002"/>,
providing a secure end-to-end transport that is also expected to work well through NATs and firewalls.
Beyond this baseline, real-time applications can benefit from QUIC extensions such as unreliable QUIC datagrams
<xref target="RFC9221"/>, which provides additional desirable properties for
real-time traffic (e.g., no unnecessary retransmissions, avoiding head-of-line
blocking).</t>
        <t>Moreover, with QUIC's multiplexing capabilities, reliable and unreliable
transport connections as, e.g., needed for WebRTC, can be established with only
a single port used at either end of the connection.</t>
      </section>
      <section anchor="in-scope">
        <name>What's in Scope for this Specification</name>
        <t>This document defines a mapping for RTP and RTCP over QUIC (this mapping is
hereafter referred to as "RTP-over-QUIC"), and describes ways to reduce the
amount of RTCP traffic by leveraging state information readily available within
a QUIC endpoint. This document also describes different options for implementing
congestion control and rate adaptation for RoQ.</t>
        <t>This specification focuses on providing a secure encapsulation of RTP packets
for transmission over QUIC. The expected usage is wherever RTP is used to carry
media packets, allowing QUIC in place of other transport protocols such as TCP,
UDP, SCTP, DTLS, etc. That is, we expect RTP-over-QUIC to be used in contexts in
which a signaling protocol is used to announce or negotiate a media
encapsulation and the associated transport parameters (such as IP address, port
number). RTP-over-QUIC is not intended as a stand-alone media transport,
although QUIC transport parameters could be statically configured.</t>
        <t>The above implies that RTP-over-QUIC is targeted at peer-to-peer operation; but
it may also be used in client-server-style settings, e.g., when talking to a
conference server as described in RFC 7667 (<xref target="RFC7667"/>), or, if RTP-over-QUIC
is used to replace RTSP (<xref target="RFC7826"/>), to a media server.</t>
        <t>Moreover, this document describes how a QUIC implementation and its API can be
extended to improve efficiency of the RTP-over-QUIC protocol operation.</t>
        <t>RTP-over-QUIC does not impact the usage of RTP Audio Video Profiles (AVP)
(<xref target="RFC3551"/>), or any RTP-based mechanisms, even though it may render some of
them unnecessary, e.g., Secure Real-Time Transport Prococol (SRTP)
(<xref target="RFC3711"/>) might not be needed, because end-to-end security is already
provided by QUIC, and double encryption by QUIC and by SRTP might have more
costs than benefits.  Nor does RTP-over-QUIC limit the use of RTCP-based
mechanisms, even though some information or functions obtained by using RTCP
mechanisms may also be available from the underlying QUIC implementation by
other means.</t>
        <t>Between two (or more) endpoints, RTP-over-QUIC supports multiplexing multiple
RTP-based media streams within a single QUIC connection and thus using a single
(destination IP address, destination port number, source IP address, source port
number, protocol) 5-tuple..  We note that multiple independent QUIC connections
may be established in parallel using the same destination IP address,
destination port number, source IP address, source port number, protocol)
5-tuple., e.g. to carry different media channels. These connections would be
logically independent of one another.</t>
      </section>
      <section anchor="out-of-scope">
        <name>What's Out of Scope for this Specification</name>
        <t>This document does not attempt to enhance QUIC for real-time media or define a
replacement for, or evolution of, RTP. Work to map other media transport
protocols to QUIC is under way elsewhere in the IETF.</t>
        <t>RTP-over-QUIC is designed for use with point-to-point connections, because QUIC
itself is not defined for multicast operation. The scope of this document is
limited to unicast RTP/RTCP, even though nothing would or should prevent its use
in multicast setups once QUIC supports multicast.</t>
        <t>RTP-over-QUIC does not define congestion control and rate adaptation algorithms
for use with media. However, <xref target="congestion-control"/> discusses options for how
congestion control and rate adaptation could be performed at the QUIC and/or at
the RTP layer, and how information available at the QUIC layer could be exposed
via an API for the benefit of RTP layer implementation.</t>
        <ul empty="true">
          <li>
            <t><strong>Editor's note:</strong> Need to check whether <xref target="congestion-control"/> will also
describe the QUIC interface that's being exposed, or if that ends up somewhere
else in the document.</t>
          </li>
        </ul>
        <t>RTP-over-QUIC does not define prioritization mechanisms when handling different
media as those would be dependent on the media themselves and their
relationships. Prioritization is left to the application using RTP-over-QUIC.</t>
        <t>This document does not cover signaling for session setup. SDP for RTP-over-QUIC
is defined in separate documents such as
<xref target="I-D.draft-dawkins-avtcore-sdp-rtp-quic"/>, and can be carried in any signaling
protocol that can carry SDP, including the Session Initiation Protocol (SIP)
(<xref target="RFC3261"/>), Real-Time Protocols for Browser-Based Applications (RTCWeb)
(<xref target="RFC8825"/>), or WebRTC-HTTP Ingestion Protocol (WHIP)
(<xref target="I-D.draft-ietf-wish-whip"/>).</t>
      </section>
    </section>
    <section anchor="terminology-and-notation">
      <name>Terminology and Notation</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.</t>
      <ul empty="true">
        <li>
          <t><strong>Editor's note:</strong> the list of terms below will almost certainly grow in size as the specification matures.</t>
        </li>
      </ul>
      <t>The following terms are used:</t>
      <dl>
        <dt>Congestion Control:</dt>
        <dd>
          <t>A mechanism to limit the aggregate amount of data that has been sent over a
path to a receiver, but has not been acknowledged by the receiver. This prevents
a sender from overwhelming the capacity of a path between a sender and a
receiver, causing some outstanding data to be discarded before the receiver can
receive the data and acknowledge it to the sender.</t>
        </dd>
        <dt>Datagram:</dt>
        <dd>
          <t>Datagrams exist in UDP as well as in QUIC's unreliable datagram extension. If not explicitly noted
differently, the term datagram in this document refers to a QUIC Datagram as defined in
<xref target="RFC9221"/>.</t>
        </dd>
        <dt>Delay-based or Low-latency congestion control algorithm:</dt>
        <dd>
          <t>A congestion control algorithm that aims at keeping queues, and thus the latency, at intermediary network elements as short as possible. Delay-based congestion control algorithms use, for example, an increasing one-way delay as a signal of congestion.</t>
        </dd>
        <dt>Endpoint:</dt>
        <dd>
          <t>A QUIC server or client that participates in an RoQ session.</t>
        </dd>
        <dt>Frame:</dt>
        <dd>
          <t>A QUIC frame as defined in <xref target="RFC9000"/>.</t>
        </dd>
        <dt>Loss-based congestion control algorithm:</dt>
        <dd>
          <t>A congestion control algorithm that uses packet loss, or an Explicit Congestion Notification (ECN) that is interpreted as loss (as in <xref target="RFC3168"/>), as a signal for congestion. Loss-based congestion control algorithms allow senders to send data on a path until packets are dropped by intermediary network elements, which the algorithm treats as a signal of congestion.</t>
        </dd>
        <dt>Media Encoder:</dt>
        <dd>
          <t>An entity that is used by an application to produce a stream of encoded media, which can be
packetized in RTP packets to be transmitted over QUIC.</t>
        </dd>
        <dt>QUIC congestion controller:</dt>
        <dd>
          <t>A software component of an application's QUIC implementation that implements a congestion control algorithm.</t>
        </dd>
        <dt>Rate Adaptation:</dt>
        <dd>
          <t>A congestion control mechanism that helps a sender determine and adjust its sending rate, in order
to maximize the amount of information that is sent to a receiver, without
causing queues to build beyond a reasonable amount, causing "buffer bloat" and
"jitter". Rate adapation is one way to accomplish congestion control for
real-time media, especially when a sender has multiple media streams to the
receiver, because the sum of all sending rates for media streams must not be
high enough to cause congestion on the path these media streams share between
sender and receiver.</t>
        </dd>
        <dt>Receiver:</dt>
        <dd>
          <t>An endpoint that receives media in RTP packets and may send or receive RTCP packets.</t>
        </dd>
        <dt>RTP congestion controller:</dt>
        <dd>
          <t>A software component of an application's RTP implementation that implements a congestion control algorithm.</t>
        </dd>
        <dt>Sender:</dt>
        <dd>
          <t>An endpoint that sends media in RTP packets and may send or receive RTCP packets.</t>
        </dd>
      </dl>
      <t>Packet diagrams in this document use the format defined in <xref section="1.3" sectionFormat="of" target="RFC9000"/> to
illustrate the order and size of fields.</t>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t>This document introduces a mapping of the Real-time Transport Protocol (RTP) to
the QUIC transport protocol. RoQ allows the use of QUIC streams and
QUIC datagrams to transport real-time data, and thus, the QUIC
implementation MUST support QUIC's datagram extension, if RTP packets
should be sent over QUIC datagrams. Since datagram frames cannot be fragmented,
the QUIC implementation MUST also provide a way to query the maximum datagram
size so that an application can create RTP packets that always fit into a QUIC
datagram frame.</t>
      <t><xref target="RFC3550"/> specifies that RTP sessions need to be transmitted on different
transport addresses to allow multiplexing between them. RoQ uses a
different approach to leverage the advantages of QUIC connections without
managing a separate QUIC connection per RTP session. QUIC does not provide
demultiplexing between different flows on datagrams but suggests that an
application implement a demultiplexing mechanism if required. An example of such
a mechanism are flow identifiers prepended to each datagram frame as described
in <xref section="2.1" sectionFormat="of" target="I-D.draft-ietf-masque-h3-datagram"/>. RoQ uses a
flow identifier to replace the network address and port number to multiplex many
RTP sessions over the same QUIC connection.</t>
      <t>A rate adaptation algorithm can be plugged in to adapt the media bitrate to the
available bandwidth. This document does not mandate any specific rate adaptation
algorithm, because the desired response to congestion can be application and codec-specific. For example, adjusting quantization in response to congestion may work well in many cases, but if what's being shared is video that includes text, maintaining readability is important.</t>
      <t>As of this writing, the IETF has produced two Experimental-track rate adaptation specifications, Network-Assisted Dynamic Adaptation (NADA)
<xref target="RFC8698"/> and Self-Clocked Rate Adaptation for Multimedia (SCReAM)
<xref target="RFC8298"/>. These rate adaptation algorithms require some feedback about
the network's performance to calculate target bitrates. Traditionally this
feedback is generated at the receiver and sent back to the sender via RTCP.</t>
      <t>Since QUIC also collects some metrics about the network's performance, these
metrics can be used to generate the required feedback at the sender-side and
provide it to the rate adaptation algorithm to avoid the additional overhead of the
RTCP stream. This is discussed in more detail in <xref target="rtcp-mapping"/>.</t>
      <section anchor="topologies">
        <name>Supported RTP Topologies</name>
        <t>RoQ only supports some of the RTP topologies described in
<xref target="RFC7667"/>. Most notably, due to QUIC <xref target="RFC9000"/> being a purely IP unicast
protocol at the time of writing, RoQ cannot be used as a transport
protocol for any of the paths that rely on IP multicast in several multicast
topologies (e.g., <em>Topo-ASM</em>, <em>Topo-SSM</em>, <em>Topo-SSM-RAMS</em>).</t>
        <t>Some "multicast topologies" can include IP unicast paths (e.g., <em>Topo-SSM</em>,
<em>Topo-SSM-RAMS</em>). In these cases, the unicast paths can use RoQ.</t>
        <t>RTP supports different types of translators and mixers. Whenever a middlebox
such as a translator or a mixer needs to access the content of RTP/RTCP-packets,
the QUIC connection has to be terminated at that middlebox.</t>
        <t>RoQ streams (see <xref target="quic-streams"/>) can support much larger RTP
packet sizes than other transport protocols such as UDP can, which can lead to
problems with transport translators which translate from RoQ to RTP
over a different transport protocol. A similar problem can occur if a translator
needs to translate from RTP over UDP to RoQ datagrams, where the MTU
of a QUIC datagram may be smaller than the MTU of a UDP datagram. In both cases,
the translator may need to rewrite the RTP packets to fit into the smaller MTU
of the other protocol. Such a translator may need codec-specific knowledge to
packetize the payload of the incoming RTP packets in smaller RTP packets.</t>
        <t>Additional details are provided in the following table.</t>
        <table>
          <thead>
            <tr>
              <th align="left">RFC 7667 Section</th>
              <th align="left">Shortcut Name</th>
              <th align="left">RTP over QUIC?</th>
              <th align="left">Comments</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.1">3.1</eref></td>
              <td align="left">Topo-Point-to-Point</td>
              <td align="left">yes</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.2.1.1">3.2.1.1</eref></td>
              <td align="left">Topo-PtP-Relay</td>
              <td align="left">yes</td>
              <td align="left">Note-NAT</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.2.1.2">3.2.1.2</eref></td>
              <td align="left">Topo-Trn-Translator</td>
              <td align="left">yes</td>
              <td align="left">Note-MTU <br/> Note-SEC</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.2.1.3">3.2.1.3</eref></td>
              <td align="left">Topo-Media-Translator</td>
              <td align="left">yes</td>
              <td align="left">Note-MTU</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.2.2">3.2.2</eref></td>
              <td align="left">Topo-Back-To-Back</td>
              <td align="left">yes</td>
              <td align="left">Note-SEC <br/> Note-MTU <br/> Note-MCast</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.3.1">3.3.1</eref></td>
              <td align="left">Topo-ASM</td>
              <td align="left">no</td>
              <td align="left">Note-MCast</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.3.2">3.3.2</eref></td>
              <td align="left">Topo-SSM</td>
              <td align="left">partly</td>
              <td align="left">Note-MCast <br/> Note-UCast-MCast</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.3.3">3.3.3</eref></td>
              <td align="left">Topo-SSM-RAMS</td>
              <td align="left">partly</td>
              <td align="left">Note-MCast <br/> Note-MCast-UCast</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.4">3.4</eref></td>
              <td align="left">Topo-Mesh</td>
              <td align="left">yes</td>
              <td align="left">Note-MCast</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.5.1">3.5.1</eref></td>
              <td align="left">Topo-PtM-Trn-Translator</td>
              <td align="left">possibly</td>
              <td align="left">Note-MCast <br/> Note-MTU <br/> Note-Topo-PtM-Trn-Translator</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.6">3.6</eref></td>
              <td align="left">Topo-Mixer</td>
              <td align="left">possibly</td>
              <td align="left">Note-MCast <br/> Note-Topo-Mixer</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.6.1">3.6.1</eref></td>
              <td align="left">Media-Mixing-Mixer</td>
              <td align="left">partly</td>
              <td align="left">Note-Topo-Mixer</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.6.2">3.6.2</eref></td>
              <td align="left">Media-Switching-Mixer</td>
              <td align="left">partly</td>
              <td align="left">Note-Topo-Mixer</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.7">3.7</eref></td>
              <td align="left">Selective Forwarding Middlebox</td>
              <td align="left">yes</td>
              <td align="left">Note-MCast <br/> Note-Topo-Mixer</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.8">3.8</eref></td>
              <td align="left">Topo-Video-switch-MCU</td>
              <td align="left">yes</td>
              <td align="left">Note-MTU <br/> Note-MCast <br/> Note-Topo-Mixer</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.9">3.9</eref></td>
              <td align="left">Topo-RTCP-terminating-MCU</td>
              <td align="left">yes</td>
              <td align="left">Note-MTU <br/> Note-MCast <br/> Note-Topo-Mixer</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.10">3.10</eref></td>
              <td align="left">Topo-Split-Terminal</td>
              <td align="left">yes</td>
              <td align="left">Note-MCast</td>
            </tr>
            <tr>
              <td align="left">
                <eref target="https://datatracker.ietf.org/doc/html/rfc7667#section-3.11">3.11</eref></td>
              <td align="left">Topo-Asymmetric</td>
              <td align="left">Possibly</td>
              <td align="left">Note-Warn, <br/> Note-MCast, <br/> Note-MTU</td>
            </tr>
          </tbody>
        </table>
        <dl>
          <dt>Note-NAT:</dt>
          <dd>
            <t>QUIC <xref target="RFC9000"/> doesn't support NAT traversal.</t>
          </dd>
          <dt>Note-MTU:</dt>
          <dd>
            <t>Supported, but may require MTU adaptation.</t>
          </dd>
          <dt>Note-Sec:</dt>
          <dd>
            <t>Note that RTP-over-QUIC provides mandatory security, and other RTP transports
do not. <xref target="sec-considerations"/> describes strategies to prevent the inadvertent
disclosure of RTP sessions to unintended third parties.</t>
          </dd>
          <dt>Note-MCast:</dt>
          <dd>
            <t>QUIC <xref target="RFC9000"/> cannot be used for multicast paths.</t>
          </dd>
          <dt>Note-UCast-MCast:</dt>
          <dd>
            <t>The topology refers to a <em>Distribution Source</em>, which receives and relays RTP
from a number of different media senders via unicast before relaying it to the
receivers via multicast. QUIC can be used between the senders and the
<em>Distribution Source</em>.</t>
          </dd>
          <dt>Note-MCast-UCast:</dt>
          <dd>
            <t>The topology refers to a <em>Burst Source</em> or <em>Retransmission Source</em>, which
retransmits RTP to receivers via unicast. QUIC can be used between the
<em>Retransmission Source</em> and the receivers.</t>
          </dd>
          <dt>Note-Topo-PtM-Trn-Translator:</dt>
          <dd>
            <t>Supports unicast paths between RTP sources and translators.</t>
          </dd>
          <dt>Note-Topo-Mixer:</dt>
          <dd>
            <t>Supports unicast paths between RTP senders and mixers.</t>
          </dd>
          <dt>Note-Warn:</dt>
          <dd>
            <t>Quote from <xref target="RFC7667"/>: <em>This topology is so problematic and it is so easy to
get the RTCP processing wrong, that it is NOT RECOMMENDED to implement this
topology.</em></t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="alpn">
      <name>Connection Establishment and ALPN</name>
      <t>QUIC requires the use of ALPN <xref target="RFC7301"/> tokens during connection setup. RoQ
uses "rtp-mux-quic" as ALPN token in the TLS handshake (see also
<xref target="iana-considerations"/>.</t>
      <t>Note that the use of a given RTP profile is not reflected in the ALPN token even
though it could be considered part of the application usage.  This is simply
because different RTP sessions, which may use different RTP profiles, may be
carried within the same QUIC connection.</t>
      <ul empty="true">
        <li>
          <t><strong>Editor's note:</strong> "rtp-mux-quic" indicates that RTP and other protocols may
be multiplexed on the same QUIC connection using a flow identifier as
described in <xref target="encapsulation"/>. Applications are responsible for negotiation
of protocols in use by appropriate use of a signaling protocol such as SDP.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t><strong>Editor's note:</strong> This implies that applications cannot use RoQ as
specified in this document over WebTransport.</t>
        </li>
      </ul>
      <section anchor="draft-version-identification">
        <name>Draft version identification</name>
        <ul empty="true">
          <li>
            <t><strong>RFC Editor's note:</strong> Please remove this section prior to publication of a
final version of this document.</t>
          </li>
        </ul>
        <t>RoQ uses the token "rtp-mux-quic" to identify itself in ALPN.</t>
        <t>Only implementations of the final, published RFC can identify themselves as
"rtp-mux-quic". Until such an RFC exists, implementations MUST NOT identify
themselves using this string.</t>
        <t>Implementations of draft versions of the protocol MUST add the string "-" and
the corresponding draft number to the identifier.  For example,
draft-ietf-avtcore-rtp-over-quic-04 is identified using the string
"rtp-mux-quic-04".</t>
        <t>Non-compatible experiments that are based on these draft versions MUST append
the string "-" and an experiment name to the identifier.</t>
      </section>
    </section>
    <section anchor="encapsulation">
      <name>Encapsulation</name>
      <t>This section describes the encapsulation of RTP/RTCP packets in QUIC.</t>
      <t>QUIC supports two transport methods: streams <xref target="RFC9000"/> and
datagrams <xref target="RFC9221"/>. This document specifies mappings of RTP to
both of the transport modes. Senders MAY combine both modes by sending some
RTP/RTCP packets over the same or different QUIC streams and others in QUIC
datagrams.</t>
      <t><xref target="multiplexing"/> introduces a multiplexing mechanism that supports multiplexing
RTP, RTCP, and, with some constraints, other non-RTP protocols. <xref target="quic-streams"/>
and <xref target="quic-datagrams"/> explain the specifics of mapping RTP to QUIC streams and
QUIC datagrams, respectively.</t>
      <section anchor="multiplexing">
        <name>Multiplexing</name>
        <t>RoQ uses flow identifiers to multiplex different RTP, RTCP, and
non-RTP data streams on a single QUIC connection. A flow identifier is a QUIC
variable-length integer as described in <xref section="16" sectionFormat="of" target="RFC9000"/>. Each flow
identifier is associated with a stream of RTP packets, RTCP packets, or a data
stream of a non-RTP protocol.</t>
        <t>In a QUIC connection using the ALPN token defined in <xref target="alpn"/>, every QUIC
datagram and every QUIC stream MUST start with a flow identifier. A peer MUST
NOT send any data in a datagram or stream that is not associated with the flow
identifier which started the datagram or stream.</t>
        <t>RTP and RTCP packets of different RTP sessions MUST use distinct flow
identifiers. If peers wish to send multiple types of media in a single RTP
session, they MAY do so by following <xref target="RFC8860"/>.</t>
        <t>A single RTP session MAY be associated with one or two flow identifiers. Thus,
it is possible to send RTP and RTCP packets belonging to the same session using
different flow identifiers. RTP and RTCP packets of a single RTP session MAY use
the same flow identifier (following the procedures defined in <xref target="RFC5761"/>, or
they MAY use different flow identifiers.</t>
        <t>The association between flow identifiers and data streams MUST be negotiated
using appropriate signaling. Applications MAY send data using flow identifiers
not associated with any RTP or RTCP stream. If a receiver cannot associate a
flow identifier with any RTP/RTCP or non-RTP stream, it MAY drop the data
stream.</t>
        <t>There are different use cases for sharing the same QUIC connection between RTP
and non-RTP data streams. Peers might use the same connection to exchange
signaling messages or exchange data while sending and receiving media streams.
The semantics of non-RTP datagrams or streams are not in the scope of this
document. Peers MAY use any protocol on top of the encapsulation described in
this document.</t>
        <t>Flow identifiers introduce some overhead in addition to the header overhead of
RTP/RTCP and QUIC. QUIC variable-length integers require between one and eight
bytes depending on the number expressed. Thus, it is advisable to use low
numbers first and only use higher ones if necessary due to an increased number
of flows.</t>
      </section>
      <section anchor="quic-streams">
        <name>QUIC Streams</name>
        <t>To send RTP/RTCP packets over QUIC streams, a sender MUST open a new
unidirectional QUIC stream. Streams are unidirectional because there is no
synchronous relationship between sent and received RTP/RTCP packets. A RoQ
sender MAY open new QUIC streams for different packets using the same flow
identifier, for example, to avoid head-of-line blocking.</t>
        <t>A receiver MUST be prepared to receive RTP packets on any number of QUIC streams
(subject to its limit on parallel open streams) and SHOULD not make assumptions
which RTP sequence numbers are carried in which streams.</t>
        <t>Note: A sender may or may not decide to discontinue using a lower stream number
after starting packet transmission on a higher stream number.</t>
        <section anchor="stream-encapsulation">
          <name>Stream Encapsulation</name>
          <t><xref target="fig-stream-payload"/> shows the encapsulation format for RoQ Streams.</t>
          <figure anchor="fig-stream-payload">
            <name>RoQ Streams Payload Format</name>
            <artwork><![CDATA[
Payload {
  Flow Identifier (i),
  RTP/RTCP Payload(..) ...,
}
]]></artwork>
          </figure>
          <dl>
            <dt>Flow Identifier:</dt>
            <dd>
              <t>Flow identifier to demultiplex different data flows on the same QUIC
connection.</t>
            </dd>
            <dt>RTP/RTCP Payload:</dt>
            <dd>
              <t>Contains the RTP/RTCP payload; see <xref target="fig-rtp-stream-payload"/></t>
            </dd>
          </dl>
          <t>The payload in a QUIC stream starts with the flow identifier followed by one or
more RTP/RTCP payloads. All RTP/RTCP payloads sent on a stream MUST belong to
the RTP session with the same flow identifier.</t>
          <t>Each payload begins with a length field indicating the length of the RTP/RTCP
packet, followed by the packet itself, see <xref target="fig-rtp-stream-payload"/>.</t>
          <figure anchor="fig-rtp-stream-payload">
            <name>RTP/RTCP payload for QUIC streams</name>
            <artwork><![CDATA[
RTP/RTCP Payload {
  Length(i),
  RTP/RTCP Packet(..),
}
]]></artwork>
          </figure>
          <dl>
            <dt>Length:</dt>
            <dd>
              <t>A QUIC variable length integer (see <xref section="16" sectionFormat="of" target="RFC9000"/>) describing the
length of the following RTP/RTCP packets in bytes.</t>
            </dd>
            <dt>RTP/RTCP Packet:</dt>
            <dd>
              <t>The RTP/RTCP packet to transmit.</t>
            </dd>
          </dl>
        </section>
        <section anchor="resetstream-and-stopsending">
          <name>RESET_STREAM and STOP_SENDING</name>
          <t>QUIC uses RESET_STREAM and STOP_SENDING frames to terminate the sending part
of a stream and to request termination of an incoming stream by the sending
peer respectively.</t>
          <t>A RoQ sender MAY use RESET_STREAM if it knows that a packet, which was not yet
successfully and completely transmitted, is no longer needed.</t>
          <t>A RoQ receiver that is no longer interested in reading a certain partition of
the media stream MAY signal this to the sending peer using a STOP_SENDING
frame.</t>
          <t>When a RoQ sender receives a STOP_SENDING frame, the RoQ sender MUST open one
or more new QUIC streams to send new media frames. Any media frame that has
already been sent on the QUIC stream that received the STOP_SENDING frame, MUST
NOT be sent again on the new QUIC stream(s).</t>
          <t>Note that an RTP receiver cannot request a reset of only a particular media
frame because the sending QUIC implementation might already have sent data for
the following frame on the same stream. In that case, STOP_SENDING and the
following RESET_STREAM would also drop the following media frame and thus lead
to unintentionally skipping one or more frames.</t>
          <ul empty="true">
            <li>
              <t><strong>Editor's note:</strong> A receiver cannot cancel a certain frame but still receive
retransmissions for a frame the was following on the same stream using
STOP_SENDING, because STOP_SENDING does not include an offset which would
allow signaling where retransmissions should continue. If this is a required
feature for RoQ, it could be implemented using an extended STOP_SENDING frame
as, for example, proposed in <xref target="I-D.draft-thomson-quic-enough-00"/>.</t>
            </li>
          </ul>
          <t>A translator that translates between two endpoints, both connected via QUIC,
MUST forward RESET_STREAM frames received from one end to the other unless it
forwards the RTP packets on QUIC datagrams.</t>
          <t>Large RTP packets sent on a stream will be fragmented into smaller QUIC frames.
The QUIC frames are transmitted reliably and in order such that a receiving
application can read a complete RTP packet from the stream as long as the stream
is not closed with a RESET_STREAM frame. No retransmission has to be
implemented by the application since QUIC frames lost in transit are
retransmitted by QUIC.</t>
        </section>
        <section anchor="flow-control-and-maxstreams">
          <name>Flow control and MAX_STREAMS</name>
          <t>Opening new streams for new packets MAY implicitly limit the number of packets
concurrently in transit because the QUIC receiver provides an upper bound of
parallel streams, which it can update using QUIC MAX_STREAMS frames. The number
of packets that have to be transmitted concurrently depends on several factors,
such as the number of RTP streams within a QUIC connection, the bitrate of the
media streams, and the maximum acceptable transmission delay of a given packet.
Receivers are responsible for providing senders enough credit to open new
streams for new packets anytime. As an example, consider a conference scenario
with 20 participants. Each participant receives audio and video streams of every
other participant from a central server. If the sender opens a new QUIC stream
for every frame at 30 frames per second video and 50 frames per second audio, it
will open 1520 new QUIC streams per second. A receiver must provide at least
that many credits for opening new unidirectional streams to the server every
second. In addition, the receiver should also consider the requirements of
protocols into account that are multiplexed with RTP, including RTCP and data
streams. These considerations may also be relevant when implementing signaling
since it may be necessary to inform the receiver about how fast and how much
stream credits it will have to provide to the media-sending peer.</t>
        </section>
      </section>
      <section anchor="quic-datagrams">
        <name>QUIC Datagrams</name>
        <t>Senders can also transmit RTP packets in QUIC datagrams. QUIC datagrams are an
extension to QUIC described in <xref target="RFC9221"/>. QUIC datagrams preserve frame
boundaries. Thus, a single RTP packet can be mapped to a single QUIC datagram
without additional framing. Senders SHOULD consider the header overhead
associated with QUIC datagrams and ensure that the RTP/RTCP packets, including
their payloads, flow identifier, QUIC, and IP headers, will fit into path MTU.</t>
        <t><xref target="fig-dgram-payload"/> shows the encapsulation format for RoQ
Datagrams.</t>
        <figure anchor="fig-dgram-payload">
          <name>RoQ Datagram Payload Format</name>
          <artwork><![CDATA[
Payload {
  Flow Identifier (i),
  RTP/RTCP Packet (..),
}
]]></artwork>
        </figure>
        <dl>
          <dt>Flow Identifier:</dt>
          <dd>
            <t>Flow identifier to demultiplex different data flows on the same QUIC
connection.</t>
          </dd>
          <dt>RTP/RTCP Packet:</dt>
          <dd>
            <t>The RTP/RTCP packet to transmit.</t>
          </dd>
        </dl>
        <t>RoQ senders need to be aware that QUIC uses the concept of QUIC frames.
Different kinds of QUIC frames are used for different application and control
data types. A single QUIC packet can contain more than one QUIC frame,
including, for example, QUIC stream or datagram frames carrying application data
and acknowledgement frames carrying QUIC acknowledgements, as long as the
overall size fits into the MTU. One implication is that the number of packets a
QUIC stack transmits depends on whether it can fit acknowledgement and datagram
frames in the same QUIC packet. Suppose the application creates many datagram
frames that fill up the QUIC packet. In that case, the QUIC stack might have to
create additional packets for acknowledgement- (and possibly other control-)
frames. The additional overhead could, in some cases, be reduced if the
application creates smaller RTP packets, such that the resulting datagram frame
can fit into a QUIC packet that can also carry acknowledgement frames.</t>
        <t>Since QUIC datagrams are not retransmitted on loss (see also
<xref target="transport-layer-feedback"/> for loss signaling), if an application wishes to
retransmit lost RTP packets, the retransmission has to be implemented by the
application. RTP retransmissions can be done in the same RTP session or a
separate RTP session <xref target="RFC4588"/> and the flow identifier MUST be set to the
flow identifier of the RTP session in which the retransmission happens.</t>
      </section>
    </section>
    <section anchor="congestion-control">
      <name>Congestion Control and Rate Adaptation</name>
      <t>Like any other application on the internet, RoQ applications need a mechanism to
perform congestion control to avoid overloading the network. While any generic
congestion controller can protect the network, this document takes advantage of
the opportunity to use rate adaptation mechanisms that are designed to provide
superior user experiences for real-time media applications.</t>
      <t>A wide variety of rate adaptation algorithms for real-time media have been
developed (for example, "Google Congestion Controller"
<xref target="I-D.draft-ietf-rmcat-gcc"/>). The IETF has defined two algorithms in two
Experimental RFCs (e.g. SCReAM <xref target="RFC8298"/> and NADA <xref target="RFC8698"/>). These rate
adaptation algorithms for RTP are specifically tailored for real-time
transmissions at low latencies, but this section would apply to any rate
adaptation algorithm that meets the requirements described in "Congestion
Control Requirements for Interactive Real-Time Media" <xref target="RFC8836"/>.</t>
      <t>This document defines two architectures for congestion control and bandwidth
estimation for RoQ, depending on whether most rate adaptation is performed
within a QUIC implementation at the transport layer, as described in
<xref target="cc-quic-layer"/>, or within an RTP application layer, as described in
<xref target="cc-application-layer"/>, but this document does not mandate any specific
congestion control or rate adaptation algorithm for either QUIC or RTP.</t>
      <t>This document also gives guidance about avoiding problems with "nested"
congestion controllers, in <xref target="nested-CC"/>.</t>
      <t>This document also discusses congestion control
implications of using shared or multiple separate QUIC connections to send and
receive multiple independent data streams, in <xref target="shared-connections"/>.</t>
      <t>It is assumed that the congestion controller in use provides a pacing mechanism
to determine when a packet can be sent to avoid bursts. The currently proposed
congestion control algorithms for real-time communications (e.g. SCReAM and
NADA) provide such pacing mechanisms. The use of congestion controllers which
don't provide a pacing mechanism is out of scope of this document.</t>
      <section anchor="cc-quic-layer">
        <name>Congestion Control at the Transport Layer</name>
        <t>QUIC is a congestion controlled transport protocol. Senders are required to
employ some form of congestion control. The default congestion control specified
for QUIC in <xref target="RFC9002"/> is similar to TCP NewReno <xref target="RFC6582"/>, but senders are
free to choose any congestion control algorithm as long as they follow the
guidelines specified in <xref section="3" sectionFormat="of" target="RFC8085"/>, and QUIC implementors make
use of this freedom.</t>
        <t>If a QUIC implementation is to perform rate adaptation in a way that
accommodates real-time media, one way for the implementation to recognize that
it is carrying real-time media is to be explicitly told that this is the case.
This document defines a new "TLS Application-Layer Protocol Negotiation (ALPN)
Protocol ID", as described in <xref target="alpn"/>, that a QUIC implementation can use as a
signal to choose a real-time media-centric rate controller, but this is not
required for ROQ deployments.</t>
        <t>If congestion control is to be applied at the transport layer, it is RECOMMENDED
that the QUIC Implementation uses a congestion controller that keeps queueing
delays short to keep the transmission latency for RTP and RTCP packets as low as
possible, such as the IETF-defined SCReAM <xref target="RFC8298"/> and NADA <xref target="RFC8698"/>
algorithms.</t>
        <t>Many low latency congestion control algorithms depend on detailed arrival time
feedback to estimate the current one-way delay between sender and receiver. QUIC
does not provide arrival timestamps in its acknowledgments. The QUIC
implementations of the sender and receiver can use an extension to add this
information to QUICs acknowledgment frames, e.g.
<xref target="I-D.draft-smith-quic-receive-ts"/> or <xref target="I-D.draft-huitema-quic-ts"/>.</t>
        <t>If congestion control is done by the QUIC implementation, the application needs
a mechanism to query the currently available bandwidth to adapt media codec
configurations. The employed congestion controller of the QUIC connection SHOULD
expose such an API to the application. If a current bandwidth estimate is not
available from the QUIC congestion controller, the sender can either implement
an alternative bandwidth estimation at the application layer as described in
<xref target="cc-application-layer"/> or a receiver can feedback the observed bandwidth
through RTCP, e.g., using <xref target="I-D.draft-alvestrand-rmcat-remb"/>.</t>
      </section>
      <section anchor="cc-application-layer">
        <name>Congestion Control at the RTP Application Layer</name>
        <t>RTP itself does not specify a congestion control algorithm, but <xref target="RFC8888"/>
defines an RTCP feedback message intended to enable rate adaptation for
interactive real-time traffic using RTP, and successful rate adaptation will
accomplish congestion control as well.</t>
        <t>The rate adaptation algorithms for RTP are specifically tailored for real-time
transmissions at low latencies, as described in <xref target="congestion-control"/>. The
available rate adaptation algorithms expose a <tt>target_bitrate</tt> that can be used
to dynamically reconfigure media codecs to produce media at a rate that can be
sent in real-time under the observed network conditions.</t>
        <t>If an application cannot access a bandwidth estimation from the QUIC layer, or
the QUIC implementation does not support a delay-based, low-latency congestion
control algorithm, the application can alternatively implement a bandwidth estimation
algorithm at the application layer. Calculating a bandwidth estimation at the
application layer can be done using the same bandwidth estimation algorithms as
described in <xref target="congestion-control"/> (NADA, SCReAM). The bandwidth estimation
algorithm typically needs some feedback on the transmission performance. This
feedback can be collected following the guidelines in <xref target="rtcp-mapping"/>.</t>
      </section>
      <section anchor="nested-CC">
        <name>Resolving Interactions Between QUIC and Application-layer Congestion Control</name>
        <t>Because QUIC is a congestion-controlled transport, as described in
<xref target="cc-quic-layer"/>, and RTP applications can also perform congestion control and
rate adaptation, as described in <xref target="cc-application-layer"/>, implementers should
be aware of the possibility that these "nested" congestion control loops, where
both controllers are managing rate adaptation for the same packet stream
independently, may deliver problematic performance. Because this document is
describing a specific case (media transport), we can provide some guidance to
avoid the worst possible problems.</t>
        <ul spacing="normal">
          <li>
            <strong>Application-limited Media Flows</strong> - if an application chooses RTP as its
transport mechanism, the goal will be maximizing the user experience, not
maximizing path bandwidth utilization. If the application is, in fact,
transmitting media that does not saturate path bandwidth, and paces its
transmission, more heavy-handed congestion control mechanisms (drastic
reductions in the sending rate when loss is detected, with much slower
increases when losses are no longer detected) should rarely come into play. If
the application chooses ROQ as its transport, sends enough media to saturate
the path bandwidth, and does not adapt its own sending rate, drastic measures
will be required in order to avoid sustained or oscillating congestion along
the path.</li>
          <li>
            <strong>Awareness of Bufferbloat</strong> - modern general-purpose congestion controllers
do not adjust  their sending rates based only on packet loss. For example, BBR
("Bottleneck Bandwidth and Round-trip propagation time")
<xref target="I-D.cardwell-iccrg-bbr-congestion-control"/> describes its strategy for
adapting sending rates in this way:</li>
        </ul>
        <ul empty="true">
          <li>
            <t>(BBR) "uses recent measurements of a transport connection's delivery rate,
round-trip time, and packet loss rate to build an explicit model of the
network path. BBR then uses this model to control both how fast it sends data
and the maximum volume of data it allows in flight in the network at any
time."</t>
          </li>
        </ul>
      </section>
      <section anchor="shared-connections">
        <name>Sharing QUIC connections</name>
        <t>Two endpoints may establish channels in order to exchange more than one type of
data simultaneously. The channels can be intended to carry real-time RTP data or
other non-real-time data. This can be realized in different ways.</t>
        <ul spacing="normal">
          <li>One straightforward solution is to establish multiple QUIC connections, one
for each channel, whether the channel is used for real-time media or
non-real-time data. This is a straightforward solution, but has the
disadvantage that transport ports are more quickly exhausted and these are
limited by the 16-bit UDP source and destination port number sizes
<xref target="RFC768"/>.</li>
          <li>Alternatively, all real-time channels are mapped to one QUIC connection, while
a separate QUIC connection is created for the non-real-time channels.</li>
        </ul>
        <t>In both cases, the congestion controllers can be chosen to match the demands of
the respective channels and the different QUIC connections will compete for the
same resources in the network. No local prioritization of data across the
different (types of) channels would be necessary.</t>
        <t>Although it is possible to multiplex (all or a subset of) real-time and
non-real-time channels onto a single, shared QUIC connection, which can be done
by using the flow identifier described in <xref target="multiplexing"/>, the underlying QUIC
implementation will likely use the same congestion controller for all channels
in the shared QUIC connection. For this reason, applications multiplexing
multiple streams in one connection SHOULD implement some form of stream
prioritization or bandwidth allocation.</t>
      </section>
    </section>
    <section anchor="rtcp-mapping">
      <name>Replacing RTCP and RTP Header Extensions with QUIC Feedback</name>
      <t>Because RTP has so often used UDP as its underlying transport protocol, and
receiving little or no feedback from UTP, RTP implementations rely on feedback from
the RTP Control Protocol (RTCP) so that RTP senders and receivers can exchange
control information to monitor connection statistics and to identify and
synchronize streams.</t>
      <t>Because QUIC provides its own transport-level feedback, at least some RTP
transport level feedback can be replaced with current QUIC feedback
<xref target="rfc9000"/>. In adition, RTP-level feedback that is not available in QUIC by
default can be replaced with generally useful QUIC extensions. Examples of these
extentions include:</t>
      <ul spacing="normal">
        <li>Arrival timestamps, which are not part of QUIC's default acknowledgment
frames, but can be added using <xref target="I-D.draft-smith-quic-receive-ts"/> or
<xref target="I-D.draft-huitema-quic-ts"/>, or</li>
        <li>Adjusting the frequency of QUIC acknowledgments, using
<xref target="I-D.draft-ietf-quic-ack-frequency"/>.</li>
      </ul>
      <t>When statistics contained in RTCP packets are also available from QUIC, or can
be derived from statistics available from QUIC, it is desireable to provide
these statistics at only one protocol layer. This avoids consumption of
bandwidth to deliver duplicated control information. Because QUIC relies on
certain frames being sent, it is not possible to supress QUIC signaling in favor
of RTCP signaling, so if bandwidth is to be conserved, this must be accomplished
by surpressing RTCP signaling in favor of QUIC signalling.</t>
      <t>This document specifies a baseline for replacing some of the RTCP packet types
by mapping the contents to QUIC connection statistics. Future documents can
extend this mapping for other RTCP format types, and can make use of new QUIC
extensions that become available over time.</t>
      <t>Most statements about "QUIC" in <xref target="rtcp-mapping"/> are applicable to both RTP
encapsulated in QUIC streams and RTP encapsulated in QUIC datagrams. The
differences are described in <xref target="roc-d"/> and <xref target="roc-s"/>.</t>
      <ul empty="true">
        <li>
          <t><strong>Editor's Note:</strong> Additional discussion of bandwidth minimization could go in
this section, or in an earlier proposed section on motivations for defining
and deploying RoQ.</t>
        </li>
      </ul>
      <t>While RoQ places no restrictions on applications sending RTCP, this
document assumes that the reason an implementor chooses to support RoQ
is to obtain benefits beyond what's available when RTP uses UDP as its
underlying transport layer. It is RECOMMENDED to expose relevant information
from the QUIC layer to the application instead of exchanging additional RTCP
packets, where applicable.</t>
      <t><xref target="transport-layer-feedback"/> and <xref target="al-repair"/> discuss what information can be
exposed from the QUIC connection layer to reduce the RTCP overhead.</t>
      <t>The list of RTCP packets in this section is not exhaustive and similar
considerations SHOULD be taken into account before exchanging any other type of
RTCP control packets using RoQ.</t>
      <t>A more complete analysis of RTCP Control Packet Types (in <xref target="control-packets"/>),
Generic RTP Feedback (RTPFB) (in <xref target="generic-feedback"/>), Payload-specific RTP
Feedback (PSFB) (in <xref target="payload-specific-feedback"/>), Extended Reports (in
<xref target="extended-reports"/>), and RTP Header Extensions (in <xref target="rtp-header-extensions"/>),
including the information that cannot be mapped from QUIC.</t>
      <section anchor="roc-d">
        <name>RoQ Datagrams</name>
        <t>QUIC Datagrams are ack-eliciting packets, which means, that an acknowledgment is
triggered when a datagram frame is received. Thus, a sender can assume that an
RTP packet arrived at the receiver or was lost in transit, using the QUIC
acknowledgments of QUIC Datagram frames. In the following, an RTP packet is
regarded as acknowledged, when the QUIC Datagram frame that carried the RTP
packet, was acknowledged.</t>
      </section>
      <section anchor="roc-s">
        <name>RoQ Streams</name>
        <t>For RTP packets that are sent over QUIC streams, an
RTP packet can be considered acknowledged, when all frames which carried
fragments of the RTP packet were acknowledged.</t>
        <t>When QUIC Streams are used, the application should be aware that the direct
mapping proposed below may not reflect the real characteristics of the network.
RTP packet loss can seem lower than actual packet loss due to QUIC's automatic
retransmissions. Similarly, timing information might be incorrect due to
retransmissions.</t>
      </section>
      <section anchor="transport-layer-feedback">
        <name>Transport Layer Feedback</name>
        <t>This section explains how some of the RTCP packet types which are used to signal
reception statistics can be replaced by equivalent statistics that are already
collected by QUIC. The following list explains how this mapping can be achieved
for the individual fields of different RTCP packet types.</t>
        <section anchor="RR-mappings">
          <name>Mapping QUIC Feedback to RTCP Receiver Reports ("RR")</name>
          <t>Considerations for mapping QUIC feedback into <em>Receiver Reports</em> (<tt>PT=201</tt>,
<tt>Name=RR</tt>, <xref target="RFC3550"/>) are:</t>
          <ul spacing="normal">
            <li>
              <em>Fraction lost</em>: When RTP packets are carried in QUIC datagrams, the fraction of lost packets can be directly inferred from
QUIC's acknowledgments. The calculation SHOULD include all packets up to the
acknowledged RTP packet with the highest RTP sequence number. Later packets
SHOULD be ignored, since they may still be in flight, unless other QUIC
packets that were sent after the RTP packet, were already acknowledged.</li>
            <li>
              <em>Cumulative lost</em>: Similar to the fraction of lost packets, the cumulative
loss can be inferred from QUIC's acknowledgments including all packets up to
the latest acknowledged packet.</li>
            <li>
              <em>Highest Sequence Number received</em>: In RTCP, this field is a 32-bit field
that contains the highest sequence number a receiver received in an RTP
packet and the count of sequence number cycles the receiver has observed. A
sender sends RTP packets in QUIC packets and receives acknowledgments for
the QUIC packets. By keeping a mapping from a QUIC packet to the RTP packets
encapsulated in that QUIC packet, the sender can infer the highest sequence
number and number of cycles seen by the receiver from QUIC acknowledgments.</li>
            <li>
              <em>Interarrival jitter</em>: If QUIC acknowledgments carry timestamps as described
in one of the extensions referenced above, senders can infer from QUIC acks
the interarrival jitter from the arrival timestamps.</li>
            <li>
              <em>Last SR</em>: Similar to RTP arrival times, the arrival time of RTCP Sender
Reports can be inferred from QUIC acknowledgments, if they include
timestamps.</li>
            <li>
              <em>Delay since last SR</em>: This field is not required when the receiver reports
are entirely replaced by QUIC feedback.</li>
          </ul>
        </section>
        <section anchor="NACK-mappings">
          <name>Mapping QUIC Feedback to RTCP Negative Acknowledgments* ("NACK")</name>
          <t>Considerations for mapping QUIC feedback into <em>Negative Acknowledgments</em>
(<tt>PT=205</tt>, <tt>FMT=1</tt>, <tt>Name=Generic NACK</tt>, <xref target="RFC4585"/>) are:</t>
          <ul spacing="normal">
            <li>The generic negative acknowledgment packet contains information about
packets which the receiver considered lost. <xref section="6.2.1." sectionFormat="of" target="RFC4585"/>
recommends to use this feature only, if the underlying protocol cannot
provide similar feedback. QUIC does not provide negative acknowledgments,
but can detect lost packets based on the Gap numbers contained in QUIC ACK frames <xref section="6" sectionFormat="of" target="RFC9002"/>.</li>
          </ul>
        </section>
        <section anchor="ECN-mappings">
          <name>Mapping QUIC Feedback to RTCP ECN Feedback ("ECN")</name>
          <t>Considerations for mapping QUIC feedback into <em>ECN Feedback</em> (<tt>PT=205</tt>, <tt>FMT=8</tt>,
<tt>Name=RTCP-ECN-FB</tt>, <xref target="RFC6679"/>) are:</t>
          <ul spacing="normal">
            <li>ECN feedback packets report the count of observed ECN-CE marks. <xref target="RFC6679"/>
defines two RTCP reports, one packet type (with <tt>PT=205</tt> and <tt>FMT=8</tt>) and a
new report block for the extended reports which are listed below. QUIC
supports ECN reporting through acknowledgments. If the QUIC connection supports
ECN, the reporting of ECN counts SHOULD be done using QUIC acknowledgments,
rather than RTCP ECN feedback reports.</li>
          </ul>
        </section>
        <section anchor="CCFB-mappings">
          <name>Mapping QUIC Feedback to RTCP Congestion Control Feedback ("CCFB")</name>
          <t>Considerations for mapping QUIC feedback into <em>Congestion Control Feedback</em>
(<tt>PT=205</tt>, <tt>FMT=11</tt>, <tt>Name=CCFB</tt>, <xref target="RFC8888"/>) are:</t>
          <ul spacing="normal">
            <li>RTP Congestion Control Feedback contains acknowledgments, arrival timestamps
and ECN notifications for each received packet. Acknowledgments and ECNs can
be inferred from QUIC as described above. Arrival timestamps can be added
through extended acknowledgment frames as described in
<xref target="I-D.draft-smith-quic-receive-ts"/> or <xref target="I-D.draft-huitema-quic-ts"/>.</li>
          </ul>
        </section>
        <section anchor="XR-mappings">
          <name>Mapping QUIC Feedback to RTCP Extended Report ("XR")</name>
          <t>Considerations for mapping QUIC feedback into  <em>Extended Reports</em> (<tt>PT=207</tt>,
<tt>Name=XR</tt>, <xref target="RFC3611"/>) are:</t>
          <ul spacing="normal">
            <li>Extended Reports offer an extensible framework for a variety of different
control messages. Some of the standard report blocks which can be
implemented in extended reports such as loss RLE or ECNs can be implemented
in QUIC, too.</li>
            <li>Other report blocks SHOULD be evaluated individually, to determine whether
if the contained information can be transmitted using QUIC instead.</li>
          </ul>
        </section>
      </section>
      <section anchor="al-repair">
        <name>Application Layer Repair and other Control Messages</name>
        <t>While <xref target="RR-mappings"/> presented some RTCP packets that can be replaced by QUIC
features, QUIC cannot replace all of the defined RTCP packet types. This mostly
affects RTCP packet types which carry control information that is to be
interpreted by the RTP application layer, rather than the underlying transport
protocol itself.</t>
        <ul spacing="normal">
          <li>
            <em>Sender Reports</em> (<tt>PT=200</tt>, <tt>Name=SR</tt>, <xref target="RFC3550"/>) are similar to <em>Receiver
Reports</em>, as described in <xref target="RR-mappings"/>. They are sent by media senders and
additionally contain an NTP and a RTP timestamp and the number of packets and
octets transmitted by the sender. The timestamps can be used by a receiver to
synchronize streams. QUIC cannot provide a similar control information, since
it does not know about RTP timestamps. Nor can a QUIC receiver calculate the
packet or octet counts, since it does not know about lost datagrams. Thus,
sender reports are required in RoQ to synchronize streams at the
receiver. The sender reports SHOULD not contain any receiver report blocks, as
the information can be inferred from the QUIC transport as explained in
<xref target="RR-mappings"/>.</li>
        </ul>
        <t>In addition to carrying transmission statistics, RTCP packets can contain
application layer control information, that cannot directly be mapped to QUIC.
Examples of this information may include:</t>
        <ul spacing="normal">
          <li>
            <em>Source Description</em> (<tt>PT=202</tt>, <tt>Name=SDES</tt>), <em>Bye</em> (<tt>PT=203</tt>, <tt>Name=BYE</tt>) and
<em>Application</em> (<tt>PT=204</tt>, <tt>Name=APP</tt>) packet types from <xref target="RFC3550"/>, or</li>
          <li>many of the payload specific feedback messages (<tt>PT=206</tt>) defined in
<xref target="RFC4585"/>, used to control the codec behavior of the sender.</li>
        </ul>
        <t>Since QUIC does not provide any kind of application layer control messaging,
QUIC feedback cannot be mapped into these RTCP packet types. If the RTP
application needs this information, the RTCP packet types are used in the same
way as they would be used over any other transport protocol.</t>
      </section>
      <section anchor="control-packets">
        <name>RTCP Control Packet Types</name>
        <t>Several but not all of these control packets and their attributes can be mapped
from QUIC, as described in <xref target="RR-mappings"/>. "Mappable from QUIC" has one of
three values: "yes", "QUIC extension required", and "no".</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Shortcut</th>
              <th align="left">PT</th>
              <th align="left">Defining Document</th>
              <th align="left">Mappable from QUIC</th>
              <th align="left">Comments</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SMPTE time-code mapping</td>
              <td align="left">SMPTETC</td>
              <td align="left">194</td>
              <td align="left">
                <xref target="RFC5484"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Extended inter-arrival jitter report</td>
              <td align="left">IJ</td>
              <td align="left">195</td>
              <td align="left">
                <xref target="RFC5450"/></td>
              <td align="left">QUIC extension required</td>
              <td align="left">
                <em>IJ</em> was introduced to improve jitter reports when RTP packets are not sent at the time indicated by their RTP timestamp.  Jitter can be calculated using QUIC timestamps, because QUIC timestamps are added when the QUIC packet is actually sent.</td>
            </tr>
            <tr>
              <td align="left">Sender Reports</td>
              <td align="left">SR</td>
              <td align="left">200</td>
              <td align="left">
                <xref target="RFC3550"/></td>
              <td align="left">partly</td>
              <td align="left">- NTP timestamps cannot be replaced by QUIC and are required for synchronization (but see note below)<br/>- packet and octet counts cannot be provided by QUIC<br/>- see below for <em>RR</em>s contained in <em>SR</em>s</td>
            </tr>
            <tr>
              <td align="left">Receiver Reports</td>
              <td align="left">RR</td>
              <td align="left">201</td>
              <td align="left">
                <xref target="RFC3550"/></td>
              <td align="left">possibly</td>
              <td align="left">- <em>Fraction Lost</em>/<em>Cumulative Lost</em>/<em>Highest Sequence Number received</em> can directly be inferred from QUIC ACKs<br/>- <em>Interarrival Jitter</em>/<em>Last SR</em> need a QUIC timestamp extension. Using QUIC ts is slightly different because it ignores transmission offsets from RTP timestamps, but that seems like a good thing (see <em>IJ</em> above)</td>
            </tr>
            <tr>
              <td align="left">Source description</td>
              <td align="left">SDES</td>
              <td align="left">202</td>
              <td align="left">
                <xref target="RFC3550"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Goodbye</td>
              <td align="left">BYE</td>
              <td align="left">203</td>
              <td align="left">
                <xref target="RFC3550"/></td>
              <td align="left">possibly</td>
              <td align="left">using QUIC CONNECTION_CLOSE frame?</td>
            </tr>
            <tr>
              <td align="left">Application-defined</td>
              <td align="left">APP</td>
              <td align="left">204</td>
              <td align="left">
                <xref target="RFC3550"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Generic RTP Feedback</td>
              <td align="left">RTPFB</td>
              <td align="left">205</td>
              <td align="left">
                <xref target="RFC4585"/></td>
              <td align="left">partly</td>
              <td align="left">see table below</td>
            </tr>
            <tr>
              <td align="left">Payload-specific</td>
              <td align="left">PSFB</td>
              <td align="left">205</td>
              <td align="left">
                <xref target="RFC4585"/></td>
              <td align="left"> </td>
              <td align="left">see table below</td>
            </tr>
            <tr>
              <td align="left">extended report</td>
              <td align="left">XR</td>
              <td align="left">207</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">partly</td>
              <td align="left">see table below</td>
            </tr>
            <tr>
              <td align="left">AVB RTCP packet</td>
              <td align="left">AVB</td>
              <td align="left"> </td>
              <td align="left"> </td>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Receiver Summary Information</td>
              <td align="left">RSI</td>
              <td align="left">209</td>
              <td align="left">
                <xref target="RFC5760"/></td>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Port Mapping</td>
              <td align="left">TOKEN</td>
              <td align="left">210</td>
              <td align="left">
                <xref target="RFC6284"/></td>
              <td align="left">no?</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">IDMS Settings</td>
              <td align="left">IDMS</td>
              <td align="left">211</td>
              <td align="left">
                <xref target="RFC7272"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Reporting Group Reporting Sources</td>
              <td align="left">RGRS</td>
              <td align="left">212</td>
              <td align="left">
                <xref target="RFC8861"/></td>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Splicing Notification Message</td>
              <td align="left">SNM</td>
              <td align="left">213</td>
              <td align="left">
                <xref target="RFC8286"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
        <section anchor="notes">
          <name>Notes</name>
          <ul spacing="normal">
            <li>
              <em>SR</em> NTP timestamps: We cannot send NTP timestamps in the same format the SRs
use, but couldn't a QUIC timestamp extension provide the same information?</li>
          </ul>
        </section>
      </section>
      <section anchor="generic-feedback">
        <name>Generic RTP Feedback (RTPFB)</name>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Long Name</th>
              <th align="left">Document</th>
              <th align="left">Mappable from QUIC</th>
              <th align="left">Comments</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Generic NACK</td>
              <td align="left">Generic negative acknowledgement</td>
              <td align="left">
                <xref target="RFC4585"/></td>
              <td align="left">possibly</td>
              <td align="left">Using QUIC ACKs</td>
            </tr>
            <tr>
              <td align="left">TMMBR</td>
              <td align="left">Temporary Maximum Media Stream Bit Rate Request</td>
              <td align="left">
                <xref target="RFC5104"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">TMMBN</td>
              <td align="left">Temporary Maximum Media Stream Bit Rate Notification</td>
              <td align="left">
                <xref target="RFC5104"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">RTCP-SR-REQ</td>
              <td align="left">RTCP Rapid Resynchronisation Request</td>
              <td align="left">
                <xref target="RFC6051"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">RAMS</td>
              <td align="left">Rapid Acquisition of Multicast Sessions</td>
              <td align="left">
                <xref target="RFC6285"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">TLLEI</td>
              <td align="left">Transport-Layer Third-Party Loss Early Indication</td>
              <td align="left">
                <xref target="RFC6642"/></td>
              <td align="left">no?</td>
              <td align="left">no way of telling QUIC peer "don't ask for retransmission", but QUIC would not ask that anyway, only RTCP NACK?</td>
            </tr>
            <tr>
              <td align="left">RTCP-ECN-FB</td>
              <td align="left">RTCP ECN Feedback</td>
              <td align="left">
                <xref target="RFC6679"/></td>
              <td align="left">partly</td>
              <td align="left">QUIC does not provide info about duplicates</td>
            </tr>
            <tr>
              <td align="left">PAUSE-RESUME</td>
              <td align="left">Media Pause/Resume</td>
              <td align="left">
                <xref target="RFC7728"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">DBI</td>
              <td align="left">Delay Budget Information (DBI)</td>
              <td align="left">
                <xref target="_3GPP-TS-26.114"/></td>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">CCFB</td>
              <td align="left">RTP Congestion Control Feedback</td>
              <td align="left">
                <xref target="RFC8888"/></td>
              <td align="left">possibly</td>
              <td align="left">- <em>ECN</em>/<em>ACK</em> natively in QUIC<br/>- timestamps require QUIC timestamp extension</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="payload-specific-feedback">
        <name>Payload-specific RTP Feedback (PSFB)</name>
        <t>Because QUIC is a generic transport protocol, QUIC feedback cannot replace the
following Payload-specific RTP Feedback (PSFB) feedback.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Long Name</th>
              <th align="left">Document</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">PLI</td>
              <td align="left">Picture Loss Indication</td>
              <td align="left">
                <xref target="RFC4585"/></td>
            </tr>
            <tr>
              <td align="left">SLI</td>
              <td align="left">Slice Loss Indication</td>
              <td align="left">
                <xref target="RFC4585"/></td>
            </tr>
            <tr>
              <td align="left">RPSI</td>
              <td align="left">Reference Picture Selection Indication</td>
              <td align="left">
                <xref target="RFC4585"/></td>
            </tr>
            <tr>
              <td align="left">FIR</td>
              <td align="left">Full Intra Request Command</td>
              <td align="left">
                <xref target="RFC5104"/></td>
            </tr>
            <tr>
              <td align="left">TSTR</td>
              <td align="left">Temporal-Spatial Trade-off Request</td>
              <td align="left">
                <xref target="RFC5104"/></td>
            </tr>
            <tr>
              <td align="left">TSTN</td>
              <td align="left">Temporal-Spatial Trade-off Notification</td>
              <td align="left">
                <xref target="RFC5104"/></td>
            </tr>
            <tr>
              <td align="left">VBCM</td>
              <td align="left">Video Back Channel Message</td>
              <td align="left">
                <xref target="RFC5104"/></td>
            </tr>
            <tr>
              <td align="left">PSLEI</td>
              <td align="left">Payload-Specific Third-Party Loss Early Indication</td>
              <td align="left">
                <xref target="RFC6642"/></td>
            </tr>
            <tr>
              <td align="left">ROI</td>
              <td align="left">Video region-of-interest (ROI)</td>
              <td align="left">
                <xref target="_3GPP-TS-26.114"/></td>
            </tr>
            <tr>
              <td align="left">LRR</td>
              <td align="left">Layer Refresh Request Command</td>
              <td align="left">
                <xref target="I-D.draft-ietf-avtext-lrr-07"/></td>
            </tr>
            <tr>
              <td align="left">AFB</td>
              <td align="left">Application Layer Feedback</td>
              <td align="left">
                <xref target="RFC4585"/></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="extended-reports">
        <name>Extended Reports (XR)</name>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Document</th>
              <th align="left">Mappable from QUIC</th>
              <th align="left">Comments</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Loss RLE Report Block</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">yes</td>
              <td align="left">QUIC ACKs</td>
            </tr>
            <tr>
              <td align="left">Duplicate RLE Report Block</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Packet Receipt Times Report Block</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">possibly</td>
              <td align="left">- Could be replaced by QUIC timestamps.<br/>- Would not use RTP timestamps.<br/>- Only if QUIC timestamps for <strong>every</strong> packet is included (e.g. <em>draft-smith-quic-receive-ts</em> but not <em>draft-huitema-quic-ts</em>)</td>
            </tr>
            <tr>
              <td align="left">Receiver Reference Time Report Block</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">possibly</td>
              <td align="left">QUIC timestamps</td>
            </tr>
            <tr>
              <td align="left">DLRR Report Block</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">possibly</td>
              <td align="left">QUIC ACKs and QUIC timestamps. In general, however, it seems to be useful only to calculate RTT, which is natively available in QUIC.</td>
            </tr>
            <tr>
              <td align="left">Statistics Summary Report Block</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">partly</td>
              <td align="left">- loss and jitter as described in other reports above.<br/>- <em>TTL</em>/<em>HL</em>/<em>Duplicates</em> not available in QUIC</td>
            </tr>
            <tr>
              <td align="left">VoIP Metrics Report Block</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">no</td>
              <td align="left">as in other reports above, only loss and RTT available</td>
            </tr>
            <tr>
              <td align="left">RTCP XR</td>
              <td align="left">
                <xref target="RFC5093"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Texas Instruments Extended VoIP Quality Block</td>
              <td align="left"> </td>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Post-repair Loss RLE Report Block</td>
              <td align="left">
                <xref target="RFC5725"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Multicast Acquisition Report Block</td>
              <td align="left">
                <xref target="RFC6332"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">IDMS Report Block</td>
              <td align="left">
                <xref target="RFC7272"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">ECN Summary Report</td>
              <td align="left">
                <xref target="RFC6679"/></td>
              <td align="left">partly</td>
              <td align="left">QUIC does not provide info about duplicates</td>
            </tr>
            <tr>
              <td align="left">Measurement Information Block</td>
              <td align="left">
                <xref target="RFC6776"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Packet Delay Variation Metrics Block</td>
              <td align="left">
                <xref target="RFC6798"/></td>
              <td align="left">no</td>
              <td align="left">QUIC timestamps may be used to achieve the same goal?</td>
            </tr>
            <tr>
              <td align="left">Delay Metrics Block</td>
              <td align="left">
                <xref target="RFC6843"/></td>
              <td align="left">no</td>
              <td align="left">QUIC has RTT and can provide timestamps for one-way delay, but no way of informing peers about end-to-end statistics when QUIC is only used on one segment of the path.</td>
            </tr>
            <tr>
              <td align="left">Burst/Gap Loss Summary Statistics Block</td>
              <td align="left">
                <xref target="RFC7004"/></td>
              <td align="left"> </td>
              <td align="left">QUIC ACKs?</td>
            </tr>
            <tr>
              <td align="left">Burst/Gap Discard Summary Statistics Block</td>
              <td align="left">
                <xref target="RFC7004"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Frame Impairment Statistics Summary</td>
              <td align="left">
                <xref target="RFC7004"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Burst/Gap Loss Metrics Block</td>
              <td align="left">
                <xref target="RFC6958"/></td>
              <td align="left"> </td>
              <td align="left">QUIC ACKs?</td>
            </tr>
            <tr>
              <td align="left">Burst/Gap Discard Metrics Block</td>
              <td align="left">
                <xref target="RFC7003"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">MPEG2 Transport Stream PSI-Independent Decodability Statistics Metrics Block</td>
              <td align="left">
                <xref target="RFC6990"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">De-Jitter Buffer Metrics Block</td>
              <td align="left">
                <xref target="RFC7005"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Discard Count Metrics Block</td>
              <td align="left">
                <xref target="RFC7002"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">DRLE (Discard RLE Report)</td>
              <td align="left">
                <xref target="RFC7097"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">BDR (Bytes Discarded Report)</td>
              <td align="left">
                <xref target="RFC7243"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">RFISD (RTP Flows Initial Synchronization Delay)</td>
              <td align="left">
                <xref target="RFC7244"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">RFSO (RTP Flows Synchronization Offset Metrics Block)</td>
              <td align="left">
                <xref target="RFC7244"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">MOS Metrics Block</td>
              <td align="left">
                <xref target="RFC7266"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">LCB (Loss Concealment Metrics Block)</td>
              <td align="left">
                <xref section="4.1" sectionFormat="comma" target="RFC7294"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">CSB (Concealed Seconds Metrics Block)</td>
              <td align="left">
                <xref section="4.1" sectionFormat="comma" target="RFC7294"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">MPEG2 Transport Stream PSI Decodability Statistics Metrics Block</td>
              <td align="left">
                <xref target="RFC7380"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Post-Repair Loss Count Metrics Report Block</td>
              <td align="left">
                <xref target="RFC7509"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Video Loss Concealment Metric Report Block</td>
              <td align="left">
                <xref target="RFC7867"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Independent Burst/Gap Discard Metrics Block</td>
              <td align="left">
                <xref target="RFC8015"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="rtp-header-extensions">
        <name>RTP Header extensions</name>
        <ul spacing="normal">
          <li>
            <em>Transmission offset</em> <xref target="RFC5450"/> is used for better jitter calculation. If
we have QUIC timestamps, we don't need to work around RTP timestamps offsets
because we can use the QUIC timestamps to calculate network jitter.</li>
        </ul>
      </section>
    </section>
    <section anchor="api-considerations">
      <name>API Considerations</name>
      <t>The mapping described in the previous sections poses some interface requirements
on the QUIC implementation. Although a basic mapping should work without any of
these requirements most of the optimizations regarding rate adaptation and
RTCP mapping require certain functionalities to be exposed to the application.
The following to sections contain a list of information that is required by an
application to implement different optimizations (<xref target="quic-api-read"/>) and
functions that a QUIC implementation SHOULD expose to an application
(<xref target="quic-api-write"/>).</t>
      <t>Each item in the following list can be considered individually. Any exposed
information or function can be used by RoQ regardless of whether the
other items are available. Thus, RoQ does not depend on the
availability of all of the listed features but can apply different optimizations
depending on the functionality exposed by the QUIC implementation.</t>
      <section anchor="quic-api-read">
        <name>Information to be exported from QUIC</name>
        <t>This section provides a list of items that an application might want to export
from an underlying QUIC implementation. It is thus RECOMMENDED that a QUIC
implementation exports the listed items to the application.</t>
        <ul spacing="normal">
          <li>
            <em>Maximum Datagram Size</em>: The maximum datagram size that the QUIC connection
can transmit.</li>
          <li>
            <em>Datagram Acknowledgment and Loss</em>: <xref section="5.2" sectionFormat="of" target="RFC9221"/> allows QUIC
implementations to notify the application that a QUIC Datagram was
acknowledged or that it believes a datagram was lost. The exposed information
SHOULD include enough information to allow the application to maintain a
mapping between the datagram that was acknowledged/lost and the RTP packet
that was sent in that datagram.</li>
          <li>
            <em>Stream States</em>: The QUIC implementation SHOULD expose to a sender, how much
of the data that was sent on a stream was successfully delivered and how much
data is still outstanding to be sent or retransmitted.</li>
          <li>
            <em>Arrival timestamps</em>: If the QUIC connection uses a timestamp extension like
<xref target="I-D.draft-smith-quic-receive-ts"/> or <xref target="I-D.draft-huitema-quic-ts"/>, the
arrival timestamps or one-way delays SHOULD be exposed to the application.</li>
          <li>
            <em>Bandwidth Estimation</em>: If congestion control is done at the transport layer
in the QUIC implementation, the QUIC implementation SHOULD expose an
estimation of the currently available bandwidth to the application. Exposing
the bandwidth estimation avoids the implementation of an additional bandwidth
estimation algorithm in the application.</li>
          <li>
            <em>ECN</em>: If ECN marks are available, they SHOULD be exposed to the application.</li>
        </ul>
      </section>
      <section anchor="quic-api-write">
        <name>Functions to be exposed by QUIC</name>
        <t>This sections lists functions that a QUIC implementation SHOULD expose to an
application to implement different features of the mapping described in the
previous sections of this document.</t>
        <ul spacing="normal">
          <li>
            <em>Cancel Streams</em>: To allow an application to cancel (re)transmission of
packets that are no longer needed, the QUIC implementation MUST expose a way
to cancel the corresponding QUIC streams.</li>
          <li>
            <em>Configure Congestion Controller</em>: If congestion control is to be implemented
at the QUIC connection layer as described in <xref target="cc-quic-layer"/>, the QUIC
implementation SHOULD expose an API to allow the application to configure the
specifics of the congestion controller.</li>
        </ul>
      </section>
    </section>
    <section anchor="discussion">
      <name>Discussion</name>
      <section anchor="impact-of-connection-migration">
        <name>Impact of Connection Migration</name>
        <t>RTP sessions are characterized by a continuous flow of packets into either or
both directions.  A connection migration may lead to pausing media
transmission until reachability of the peer under the new address is validated.
This may lead to short breaks in media delivery in the order of RTT and, if
RTCP is used for RTT measurements, may cause spikes in observed delays.
Application layer congestion control mechanisms (and also packet repair schemes
such as retransmissions) need to be prepared to cope with such spikes.</t>
        <t>If a QUIC connection is established via a signaling channel, this signaling
may have involved Interactive Connectivity Establishment (ICE) exchanges to
determine and choose suitable (IP address, port number) pairs for the QUIC
connection.  Subsequent address change events may be noticed by QUIC via its
connection migration handling and/or at the ICE or other application layer,
e.g., by noticing changing IP addresses at the network interface.  This may
imply that the two signaling and data "layers" get (temporarily) out of sync.</t>
        <ul empty="true">
          <li>
            <t><strong>Editor's Note:</strong> It may be desirable that the API provides an indication
of connection migration event for either case.</t>
          </li>
        </ul>
      </section>
      <section anchor="rtt-considerations">
        <name>0-RTT considerations</name>
        <t>For repeated connections between peers, the initiator of a QUIC connection can
use 0-RTT data for both QUIC streams and datagrams. As such packets are subject to
replay attacks, applications shall carefully specify which data types and operations
are allowed.  0-RTT data may be beneficial for use with RoQ to reduce the
risk of media clipping, e.g., at the beginning of a conversation.</t>
        <t>This specification defines carrying RTP on top of QUIC and thus does not finally
define what the actual application data are going to be.  RTP typically carries
ephemeral media contents that is rendered and possibly recorded but otherwise
causes no side effects. Moreover, the amount of data that can be carried as 0-RTT
data is rather limited.  But it is the responsibility of the respective application
to determine if 0-RTT data is permissible.</t>
        <ul empty="true">
          <li>
            <t><strong>Editor's Note:</strong> Since the QUIC connection will often be created in the context
of an existing signaling relationship (e.g., using WebRTC or SIP), specific 0-RTT
keying material could be exchanged to prevent replays across sessions.  Within
the same connection, replayed media packets would be discarded as duplicates by
the receiver.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="sec-considerations">
      <name>Security Considerations</name>
      <t>RoQ is subject to the security considerations of RTP described in
<xref section="9" sectionFormat="of" target="RFC3550"/> and the security considerations of any RTP profile in
use.</t>
      <t>The security considerations for the QUIC protocol and datagram extension
described in <xref section="21" sectionFormat="of" target="RFC9000"/>, <xref section="9" sectionFormat="of" target="RFC9001"/>, <xref section="8" sectionFormat="of" target="RFC9002"/> and <xref section="6" sectionFormat="of" target="RFC9221"/> also apply to RoQ.</t>
      <t>Note that RTP-over-QUIC provides mandatory security, and other RTP transports do
not. In order to prevent the inadvertent disclosure of RTP sessions to
unintended third parties, RTP topologies described in <xref target="topologies"/> that
include middleboxes supporting both RTP-over-QUIC and non-RTP-over-QUIC paths
MUST forward RTP packets on non-RTP-over-QUIC paths using a secure AVP profile
(<xref target="RFC3711"/>, <xref target="RFC4585"/>, or another AVP profile providing equivalent
RTP-level security), whether or not RTP-over-QUIC senders are using a secure AVP
profile for those RTP packets.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="registration-of-a-roq-identification-string">
        <name>Registration of a RoQ Identification String</name>
        <t>This document creates a new registration for the identification of RoQ
in the "TLS Application-Layer Protocol Negotiation (ALPN) Protocol IDs" registry
<xref target="RFC7301"/>.</t>
        <t>The "rtp-mux-quic" string identifies RoQ:</t>
        <dl>
          <dt>Protocol:</dt>
          <dd>
            <t>RTP over QUIC (RoQ)</t>
          </dd>
          <dt>Identification Sequence:</dt>
          <dd>
            <t>0x72 0x74 0x70 0x2D 0x6F 0x76 0x65 0x72 0x2D 0x71 0x75 0x69 0x63 ("rtp-mux-quic")</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>This document</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This memorandum describes RTP, the real-time transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services. The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality. RTP and RTCP are designed to be independent of the underlying transport and network layers. The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes. There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC8999">
          <front>
            <title>Version-Independent Properties of QUIC</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the properties of the QUIC transport protocol that are common to all versions of the protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8999"/>
          <seriesInfo name="DOI" value="10.17487/RFC8999"/>
        </reference>
        <reference anchor="RFC9001">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="RFC9002">
          <front>
            <title>QUIC Loss Detection and Congestion Control</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="I. Swett" initials="I." role="editor" surname="Swett"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes loss detection and congestion control mechanisms for QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9002"/>
          <seriesInfo name="DOI" value="10.17487/RFC9002"/>
        </reference>
        <reference anchor="RFC9221">
          <front>
            <title>An Unreliable Datagram Extension to QUIC</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>This document defines an extension to the QUIC transport protocol to add support for sending and receiving unreliable datagrams over a QUIC connection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9221"/>
          <seriesInfo name="DOI" value="10.17487/RFC9221"/>
        </reference>
        <reference anchor="RFC7667">
          <front>
            <title>RTP Topologies</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <date month="November" year="2015"/>
            <abstract>
              <t>This document discusses point-to-point and multi-endpoint topologies used in environments based on the Real-time Transport Protocol (RTP). In particular, centralized topologies commonly employed in the video conferencing industry are mapped to the RTP terminology.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7667"/>
          <seriesInfo name="DOI" value="10.17487/RFC7667"/>
        </reference>
        <reference anchor="RFC3551">
          <front>
            <title>RTP Profile for Audio and Video Conferences with Minimal Control</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This document describes a profile called "RTP/AVP" for the use of the real-time transport protocol (RTP), version 2, and the associated control protocol, RTCP, within audio and video multiparticipant conferences with minimal control. It provides interpretations of generic fields within the RTP specification suitable for audio and video conferences. In particular, this document defines a set of default mappings from payload type numbers to encodings. This document also describes how audio and video data may be carried within RTP. It defines a set of standard encodings and their names when used within RTP. The descriptions provide pointers to reference implementations and the detailed standards. This document is meant as an aid for implementors of audio, video and other real-time multimedia applications. This memorandum obsoletes RFC 1890. It is mostly backwards-compatible except for functions removed because two interoperable implementations were not found. The additions to RFC 1890 codify existing practice in the use of payload formats under this profile and include new payload formats defined since RFC 1890 was published. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="65"/>
          <seriesInfo name="RFC" value="3551"/>
          <seriesInfo name="DOI" value="10.17487/RFC3551"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8698">
          <front>
            <title>Network-Assisted Dynamic Adaptation (NADA): A Unified Congestion Control Scheme for Real-Time Media</title>
            <author fullname="X. Zhu" initials="X." surname="Zhu"/>
            <author fullname="R. Pan" initials="R." surname="Pan"/>
            <author fullname="M. Ramalho" initials="M." surname="Ramalho"/>
            <author fullname="S. Mena" initials="S." surname="Mena"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes Network-Assisted Dynamic Adaptation (NADA), a novel congestion control scheme for interactive real-time media applications such as video conferencing. In the proposed scheme, the sender regulates its sending rate, based on either implicit or explicit congestion signaling, in a unified approach. The scheme can benefit from Explicit Congestion Notification (ECN) markings from network nodes. It also maintains consistent sender behavior in the absence of such markings by reacting to queuing delays and packet losses instead.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8698"/>
          <seriesInfo name="DOI" value="10.17487/RFC8698"/>
        </reference>
        <reference anchor="RFC8298">
          <front>
            <title>Self-Clocked Rate Adaptation for Multimedia</title>
            <author fullname="I. Johansson" initials="I." surname="Johansson"/>
            <author fullname="Z. Sarker" initials="Z." surname="Sarker"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>This memo describes a rate adaptation algorithm for conversational media services such as interactive video. The solution conforms to the packet conservation principle and uses a hybrid loss-and-delay- based congestion control algorithm. The algorithm is evaluated over both simulated Internet bottleneck scenarios as well as in a Long Term Evolution (LTE) system simulator and is shown to achieve both low latency and high video throughput in these scenarios.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8298"/>
          <seriesInfo name="DOI" value="10.17487/RFC8298"/>
        </reference>
        <reference anchor="RFC7301">
          <front>
            <title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
            <author fullname="S. Friedl" initials="S." surname="Friedl"/>
            <author fullname="A. Popov" initials="A." surname="Popov"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="E. Stephan" initials="E." surname="Stephan"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7301"/>
          <seriesInfo name="DOI" value="10.17487/RFC7301"/>
        </reference>
        <reference anchor="RFC4588">
          <front>
            <title>RTP Retransmission Payload Format</title>
            <author fullname="J. Rey" initials="J." surname="Rey"/>
            <author fullname="D. Leon" initials="D." surname="Leon"/>
            <author fullname="A. Miyazaki" initials="A." surname="Miyazaki"/>
            <author fullname="V. Varsa" initials="V." surname="Varsa"/>
            <author fullname="R. Hakenberg" initials="R." surname="Hakenberg"/>
            <date month="July" year="2006"/>
            <abstract>
              <t>RTP retransmission is an effective packet loss recovery technique for real-time applications with relaxed delay bounds. This document describes an RTP payload format for performing retransmissions. Retransmitted RTP packets are sent in a separate stream from the original RTP stream. It is assumed that feedback from receivers to senders is available. In particular, it is assumed that Real-time Transport Control Protocol (RTCP) feedback as defined in the extended RTP profile for RTCP-based feedback (denoted RTP/AVPF) is available in this memo. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4588"/>
          <seriesInfo name="DOI" value="10.17487/RFC4588"/>
        </reference>
        <reference anchor="RFC8836">
          <front>
            <title>Congestion Control Requirements for Interactive Real-Time Media</title>
            <author fullname="R. Jesup" initials="R." surname="Jesup"/>
            <author fullname="Z. Sarker" initials="Z." role="editor" surname="Sarker"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>Congestion control is needed for all data transported across the Internet, in order to promote fair usage and prevent congestion collapse. The requirements for interactive, point-to-point real-time multimedia, which needs low-delay, semi-reliable data delivery, are different from the requirements for bulk transfer like FTP or bursty transfers like web pages. Due to an increasing amount of RTP-based real-time media traffic on the Internet (e.g., with the introduction of the Web Real-Time Communication (WebRTC)), it is especially important to ensure that this kind of traffic is congestion controlled.</t>
              <t>This document describes a set of requirements that can be used to evaluate other congestion control mechanisms in order to figure out their fitness for this purpose, and in particular to provide a set of possible requirements for a real-time media congestion avoidance technique.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8836"/>
          <seriesInfo name="DOI" value="10.17487/RFC8836"/>
        </reference>
        <reference anchor="I-D.draft-smith-quic-receive-ts">
          <front>
            <title>QUIC Extension for Reporting Packet Receive Timestamps</title>
            <author fullname="Connor Smith" initials="C." surname="Smith">
              <organization>Magic Leap, Inc.</organization>
            </author>
            <author fullname="Ian Swett" initials="I." surname="Swett">
              <organization>Google LLC</organization>
            </author>
            <date day="25" month="October" year="2021"/>
            <abstract>
              <t>   This document defines an extension to the QUIC transport protocol
   which supports reporting multiple packet receive timestamps using a
   new ACK_RECEIVE_TIMESTAMPS frame type.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the QUIC Working Group
   mailing list (quic@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/browse/quic/.

   Source for this draft and an issue tracker can be found at
   https://github.com/wcsmith/draft-quic-receive-ts.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-smith-quic-receive-ts-00"/>
        </reference>
        <reference anchor="I-D.draft-huitema-quic-ts">
          <front>
            <title>Quic Timestamps For Measuring One-Way Delays</title>
            <author fullname="Christian Huitema" initials="C." surname="Huitema">
              <organization>Private Octopus Inc.</organization>
            </author>
            <date day="28" month="August" year="2022"/>
            <abstract>
              <t>   The TIMESTAMP frame can be added to Quic packets when one way delay
   measurements are useful.  The timestamp is set to the number of
   microseconds from the beginning of the node's epoch to the time at
   which the packet is sent.  The draft defines the "enable_timestamp"
   transport parameter for negotiating the use of this extension frame,
   and the TIMESTAMP frame.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-huitema-quic-ts-08"/>
        </reference>
        <reference anchor="RFC8888">
          <front>
            <title>RTP Control Protocol (RTCP) Feedback for Congestion Control</title>
            <author fullname="Z. Sarker" initials="Z." surname="Sarker"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="V. Singh" initials="V." surname="Singh"/>
            <author fullname="M. Ramalho" initials="M." surname="Ramalho"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>An effective RTP congestion control algorithm requires more fine-grained feedback on packet loss, timing, and Explicit Congestion Notification (ECN) marks than is provided by the standard RTP Control Protocol (RTCP) Sender Report (SR) and Receiver Report (RR) packets. This document describes an RTCP feedback message intended to enable congestion control for interactive real-time traffic using RTP. The feedback message is designed for use with a sender-based congestion control algorithm, in which the receiver of an RTP flow sends back to the sender RTCP feedback packets containing the information the sender needs to perform congestion control.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8888"/>
          <seriesInfo name="DOI" value="10.17487/RFC8888"/>
        </reference>
        <reference anchor="RFC768">
          <front>
            <title>User Datagram Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="August" year="1980"/>
          </front>
          <seriesInfo name="STD" value="6"/>
          <seriesInfo name="RFC" value="768"/>
          <seriesInfo name="DOI" value="10.17487/RFC0768"/>
        </reference>
        <reference anchor="rfc9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="I-D.draft-ietf-quic-ack-frequency">
          <front>
            <title>QUIC Acknowledgement Frequency</title>
            <author fullname="Jana Iyengar" initials="J." surname="Iyengar">
              <organization>Fastly</organization>
            </author>
            <author fullname="Ian Swett" initials="I." surname="Swett">
              <organization>Google</organization>
            </author>
            <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
              <organization>Ericsson</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document describes a QUIC extension for an endpoint to control
   its peer's delaying of acknowledgements.

Note to Readers

   Discussion of this draft takes place on the QUIC working group
   mailing list (quic@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/search/?email_list=quic.  Source
   code and issues list for this draft can be found at
   https://github.com/quicwg/ack-frequency.

   Working Group information can be found at https://github.com/quicwg.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-ack-frequency-05"/>
        </reference>
        <reference anchor="RFC4585">
          <front>
            <title>Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)</title>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="N. Sato" initials="N." surname="Sato"/>
            <author fullname="C. Burmeister" initials="C." surname="Burmeister"/>
            <author fullname="J. Rey" initials="J." surname="Rey"/>
            <date month="July" year="2006"/>
            <abstract>
              <t>Real-time media streams that use RTP are, to some degree, resilient against packet losses. Receivers may use the base mechanisms of the Real-time Transport Control Protocol (RTCP) to report packet reception statistics and thus allow a sender to adapt its transmission behavior in the mid-term. This is the sole means for feedback and feedback-based error repair (besides a few codec-specific mechanisms). This document defines an extension to the Audio-visual Profile (AVP) that enables receivers to provide, statistically, more immediate feedback to the senders and thus allows for short-term adaptation and efficient feedback-based repair mechanisms to be implemented. This early feedback profile (AVPF) maintains the AVP bandwidth constraints for RTCP and preserves scalability to large groups. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4585"/>
          <seriesInfo name="DOI" value="10.17487/RFC4585"/>
        </reference>
        <reference anchor="RFC6679">
          <front>
            <title>Explicit Congestion Notification (ECN) for RTP over UDP</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="I. Johansson" initials="I." surname="Johansson"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="P. O'Hanlon" initials="P." surname="O'Hanlon"/>
            <author fullname="K. Carlberg" initials="K." surname="Carlberg"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This memo specifies how Explicit Congestion Notification (ECN) can be used with the Real-time Transport Protocol (RTP) running over UDP, using the RTP Control Protocol (RTCP) as a feedback mechanism. It defines a new RTCP Extended Report (XR) block for periodic ECN feedback, a new RTCP transport feedback message for timely reporting of congestion events, and a Session Traversal Utilities for NAT (STUN) extension used in the optional initialisation method using Interactive Connectivity Establishment (ICE). Signalling and procedures for negotiation of capabilities and initialisation methods are also defined. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6679"/>
          <seriesInfo name="DOI" value="10.17487/RFC6679"/>
        </reference>
        <reference anchor="RFC3611">
          <front>
            <title>RTP Control Protocol Extended Reports (RTCP XR)</title>
            <author fullname="T. Friedman" initials="T." role="editor" surname="Friedman"/>
            <author fullname="R. Caceres" initials="R." role="editor" surname="Caceres"/>
            <author fullname="A. Clark" initials="A." role="editor" surname="Clark"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>This document defines the Extended Report (XR) packet type for the RTP Control Protocol (RTCP), and defines how the use of XR packets can be signaled by an application if it employs the Session Description Protocol (SDP). XR packets are composed of report blocks, and seven block types are defined here. The purpose of the extended reporting format is to convey information that supplements the six statistics that are contained in the report blocks used by RTCP's Sender Report (SR) and Receiver Report (RR) packets. Some applications, such as multicast inference of network characteristics (MINC) or voice over IP (VoIP) monitoring, require other and more detailed statistics. In addition to the block types defined here, additional block types may be defined in the future by adhering to the framework that this document provides.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3611"/>
          <seriesInfo name="DOI" value="10.17487/RFC3611"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="_3GPP-TS-26.114" target="(https://portal.3gpp.org/desktopmodules/Specifications/specificationId=1404)">
          <front>
            <title>IP Multimedia Subsystem (IMS); Multimedia telephony; Media handling and interaction</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="January" day="05"/>
          </front>
        </reference>
        <reference anchor="RFC9308">
          <front>
            <title>Applicability of the QUIC Transport Protocol</title>
            <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document discusses the applicability of the QUIC transport protocol, focusing on caveats impacting application protocol development and deployment over QUIC. Its intended audience is designers of application protocol mappings to QUIC and implementors of these application protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9308"/>
          <seriesInfo name="DOI" value="10.17487/RFC9308"/>
        </reference>
        <reference anchor="RFC7826">
          <front>
            <title>Real-Time Streaming Protocol Version 2.0</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="A. Rao" initials="A." surname="Rao"/>
            <author fullname="R. Lanphier" initials="R." surname="Lanphier"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="M. Stiemerling" initials="M." role="editor" surname="Stiemerling"/>
            <date month="December" year="2016"/>
            <abstract>
              <t>This memorandum defines the Real-Time Streaming Protocol (RTSP) version 2.0, which obsoletes RTSP version 1.0 defined in RFC 2326.</t>
              <t>RTSP is an application-layer protocol for the setup and control of the delivery of data with real-time properties. RTSP provides an extensible framework to enable controlled, on-demand delivery of real-time data, such as audio and video. Sources of data can include both live data feeds and stored clips. This protocol is intended to control multiple data delivery sessions; provide a means for choosing delivery channels such as UDP, multicast UDP, and TCP; and provide a means for choosing delivery mechanisms based upon RTP (RFC 3550).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7826"/>
          <seriesInfo name="DOI" value="10.17487/RFC7826"/>
        </reference>
        <reference anchor="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3711"/>
          <seriesInfo name="DOI" value="10.17487/RFC3711"/>
        </reference>
        <reference anchor="I-D.draft-dawkins-avtcore-sdp-rtp-quic">
          <front>
            <title>SDP Offer/Answer for RTP using QUIC as Transport</title>
            <author fullname="Spencer Dawkins" initials="S." surname="Dawkins">
              <organization>Tencent America LLC</organization>
            </author>
            <date day="28" month="January" year="2022"/>
            <abstract>
              <t>   This document describes these new SDP "proto" attribute values:
   "QUIC", "QUIC/RTP/SAVP", "QUIC/RTP/AVPF", and "QUIC/RTP/SAVPF", and
   describes how SDP Offer/Answer can be used to set up an RTP
   connection using QUIC as a transport protocol.

   These proto values are necessary to allow the use of QUIC as an
   underlying transport protocol for applications such as SIP and WebRTC
   that commonly use SDP as a session signaling protocol to set up RTP
   connections.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dawkins-avtcore-sdp-rtp-quic-00"/>
        </reference>
        <reference anchor="RFC3261">
          <front>
            <title>SIP: Session Initiation Protocol</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
            <author fullname="A. Johnston" initials="A." surname="Johnston"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="R. Sparks" initials="R." surname="Sparks"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="E. Schooler" initials="E." surname="Schooler"/>
            <date month="June" year="2002"/>
            <abstract>
              <t>This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3261"/>
          <seriesInfo name="DOI" value="10.17487/RFC3261"/>
        </reference>
        <reference anchor="RFC8825">
          <front>
            <title>Overview: Real-Time Protocols for Browser-Based Applications</title>
            <author fullname="H. Alvestrand" initials="H." surname="Alvestrand"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This document gives an overview and context of a protocol suite intended for use with real-time applications that can be deployed in browsers -- "real-time communication on the Web".</t>
              <t>It intends to serve as a starting and coordination point to make sure that (1) all the parts that are needed to achieve this goal are findable and (2) the parts that belong in the Internet protocol suite are fully specified and on the right publication track.</t>
              <t>This document is an applicability statement -- it does not itself specify any protocol, but it specifies which other specifications implementations are supposed to follow to be compliant with Web Real-Time Communication (WebRTC).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8825"/>
          <seriesInfo name="DOI" value="10.17487/RFC8825"/>
        </reference>
        <reference anchor="I-D.draft-ietf-wish-whip">
          <front>
            <title>WebRTC-HTTP ingestion protocol (WHIP)</title>
            <author fullname="Sergio Garcia Murillo" initials="S. G." surname="Murillo">
              <organization>Millicast</organization>
            </author>
            <author fullname="Dr. Alex Gouaillard" initials="A." surname="Gouaillard">
              <organization>CoSMo Software</organization>
            </author>
            <date day="30" month="March" year="2023"/>
            <abstract>
              <t>   This document describes a simple HTTP-based protocol that will allow
   WebRTC-based ingestion of content into streaming services and/or
   CDNs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wish-whip-08"/>
        </reference>
        <reference anchor="RFC3168">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
        <reference anchor="I-D.draft-ietf-masque-h3-datagram">
          <front>
            <title>HTTP Datagrams and the Capsule Protocol</title>
            <author fullname="David Schinazi" initials="D." surname="Schinazi">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Lucas Pardue" initials="L." surname="Pardue">
              <organization>Cloudflare</organization>
            </author>
            <date day="17" month="June" year="2022"/>
            <abstract>
              <t>This document describes HTTP Datagrams, a convention for conveying multiplexed, potentially unreliable datagrams inside an HTTP connection.

 In HTTP/3, HTTP Datagrams can be sent unreliably using the QUIC DATAGRAM extension. When the QUIC DATAGRAM frame is unavailable or undesirable, HTTP Datagrams can be sent using the Capsule Protocol, which is a more general convention for conveying data in HTTP connections.

 HTTP Datagrams and the Capsule Protocol are intended for use by HTTP extensions, not applications.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-masque-h3-datagram-11"/>
        </reference>
        <reference anchor="RFC8860">
          <front>
            <title>Sending Multiple Types of Media in a Single RTP Session</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="J. Lennox" initials="J." surname="Lennox"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This document specifies how an RTP session can contain RTP streams with media from multiple media types such as audio, video, and text. This has been restricted by the RTP specifications (RFCs 3550 and 3551), and thus this document updates RFCs 3550 and 3551 to enable this behaviour for applications that satisfy the applicability for using multiple media types in a single RTP session.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8860"/>
          <seriesInfo name="DOI" value="10.17487/RFC8860"/>
        </reference>
        <reference anchor="RFC5761">
          <front>
            <title>Multiplexing RTP Data and Control Packets on a Single Port</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="April" year="2010"/>
            <abstract>
              <t>This memo discusses issues that arise when multiplexing RTP data packets and RTP Control Protocol (RTCP) packets on a single UDP port. It updates RFC 3550 and RFC 3551 to describe when such multiplexing is and is not appropriate, and it explains how the Session Description Protocol (SDP) can be used to signal multiplexed sessions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5761"/>
          <seriesInfo name="DOI" value="10.17487/RFC5761"/>
        </reference>
        <reference anchor="I-D.draft-thomson-quic-enough-00">
          <front>
            <title>Signaling That a QUIC Receiver Has Enough Stream Data</title>
            <author fullname="Martin Thomson" initials="M." surname="Thomson">
              <organization>Mozilla</organization>
            </author>
            <date day="30" month="March" year="2023"/>
            <abstract>
              <t>   Sending on QUIC streams can only be aborted early by the sender with
   a RESET_STREAM frame.  This document describes how a receiver can
   indicate when the data they have received is enough, allowing the
   sender to reliably deliver some data, but abort sending for anything
   more than the indicated amount.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-thomson-quic-enough-00"/>
        </reference>
        <reference anchor="I-D.draft-ietf-rmcat-gcc">
          <front>
            <title>A Google Congestion Control Algorithm for Real-Time Communication</title>
            <author fullname="Stefan Holmer" initials="S." surname="Holmer">
              <organization>Google</organization>
            </author>
            <author fullname="Henrik Lundin" initials="H." surname="Lundin">
              <organization>Google</organization>
            </author>
            <author fullname="Gaetano Carlucci" initials="G." surname="Carlucci">
              <organization>Politecnico di Bari</organization>
            </author>
            <author fullname="Luca De Cicco" initials="L." surname="De Cicco">
              <organization>Politecnico di Bari</organization>
            </author>
            <author fullname="Saverio Mascolo" initials="S." surname="Mascolo">
              <organization>Politecnico di Bari</organization>
            </author>
            <date day="8" month="July" year="2016"/>
            <abstract>
              <t>   This document describes two methods of congestion control when using
   real-time communications on the World Wide Web (RTCWEB); one delay-
   based and one loss-based.

   It is published as an input document to the RMCAT working group on
   congestion control for media streams.  The mailing list of that
   working group is rmcat@ietf.org.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rmcat-gcc-02"/>
        </reference>
        <reference anchor="RFC6582">
          <front>
            <title>The NewReno Modification to TCP's Fast Recovery Algorithm</title>
            <author fullname="T. Henderson" initials="T." surname="Henderson"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="A. Gurtov" initials="A." surname="Gurtov"/>
            <author fullname="Y. Nishida" initials="Y." surname="Nishida"/>
            <date month="April" year="2012"/>
            <abstract>
              <t>RFC 5681 documents the following four intertwined TCP congestion control algorithms: slow start, congestion avoidance, fast retransmit, and fast recovery. RFC 5681 explicitly allows certain modifications of these algorithms, including modifications that use the TCP Selective Acknowledgment (SACK) option (RFC 2883), and modifications that respond to "partial acknowledgments" (ACKs that cover new data, but not all the data outstanding when loss was detected) in the absence of SACK. This document describes a specific algorithm for responding to partial acknowledgments, referred to as "NewReno". This response to partial acknowledgments was first proposed by Janey Hoe. This document obsoletes RFC 3782. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6582"/>
          <seriesInfo name="DOI" value="10.17487/RFC6582"/>
        </reference>
        <reference anchor="RFC8085">
          <front>
            <title>UDP Usage Guidelines</title>
            <author fullname="L. Eggert" initials="L." surname="Eggert"/>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <author fullname="G. Shepherd" initials="G." surname="Shepherd"/>
            <date month="March" year="2017"/>
            <abstract>
              <t>The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms. This document provides guidelines on the use of UDP for the designers of applications, tunnels, and other protocols that use UDP. Congestion control guidelines are a primary focus, but the document also provides guidance on other topics, including message sizes, reliability, checksums, middlebox traversal, the use of Explicit Congestion Notification (ECN), Differentiated Services Code Points (DSCPs), and ports.</t>
              <t>Because congestion control is critical to the stable operation of the Internet, applications and other protocols that choose to use UDP as an Internet transport must employ mechanisms to prevent congestion collapse and to establish some degree of fairness with concurrent traffic. They may also need to implement additional mechanisms, depending on how they use UDP.</t>
              <t>Some guidance is also applicable to the design of other protocols (e.g., protocols layered directly on IP or via IP-based tunnels), especially when these protocols do not themselves provide congestion control.</t>
              <t>This document obsoletes RFC 5405 and adds guidelines for multicast UDP usage.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="145"/>
          <seriesInfo name="RFC" value="8085"/>
          <seriesInfo name="DOI" value="10.17487/RFC8085"/>
        </reference>
        <reference anchor="I-D.draft-alvestrand-rmcat-remb">
          <front>
            <title>RTCP message for Receiver Estimated Maximum Bitrate</title>
            <author fullname="Harald T. Alvestrand" initials="H. T." surname="Alvestrand">
              <organization>Google</organization>
            </author>
            <date day="21" month="October" year="2013"/>
            <abstract>
              <t>   This document proposes an RTCP message for use in experimentally-
   deployed congestion control algorithms for RTP-based media flows.

   It also describes an absolute-value timestamp option for use in
   bandwidth estimatoin.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-alvestrand-rmcat-remb-03"/>
        </reference>
        <reference anchor="I-D.cardwell-iccrg-bbr-congestion-control">
          <front>
            <title>BBR Congestion Control</title>
            <author fullname="Neal Cardwell" initials="N." surname="Cardwell">
              <organization>Google</organization>
            </author>
            <author fullname="Yuchung Cheng" initials="Y." surname="Cheng">
              <organization>Google</organization>
            </author>
            <author fullname="Soheil Hassas Yeganeh" initials="S. H." surname="Yeganeh">
              <organization>Google</organization>
            </author>
            <author fullname="Ian Swett" initials="I." surname="Swett">
              <organization>Google</organization>
            </author>
            <author fullname="Van Jacobson" initials="V." surname="Jacobson">
              <organization>Google</organization>
            </author>
            <date day="7" month="March" year="2022"/>
            <abstract>
              <t>   This document specifies the BBR congestion control algorithm.  BBR
   ("Bottleneck Bandwidth and Round-trip propagation time") uses recent
   measurements of a transport connection's delivery rate, round-trip
   time, and packet loss rate to build an explicit model of the network
   path.  BBR then uses this model to control both how fast it sends
   data and the maximum volume of data it allows in flight in the
   network at any time.  Relative to loss-based congestion control
   algorithms such as Reno [RFC5681] or CUBIC [RFC8312], BBR offers
   substantially higher throughput for bottlenecks with shallow buffers
   or random losses, and substantially lower queueing delays for
   bottlenecks with deep buffers (avoiding "bufferbloat").  BBR can be
   implemented in any transport protocol that supports packet-delivery
   acknowledgment.  Thus far, open source implementations are available
   for TCP [RFC793] and QUIC [RFC9000].  This document specifies version
   2 of the BBR algorithm, also sometimes referred to as BBRv2 or bbr2.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-cardwell-iccrg-bbr-congestion-control-02"/>
        </reference>
        <reference anchor="RFC5484">
          <front>
            <title>Associating Time-Codes with RTP Streams</title>
            <author fullname="D. Singer" initials="D." surname="Singer"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document describes a mechanism for associating \%time-codes, as defined by the Society of Motion Picture and Television Engineers (SMPTE), with media streams in a way that is independent of the RTP payload format of the media stream itself. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5484"/>
          <seriesInfo name="DOI" value="10.17487/RFC5484"/>
        </reference>
        <reference anchor="RFC5450">
          <front>
            <title>Transmission Time Offsets in RTP Streams</title>
            <author fullname="D. Singer" initials="D." surname="Singer"/>
            <author fullname="H. Desineni" initials="H." surname="Desineni"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document describes a method to inform Real-time Transport Protocol (RTP) clients when RTP packets are transmitted at a time other than their 'nominal' transmission time. It also provides a mechanism to provide improved inter-arrival jitter reports from the clients, that take into account the reported transmission times. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5450"/>
          <seriesInfo name="DOI" value="10.17487/RFC5450"/>
        </reference>
        <reference anchor="RFC5760">
          <front>
            <title>RTP Control Protocol (RTCP) Extensions for Single-Source Multicast Sessions with Unicast Feedback</title>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="J. Chesterfield" initials="J." surname="Chesterfield"/>
            <author fullname="E. Schooler" initials="E." surname="Schooler"/>
            <date month="February" year="2010"/>
            <abstract>
              <t>This document specifies an extension to the Real-time Transport Control Protocol (RTCP) to use unicast feedback to a multicast sender. The proposed extension is useful for single-source multicast sessions such as Source-Specific Multicast (SSM) communication where the traditional model of many-to-many group communication is either not available or not desired. In addition, it can be applied to any group that might benefit from a sender-controlled summarized reporting mechanism. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5760"/>
          <seriesInfo name="DOI" value="10.17487/RFC5760"/>
        </reference>
        <reference anchor="RFC6284">
          <front>
            <title>Port Mapping between Unicast and Multicast RTP Sessions</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <author fullname="T. Van Caenegem" initials="T." surname="Van Caenegem"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document presents a port mapping solution that allows RTP receivers to choose their own ports for an auxiliary unicast session in RTP applications using both unicast and multicast services. The solution provides protection against denial-of-service or packet amplification attacks that could be used to cause one or more RTP packets to be sent to a victim client. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6284"/>
          <seriesInfo name="DOI" value="10.17487/RFC6284"/>
        </reference>
        <reference anchor="RFC7272">
          <front>
            <title>Inter-Destination Media Synchronization (IDMS) Using the RTP Control Protocol (RTCP)</title>
            <author fullname="R. van Brandenburg" initials="R." surname="van Brandenburg"/>
            <author fullname="H. Stokking" initials="H." surname="Stokking"/>
            <author fullname="O. van Deventer" initials="O." surname="van Deventer"/>
            <author fullname="F. Boronat" initials="F." surname="Boronat"/>
            <author fullname="M. Montagud" initials="M." surname="Montagud"/>
            <author fullname="K. Gross" initials="K." surname="Gross"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>This document defines a new RTP Control Protocol (RTCP) Packet Type and an RTCP Extended Report (XR) Block Type to be used for achieving Inter-Destination Media Synchronization (IDMS). IDMS is the process of synchronizing playout across multiple media receivers. Using the RTCP XR IDMS Report Block defined in this document, media playout information from participants in a synchronization group can be collected. Based on the collected information, an RTCP IDMS Settings Packet can then be sent to distribute a common target playout point to which all the distributed receivers, sharing a media experience, can synchronize.</t>
              <t>Typical use cases in which IDMS is useful are social TV, shared service control (i.e., applications where two or more geographically separated users are watching a media stream together), distance learning, networked video walls, networked loudspeakers, etc.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7272"/>
          <seriesInfo name="DOI" value="10.17487/RFC7272"/>
        </reference>
        <reference anchor="RFC8861">
          <front>
            <title>Sending Multiple RTP Streams in a Single RTP Session: Grouping RTP Control Protocol (RTCP) Reception Statistics and Other Feedback</title>
            <author fullname="J. Lennox" initials="J." surname="Lennox"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>RTP allows multiple RTP streams to be sent in a single session but requires each Synchronization Source (SSRC) to send RTP Control Protocol (RTCP) reception quality reports for every other SSRC visible in the session. This causes the number of RTCP reception reports to grow with the number of SSRCs, rather than the number of endpoints. In many cases, most of these RTCP reception reports are unnecessary, since all SSRCs of an endpoint are normally co-located and see the same reception quality. This memo defines a Reporting Group extension to RTCP to reduce the reporting overhead in such scenarios.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8861"/>
          <seriesInfo name="DOI" value="10.17487/RFC8861"/>
        </reference>
        <reference anchor="RFC8286">
          <front>
            <title>RTP/RTCP Extension for RTP Splicing Notification</title>
            <author fullname="J. Xia" initials="J." surname="Xia"/>
            <author fullname="R. Even" initials="R." surname="Even"/>
            <author fullname="R. Huang" initials="R." surname="Huang"/>
            <author fullname="L. Deng" initials="L." surname="Deng"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>Content splicing is a process that replaces the content of a main multimedia stream with other multimedia content and that delivers the substitutive multimedia content to the receivers for a period of time. The splicer is designed to handle RTP splicing and needs to know when to start and end the splicing.</t>
              <t>This memo defines two RTP/RTCP extensions to indicate the splicing-related information to the splicer: an RTP header extension that conveys the information "in band" and an RTP Control Protocol (RTCP) packet that conveys the information out of band.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8286"/>
          <seriesInfo name="DOI" value="10.17487/RFC8286"/>
        </reference>
        <reference anchor="RFC5104">
          <front>
            <title>Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF)</title>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="U. Chandra" initials="U." surname="Chandra"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="B. Burman" initials="B." surname="Burman"/>
            <date month="February" year="2008"/>
            <abstract>
              <t>This document specifies a few extensions to the messages defined in the Audio-Visual Profile with Feedback (AVPF). They are helpful primarily in conversational multimedia scenarios where centralized multipoint functionalities are in use. However, some are also usable in smaller multicast environments and point-to-point calls.</t>
              <t>The extensions discussed are messages related to the ITU-T Rec. H.271 Video Back Channel, Full Intra Request, Temporary Maximum Media Stream Bit Rate, and Temporal-Spatial Trade-off. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5104"/>
          <seriesInfo name="DOI" value="10.17487/RFC5104"/>
        </reference>
        <reference anchor="RFC6051">
          <front>
            <title>Rapid Synchronisation of RTP Flows</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="T. Schierl" initials="T." surname="Schierl"/>
            <date month="November" year="2010"/>
            <abstract>
              <t>This memo outlines how RTP sessions are synchronised, and discusses how rapidly such synchronisation can occur. We show that most RTP sessions can be synchronised immediately, but that the use of video switching multipoint conference units (MCUs) or large source-specific multicast (SSM) groups can greatly increase the synchronisation delay. This increase in delay can be unacceptable to some applications that use layered and/or multi-description codecs.</t>
              <t>This memo introduces three mechanisms to reduce the synchronisation delay for such sessions. First, it updates the RTP Control Protocol (RTCP) timing rules to reduce the initial synchronisation delay for SSM sessions. Second, a new feedback packet is defined for use with the extended RTP profile for RTCP-based feedback (RTP/AVPF), allowing video switching MCUs to rapidly request resynchronisation. Finally, new RTP header extensions are defined to allow rapid synchronisation of late joiners, and guarantee correct timestamp-based decoding order recovery for layered codecs in the presence of clock skew. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6051"/>
          <seriesInfo name="DOI" value="10.17487/RFC6051"/>
        </reference>
        <reference anchor="RFC6285">
          <front>
            <title>Unicast-Based Rapid Acquisition of Multicast RTP Sessions</title>
            <author fullname="B. Ver Steeg" initials="B." surname="Ver Steeg"/>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="T. Van Caenegem" initials="T." surname="Van Caenegem"/>
            <author fullname="Z. Vax" initials="Z." surname="Vax"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>When an RTP receiver joins a multicast session, it may need to acquire and parse certain Reference Information before it can process any data sent in the multicast session. Depending on the join time, length of the Reference Information repetition (or appearance) interval, size of the Reference Information, and the application and transport properties, the time lag before an RTP receiver can usefully consume the multicast data, which we refer to as the Acquisition Delay, varies and can be large. This is an undesirable phenomenon for receivers that frequently switch among different multicast sessions, such as video broadcasts.</t>
              <t>In this document, we describe a method using the existing RTP and RTP Control Protocol (RTCP) machinery that reduces the acquisition delay. In this method, an auxiliary unicast RTP session carrying the Reference Information to the receiver precedes or accompanies the multicast stream. This unicast RTP flow can be transmitted at a faster than natural bitrate to further accelerate the acquisition. The motivating use case for this capability is multicast applications that carry real-time compressed audio and video. However, this method can also be used in other types of multicast applications where the acquisition delay is long enough to be a problem. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6285"/>
          <seriesInfo name="DOI" value="10.17487/RFC6285"/>
        </reference>
        <reference anchor="RFC6642">
          <front>
            <title>RTP Control Protocol (RTCP) Extension for a Third-Party Loss Report</title>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="F. Xia" initials="F." surname="Xia"/>
            <author fullname="R. Even" initials="R." surname="Even"/>
            <date month="June" year="2012"/>
            <abstract>
              <t>In a large RTP session using the RTP Control Protocol (RTCP) feedback mechanism defined in RFC 4585, a feedback target may experience transient overload if some event causes a large number of receivers to send feedback at once. This overload is usually avoided by ensuring that feedback reports are forwarded to all receivers, allowing them to avoid sending duplicate feedback reports. However, there are cases where it is not recommended to forward feedback reports, and this may allow feedback implosion. This memo discusses these cases and defines a new RTCP Third-Party Loss Report that can be used to inform receivers that the feedback target is aware of some loss event, allowing them to suppress feedback. Associated Session Description Protocol (SDP) signaling is also defined. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6642"/>
          <seriesInfo name="DOI" value="10.17487/RFC6642"/>
        </reference>
        <reference anchor="RFC7728">
          <front>
            <title>RTP Stream Pause and Resume</title>
            <author fullname="B. Burman" initials="B." surname="Burman"/>
            <author fullname="A. Akram" initials="A." surname="Akram"/>
            <author fullname="R. Even" initials="R." surname="Even"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="February" year="2016"/>
            <abstract>
              <t>With the increased popularity of real-time multimedia applications, it is desirable to provide good control of resource usage, and users also demand more control over communication sessions. This document describes how a receiver in a multimedia conversation can pause and resume incoming data from a sender by sending real-time feedback messages when using the Real-time Transport Protocol (RTP) for real- time data transport. This document extends the Codec Control Message (CCM) RTP Control Protocol (RTCP) feedback package by explicitly allowing and describing specific use of existing CCMs and adding a group of new real-time feedback messages used to pause and resume RTP data streams. This document updates RFC 5104.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7728"/>
          <seriesInfo name="DOI" value="10.17487/RFC7728"/>
        </reference>
        <reference anchor="I-D.draft-ietf-avtext-lrr-07">
          <front>
            <title>The Layer Refresh Request (LRR) RTCP Feedback Message</title>
            <author fullname="Jonathan Lennox" initials="J." surname="Lennox">
              <organization>Vidyo, Inc.</organization>
            </author>
            <author fullname="Danny Hong" initials="D." surname="Hong">
              <organization>Vidyo, Inc.</organization>
            </author>
            <author fullname="Justin Uberti" initials="J." surname="Uberti">
              <organization>Google, Inc.</organization>
            </author>
            <author fullname="Stefan Holmer" initials="S." surname="Holmer">
              <organization>Google, Inc.</organization>
            </author>
            <author fullname="Magnus Flodman" initials="M." surname="Flodman">
              <organization>Google, Inc.</organization>
            </author>
            <date day="2" month="July" year="2017"/>
            <abstract>
              <t>   This memo describes the RTCP Payload-Specific Feedback Message "Layer
   Refresh Request" (LRR), which can be used to request a state refresh
   of one or more substreams of a layered media stream.  It also defines
   its use with several RTP payloads for scalable media formats.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-avtext-lrr-07"/>
        </reference>
        <reference anchor="RFC5093">
          <front>
            <title>BT's eXtended Network Quality RTP Control Protocol Extended Reports (RTCP XR XNQ)</title>
            <author fullname="G. Hunt" initials="G." surname="Hunt"/>
            <date month="December" year="2007"/>
            <abstract>
              <t>This document describes an RTCP XR report block, which reports packet transport parameters. The report block was developed by BT for pre-standards use in BT's next-generation network. This document has been produced to describe the report block in sufficient detail to register the block type with IANA in accordance with the Specification Required policy of RFC 3611. This specification does not standardise the new report block for use outside BT's network. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5093"/>
          <seriesInfo name="DOI" value="10.17487/RFC5093"/>
        </reference>
        <reference anchor="RFC5725">
          <front>
            <title>Post-Repair Loss RLE Report Block Type for RTP Control Protocol (RTCP) Extended Reports (XRs)</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="D. Hsu" initials="D." surname="Hsu"/>
            <author fullname="M. Lague" initials="M." surname="Lague"/>
            <date month="February" year="2010"/>
            <abstract>
              <t>This document defines a new report block type within the framework of RTP Control Protocol (RTCP) Extended Reports (XRs). One of the initial XR report block types is the Loss Run Length Encoding (RLE) Report Block. This report conveys information regarding the individual Real-time Transport Protocol (RTP) packet receipt and loss events experienced during the RTCP interval preceding the transmission of the report. The new report, which is referred to as the Post-repair Loss RLE report, carries information regarding the packets that remain lost after all loss-repair methods are applied. By comparing the RTP packet receipts/losses before and after the loss repair is completed, one can determine the effectiveness of the loss- repair methods in an aggregated fashion. This document also defines the signaling of the Post-repair Loss RLE report in the Session Description Protocol (SDP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5725"/>
          <seriesInfo name="DOI" value="10.17487/RFC5725"/>
        </reference>
        <reference anchor="RFC6332">
          <front>
            <title>Multicast Acquisition Report Block Type for RTP Control Protocol (RTCP) Extended Reports (XRs)</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="E. Friedrich" initials="E." surname="Friedrich"/>
            <date month="July" year="2011"/>
            <abstract>
              <t>In most RTP-based multicast applications, the RTP source sends inter- related data. Due to this interdependency, randomly joining RTP receivers usually cannot start consuming the multicast data right after they join the session. Thus, they often experience a random acquisition delay. An RTP receiver can use one or more different approaches to achieve rapid acquisition. Yet, due to various factors, performance of the rapid acquisition methods usually varies. Furthermore, in some cases, the RTP receiver can do a simple multicast join (in other cases, it is compelled to do so). For quality reporting, monitoring, and diagnostic purposes, it is important to collect detailed information from the RTP receivers about their acquisition and presentation experiences. This document addresses this issue by defining a new report block type, called the Multicast Acquisition (MA) report block, within the framework of RTP Control Protocol (RTCP) Extended Reports (XRs) (RFC 3611). This document also defines the necessary signaling of the new MA report block type in the Session Description Protocol (SDP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6332"/>
          <seriesInfo name="DOI" value="10.17487/RFC6332"/>
        </reference>
        <reference anchor="RFC6776">
          <front>
            <title>Measurement Identity and Information Reporting Using a Source Description (SDES) Item and an RTCP Extended Report (XR) Block</title>
            <author fullname="A. Clark" initials="A." surname="Clark"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This document defines an RTP Control Protocol (RTCP) Source Description (SDES) item and an RTCP Extended Report (XR) block carrying parameters that identify and describe a measurement period to which one or more other RTCP XR blocks may refer. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6776"/>
          <seriesInfo name="DOI" value="10.17487/RFC6776"/>
        </reference>
        <reference anchor="RFC6798">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for Packet Delay Variation Metric Reporting</title>
            <author fullname="A. Clark" initials="A." surname="Clark"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="November" year="2012"/>
            <abstract>
              <t>This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of packet delay variation metrics for a range of RTP applications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6798"/>
          <seriesInfo name="DOI" value="10.17487/RFC6798"/>
        </reference>
        <reference anchor="RFC6843">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for Delay Metric Reporting</title>
            <author fullname="A. Clark" initials="A." surname="Clark"/>
            <author fullname="K. Gross" initials="K." surname="Gross"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of delay metrics for use in a range of Real-time Transport Protocol (RTP) applications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6843"/>
          <seriesInfo name="DOI" value="10.17487/RFC6843"/>
        </reference>
        <reference anchor="RFC7004">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Summary Statistics Metrics Reporting</title>
            <author fullname="G. Zorn" initials="G." surname="Zorn"/>
            <author fullname="R. Schott" initials="R." surname="Schott"/>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="R. Huang" initials="R." surname="Huang"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document defines three RTP Control Protocol (RTCP) Extended Report (XR) blocks that allow the reporting of loss, duplication, and discard summary statistics metrics in a range of RTP applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7004"/>
          <seriesInfo name="DOI" value="10.17487/RFC7004"/>
        </reference>
        <reference anchor="RFC6958">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for Burst/Gap Loss Metric Reporting</title>
            <author fullname="A. Clark" initials="A." surname="Clark"/>
            <author fullname="S. Zhang" initials="S." surname="Zhang"/>
            <author fullname="J. Zhao" initials="J." surname="Zhao"/>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <date month="May" year="2013"/>
            <abstract>
              <t>This document defines an RTP Control Protocol (RTCP) Extended Report (XR) Block that allows the reporting of burst and gap loss metrics for use in a range of RTP applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6958"/>
          <seriesInfo name="DOI" value="10.17487/RFC6958"/>
        </reference>
        <reference anchor="RFC7003">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for Burst/Gap Discard Metric Reporting</title>
            <author fullname="A. Clark" initials="A." surname="Clark"/>
            <author fullname="R. Huang" initials="R." surname="Huang"/>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of burst and gap discard metrics for use in a range of RTP applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7003"/>
          <seriesInfo name="DOI" value="10.17487/RFC7003"/>
        </reference>
        <reference anchor="RFC6990">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for MPEG-2 Transport Stream (TS) Program Specific Information (PSI) Independent Decodability Statistics Metrics Reporting</title>
            <author fullname="R. Huang" initials="R." surname="Huang"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="H. Asaeda" initials="H." surname="Asaeda"/>
            <author fullname="G. Zorn" initials="G." surname="Zorn"/>
            <date month="August" year="2013"/>
            <abstract>
              <t>An MPEG-2 Transport Stream (TS) is a standard container format used in the transmission and storage of multimedia data. Unicast/ multicast MPEG-2 TS over RTP is widely deployed in IPTV systems. This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of MPEG-2 TS decodability statistics metrics related to transmissions of MPEG-2 TS over RTP. The metrics specified in the RTCP XR block are not dependent on Program Specific Information (PSI) carried in MPEG-2 TS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6990"/>
          <seriesInfo name="DOI" value="10.17487/RFC6990"/>
        </reference>
        <reference anchor="RFC7005">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for De-Jitter Buffer Metric Reporting</title>
            <author fullname="A. Clark" initials="A." surname="Clark"/>
            <author fullname="V. Singh" initials="V." surname="Singh"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of de-jitter buffer metrics for a range of RTP applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7005"/>
          <seriesInfo name="DOI" value="10.17487/RFC7005"/>
        </reference>
        <reference anchor="RFC7002">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for Discard Count Metric Reporting</title>
            <author fullname="A. Clark" initials="A." surname="Clark"/>
            <author fullname="G. Zorn" initials="G." surname="Zorn"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of a simple discard count metric for use in a range of RTP applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7002"/>
          <seriesInfo name="DOI" value="10.17487/RFC7002"/>
        </reference>
        <reference anchor="RFC7097">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) for RLE of Discarded Packets</title>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="V. Singh" initials="V." role="editor" surname="Singh"/>
            <author fullname="I. Curcio" initials="I." surname="Curcio"/>
            <date month="January" year="2014"/>
            <abstract>
              <t>The RTP Control Protocol (RTCP) is used in conjunction with the Real- time Transport Protocol (RTP) in order to provide a variety of short- term and long-term reception statistics. The available reporting may include aggregate information across longer periods of time as well as individual packet reporting. This document specifies a per-packet report metric capturing individual packets discarded from the de- jitter buffer after successful reception.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7097"/>
          <seriesInfo name="DOI" value="10.17487/RFC7097"/>
        </reference>
        <reference anchor="RFC7243">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for the Bytes Discarded Metric</title>
            <author fullname="V. Singh" initials="V." role="editor" surname="Singh"/>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="I. Curcio" initials="I." surname="Curcio"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>The RTP Control Protocol (RTCP) is used in conjunction with the Real-time Transport Protocol (RTP) to provide a variety of short-term and long-term reception statistics. The available reporting may include aggregate information across longer periods of time as well as individual packet reporting. This document specifies a report computing the bytes discarded from the de-jitter buffer after successful reception.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7243"/>
          <seriesInfo name="DOI" value="10.17487/RFC7243"/>
        </reference>
        <reference anchor="RFC7244">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Synchronization Delay and Offset Metrics Reporting</title>
            <author fullname="H. Asaeda" initials="H." surname="Asaeda"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="R. Huang" initials="R." surname="Huang"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>This document defines two RTP Control Protocol (RTCP) Extended Report (XR) blocks that allow the reporting of initial synchronization delay and synchronization offset metrics for use in a range of RTP applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7244"/>
          <seriesInfo name="DOI" value="10.17487/RFC7244"/>
        </reference>
        <reference anchor="RFC7266">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Mean Opinion Score (MOS) Metric Reporting</title>
            <author fullname="A. Clark" initials="A." surname="Clark"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="R. Schott" initials="R." surname="Schott"/>
            <author fullname="G. Zorn" initials="G." surname="Zorn"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>This document defines an RTP Control Protocol (RTCP) Extended Report (XR) Block including two new segment types and associated Session Description Protocol (SDP) parameters that allow the reporting of mean opinion score (MOS) Metrics for use in a range of RTP applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7266"/>
          <seriesInfo name="DOI" value="10.17487/RFC7266"/>
        </reference>
        <reference anchor="RFC7294">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Concealment Metrics Reporting on Audio Applications</title>
            <author fullname="A. Clark" initials="A." surname="Clark"/>
            <author fullname="G. Zorn" initials="G." surname="Zorn"/>
            <author fullname="C. Bi" initials="C." surname="Bi"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document defines two RTP Control Protocol (RTCP) Extended Report (XR) blocks that allow the reporting of concealment metrics for audio applications of RTP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7294"/>
          <seriesInfo name="DOI" value="10.17487/RFC7294"/>
        </reference>
        <reference anchor="RFC7380">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for MPEG2 Transport Stream (TS) Program Specific Information (PSI) Decodability Statistics Metrics Reporting</title>
            <author fullname="J. Tong" initials="J." surname="Tong"/>
            <author fullname="C. Bi" initials="C." role="editor" surname="Bi"/>
            <author fullname="R. Even" initials="R." surname="Even"/>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="R. Huang" initials="R." surname="Huang"/>
            <date month="November" year="2014"/>
            <abstract>
              <t>An MPEG2 Transport Stream (TS) is a standard container format used in the transmission and storage of multimedia data. Unicast/multicast MPEG2 TS over RTP is widely deployed in IPTV systems. This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of MPEG2 TS decodability statistics metrics related to transmissions of MPEG2 TS over RTP. The metrics specified in the RTCP XR block are related to Program Specific Information (PSI) carried in MPEG TS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7380"/>
          <seriesInfo name="DOI" value="10.17487/RFC7380"/>
        </reference>
        <reference anchor="RFC7509">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) for Post-Repair Loss Count Metrics</title>
            <author fullname="R. Huang" initials="R." surname="Huang"/>
            <author fullname="V. Singh" initials="V." surname="Singh"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows reporting of a post-repair loss count metric for a range of RTP applications. In addition, another metric, repaired loss count, is also introduced in this report block for calculating the pre-repair loss count when needed, so that the RTP sender or a third-party entity is able to evaluate the effectiveness of the repair methods used by the system.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7509"/>
          <seriesInfo name="DOI" value="10.17487/RFC7509"/>
        </reference>
        <reference anchor="RFC7867">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for Loss Concealment Metrics for Video Applications</title>
            <author fullname="R. Huang" initials="R." surname="Huang"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document defines a new RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of loss concealment metrics for video applications of RTP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7867"/>
          <seriesInfo name="DOI" value="10.17487/RFC7867"/>
        </reference>
        <reference anchor="RFC8015">
          <front>
            <title>RTP Control Protocol (RTCP) Extended Report (XR) Block for Independent Reporting of Burst/Gap Discard Metrics</title>
            <author fullname="V. Singh" initials="V." surname="Singh"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="A. Clark" initials="A." surname="Clark"/>
            <author fullname="R. Huang" initials="R." surname="Huang"/>
            <date month="November" year="2016"/>
            <abstract>
              <t>This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of burst/gap discard metrics independently of the burst/gap loss metrics for use in a range of RTP applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8015"/>
          <seriesInfo name="DOI" value="10.17487/RFC8015"/>
        </reference>
        <reference anchor="I-D.draft-hurst-quic-rtp-tunnelling">
          <front>
            <title>QRT: QUIC RTP Tunnelling</title>
            <author fullname="Sam Hurst" initials="S." surname="Hurst">
         </author>
            <date day="28" month="January" year="2021"/>
            <abstract>
              <t>   QUIC is a UDP-based transport protocol for stream-orientated,
   congestion-controlled, secure, multiplexed data transfer.  RTP
   carries real-time data between endpoints, and the accompanying
   control protocol RTCP allows monitoring and control of the transfer
   of such data.  With RTP and RTCP being agnostic to the underlying
   transport protocol, it is possible to multiplex both the RTP and
   associated RTCP flows into a single QUIC connection to take advantage
   of QUIC features such as low-latency setup and strong TLS-based
   security.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hurst-quic-rtp-tunnelling-01"/>
        </reference>
      </references>
    </references>
    <?line 1217?>

<section anchor="experimental-results">
      <name>Experimental Results</name>
      <t>An experimental implementation of the mapping described in this document can be
found on <eref target="https://github.com/mengelbart/rtp-over-quic">Github</eref>. The application
implements the RoQ Datagrams mapping and implements SCReAM congestion
control at the application layer. It can optionally disable the builtin QUIC
congestion control (NewReno). The endpoints only use RTCP for congestion control
feedback, which can optionally be disabled and replaced by the QUIC connection
statistics as described in <xref target="transport-layer-feedback"/>.</t>
      <t>Experimental results of the implementation can be found on
<eref target="https://github.com/mengelbart/rtp-over-quic-mininet">Github</eref>, too.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Early versions of this document were similar in spirit to
<xref target="I-D.draft-hurst-quic-rtp-tunnelling"/>, although many details differ. The
authors would like to thank Sam Hurst for providing his thoughts about how QUIC
could be used to carry RTP.</t>
      <t>The authors would like to thank Bernard Aboba, David Schinazi, Lucas Pardue,
Sergio Garcia Murillo,  Spencer Dawkins, and Vidhi Goel for their valuable
comments and suggestions contributing to this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA82963LbWJYu+B9PgZF/lKQgaUu25UufyjqyLGep2pJVorKy
Ono6OkESklAmCTYAWslyuh/rvMC82KxvXfYFAGVnZk/EVEQ5JYrY2Je11319
azgcJk3RzPPX6c7V9WVafsqr9K8/nJ3sJLNyuswW9IdZld00wyJvbobZp2Za
VvmwalZDfHX4X+tiOnzyNJlmTX5bVpvXad3Mkhn99jr9/Pb4+vRLkhSr6nXa
VOu6OXzy5NWTwySr8ozed7xazQt6sCiXdZotZ+lVns2H18Ui30nuy+rjbVWu
V/jeelaUj/9WzPIyva6yZb0qqyY9oXmk51mxbPJltpzSMx/zDT02e52e0WfV
Mm+GbzHzJKkbGv0/s3m5pFlt8jpZFa/Tf2/K6SCtaagqv6npp80CP/xHUq8n
i6KuaVbNZkUPnJ1ev0uSbN3cldXrJB0mKf2vWNav07+M0g9Nw7/LTv3l//k/
1a37rKxus2XxT17g6/Q6n94tabnz9IdlQVtXF80mPV/TR3f87XyRFfPXadk0
/7tYjpr1YjTLo7edj9LT5W0+n2RV+M7zrLkr6tafftOrFzzSKLeR/vctPh9N
ywWd4fKmrOgL9PjrhB56+v3l5fB6PDw8Gh0cPHvNwzRZdZs3r9Pdu6ZZ1a8f
P8Y5ZfPR09vVakQzejzL649NuVqUs/U8rx+PV/m0uDEKeFyHv57N/njw7Mmz
PRlYCfTskmY9b4hAZkWWjteTelM3+SLdPTsf7/1L+Lcmn+eru3K5oU/5gzui
gHmxvGU6A81U2RTv2eEXCL0ePjl8OnxyMHzyPEmGw2GaTeoGX0uSa+ww3Yf1
Il82qU40J6JNF8WyWNDGLrLVCsPTLqX5cpqt6vWcFkKfMFFjXp52k8uqJOor
5+ku3bk9oX26fCdEchV9Gv75hP6+yqYf86ZO7ws6oGXa3OV8RdOVfm+UnDVp
Nq/LdFbU03Vd09Tuyvu0KdN5Tued3eZ0LWmN6U1VLvzzxWI1z7Ek3vJUhk7y
5WxV0hbRnaBP6EIRR6CRqny2nub88DLPZ/go/3lK+0qDY5pulliNvD1xL0in
JX2v5tdMdZX4XoVJZbNspVPACst1Qy+bb7B59BHGTm7ojRMafyQnsyhms3me
JI9w1SsiJz7L/8/P6fPn/+vq3cnT58+ffPny1UOLvqx7k2w7wXRXvv7qyRP6
+t4o/cYDTb7hQNNvPtCk90AHwYmm33SiyddPNHUnml7TBOxYiENMq2KSz2Tu
RZ2406STJQ42z2XXnZyi7S7/ukd08ehR+obGg9CgaXx+NHG/fAFh5H0HnD50
wPTC23xJmz2fb9J1LSQ/zapqk1RuKGE3oCbaBLBWXjUIjf9ABwdBAvGynt6l
WZ1+YjFGX77JKyLAvB4k2bQq65oPwiTXKE3HBf2V11rlJGUrIgH/2lk+ByPf
CDujZ8s5TZR2iQ5Rji2dlyCbAQ87y28yYo4pbUZeyTk0bg8cDd7R9CZ5vkx/
eHs5oJdNadvnG6bZ9O31+zHOjtg3tqHOp+tKaEcW6igHEyqn06zmbaCdw2Hv
4tMVTaiY0IA01B62gvaNvqHXmq9uJAIcMYClpJlXFugwcAHKGyWAz5//hKvz
9MlLXJ3kGCNPspq2aJnL+lvjljTksmxo0vR5ky5KXgpekrKqkFWzvvuU0Jxp
J2lUJk8hlpevXr368mWQhvc3+O0Av2H17pND+iShPSdCYHlke0m3dNiUQ/pP
cDY0K6Z85gUyXaFD6EfpfT6f01eIyG/v0ovja+G9N0Qr97Sx9Sh5k29KjIe9
9TviySgLNbApbcCECP6maERO8BbkP5N+xTTsSHi9pMtcZJO5ch2SntltlS3q
RBd5eMjLvr8jBSOVpeIQZ7NCLwf9WlQ8AP11lVcNmDRdouBi0R7c0Imlu/no
djSg46LXLokk6zojsq9y3iPV08CiPpWyn3d5NhuWN0MsNZnMy+lH+hT84ZxO
GVxjwCyJZ/6HOl1AZ6BD/hnPkjjIJsW8wHSwTbpIbKpfc+JPh24xTUn1V3pC
p0qcjQ4JPOHHfELMbqBbmxK7pBGK+o7+zJMol3QdiALo5dgLjMmMhg49p7/n
kFEzEDqI2L9NuN2PRBu0AqLE8ZQ2kV/IJx3pVcQJi+Wwxje+tAWkEDOLx0As
guWIcDuJ+CyPbV8kzkzTy0m9pr+T3pxXlRAm0QcMCbEO2JDYkwvgb/N9tqlj
AZRkC2LUDVbKb7XDn2xM3uGdosI4TZTWRhOYFcRjsk+kqPJZiYClPRXiVckH
IRMuXESrm9CsuGFuTBNYyWliH9zlp3cn36i/8P6Vf+3nZzf0ekhy+rH3/jtt
hL7AO+FEcMJnG1C8PxeRn441CGukV9/jePAlDEO/xwJMmLYX8PN5eY/ZCNej
+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
r3ZOy5P7/wJ4v/Qc7gcBAA==

-->

</rfc>
