<?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.7.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-avtcore-rtp-over-quic-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title>RTP over QUIC (RoQ)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-over-quic-07"/>
    <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 45?>

<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 55?>

<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 while QUIC responds to detected packet loss. This happens without RTP senders taking any action, but the RTP sender has no control over this QUIC mechanism.</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 shared QUIC connection will still be Internet-safe, with no coordination required.</t>
          <t>While QUIC's response to congestion ensures that RoQ will be "Internet-safe", from the network's perspective, it is helpful to remember that a QUIC sender responds to detected congestion by delaying packets that are already available to send, to give the path to the QUIC receiver time to recover from congestion.</t>
          <ul spacing="normal">
            <li>
              <t>If the QUIC connection encapsulates RTP, this means that some RTP packets will be delayed, and will arrive at the receiver later than a user of the RTP flow might prefer.</t>
            </li>
            <li>
              <t>If the QUIC connection also encapsulates RTCP, this means that these RTCP messages will also be delayed, and will not be sent in a timely manner. This delay can interfere with a sender's ability to stabilize rate control and achieve audio/video synchronization.</t>
            </li>
          </ul>
          <t>Taken as a whole,</t>
          <ul spacing="normal">
            <li>
              <t>Timely RTP stream-level rate adaptation will give a better user experience by minimizing endpoint queuing delays and packet loss,</t>
            </li>
            <li>
              <t>but in the presence of packet loss, QUIC connection-level congestion control will respond more quickly to the end of congestion than RTP "circuit breakers".</t>
            </li>
          </ul>
        </section>
        <section anchor="ra-quic-feedback">
          <name>RTP 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>An appropriate 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 mechanism, so the application can use a rate adaption mechanism of its choice.</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>
      <ul empty="true">
        <li>
          <t><strong>Note to the Reader:</strong> the meaning of the terms "congestion control" and "rate adaptation" in the IETF community have evolved over the decades since "slow start" and "congestion avoidance" were added as mandatory to implement in TCP, in <xref section="4.2.2.15" sectionFormat="of" target="RFC1122"/>. At that time, "congestion control" usually referred to "achieving network stability" (<xref target="VJMK88"/>), by protecting the network from senders who continue to transmit packets that exceed the ability of the network to carry them, even after packet loss occurs (called "congestion collapse").</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>"Rate adaptation" more commonly referred to strategies intended to guide senders on when to send "the next packet", so that one-way delays along the network path remain minimal.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>As more and more general-purpose "congestion control" algorithms focused on avoiding "bufferbloat", as described in <xref target="rate-adaptation-application-layer"/>, the difference between "congestion control" and "rate adaptation" has blurred in IETF community discussions.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>In this document, these terms are used with the meanings listed below, with the recognition that not all the references in this document use these terms in the same way.</t>
        </li>
      </ul>
      <t>The following terms are used:</t>
      <dl>
        <dt>Bandwidth Estimation:</dt>
        <dd>
          <t>An algorithm to estimate the available bandwidth of a link in a network. Such
an estimation can be used for rate adaptation, i.e., adapt the rate at which an
application transmits data.</t>
        </dd>
        <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 mechanism that adjusts the sending rate of an application in order to
respond to sending rate limitations imposed by congestion control algorithms.</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.</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 would be 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>An RTP application is responsible for determining what to send in an encoded media stream, and how to send that encoded media stream within a targeted bitrate.</t>
      <t>This document does not mandate how an application determines what to send in an encoded media stream, because decisions about what to send within a targeted bitrate, and how to adapt to changes in the targeted bitrate, can be application and codec-specific. For example, adjusting quantization in response to changing network conditions 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="streams-and-datagrams">
        <name>RTP with QUIC Streams, QUIC Datagrams, and a Mixture of Both</name>
        <t>This document describes the use of both QUIC streams and QUIC datagrams as RTP encapsulations, but does not take a position on which encapsulation an application should use. Indeed, an application can use both QUIC streams and QUIC datagram encapsulations. The choice of which encapsulation is used is up to the application developer, but it is worth noting the differences.</t>
        <t>QUIC <xref target="RFC9000"/> was initially designed to carry HTTP <xref target="RFC9114"/> in QUIC streams, and QUIC streams provide what HTTP application developers require - for example, QUIC streams provide a stateful, connection-oriented, flow-controlled, reliable, ordered stream of bytes to an application. QUIC streams can be multiplexed over a single QUIC connection, using stream IDs to demultiplex incoming messages.</t>
        <t>QUIC Datagrams <xref target="RFC9221"/> were developed as a QUIC extension, intended to support applications that do not require reliable delivery of application data. This extension defines two QUIC DATAGRAM frame types (one including a length field, the other not including a length field), and these DATAGRAM frames can co-exist with QUIC STREAM frames within a single QUIC connection, sharing the connection's cryptographic and authentication context, and congestion controller context.</t>
        <t>There is no default relative priority between DATAGRAM frames with respect to each other, and there is no default priority between DATAGRAM frames and QUIC streams. The implementation likely presents an API to allow appplications to assign relative priorities, but this is not mandated by the standard and may not be present in all implementations.</t>
        <t>Because QUIC datagrams are an extension to QUIC, they inherit a great deal of functionality from QUIC (much of which is described in <xref target="motivations"/>); so much so that it is easier to explain what datagrams do NOT inherit.</t>
        <ul spacing="normal">
          <li>
            <t>DATAGRAM frames do not provide any explicit flow control signaling. This means that a QUIC receiver may not be able to commit the necessary resources to process incoming frames, but the purpose for DATAGRAM frames is to carry application-level information that can be lost and will not be retransmitted,</t>
          </li>
          <li>
            <t>DATAGRAM frames do inherit the QUIC connection's congestion controller. This means that although there is no frame-level flow control, DATAGRAM frames may be delayed until the controller allows them to be sent, or dropped (with an optional notification to the sending application). Implementations can also delay sending DATAGRAM frames to maintain consistent packet pacing (as described in <xref section="7.7" sectionFormat="of" target="RFC9002"/>), and can allow an application to specify a sending expiration time, but these capabilities are not mandated by the standard and may not be present in all implementations.</t>
          </li>
          <li>
            <t>DATAGRAM frames cannot be fragmented. They are limited in size by the max_datagram_frame_size transport parameter, and further limited by the max_udp_payload_size transport parameter and the Maximum Transmission Unit (MTU) of the path between endpoints.</t>
          </li>
          <li>
            <t>DATAGRAM frames belong to a QUIC connection as a whole. There is no QUIC-level way to multiplex/demultiplex DATAGRAM frames within a single QUIC connection. Any multiplexing identifiers must be added, interpreted, and removed by an application, and they will be sent as part of the payload of the DATAGRAM frame itself.</t>
          </li>
        </ul>
        <t>Because QUIC datagrams are an extension to QUIC, a RoQ endpoint cannot count on a RoQ peer supporting that extension. The RoQ endpoint may discover that its peer does not support datagrams while using signaling to set up QUIC connections, but may also discover that its peer has not negotiated the use of this extension during the QUIC handshake. When this happens, the RoQ endpoint needs to make a decision about what to do next.</t>
        <ul spacing="normal">
          <li>
            <t>If the use of QUIC datagrams was critical, the endpoint can simply close the QUIC connection, allowing someone or something to correct this mismatch, so that QUIC datagrams can be used.</t>
          </li>
          <li>
            <t>If the use of QUIC datagrams was not critical, the endpoint can negotiate the use of QUIC streams instead.</t>
          </li>
        </ul>
      </section>
      <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 flow, it MAY drop the data flow. If
the data flow was sent on a QUIC stream, the receiver SHOULD send a
STOP_SENDING frame with the application error code set to
ROQ_UNKNOWN_FLOW_ID.</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 at least one new unidirectional QUIC stream.
RoQ uses unidirectional streams, because there is no
synchronous relationship between sent and received RTP/RTCP packets. A peer that
receives a bidirectional stream with a flow identifier that is associated with
an RTP or RTCP stream, SHOULD stop reading from the stream and send a
STOP_SENDING frame with the application protocol error code set to
ROQ_STREAM_CREATION_ERROR.</t>
        <t>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>Because a sender can continue sending on a lower stream number after starting packet transmission on a higher stream number, a RoQ receiver MUST be prepared to receive RoQ packets on any number of QUIC streams (subject to its limit on parallel open streams) and MUST not make assumptions about which RTP sequence numbers are carried in which streams.</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="media-frame-cancellation">
          <name>Media Frame Cancellation</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>In both cases, the error code of the RESET_STREAM frame or the STOP_SENDING
frame MUST be set to ROQ_FRAME_CANCELLED.</t>
          <t>STOP_SENDING is not a request to the sender to stop sending the RTP media
stream, only an indication that a receiver stopped reading the QUIC stream being
used. A sender with additional media frames to send SHOULD continue sending them
on another QUIC stream. Alternatively, new media frames can be sent as QUIC
datagrams (see <xref target="quic-datagrams"/>).</t>
          <t>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) or
datagrams.</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>
          <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="quic-flow-cc">
          <name>Flow control and MAX_STREAMS</name>
          <t>In order to permit QUIC streams to open, a RoQ sender SHOULD configure non-zero minimum values for the number of permitted streams and the initial stream flow-control window, based on the number of parallel, or simultaneously active, RTP/RTCP flows.
Endpoints that excessively restrict the number of streams or the flow-control window of these streams will increase the chance that the remote peer reaches the limit early and becomes blocked.</t>
          <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.</t>
          <t>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.</t>
          <t>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 many
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 can only be used if
the use of the datagram extension was successfully negotiated during the QUIC handshake.
If the QUIC extension was signaled using a signaling protocol, but that
extension was not negotiated during the QUIC handshake, a peer MAY close the
connection with the ROQ_EXPECTATION_UNMET error code.</t>
        <t>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="connection-shutdown">
      <name>Connection Shutdown</name>
      <t>Either peers MAY close the connection for variety of reasons. If one of the
peers wants to close the RoQ connection, the peer can use a QUIC
CONNECTION_CLOSE frame with one of the error codes defined in
<xref target="error-handling"/>.</t>
    </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. QUIC is a
congestion-controlled transport protocol. RTP does not mandate a single
congestion control mechanism. RTP suggests that the RTP profile defines
congestion control according to the expected properties of the application's
environment.</t>
      <t>This document discusses aspects of transport level congestion control in
<xref target="cc-quic-layer"/> and application layer rate control in
<xref target="rate-adaptation-application-layer"/>. It does not mandate any specific
congestion control algorithm for QUIC or rate adaptation algorithm for RTP.</t>
      <t>This document also gives guidance about avoiding problems with <em>nested</em>
congestion controllers in <xref target="rate-adaptation-application-layer"/>.</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>
      <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>It is RECOMMENDED that the QUIC implementation use a congestion controller that
seeks to minimize queueing delays. Further recommendations on the transport of
RTP and RTCP are contained in <xref target="streams-and-datagrams"/>.</t>
        <t>A wide variety of congestion control 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 (SCReAM <xref target="RFC8298"/> and NADA <xref target="RFC8698"/>). These 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"/>. Some of these low latency congestion control
algorithms depend on detailed arrival time feedback to estimate the current
one-way delay between sender and receiver, which is unavailable in QUIC. The
QUIC implementations of the sender and receiver can use an extension to add this
information to QUICs as described in <xref target="optional-extensions"/>. An alternative to
these dedicated real-time media congestion-control algorithms that QUIC
implementations could support without the need for a protocol extension is the
Low Latency, Low Loss, and Scalable Throughput (L4S) Internet Service
<xref target="RFC9330"/>.</t>
        <t>The application needs a mechanism to query the available bandwidth to adapt
media codec configurations. If the employed congestion controller of the QUIC
connection keeps an estimate of the available bandwidth, it could expose an API
to the application to query the current estimate. If the congestion controller
cannot provide a current bandwidth estimate to the application, the sender can
implement an alternative bandwidth estimation at the application layer as
described in <xref target="rate-adaptation-application-layer"/>.</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 and minimize variation in
inter-packet arrival times. The currently proposed congestion control algorithms
for real-time communications (e.g., SCReAM and NADA) provide such pacing
mechanisms, and QUIC recommends pacing for senders based on the congestion
control algorithm.</t>
      </section>
      <section anchor="rate-adaptation-application-layer">
        <name>Rate Adaptation at the 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>If an application cannot access a bandwidth estimation from the QUIC layer, the
application can alternatively implement a bandwidth estimation algorithm at the
application layer. Congestion control algorithms for real-time media such as GCC
<xref target="I-D.draft-ietf-rmcat-gcc"/>, NADA <xref target="RFC8698"/>, and SCReAM <xref target="RFC8298"/> expose
a <tt>target_bitrate</tt> to dynamically reconfigure media codecs to produce media at
the rate of the observed available bandwidth. Applications can use the same
bandwidth estimation to adapt their rate when using QUIC. However, running an
additional congestion control algorithm at the application layer can have
unintended effects due to the interaction of two <em>nested</em> congestion
controllers.</t>
        <t>If the application transmits 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 being 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 it's sending rate, drastic measures will be
required to avoid sustained or oscillating congestion along the path.</t>
        <t>Thus, applications are advised to only use the bandwidth estimation without
running the complete congestion control algorithm at the application layer
before passing data to the QUIC layer.</t>
        <t>The bandwidth estimation algorithm typically needs some feedback on the
transmission performance. This feedback can be collected via RTCP or following
the guidelines in <xref target="rtcp-mapping"/> and <xref target="api-considerations"/>.</t>
      </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>
            <t>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"/>.</t>
          </li>
          <li>
            <t>Alternatively, all real-time channels are mapped to one QUIC connection, while
a separate QUIC connection is created for the non-real-time channels.</t>
          </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 UDP, 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 transport-level feedback, it can replace at least some RTP
transport-level feedback with current QUIC feedback <xref target="RFC9000"/>. In addition,
RTP-level feedback that is not available in QUIC by default can potentially be
replaced with generally useful QUIC extensions in the future as described in
<xref target="rtcp-quic-ext-examples"/>.</t>
      <t>When statistics contained in RTCP packets are also available from QUIC or can be
derived from statistics available from QUIC, it is desirable to provide these
statistics at only one protocol layer. This avoids consumption of bandwidth to
deliver equivalent control information at more than one level of the protocol
stack. QUIC and RTCP both have rules describing when certain signals have to be
sent. This document does not change any of the rules described by either
protocol, but specifies a baseline for replacing some of the RTCP packet types
by mapping the contents to QUIC connection statistics, and reducing the
transmission frequency and bandwidth requirements for some RTCP packet types
that must be transmitted periodically. Future documents can extend this mapping
for other RTCP format types, and can make use of new QUIC extensions that become
available over time. The mechanisms described in this section can enhance the
statistics provided by RTCP and reduce the bandwidth overhead required by
certain RTCP packets. Applications using RoQ need to adhere to the rules for
RTCP feedback given by <xref target="RFC3550"/> and the RTP profiles in use.</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"/> discusses what information can be exposed from the
QUIC connection layer to reduce the RTCP overhead.</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 is considered
acknowledged after all frames that 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="multi-hop">
        <name>Multihop Topologies</name>
        <t>In some topologies, RoQ may be used on only some of the links between multiple
session participants. Other links may be using RTP over UDP, or over some other
supported RTP encapsulation protocol, and some participants might be using
implementations that don't support RoQ at all. These participants will not be
able to infer feedback from QUIC, and they may receive less RTCP feedback than
expected. On the other hand, participants using RoQ might not be aware that
other participants are not using RoQ and send as little RTCP as possible since
they assume their RoQ peer will be able to infer statistics from QUIC. There are
two ways to solve this problem: if the middlebox translating between RoQ and RTP
over other RTP transport protocols such as UDP or TCP provides Back-to-Back RTP
sessions as described in <xref section="3.2.2" sectionFormat="of" target="RFC7667"/>, this middlebox can add
RTCP packets for the participants not using RoQ by using the statistics the
middlebox gets from QUIC and the mappings described in the following sections.
If the middlebox does not provide Back-to-Back RTP sessions, participants may
use additional signalling to let the RoQ participants know what RTCP is
required.</t>
      </section>
      <section anchor="transport-layer-feedback">
        <name>Feedback Mappings</name>
        <t>This section explains how some of the RTCP packet types that 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>
        <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 thorough 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="NACK-mappings">
          <name>Negative Acknowledgments ("NACK")</name>
          <t>Generic <em>Negative Acknowledgments</em> (<tt>PT=205</tt>, <tt>FMT=1</tt>, <tt>Name=Generic NACK</tt>,
<xref target="RFC4585"/>) contain information about RTP packets which the receiver
considered lost. <xref section="6.2.1." sectionFormat="of" target="RFC4585"/> recommends using 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"/>).</t>
        </section>
        <section anchor="ECN-mappings">
          <name>ECN Feedback ("ECN")</name>
          <t><em>ECN Feedback</em> (<tt>PT=205</tt>, <tt>FMT=8</tt>, <tt>Name=RTCP-ECN-FB</tt>, <xref target="RFC6679"/>) 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 above. 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.</t>
        </section>
        <section anchor="BYE-mapping">
          <name>Goodbye Packets ("BYE")</name>
          <t>RTP session participants can use <em>Goodbye</em> RTCP packets (<tt>PT=203</tt>, <tt>Name=BYE</tt>,
<xref target="RFC3550"/>), to indicate that a source is no longer active. If the participant
is also going to close the QUIC connection, the <em>BYE</em> packet can be replaced by
a QUIC CONNECTION_CLOSE frame. In this case, the reason for leaving can be
transmitted in QUIC's CONNECTION_CLOSE <em>Reason Phrase</em>. However, if the
participant wishes to use this QUIC connection for any other multiplexed
traffic, the participant has to use the BYE packet because the QUIC
CONNECTION_CLOSE would close the entire QUIC connection for all other QUIC
streams and datagrams.</t>
        </section>
      </section>
    </section>
    <section anchor="error-handling">
      <name>Error Handling</name>
      <t>The following error codes are defined for use when abruptly terminating streams,
aborting reading of streams, or immediately closing RoQ connections.</t>
      <dl>
        <dt>ROQ_NO_ERROR (0x????):</dt>
        <dd>
          <t>No error. This is used when the connection or stream needs to be closed, but
there is no error to signal.</t>
        </dd>
        <dt>ROQ_GENERAL_ERROR (0x????):</dt>
        <dd>
          <t>An error that does not match a more specific error code occured.</t>
        </dd>
        <dt>ROQ_INTERNAL_ERROR (0x????):</dt>
        <dd>
          <t>An internal error has occured in the RoQ stack.</t>
        </dd>
        <dt>ROQ_PACKET_ERROR (0x????):</dt>
        <dd>
          <t>Invalid payload format, e.g., length does not match packet, invalid flow id
encoding, non-RTP on RTP-flow ID, etc.</t>
        </dd>
        <dt>ROQ_STREAM_CREATION_ERROR (0x????):</dt>
        <dd>
          <t>The endpoint detected that its peer created a stream that violates the ROQ protocol.</t>
        </dd>
        <dt>ROQ_FRAME_CANCELLED (0x????):</dt>
        <dd>
          <t>A receiving endpoint is using STOP_SENDING on the current stream to request
new frames be sent on new streams. Similarly, a sender notifies a receiver that
retransmissions of a frame were stopped using RESET_STREAM and new frames will
be sent on new streams.</t>
        </dd>
        <dt>ROQ_UNKNOWN_FLOW_ID (0x????):</dt>
        <dd>
          <t>An endpoint was unable to handle a flow identifier, e.g., because it was not
signalled or because the endpoint does not support multiplexing using arbitrary
flow identifiers.</t>
        </dd>
        <dt>ROQ_EXPECTATION_UNMET (0x????):</dt>
        <dd>
          <t>Expectiations of the QUIC transport set by RoQ out-of-band signalling were not
met by the QUIC connection.</t>
        </dd>
      </dl>
    </section>
    <section anchor="api-considerations">
      <name>API Considerations</name>
      <t>The mapping described in the previous sections poses some interface requirements
for the QUIC implementation. Although RoQ works without these requirements, some
optimizations regarding rate adaptation and RTCP mapping require certain
functionalities to be exposed to the application.</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>
      <ul spacing="normal">
        <li>
          <t><em>Maximum Datagram Size</em>: The maximum datagram size that the QUIC connection
can transmit on the network path to the QUIC receiver. If a RoQ sender using
datagrams does not know the maximum datagram size for the path to the RoQ
receiver, there are only two choices - either use heuristics to limit the size
of RoQ messages, or be prepared to lose RoQ messages that were too large to be
carried through the network path and delivered to the RoQ receiver.</t>
        </li>
        <li>
          <t><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. Given the datagram
acknowledgments and losses, the application can deduce which RTP packets
arrived at the receiver and which were lost (see also <xref target="roc-d"/>).</t>
        </li>
        <li>
          <t><em>Stream States</em>: The stream states include which parts of the data sent on a
stream were successfully delivered and which are still outstanding to be sent
or retransmitted. If an application keeps track of the RTP packets sent on a
stream, their respective sizes, and in which order they were transmitted, it
can infer which RTP packets were acknowledged according to the definition in
<xref target="roc-s"/>.</t>
        </li>
        <li>
          <t><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 can support the application as described
in <xref target="rtcp-mapping"/> and <xref target="congestion-control"/>.</t>
        </li>
        <li>
          <t><em>Bandwidth Estimation</em>: If a bandwidth estimation is available in the QUIC
implementation, exposing it avoids the implementation of an additional
bandwidth estimation algorithm in the application.</t>
        </li>
        <li>
          <t><em>ECN</em>: If ECN marks are available, they can support the bandwidth estimation
of the application if necessary.</t>
        </li>
      </ul>
    </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>
      <t>This document registers a new ALPN protocol ID (in <xref target="iana-alpn"/>) and creates a
new registry that manages the assignment of error code points in RoQ (in
<xref target="iana-error-codes"/>).</t>
      <section anchor="iana-alpn">
        <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 anchor="iana-error-codes">
        <name>RoQ Error Codes Registry</name>
        <t>This document establishes a registry for RoQ error codes. The "RTP over QUIC
(RoQ) Error Codes" registry manages a 62-bit space and is listed under the
"Real-Time Transport Protocol (RTP) Parameters" heading.</t>
        <t>The new error codes registry created in this document operates under the QUIC
registration policy documented in <xref section="22.1" sectionFormat="of" target="RFC9000"/>. This registry
includes the common set of fields listed in <xref section="22.1.1" sectionFormat="of" target="RFC9000"/>.</t>
        <t>Permanent registrations in this registry are assigned using the Specification
Required policy (<xref target="RFC8126"/>), except for values between 0x00 and 0x3f (in
hexadecimal; inclusive), which are assigned using Standards Action or IESG
Approval as defined in Sections <xref target="RFC8126" section="4.9" sectionFormat="bare"/> and <xref target="RFC8126" section="4.10" sectionFormat="bare"/> of <xref target="RFC8126"/>.</t>
        <t>Registrations for error codes are required to include a description of the error
code. An expert reviewer is advised to examine new registrations for possible
duplication or interaction with existing error codes.</t>
        <t>In addition to common fields as described in Section <xref section="22.1" sectionFormat="of" target="RFC9000"/>, this registry includes two additional fields. Permanent
registrations in this registry MUST include the following fields:</t>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>A name for the error code.</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>A brief description of the error code semantics, which MAY be a summary if a
specification reference is provided.</t>
          </dd>
        </dl>
        <t>The initial allocations in this registry are all assigned permanent status and
list a change controller of the IETF and a contact of the AVTCORE working group
(avt@ietf.org).</t>
        <t>The entries in <xref target="tab-error-codes"/> are registered by this document.</t>
        <table anchor="tab-error-codes">
          <name>Initial RoQ Error Codes</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Name</th>
              <th align="left">Description</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0x01</td>
              <td align="left">ROQ_NO_ERROR</td>
              <td align="left">No Error</td>
              <td align="left">
                <xref target="error-handling"/></td>
            </tr>
            <tr>
              <td align="left">0x02</td>
              <td align="left">ROQ_GENERAL_ERROR</td>
              <td align="left">General error</td>
              <td align="left">
                <xref target="error-handling"/></td>
            </tr>
            <tr>
              <td align="left">0x03</td>
              <td align="left">ROQ_INTERNAL_ERROR</td>
              <td align="left">Internal Error</td>
              <td align="left">
                <xref target="error-handling"/></td>
            </tr>
            <tr>
              <td align="left">0x04</td>
              <td align="left">ROQ_PACKET_ERROR</td>
              <td align="left">Invalid payload format</td>
              <td align="left">
                <xref target="error-handling"/></td>
            </tr>
            <tr>
              <td align="left">0x05</td>
              <td align="left">ROQ_STREAM_CREATION_ERROR</td>
              <td align="left">Invalid stream type</td>
              <td align="left">
                <xref target="error-handling"/></td>
            </tr>
            <tr>
              <td align="left">0x06</td>
              <td align="left">ROQ_FRAME_CANCELLED</td>
              <td align="left">Frame cancelled</td>
              <td align="left">
                <xref target="error-handling"/></td>
            </tr>
            <tr>
              <td align="left">0x07</td>
              <td align="left">ROQ_UNKNOWN_FLOW_ID</td>
              <td align="left">Unknown Flow ID</td>
              <td align="left">
                <xref target="error-handling"/></td>
            </tr>
            <tr>
              <td align="left">0x08</td>
              <td align="left">ROQ_EXPECTATION_UNMET</td>
              <td align="left">Externally signalled requirement unmet</td>
              <td align="left">
                <xref target="error-handling"/></td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-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="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="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="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </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 anchor="sec-informative-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="VJMK88" target="https://ee.lbl.gov/papers/congavoid.pdf">
          <front>
            <title>Congestion Avoidance and Control</title>
            <author>
              <organization/>
            </author>
            <date year="1988" month="November"/>
          </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="马云飞" initials="M. Y." surname="马云飞">
              <organization>Uber Technologies Inc.</organization>
            </author>
            <author fullname="Quentin De Coninck" initials="Q." surname="De Coninck">
              <organization>University of Mons (UMONS)</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="23" month="October" 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-06"/>
        </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="RFC1122">
          <front>
            <title>Requirements for Internet Hosts - Communication Layers</title>
            <author fullname="R. Braden" initials="R." role="editor" surname="Braden"/>
            <date month="October" year="1989"/>
            <abstract>
              <t>This RFC is an official specification for the Internet community. It incorporates by reference, amends, corrects, and supplements the primary protocol standards documents relating to hosts. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="3"/>
          <seriesInfo name="RFC" value="1122"/>
          <seriesInfo name="DOI" value="10.17487/RFC1122"/>
        </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="RFC9114">
          <front>
            <title>HTTP/3</title>
            <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9114"/>
          <seriesInfo name="DOI" value="10.17487/RFC9114"/>
        </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="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-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="RFC9330">
          <front>
            <title>Low Latency, Low Loss, and Scalable Throughput (L4S) Internet Service: Architecture</title>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="G. White" initials="G." surname="White"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This document describes the L4S architecture, which enables Internet applications to achieve low queuing latency, low congestion loss, and scalable throughput control. L4S is based on the insight that the root cause of queuing delay is in the capacity-seeking congestion controllers of senders, not in the queue itself. With the L4S architecture, all Internet applications could (but do not have to) transition away from congestion control algorithms that cause substantial queuing delay and instead adopt a new class of congestion controls that can seek capacity with very little queuing. These are aided by a modified form of Explicit Congestion Notification (ECN) from the network. With this new architecture, applications can have both low latency and high throughput.</t>
              <t>The architecture primarily concerns incremental deployment. It defines mechanisms that allow the new class of L4S congestion controls to coexist with 'Classic' congestion controls in a shared network. The aim is for L4S latency and throughput to be usually much better (and rarely worse) while typically not impacting Classic performance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9330"/>
          <seriesInfo name="DOI" value="10.17487/RFC9330"/>
        </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="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="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="19" month="October" year="2023"/>
            <abstract>
              <t>   QUIC defines a RESET_STREAM frame to abort sending on a stream.  When
   a sender resets a stream, it also stops retransmitting STREAM frames
   for this stream in the of packet loss.  On the receiving side, there
   is no guarantee that any data sent on that stream is delivered.

   This document defines a new QUIC frame, the RESET_STREAM_AT frame,
   that allows resetting 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-03"/>
        </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="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="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="12" month="October" 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-02"/>
        </reference>
        <reference anchor="RFC6464">
          <front>
            <title>A Real-time Transport Protocol (RTP) Header Extension for Client-to-Mixer Audio Level Indication</title>
            <author fullname="J. Lennox" initials="J." role="editor" surname="Lennox"/>
            <author fullname="E. Ivov" initials="E." surname="Ivov"/>
            <author fullname="E. Marocco" initials="E." surname="Marocco"/>
            <date month="December" year="2011"/>
            <abstract>
              <t>This document defines a mechanism by which packets of Real-time Transport Protocol (RTP) audio streams can indicate, in an RTP header extension, the audio level of the audio sample carried in the RTP packet. In large conferences, this can reduce the load on an audio mixer or other middlebox that wants to forward only a few of the loudest audio streams, without requiring it to decode and measure every stream that is received. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6464"/>
          <seriesInfo name="DOI" value="10.17487/RFC6464"/>
        </reference>
        <reference anchor="RFC7941">
          <front>
            <title>RTP Header Extension for the RTP Control Protocol (RTCP) Source Description Items</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="B. Burman" initials="B." surname="Burman"/>
            <author fullname="R. Even" initials="R." surname="Even"/>
            <author fullname="M. Zanaty" initials="M." surname="Zanaty"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>Source Description (SDES) items are normally transported in the RTP Control Protocol (RTCP). In some cases, it can be beneficial to speed up the delivery of these items. The main case is when a new synchronization source (SSRC) joins an RTP session and the receivers need this source's identity, relation to other sources, or its synchronization context, all of which may be fully or partially identified using SDES items. To enable this optimization, this document specifies a new RTP header extension that can carry SDES items.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7941"/>
          <seriesInfo name="DOI" value="10.17487/RFC7941"/>
        </reference>
        <reference anchor="RFC6904">
          <front>
            <title>Encryption of Header Extensions in the Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="J. Lennox" initials="J." surname="Lennox"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>The Secure Real-time Transport Protocol (SRTP) provides authentication, but not encryption, of the headers of Real-time Transport Protocol (RTP) packets. However, RTP header extensions may carry sensitive information for which participants in multimedia sessions want confidentiality. This document provides a mechanism, extending the mechanisms of SRTP, to selectively encrypt RTP header extensions in SRTP.</t>
              <t>This document updates RFC 3711, the Secure Real-time Transport Protocol specification, to require that all future SRTP encryption transforms specify how RTP header extensions are to be encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6904"/>
          <seriesInfo name="DOI" value="10.17487/RFC6904"/>
        </reference>
        <reference anchor="RFC6465">
          <front>
            <title>A Real-time Transport Protocol (RTP) Header Extension for Mixer-to-Client Audio Level Indication</title>
            <author fullname="E. Ivov" initials="E." role="editor" surname="Ivov"/>
            <author fullname="E. Marocco" initials="E." role="editor" surname="Marocco"/>
            <author fullname="J. Lennox" initials="J." surname="Lennox"/>
            <date month="December" year="2011"/>
            <abstract>
              <t>This document describes a mechanism for RTP-level mixers in audio conferences to deliver information about the audio level of individual participants. Such audio level indicators are transported in the same RTP packets as the audio data they pertain to. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6465"/>
          <seriesInfo name="DOI" value="10.17487/RFC6465"/>
        </reference>
        <reference anchor="RFC8852">
          <front>
            <title>RTP Stream Identifier Source Description (SDES)</title>
            <author fullname="A.B. Roach" initials="A.B." surname="Roach"/>
            <author fullname="S. Nandakumar" initials="S." surname="Nandakumar"/>
            <author fullname="P. Thatcher" initials="P." surname="Thatcher"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This document defines and registers two new Real-time Transport Control Protocol (RTCP) Stream Identifier Source Description (SDES) items. One, named RtpStreamId, is used for unique identification of RTP streams. The other, RepairedRtpStreamId, can be used to identify which stream is to be repaired using a redundancy RTP stream.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8852"/>
          <seriesInfo name="DOI" value="10.17487/RFC8852"/>
        </reference>
        <reference anchor="RFC8849">
          <front>
            <title>Mapping RTP Streams to Controlling Multiple Streams for Telepresence (CLUE) Media Captures</title>
            <author fullname="R. Even" initials="R." surname="Even"/>
            <author fullname="J. Lennox" initials="J." surname="Lennox"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This document describes how the Real-time Transport Protocol (RTP) is used in the context of the Controlling Multiple Streams for Telepresence (CLUE) protocol. It also describes the mechanisms and recommended practice for mapping RTP media streams, as defined in the Session Description Protocol (SDP), to CLUE Media Captures and defines a new RTP header extension (CaptureID).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8849"/>
          <seriesInfo name="DOI" value="10.17487/RFC8849"/>
        </reference>
        <reference anchor="RFC9143">
          <front>
            <title>Negotiating Media Multiplexing Using the Session Description Protocol (SDP)</title>
            <author fullname="C. Holmberg" initials="C." surname="Holmberg"/>
            <author fullname="H. Alvestrand" initials="H." surname="Alvestrand"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This specification defines a new Session Description Protocol (SDP) Grouping Framework extension called 'BUNDLE'. The extension can be used with the SDP offer/answer mechanism to negotiate the usage of a single transport (5-tuple) for sending and receiving media described by multiple SDP media descriptions ("m=" sections). Such transport is referred to as a "BUNDLE transport", and the media is referred to as "bundled media". The "m=" sections that use the BUNDLE transport form a BUNDLE group.</t>
              <t>This specification defines a new RTP Control Protocol (RTCP) Source Description (SDES) item and a new RTP header extension.</t>
              <t>This specification updates RFCs 3264, 5888, and 7941.</t>
              <t>This specification obsoletes RFC 8843.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9143"/>
          <seriesInfo name="DOI" value="10.17487/RFC9143"/>
        </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 1203?>

<section anchor="optional-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>
          <t><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"/>.</t>
        </li>
        <li>
          <t>A version of QUIC receive timestamps can be helpful for improved jitter
calculations and congestion control. If the QUIC connection uses a timestamp
extension like, the arrival timestamps or one-way delays could be exposed to
the application for improved bandwidth estimation or RTCP mappings as
described in <xref target="rtcp-mapping"/> and <xref target="rtcp-analysis"/>.
          </t>
          <ul spacing="normal">
            <li>
              <t><em>Quic Timestamps For Measuring One-Way Delays</em>
                <xref target="I-D.draft-huitema-quic-ts"/></t>
            </li>
            <li>
              <t><em>QUIC Extension for Reporting Packet Receive Timestamps</em>
                <xref target="I-D.draft-smith-quic-receive-ts"/></t>
            </li>
          </ul>
        </li>
        <li>
          <t><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.</t>
        </li>
        <li>
          <t><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.</t>
        </li>
      </ul>
    </section>
    <section anchor="rtcp-analysis">
      <name>Considered RTCP Packet Types and RTP Header Extensions</name>
      <t>This section lists all the RTCP packet types and RTP header extensions that were
considered in the analysis described in <xref target="rtcp-mapping"/>.</t>
      <t>Several but not all of these control packets and their attributes can be mapped
from QUIC, as described in <xref target="transport-layer-feedback"/>. <em>Mappable from QUIC</em>
has one of four values: <em>yes</em>, <em>partly</em>, <em>QUIC extension needed</em>, and <em>no</em>.
<em>Partly</em> is used for packet types for which some fields can be mapped from QUIC,
but not all. <em>QUIC extension needed</em> describes packet types which could be
mapped with help from one or more QUIC extensions.</t>
      <t>Examples of how certain packet types could be mapped with the help of QUIC
extensions follow in <xref target="rtcp-quic-ext-examples"/>.</t>
      <section anchor="control-packets">
        <name>RTCP Control Packet Types</name>
        <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">no</td>
              <td align="left">Would require send-timestamps, which are not provided by any QUIC extension today</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">QUIC extension needed / partly</td>
              <td align="left">see <xref target="al-repair"/> and <xref target="RR-mappings"/></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">QUIC extension needed</td>
              <td align="left">see <xref target="RR-mappings"/></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">partly</td>
              <td align="left">see <xref target="BYE-mapping"/></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 <xref target="generic-feedback"/></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">partly</td>
              <td align="left">see <xref target="payload-specific-feedback"/></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 <xref target="extended-reports"/></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>
      <section anchor="extended-reports">
        <name>Extended Reports (XR)</name>
        <table anchor="tab-xr-blocks">
          <name>Extended Report Blocks</name>
          <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">If only used for acknowledgment, could be replaced by QUIC acknowledgments, see <xref target="roc-d"/> and <xref target="roc-s"/></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">QUIC extension needed / partly</td>
              <td align="left">QUIC could provide packet receive timestamps when using a timestamp extension that reports timestamp for every received packet, such as <xref target="I-D.draft-smith-quic-receive-ts"/>. However, QUIC does not provide feedback in RTP timestamp format.</td>
            </tr>
            <tr>
              <td align="left">Receiver Reference Time Report Block</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">QUIC extension needed</td>
              <td align="left">Used together with DLRR Report Blocks to calculate RTTs of non-senders. RTT measurements can natively be provided by QUIC.</td>
            </tr>
            <tr>
              <td align="left">DLRR Report Block</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">QUIC extension needed</td>
              <td align="left">Used together with Receiver Reference Time Report Blocks to calculate RTTs of non-senders. RTT can natively be provided by QUIC.</td>
            </tr>
            <tr>
              <td align="left">Statistics Summary Report Block</td>
              <td align="left">
                <xref target="RFC3611"/></td>
              <td align="left">QUIC extension needed / partly</td>
              <td align="left">Packet loss and jitter can be inferred from QUIC acknowledgments, if a timestamp extension is used (see <xref target="I-D.draft-smith-quic-receive-ts"/> or <xref target="I-D.draft-huitema-quic-ts"/>). The remaining fields cannot be mapped to 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">see <xref target="ECN-mappings"/></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="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">partly</td>
              <td align="left">see <xref target="NACK-mappings"/></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">see <xref target="ECN-mappings"/></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">QUIC extension needed</td>
              <td align="left">see <xref target="CCFB-mappings"/></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">VP</td>
              <td align="left">Viewport (VP)</td>
              <td align="left">
                <xref target="_3GPP-TS-26.114"/></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="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">Mappable from 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">
                  <xref target="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">
                  <xref target="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">
                  <xref target="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">
                  <xref target="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">
                  <xref target="_3GPP-TS-26.114"/></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">
                  <xref target="_3GPP-TS-26.114"/></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">
                  <xref target="_3GPP-TS-26.114"/></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">
                  <xref target="_3GPP-TS-26.114"/></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">Mappable from 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">
                  <xref target="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">
                  <xref target="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">
                  <xref target="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">
                  <xref target="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">
                  <xref target="RFC9143"/></td>
                <td align="left">no</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="rtcp-quic-ext-examples">
        <name>Examples</name>
        <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>
              <t><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.</t>
            </li>
            <li>
              <t><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.</t>
            </li>
            <li>
              <t><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.</t>
            </li>
            <li>
              <t><em>Interarrival jitter</em>: If QUIC acknowledgments carry timestamps as described
in <xref target="I-D.draft-smith-quic-receive-ts"/>, senders can infer the interarrival
jitter from the arrival timestamps in QUIC acknowledgments.</t>
            </li>
            <li>
              <t><em>Last SR</em>: Similar to lost packets, the NTP timestamp of the last received
sender report can be inferred from QUIC acknowledgments.</t>
            </li>
            <li>
              <t><em>Delay since last SR</em>: This field is not required when the receiver reports
are entirely replaced by QUIC feedback.</t>
            </li>
          </ul>
        </section>
        <section anchor="CCFB-mappings">
          <name>Congestion Control Feedback ("CCFB")</name>
          <t>RTP <em>Congestion Control Feedback</em> (<tt>PT=205</tt>, <tt>FMT=11</tt>, <tt>Name=CCFB</tt>,
<xref target="RFC8888"/>) 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"/>.</t>
        </section>
        <section anchor="XR-mappings">
          <name>Extended Report ("XR")</name>
          <t><em>Extended Reports</em> (<tt>PT=207</tt>, <tt>Name=XR</tt>, <xref target="RFC3611"/>) offer an extensible
framework for a variety of different control messages. Some of the statistics
that are defined as extended report blocks can be derived from QUIC, too. Other
report blocks need to be evaluated individually to determine whether the
contained information can be transmitted using QUIC instead. <xref target="tab-xr-blocks"/>
in <xref target="extended-reports"/> lists considerations for mapping QUIC feedback to some
of the <em>Extended Reports</em>.</t>
        </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>
              <t><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 an 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 similar control information since it
does not know about RTP timestamps. A QUIC receiver cannot 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 if the
information can be inferred from the QUIC transport as explained in
<xref target="RR-mappings"/>.</t>
            </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>
              <t><em>Source Description</em> (<tt>PT=202</tt>, <tt>Name=SDES</tt>) and <em>Application</em> (<tt>PT=204</tt>,
<tt>Name=APP</tt>) packet types from <xref target="RFC3550"/>, or</t>
            </li>
            <li>
              <t>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.</t>
            </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>
    </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 guidance in <xref target="quic-streams"/> about configuring the number of parallel unidirectional QUIC streams is based on <xref section="6.2" sectionFormat="of" target="RFC9114"/>, with obvious substitutions for RTP/RTCP.</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:
H4sIAAAAAAAAA9W9+3bb1nY3+j+eAkf+Y0seJC3JtnzpaVNZkhO1lqwtysnu
6O7IhkhIQk0SLABa5nbSx/pe4LzYmfc1FwDKTtJvfOckYyQiCazrXHPN628O
h8OkKZpZ/jrdury6SMtPeZX++cPpUbp9Wf55ZyuZlpNFNoefp1V20wyLvLkZ
Zp+aSVnlw6pZDvGF4X+tislw90UyyZr8tqzWr9O6mSZT+PQ6/XJ8eHXya5IU
y+p12lSrutnf3X21u59kVZ5Br4fL5ayAF4tyUafZYppe5tlseFXM863kvqw+
3lblaonPraZF+eTHYpqX6VWVLeplWTXpEYwjPcuKRZMvssUE3vmYr+G16ev0
FL6rFnkzPMaRJ0ndQOs/Z7NyAaNa53WyLF6n/96Uk0FaQ1NVflPDX+s5/vEf
Sb26nhd1DaNq1kt44fTk6m2SZKvmrqxeJ+kwSeGfYlG/Tv9llL5vGvrMK/Uv
/8//qm7tu7K6zRbF32mCr9OrfHK3gOnO0g+LApauLpp1eraCr+7o6XyeFbPX
adk0/1wsRs1qPprmUW9no/RkcZvPrrPK93mWNXdF3frpd3U9p5ZGubb0z7f4
/WhSzqNxjEfpcXb/Ef52oxgvc9iDKvqlPQh4YNGkh/O8grGk794d+c5rbmDK
74+Q2lz/SbG4KSsYIAz/dQLvPf3+4mJ4NR7uH4z29p69ppaarLrNm9fpXdMs
69dPniCZZLPR09vlcgRjeTLN649NuZyX09Usr5/AkCfFjRLgk9p/PJ3+496z
3WfcrByS0wtYs1kD5DktsnS8uq7XdZPP0+3Ts/HOP/jfmnyWL+/KxRq+pS/u
gP5mxeKWqBwptsom2M0WdcCnZX93/+lwd2+4+xzn9+O/nP3ry5f988rz0ex6
NrotPz1ZZkvYzieTcnGbfSqL6Wg5vYkGfQS/5DX2lR7iA3hSaBTwQ1OVMz+C
czjR82vYxL1XL18myXA4TLPrusGxJskVEhmwhNUcN1EWK4dzm86LRTEH2ppn
yyXOETYqhb3MlvVqBosJ39C5xsUJxze5qEo4gOUMuM3VxQ4ff+BCMqzU/3wE
vy+zyce8qdP7Amh0kTZ3OfOqpTw34gHqGOBPIPdZzo22WNsoOW3SbFaX6bSo
J6u6hmnclfdpU6azHB7NbnPgYrAk6U1VzkNfxXw5y3H6RCIpDyPJF9NlCXsK
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
0mECa91KmdvjRU9v1nDtwd3LggesAAyFiQdfnK6YfEA7McKE7ukyvYbB3hdT
+AvWcyZ8F1ufFR9x0SazkgWMv+dVKYzlAl88u/qQHhc13bZr20n2jx6VGZDv
hHjil0fzZgUUk83ERaGqt7VSr5YorcNEgBmj0wA9w4um/7TByPb2d3fh0ca0
JjVIC+GpDXaDCpGh+TAIniVxt7wgbnN88e4ChnSs9vaXL1Ed3wEySKPv9/Ze
7bEJnJ7aR2PLTptMciSIFdAXTdIUy0guyFRxhuvpHk1XIkx5/UEXSI0awqNI
YSCGXDlLVE6sT905KLbBikzyipQm88iwNrssZ+Vtgf6Te+K7xAPvizq31SHD
H4qjd2WBl+Wq0QXDWcA6AiXz+HGOxNFYxRfHj1hVi2VGPjV8n/UcoD68Z9EZ
wBcuS/lq6Sa6JUmFdqv227Usbm/XRMMkOQhPF2ZYA2Nji4OZpViyoKcGaaQU
kRTiOokkylZf9Nvh0b8K7yRmosxbvrrOnZLeOA7NNxlfdyzV4Ck686YSEjtZ
ksNRnYu+8ZbGhX2hq8wUmKMgD3555DUP0rCNZ01QOahgB8n8MvC0AXRovpS3
6kuRdW87qFBVJEcWMTu2iRXe7KWak7HEeiCslP/2GhR9pSQ8LWo0cqyK+g5W
SzVgWK01XahmFHB727otN9xhncvL26XMvnbyeTkrCzKz6Ga4pSX3iXxNq1t7
g7pJKmQMJVkYzwL27ff1JmzgBg30q6okWwqRTM0OR/ZItUizuVZNoxqV8imb
FVN27dv20CT4lG4ajWeoo/Q9HuHW68QSyMouXZAOYfYK2FjQZCqLtkBXkWpt
2UJkOlFynbOsLm7hfySNZereyRZBHkf9vPzk2rRfoJEKRaVW+yWJ57Ar1Wop
YklNRq1UPQW2BjQ8liP4BicGR5f8mtkUHWTQOYBu3NHjedJf2ZpVqhqOEmmv
vMhBUGZvmLBA1WhpHsFCU9TKiGw5m9KfEbskiLwnZY3C8ySfzchrxduDe0+i
o/z8U/G24J+CcYEtLGZWCGYAJ2d2j8h5fi/cx/tCvjxa5PekOjDz0T0V/tNd
qy69tw6ZWE9i+n6YnOsCv8wWebmq/R6idYevU/5uivpXuZyLhkvBCCdXb5Hq
T4fHIxcYSboQ90THcJT+lKOl/E+NxpkIy8hMTl1VRHzqYdQ4nIHpQF0n/V1W
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
/ILVf4lA1v5fcsiNP9xeAQA=

-->

</rfc>
