<?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.5 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-avtcore-rtp-over-quic-08" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.2 -->
  <front>
    <title>RTP over QUIC (RoQ)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-over-quic-08"/>
    <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 congestion control 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"/>. Historically, "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>Modern general-purpose "congestion control" algorithms have moved beyond avoiding congestion collapse, and work to avoid "bufferbloat", which causes increasing round-trip delays, as described in <xref target="rate-adaptation-application-layer"/>.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>"Rate adaptation" more commonly refers 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>
      <t>When RTP runs over QUIC, as described in this specification, QUIC is performing congestion control, and the RTP application is responsible for performing rate adaptation.</t>
      <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.
A congestion control mechanism may respond to packet loss (detected by timeouts), or to impending packet loss (signaled by mechanisms such as Explicit Congestion Notification <xref target="RFC3168"/>).
It may also limit growth in round-trip delays, due to increasing queuing delays (signaled by mechanisms such as Low Latency, Low Loss, and Scalable Throughput (L4S) <xref target="RFC9330"/>).
Congestion control mechanisms are often implemented at the transport layer of the protocol stack, but can also be implemented at the application layer.</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 impending congestion, and adjust the sending rate to prevent continued increases in one-way delay.</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>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>An application-level mechanism that adjusts the sending rate of an application in order to respond to changing path conditions. For example, an application sending video might respond to indications of congestion by adjusting the resolution of the video it is sending.</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 congestion control specifications, Network-Assisted Dynamic Adaptation (NADA) <xref target="RFC8698"/> and Self-Clocked Rate Adaptation for Multimedia (SCReAM) <xref target="RFC8298"/>.
These congestion control 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 congestion control 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 such algorithms in 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 congestion control algorithm that meets the
requirements described in "Congestion Control Requirements for Interactive
Real-Time Media" <xref target="RFC8836"/>.</t>
        <t>Some 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 <xref target="RFC9000"/> without extensions.
The
QUIC implementations of the sender and receiver can use an extension to add this
information to QUIC 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 its 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 (0x00):</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 (0x01):</dt>
        <dd>
          <t>An error that does not match a more specific error code occured.</t>
        </dd>
        <dt>ROQ_INTERNAL_ERROR (0x02):</dt>
        <dd>
          <t>An internal error has occured in the RoQ stack.</t>
        </dd>
        <dt>ROQ_PACKET_ERROR (0x03):</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 (0x04):</dt>
        <dd>
          <t>The endpoint detected that its peer created a stream that violates the ROQ protocol.</t>
        </dd>
        <dt>ROQ_FRAME_CANCELLED (0x05):</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 (0x06):</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 (0x07):</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">0x00</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">0x01</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">0x02</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">0x03</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">0x04</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">0x05</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">0x06</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">0x07</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="Yunfei Ma" initials="Y." surname="Ma">
              <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="7" month="February" year="2024"/>
            <abstract>
              <t>   This document describes a simple HTTP-based protocol that will allow
   WebRTC-based ingestion of content into streaming services and/or
   CDNs.

   This document updates RFC 8842 and RFC 8840.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wish-whip-13"/>
        </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="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-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="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="27" month="October" 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-07"/>
        </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="23" month="January" year="2024"/>
            <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 event 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 delivery of stream
   data up to a certain byte offset.

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

<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:
H4sIAAAAAAAAA9W963bbWHYu+h9PgSP/aEmDpC3Zli85SUWW5CollqwW5arO
SGdUQyQkISYJBgAts12Vx9ovcF7szPuaCwBlV1X22Od0j1EWSWBd55prXr85
HA6Tpmhm+et06/LqIi0/5VX65w+nR+n2Zfnnna1kWk4W2Rx+nlbZTTMs8uZm
mH1qJmWVD6tmOcQXhv+1KibDJy+TSdbkt2W1fp3WzTSZwqfX6Zfjw6uTX5Ok
WFav06Za1c3+kyevnuwnWZVn0Ovhcjkr4MWiXNRptpiml3k2G14V83wruS+r
j7dVuVric6tpUT7+sZjmZXpVZYt6WVZNegTjSM+yYtHki2wxgXc+5mt4bfo6
PYXvqkXeDI9x5ElSN9D6z9msXMCo1nmdLIvX6b835WSQ1tBUld/U8Nd6jn/8
R1KvrudFXcOomvUSXjg9uXqbJNmquSur10k6TFL4X7GoX6f/MkrfNw195pX6
l//nf1W39l1Z3WaL4u80wdfpVT65W8B0Z+mHRQFLVxfNOj1bwVd39HQ+z4rZ
67Rsmn8uFqNmNR9N86i3s1F6srjNZ9dZ5fs8y5q7om799Lu6nlNLo1xb+udb
/H40KefROMaj9Di7/wh/u1GMlznsQRX90h4EPLBo0sN5XsFY0nfvjnznNTcw
5fdHSG2u/6RY3JQVDBCG/zqB955+f3ExvBoP9w9Ge3vPXlNLTVbd5s3r9K5p
lvXrx4+RTLLZ6OntcjmCsTye5vXHplzOy+lqltePYciT4kYJ8HHtP55O/3Hv
2ZNn3KwcktMLWLNZA+Q5LbJ0vLqu13WTz9Pt07Pxzj/435p8li/vysUavqUv
7oD+ZsXilqgcKbbKJtjNFnXAp2X/yf7T4ZO94ZPnOL8f/+XsX1++7J9Xno9m
17PRbfnp8TJbwnY+npSL2+xTWUxHy+lNNOgj+CWvsa/0EB/Ak0KjgB+aqpz5
EZzDiZ5fwybuvXr5MkmGw2GaXdcNjjVJrpDIgCWs5riJslg5nNt0XiyKOdDW
PFsucY6wUSnsZbasVzNYTPiGzjUuTji+yUVVwgEsZ8Btri52+PgDF5Jhpf7n
I/h9mU0+5k2d3hdAo4u0ucuZVy3luREPUMcAfwK5z3JutMXaRslpk2azukyn
RT1Z1TVM4668T5syneXwaHabAxeDJUlvqnIe+irmy1mO0ycSSXkYSb6YLkvY
U2Ah8A3wH+gLWqry6QqWGl9e5DAO+Cr/PAFCgMZxSjYjnDn3nlgH6SRs20RW
BJ+rcFDZNFvKEHA1ylUDnc3WOG34CttObqDHa2h/xLs4L6bTWZ4kj5AzVkD+
RHz/2/f0y5f/6/Lt0dPnz5/8+utXNzh6WNYm2bTb6TY//urJE3h853/L5iff
sPnpN29+0rv5A7f76TftfvL13U/d7j96lL6Bv/AmhQa+PLq2D7/i9ud925g+
tI2wtrf5ApZpNlunq5oJe5JV1TqprCnmgkgzMHy8b2i8SE70Ayw53q54564m
d2lWp5/oboeHb/IKr4F6kGSTqqxrWkK9zkdpOi6Qf+G2VjmIHhVsXuh2ms/w
dlszl4V3yxkMFNYTlp8XPJ2VuOEDanaa32TAs1NYjLziFWxsDYzS7mB413m+
SD8cXwygM7zDZmuizPT46t0YVx0uFVyGOp+sKt51nqjtOQ6onEyympYBVg63
aRu/XcKAimtoEJrawaWAdYMnZPuIrKOLCUZdT6riGk/pIs2CBAWbgaRb3git
f/nyHR6Qp09e0gE5xJavsxqWaJHz/FvtltDkomxg0PB9k85Lmgp2kpL8lFXT
vpOQwJhhJaFVvNmEWF6+evXq118HqT+l7tMefsLZ2zf78E0Caw6EQNekriWc
r2FTDuEftzcwqgb3l04xD5fpEIXG9D6fzeARIPLbu/T88Io57A3Qyj0sbD1K
3uTrEtvDtQ0rEsgo82LpBBbgGgj+pmj4NqAlyD+D0Ek0bCS8WsAxLLLrmfAL
uFKz2yqb14lMcn+fpn1/B1JXylPFTZxOCzkc8LGoqAH4Fa71BlkxHCJ3sGAN
bmDH0u18dDsawHZBtwsgybrOgOyrnNZIhFdkLnjj43re5dl0WN4McarJ9ayc
gIx1u8P84awEoUpm++XRPHwCDvGWWCD1XNK/KDDPc5CjYcof+XTC6GoYP477
v1bMtQbp1v3dOq2BO82msPxrfCGwN9yPab6clesUOPLWdymReU87uCR59Ylu
pOu8AS4A79b3yGORMLeu80kGPAi2HPdpa5R+WMJLIMXP8gmPAwd4U85m5T0u
g5scEBiIbvDyzWpGZxdZ/oh5on+M+DweQm4xBdUFv4OVX4KEXEzgOqyY7zNF
NzwVGoGtzwzlbaJaPGBAhWExgDm69cBP97xot1WeI2/ZInZS1g2+gwLtovED
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
sX0cA7NhAQA=

-->

</rfc>
