<?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.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-avtcore-rtp-over-quic-05" 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 (RoQ)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-over-quic-05"/>
    <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>
    <author initials="S." surname="Dawkins" fullname="Spencer Dawkins">
      <organization>Tencent America LLC</organization>
      <address>
        <email>spencerdawkins.ietf@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 40?>

<t>This document specifies a minimal mapping for encapsulating Real-time Transport
Protocol (RTP) and RTP Control Protocol (RTCP) packets within the QUIC protocol.
This mapping is called RTP over QUIC (RoQ).
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 50?>

<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"/>).
This mapping is called RTP over QUIC (RoQ).
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>
      <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>
      </section>
      <section anchor="motivations">
        <name>Motivations</name>
        <t>From time to time, someone asks the reasonable question, "why should anyone implement and deploy RoQ"? This reasonable question deserves a better answer than "because we can". Upon reflection, the following motivations seem useful to state.</t>
        <t>The motivations in this section are in no particular order, and this reflects the reality that not all implementers and deployers would agree on "the most important motivations".</t>
        <section anchor="alwas-on">
          <name>"Always-On" Transport-level Authentication and Encryption</name>
          <t>Although application-level mechanisms to encrypt RTP and RTCP payloads have existed since the introduction of Secure Real-time Transport Protocol (SRTP) <xref target="RFC3711"/>, encryption of RTP and RTCP header fields and contributing sources has only been defined recently (in Cryptex <xref target="RFC9335"/>, and both SRTP and Cryptex are optional capabilities for RTP.</t>
          <t>This is in sharp contrast to "always-on" transport-level encryption in the QUIC protocol, using Transport Layer Security (TLS 1.3) as described in <xref target="RFC9001"/>. QUIC implementations always authenticate the entirety of each packet, and encrypt as much of each packet as is practical, even switching from "long headers", which expose more QUIC header fields needed to establish a connection, to "short headers", which only expose the absolute minimum QUIC header fields needed to identify the connection to the receiver, so that the QUIC payload is presented to the right QUIC application <xref target="RFC8999"/>.</t>
        </section>
        <section anchor="always-on-internet-safe-congestion-avoidance">
          <name>"Always-On" Internet-Safe Congestion Avoidance</name>
          <t>When RTP is carried directly over UDP, as is commonly done, the underlying UDP protocol provides no transport services beyond path multiplexing using UDP ports. All congestion avoidance behavior is up to the RTP application itself, and if anything goes wrong with the application resulting in an RTP sender failing to recognize that it is contributing to path congestion, the "worst case" response is to invoke RTP "circuit breaker" procedures <xref target="RFC8083"/>, resulting in "ceasing transmission", as described in <xref section="4.5" sectionFormat="of" target="RFC8083"/>. Because RTCP-based circuit breakers only detect long-lived congestion, a response based on these mechanisms will not happen quickly.</t>
          <t>In contrast, when RTP is carried over QUIC, QUIC implementations maintain their own estimates of key transport parameters needed to detect and respond to possible congestion, and these are independent of any measurements RTP senders and receivers are maintaining. The result is that even if an RTP sender continues to "send", QUIC congestion avoidance procedures (for example, the procedures defined in <xref target="RFC9002"/>) will cause the RTP packets to be buffered and only placed on the network path as part of a response to detected loss. This happens without any action being requied on the part of RTP senders.</t>
          <t>While the effect of QUIC's response to congestion means that some RTP packets will arrive at the receiver later than a user of the RTP flow might prefer, it is still preferable to "ceasing transmission" completely until the RTP sender has a reason to believe that restarting the flow will not result in congestion.</t>
          <t>Moreover, when a single QUIC connection is used to multiplex both RTP-RTCP and non-RTP packets as described in <xref target="single-path"/>, the QUIC connection will still be Internet-safe, with no coordination required.</t>
        </section>
        <section anchor="ra-quic-feedback">
          <name>Rate Adaptation Based on QUIC Feedback</name>
          <t>RTP makes use of a large number of RTP-specific feedback mechanisms because when RTP is carried directly over UDP, there is no other way to receive feedback. Some of these mechanisms are specific to the type of media RTP is sending, but others can be mapped from underlying QUIC implementations that are using this feedback to perform rate adaptation for any QUIC connection, regardless of the application reflected in the QUIC STREAM <xref target="RFC9000"/> and DATAGRAM <xref target="RFC9221"/> frames. This is described in (much) more detail in <xref target="congestion-control"/> on rate adaptation, and in <xref target="rtcp-mapping"/> on replacing RTCP and RTP header extensions with QUIC feedback.</t>
          <t>One word of caution is in order - RTP implementations may rely on at least some minimal periodic RTCP feedback, in order to determine that an RTP flow is still active, and is not causing sustained congestion (as described in <xref target="RFC8083"/>, but since this "periodicity" is measured in seconds, the impact of this "duplicate" feedback on path bandwidth utilization is likely close to zero.</t>
        </section>
        <section anchor="mtu-coal">
          <name>Path MTU Discovery and RTP Media Coalescence</name>
          <t>The minimum Path MTU supported by conformant QUIC implementations is 1200 bytes <xref target="RFC9000"/>, and in addition, QUIC implementations allow senders to use either DPLPMTUD (<xref target="RFC8899"/>) or PMTUD (<xref target="RFC1191"/>, <xref target="RFC8201"/>) to determine the actual MTU size that the receiver and path between sender and receiver support, which can be even larger.</t>
          <t>This is especially useful in certain conferencing topologies, where otherwise senders have no choice but to use the lowest path MTU for all conference participants, but even in point-to-point RTP sessions, this also allows senders to piggyback audio media in the same UDP packet as video media, for example, and also allows QUIC receivers to piggyback QUIC ACK frames on any QUIC frames being transmitted in the other direction.</t>
        </section>
        <section anchor="single-path">
          <name>Multiplexing RTP, RTCP, and Non-RTP Flows on a Single QUIC Connection</name>
          <t>In order to conserve ports, especially at NATs and Firewalls, this specification defines a flow identifier, so that multiple RTP flows, RTCP flows, and non-RTP flows can be distinguished even if they are carried on the same QUIC connection. This is described in more detail in <xref target="multiplexing"/>.</t>
        </section>
        <section anchor="multiple-paths">
          <name>Exploiting Multiple Connections</name>
          <t>Although there is much interest in multiplexing flows on a single QUIC connection as described in <xref target="single-path"/>, QUIC also provides the capability of establishing and validating multiple paths for a single QUIC connection <xref target="RFC9000"/>. Once multiple paths have been validated, a sender can migrate from one path to another with no additional signaling, allowing an endpoint to move from one endpoint address to another without interruption, as long as only a single path is in active use at any point in time.</t>
          <t>Connection migration may be desireable for a number of reasons, but to give one example, this allows a sender to distinguish between more costly cellular paths and less costly WiFi paths, with no action required from the application.</t>
        </section>
        <section anchor="new-quic">
          <name>Exploiting New QUIC Capabilities</name>
          <t>In addition to connection migration as described in <xref target="multiple-paths"/>, the capability of validating multiple paths for simultaneous active use is under active development in the IETF <xref target="I-D.draft-ietf-quic-multipath"/>. We don't discuss Multipath QUIC further in this document, because the specification hasn't been approved yet, but it's one example of ways that RTP, a mature protocol, can exploit new transport capabilities as they become available.</t>
        </section>
      </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, called RoQ, 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 RoQ 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). RoQ is not intended as a stand-alone media transport,
although QUIC transport parameters could be statically configured.</t>
        <t>The above implies that RoQ 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 RoQ
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 RoQ protocol operation.</t>
        <t>RoQ 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 RoQ 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, RoQ 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>RoQ 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>RoQ 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>RoQ 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 RoQ.</t>
        <t>This document does not cover signaling for session setup. SDP for RoQ
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 RoQ 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 for the last open stream
available to send RTP/RTCP-data, the RoQ sender MUST open one or more new QUIC
streams before sending 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.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t><strong>Editor's note:</strong> Instead of using RESET_STREAM and STOP_SENDING frames,
RoQ senders and receivers might benefit from negotiating the use of the QUIC
extensions defined in <xref target="I-D.draft-ietf-quic-reliable-stream-reset-01"/> and
<xref target="I-D.draft-thomson-quic-enough-00"/>. These extensions provide two new frame
types, the CLOSE_STREAM and the ENOUGH frame, equivalent to RESET_STREAM and
STOP_SENDING, respectively, but with an additional offset. The offset
indicates the point to which data will be reliably retransmitted, while
everything following might be dropped. Using CLOSE_STREAM and ENOUGH instead
of RESET_STREAM and STOP_SENDING could prevent accidentally stopping
retransmissions for preceding frames.</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>
            <tr>
              <td align="left">TSRR</td>
              <td align="left">Temporal-Spatial Resolution Request</td>
              <td align="left">
                <xref target="I-D.draft-ietf-avtcore-rtcp-green-metadata"/></td>
            </tr>
            <tr>
              <td align="left">TSRN</td>
              <td align="left">Temporal-Spatial Resolution Notification</td>
              <td align="left">
                <xref target="I-D.draft-ietf-avtcore-rtcp-green-metadata"/></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>
        <t>Like the payload-specific feedback packets, QUIC cannot directly replace the
control information in the following header extensions. RoQ does not place
restrictions on sending any RTP header extensions. However, some extensions,
such as Transmission Time offsets <xref target="RFC5450"/> are used to improve network
jitter calculation, which can be done in QUIC if a timestamp extension is used.</t>
        <section anchor="compact-header-extensions">
          <name>Compact Header Extensions</name>
          <table>
            <thead>
              <tr>
                <th align="left">Extension URI</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
                <th align="left">QUIC</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:toffset</td>
                <td align="left">Transmission Time offsets</td>
                <td align="left">
                  <xref target="RFC5450"/></td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:ssrc-audio-level</td>
                <td align="left">Audio Level</td>
                <td align="left">[RFC6464]</td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:splicing-interval</td>
                <td align="left">Splicing Interval</td>
                <td align="left">
                  <xref target="RFC8286"/></td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:smpte-tc</td>
                <td align="left">SMPTE time-code mapping</td>
                <td align="left">
                  <xref target="RFC5484"/></td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:sdes</td>
                <td align="left">Reserved as base URN for RTCP SDES items that are also defined as RTP compact header extensions.</td>
                <td align="left">[RFC7941]</td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:ntp-64</td>
                <td align="left">Synchronisation metadata: 64-bit timestamp format</td>
                <td align="left">
                  <xref target="RFC6051"/></td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:ntp-56</td>
                <td align="left">Synchronisation metadata: 56-bit timestamp format</td>
                <td align="left">
                  <xref target="RFC6051"/></td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:encrypt</td>
                <td align="left">Encrypted extension header element</td>
                <td align="left">[RFC6904]</td>
                <td align="left">no, but maybe irrelevant?</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:csrc-audio-level</td>
                <td align="left">Mixer-to-client audio level indicators</td>
                <td align="left">[RFC6465]</td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:3gpp:video-orientation:6</td>
                <td align="left">Higher granularity (6-bit) coordination of video orientation (CVO) feature, see clause 6.2.3</td>
                <td align="left">[3GPP TS 26.114, version 12.5.0]</td>
                <td align="left">probably not(?)</td>
              </tr>
              <tr>
                <td align="left">urn:3gpp:video-orientation</td>
                <td align="left">Coordination of video orientation (CVO) feature, see clause 6.2.3</td>
                <td align="left">[3GPP TS 26.114, version 12.5.0]</td>
                <td align="left">probably not(?)</td>
              </tr>
              <tr>
                <td align="left">urn:3gpp:roi-sent</td>
                <td align="left">Signalling of the arbitrary region-of-interest (ROI) information for the sent video, see clause 6.2.3.4</td>
                <td align="left">[3GPP TS 26.114, version 13.1.0]</td>
                <td align="left">probably not(?)</td>
              </tr>
              <tr>
                <td align="left">urn:3gpp:predefined-roi-sent</td>
                <td align="left">Signalling of the predefined region-of-interest (ROI) information for the sent video, see clause 6.2.3.4</td>
                <td align="left">[3GPP TS 26.114, version 13.1.0]</td>
                <td align="left">probably not(?)</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="sdes-compact-header-extensions">
          <name>SDES Compact Header Extensions</name>
          <table>
            <thead>
              <tr>
                <th align="left">Extension URI</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
                <th align="left">QUIC</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:sdes:cname</td>
                <td align="left">Source Description: Canonical End-Point Identifier (SDES CNAME)</td>
                <td align="left">[RFC7941]</td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id</td>
                <td align="left">RTP Stream Identifier</td>
                <td align="left">[RFC8852]</td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id</td>
                <td align="left">RTP Repaired Stream Identifier</td>
                <td align="left">[RFC8852]</td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:sdes:CaptId</td>
                <td align="left">CLUE CaptId</td>
                <td align="left">[RFC8849]</td>
                <td align="left">no</td>
              </tr>
              <tr>
                <td align="left">urn:ietf:params:rtp-hdrext:sdes:mid</td>
                <td align="left">Media identification</td>
                <td align="left">[RFC9143]</td>
                <td align="left">no</td>
              </tr>
            </tbody>
          </table>
        </section>
      </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 RoQ 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 RoQ and non-RoQ paths
MUST forward RTP packets on non-RoQ paths using a secure AVP profile
(<xref target="RFC3711"/>, <xref target="RFC4585"/>, or another AVP profile providing equivalent
RTP-level security), whether or not RoQ 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="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="RFC9335">
          <front>
            <title>Completely Encrypting RTP Header Extensions and Contributing Sources</title>
            <author fullname="J. Uberti" initials="J." surname="Uberti"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <author fullname="S. Murillo" initials="S." surname="Murillo"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>While the Secure Real-time Transport Protocol (SRTP) provides confidentiality for the contents of a media packet, a significant amount of metadata is left unprotected, including RTP header extensions and contributing sources (CSRCs). However, this data can be moderately sensitive in many applications. While there have been previous attempts to protect this data, they have had limited deployment, due to complexity as well as technical limitations.</t>
              <t>This document updates RFC 3711, the SRTP specification, and defines Cryptex as a new mechanism that completely encrypts header extensions and CSRCs and uses simpler Session Description Protocol (SDP) signaling with the goal of facilitating deployment.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9335"/>
          <seriesInfo name="DOI" value="10.17487/RFC9335"/>
        </reference>
        <reference anchor="RFC8083">
          <front>
            <title>Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="V. Singh" initials="V." surname="Singh"/>
            <date month="March" year="2017"/>
            <abstract>
              <t>The Real-time Transport Protocol (RTP) is widely used in telephony, video conferencing, and telepresence applications. Such applications are often run on best-effort UDP/IP networks. If congestion control is not implemented in these applications, then network congestion can lead to uncontrolled packet loss and a resulting deterioration of the user's multimedia experience. The congestion control algorithm acts as a safety measure by stopping RTP flows from using excessive resources and protecting the network from overload. At the time of this writing, however, while there are several proprietary solutions, there is no standard algorithm for congestion control of interactive RTP flows.</t>
              <t>This document does not propose a congestion control algorithm. It instead defines a minimal set of RTP circuit breakers: conditions under which an RTP sender needs to stop transmitting media data to protect the network from excessive congestion. It is expected that, in the absence of long-lived excessive congestion, RTP applications running on best-effort IP networks will be able to operate without triggering these circuit breakers. To avoid triggering the RTP circuit breaker, any Standards Track congestion control algorithms defined for RTP will need to operate within the envelope set by these RTP circuit breaker algorithms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8083"/>
          <seriesInfo name="DOI" value="10.17487/RFC8083"/>
        </reference>
        <reference anchor="RFC8899">
          <front>
            <title>Packetization Layer Path MTU Discovery for Datagram Transports</title>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <author fullname="T. Jones" initials="T." surname="Jones"/>
            <author fullname="M. Tüxen" initials="M." surname="Tüxen"/>
            <author fullname="I. Rüngeler" initials="I." surname="Rüngeler"/>
            <author fullname="T. Völker" initials="T." surname="Völker"/>
            <date month="September" year="2020"/>
            <abstract>
              <t>This document specifies Datagram Packetization Layer Path MTU Discovery (DPLPMTUD). This is a robust method for Path MTU Discovery (PMTUD) for datagram Packetization Layers (PLs). It allows a PL, or a datagram application that uses a PL, to discover whether a network path can support the current size of datagram. This can be used to detect and reduce the message size when a sender encounters a packet black hole. It can also probe a network path to discover whether the maximum packet size can be increased. This provides functionality for datagram transports that is equivalent to the PLPMTUD specification for TCP, specified in RFC 4821, which it updates. It also updates the UDP Usage Guidelines to refer to this method for use with UDP datagrams and updates SCTP.</t>
              <t>The document provides implementation notes for incorporating Datagram PMTUD into IETF datagram transports or applications that use datagram transports.</t>
              <t>This specification updates RFC 4960, RFC 4821, RFC 6951, RFC 8085, and RFC 8261.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8899"/>
          <seriesInfo name="DOI" value="10.17487/RFC8899"/>
        </reference>
        <reference anchor="RFC1191">
          <front>
            <title>Path MTU discovery</title>
            <author fullname="J. Mogul" initials="J." surname="Mogul"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <date month="November" year="1990"/>
            <abstract>
              <t>This memo describes a technique for dynamically discovering the maximum transmission unit (MTU) of an arbitrary internet path. It specifies a small change to the way routers generate one type of ICMP message. For a path that passes through a router that has not been so changed, this technique might not discover the correct Path MTU, but it will always choose a Path MTU as accurate as, and in many cases more accurate than, the Path MTU that would be chosen by current practice. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1191"/>
          <seriesInfo name="DOI" value="10.17487/RFC1191"/>
        </reference>
        <reference anchor="RFC8201">
          <front>
            <title>Path MTU Discovery for IP version 6</title>
            <author fullname="J. McCann" initials="J." surname="McCann"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="J. Mogul" initials="J." surname="Mogul"/>
            <author fullname="R. Hinden" initials="R." role="editor" surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document describes Path MTU Discovery (PMTUD) for IP version 6. It is largely derived from RFC 1191, which describes Path MTU Discovery for IP version 4. It obsoletes RFC 1981.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="87"/>
          <seriesInfo name="RFC" value="8201"/>
          <seriesInfo name="DOI" value="10.17487/RFC8201"/>
        </reference>
        <reference anchor="I-D.draft-ietf-quic-multipath">
          <front>
            <title>Multipath Extension for QUIC</title>
            <author fullname="Yanmei Liu" initials="Y." surname="Liu">
              <organization>Alibaba Inc.</organization>
            </author>
            <author fullname="Yunfei Ma" initials="Y." surname="Ma">
              <organization>Alibaba Inc.</organization>
            </author>
            <author fullname="Quentin De Coninck" initials="Q." surname="De Coninck">
              <organization>UCLouvain</organization>
            </author>
            <author fullname="Olivier Bonaventure" initials="O." surname="Bonaventure">
              <organization>UCLouvain and Tessares</organization>
            </author>
            <author fullname="Christian Huitema" initials="C." surname="Huitema">
              <organization>Private Octopus Inc.</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 specifies a multipath extension for the QUIC protocol
   to enable the simultaneous usage of multiple paths for a single
   connection.

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/mirjak/draft-lmbdhk-quic-multipath.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-multipath-05"/>
        </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="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="24" month="July" 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-09"/>
        </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-ietf-quic-reliable-stream-reset-01">
          <front>
            <title>Reliable QUIC Stream Resets</title>
            <author fullname="Marten Seemann" initials="M." surname="Seemann">
              <organization>Protocol Labs</organization>
            </author>
            <author fullname="Kazuho Oku" initials="K." surname="Oku">
              <organization>Fastly</organization>
            </author>
            <date day="3" month="July" year="2023"/>
            <abstract>
              <t>   QUIC ([RFC9000]) defines a RESET_STREAM frame to reset a stream.
   When a sender resets a stream, it stops retransmitting STREAM frames
   for this stream.  On the receiver side, there is no guarantee that
   any of the data sent on that stream is delivered to the application.
   This document defines a new QUIC frame, the CLOSE_STREAM frame, that
   allows closing and resetting of a stream, while guaranteeing reliable
   delivery of stream data up to a certain byte offset.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-reliable-stream-reset-01"/>
        </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="I-D.draft-ietf-avtcore-rtcp-green-metadata">
          <front>
            <title>RTP Control Protocol (RTCP) Messages for Temporal-Spatial Resolution</title>
            <author fullname="Yong He" initials="Y." surname="He">
              <organization>Qualcomm</organization>
            </author>
            <author fullname="Christian Herglotz" initials="C." surname="Herglotz">
              <organization>FAU</organization>
            </author>
            <author fullname="Edouard Francois" initials="E." surname="Francois">
              <organization>InterDigital</organization>
            </author>
            <date day="13" month="April" year="2023"/>
            <abstract>
              <t>   This specification describes an RTCP feedback message format for the
   ISO/IEC International Standard 23001-11, known as Energy Efficient
   Media Consumption (Green metadata), developed by the ISO/IEC JTC 1/SC
   29/ WG 3 MPEG System.  The RTCP payload format specified in this
   specification enables receivers to provide feedback to the senders
   and thus allows for short-term adaptation and feedback-based energy
   efficient mechanisms to be implemented.  The payload format has broad
   applicability in real-time video communication services.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtcp-green-metadata-01"/>
        </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-thomson-quic-enough">
          <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-quic-reliable-stream-reset">
          <front>
            <title>Reliable QUIC Stream Resets</title>
            <author fullname="Marten Seemann" initials="M." surname="Seemann">
              <organization>Protocol Labs</organization>
            </author>
            <author fullname="Kazuho Oku" initials="K." surname="Oku">
              <organization>Fastly</organization>
            </author>
            <date day="3" month="July" year="2023"/>
            <abstract>
              <t>   QUIC ([RFC9000]) defines a RESET_STREAM frame to reset a stream.
   When a sender resets a stream, it stops retransmitting STREAM frames
   for this stream.  On the receiver side, there is no guarantee that
   any of the data sent on that stream is delivered to the application.
   This document defines a new QUIC frame, the CLOSE_STREAM frame, that
   allows closing and resetting of a stream, while guaranteeing reliable
   delivery of stream data up to a certain byte offset.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-reliable-stream-reset-01"/>
        </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 1309?>

<section anchor="list-of-optional-quic-extensions">
      <name>List of optional QUIC Extensions</name>
      <t>The following is a list of QUIC protocol extensions that might be beneficial for
RoQ, but are not required by RoQ.</t>
      <ul spacing="normal">
        <li>
          <em>An Unreliable Datagram Extension to QUIC</em> <xref target="RFC9221"/>. Without support for
unreliable datagrams, RoQ cannot use the encapsulation specified in
<xref target="quic-datagrams"/>, but can still use QUIC streams as specified in
<xref target="quic-streams"/>.</li>
        <li>
          <t>A version of QUIC receive timestamps can be helpful for improved jitter
calculations and congestion control.
          </t>
          <ul spacing="normal">
            <li>
              <em>Quic Timestamps For Measuring One-Way Delays</em>
              <xref target="I-D.draft-huitema-quic-ts"/></li>
            <li>
              <em>QUIC Extension for Reporting Packet Receive Timestamps</em>
              <xref target="I-D.draft-smith-quic-receive-ts"/></li>
          </ul>
        </li>
        <li>
          <em>QUIC Acknowledgement Frequency</em> <xref target="I-D.draft-ietf-quic-ack-frequency"/> can
be used by a sender to optimize the acknowledgement behaviour of the receiver,
e.g., to optimize congestion control.</li>
        <li>
          <em>Signaling That a QUIC Receiver Has Enough Stream Data</em>
          <xref target="I-D.draft-thomson-quic-enough"/> and <em>Reliable QUIC Stream Resets</em>
          <xref target="I-D.draft-ietf-quic-reliable-stream-reset"/> would allow RoQ senders and
receivers to use versions of CLOSE_STREAM and STOP_SENDING that contain
offsets. The offset could be used to reliably retransmit all frames up to a
certain frame that should be cancelled before resuming transmission of further
frames on new QUIC streams.</li>
      </ul>
    </section>
    <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:
H4sIAAAAAAAAA82923bbWJImfI+nwMgXJWmRtCXb8qGnMkeW5UxVW7JSlCur
V02vLoiEJJRJgg2AVrJs92PNC/wv9scXh30AQNmZWbOm6yJLJomNfYgd5/hi
OBwmTdHM8pfp1sXleVp+zKv0p/cnR+n2RfnTzlYyLSeLbE5fT6vsuhkWeXM9
zD42k7LKh1WzHOKB4X+uisnw0dNkkjX5TVmtX6Z1M02m9K+X6afXh5fHX5Kk
WFYv06Za1c3+o0cvHu0nWZVn9NbD5XJW0INFuajTbDFNL/JsNrws5vlWcldW
H26qcrXE71bTonz452Kal+lllS3qZVk16RHNIz3NikWTL7LFhJ75kK/psenL
9IQ+qxZ5M3yNmSdJ3dDo/5HNygXNap3XybJ4mf61KSeDtKahqvy6pr/Wc/zx
70m9upoXdU2zatZLeuDk+PJNkmSr5rasXibpMEnpf8Wifpn+aZS+axr+t+zU
n/6//1PduM/K6iZbFP/gBb5ML/PJ7YKWO0vfLwraurpo1unpij665V/n86yY
vUzLpvlfxWLUrOajaR697XSUHi9u8tlVVoXvPM2a26JuffWbXj3nkUa5jfS/
bvD5aFLOo3mMR+nr7O4D/R3MYrzM6Qyq6Jv2JOgHiyY9nOcVzSV9+/YofHkt
A0zl+RGoLXh/Uiyuy4omSNN/mdBzj384Px9ejof7B6O9vScveaQmq27y5mW6
fds0y/rlw4egk2w2enyzXI5oMg+nef2hKZfzcrqa5fVDmvOkuDYKfFiH/zyZ
/nHvyaMnOzKwXpOTc9q1WUMEOi2ydLy6qtd1k8/T7ZPT8c6/hN81+Sxf3paL
NX3KH9wSBc6KxQ3TOWi2yiZ4zxa/QO7L/qP9x8NHe7hOyXA4TLOrusHPkuQS
J0z3cTXHDupEc7o06bxYFHM62Hm2XGJ42qWUNjJb1qsZLYQ+4UuFefm7k5xX
JVF/OaOrfnm+I3ePWMARkXxFn4ZfH9H3y2zyIW/q9K4gAlmkzW0ujGKpvxvJ
BG0O9CfR2iyXQVt8ZZScNGk2q8t0WtSTVV3TMm7Lu7Qp01lOP81ucmIhtB/p
dVXO/buK+XKWY/l8PKlMI8kX02VJ20n3lz6hy0/vopGqfLqa5PzwIqd50Ef5
LxM6AxocS3Irwsrl7Yl7QTop6Xc1v2aiO4LfVZhUNs2WOgXsRrlq6GWzNZZN
H2Hs5JreeEXjj+QU58V0OsuT5AHYUkWkx+f+f/1MP336Hxdvjh4/ffroy5ev
HnD0Y92bZNNpp9vy8xePHtHPd/6vHH7yDYeffvPhJ72HPwhOP/2m00++fvpp
cPoPHqSv6C+IMRrg04Mr948vOP687xjT+46R9vYmX9A2zWbrdFULYU+yqlon
lRtKGBBohqYPZs/zBTnxF7TlEG0QeKvJbZrV6UcWrPTj67wCD64HSTapyrrm
LTRZOkrTcUHf8rFWOcn9ig7Pv3aazyBa1sLg6NlyRhOl/aTtlw1PZyUOfMDD
TvPrjNhlSpuRV7KDjdsDR2m3NL2rPF+k71+fD+hlECCzNVNm+vry7Ri7Tgwd
21Dnk1Ulpy4LdWeOCZWTSVbzNtDO4Zi28emSJlRc0YA01A62gvaNfqHHx2Qd
CQWadT2piivc0kWaefWFDgOkW14rrX/69D0uyONHz/mCHGLkq6ymLVrksv7W
uCUNuSgbmjR93qTzkpeCl6SsvGTVtO8mJDRn2kkaFUJFieX5ixcvvnwZpOEt
Df61h39h9e6TffokoT0nQmAJZXtJ92vYlEP6v+BsaFYNzpdvsUxX6BAaW3qX
z2b0EyLym9v07PBSOOw10codbWw9Sl7l6xLjYW/9jngyykKdcEIbcEUEf100
Ig14C/JfSONjGnYkvFrQNSyyq5nyC5Kn2U2VzetEF7m/z8u+uyWVJ5Wl4hCn
00IvB/2zqHgA+naZVw1YMV2i4GLRHlzTiaXb+ehmNKDjotcuiCTrOiOyr3Le
I9UcwVw+lrKft3k2HZbXQyw1uZqVE1JwbnaEP5yWpNHoaj89mPt/EYd4wyyQ
31zy/0NbneekxNKSP8jtpNnVNH/M+z9XwrUG6dbd7TqtiTvNprT9azzg2RvO
Y5ovZ+U6JY689X3KZN4zDrYkrz6yRLrKG+IC9Gx9Bx4Lwty6yicZ8SA6cpzT
1ih9v6SHSIWe5ROZByZ4Xc5m5R22IVgcERhpTfTw9WrGdxcsfyQ8MfwZ83lc
QhkxJbsBn9HOL0k9LSYkDivh+0LRjSyFZ+D2ZwZll6kWF4yo0G8GMcdgP/Cv
O9m0myrPwVu2mJ2UdYNnoEwumnCCW3yID8hCmd1l63r4brHlOfkQEm2WHpLd
QK+ym47XHS8m1XrJ//z0IKNH62G5oAM/nEGk0MUJLoGOMs/BzIp6XrMuIwMw
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
NAEA

-->

</rfc>
