<?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.17 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-avtcore-rtp-over-quic-11" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title>RTP over QUIC (RoQ)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-over-quic-11"/>
    <author initials="M." surname="Engelbart" fullname="Mathis Engelbart">
      <organization>Technical University of Munich</organization>
      <address>
        <email>mathis.engelbart@gmail.com</email>
      </address>
    </author>
    <author initials="J." surname="Ott" fullname="Jörg Ott">
      <organization>Technical University of Munich</organization>
      <address>
        <email>ott@in.tum.de</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 98?>

<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).</t>
      <t>This document also discusses how to leverage state that is already available
from the QUIC implementation in the endpoints, in order to reduce the need to
exchange RTCP packets, and describes different options for implementing congestion control and rate
adaptation for RTP 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 109?>

<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).</t>
      <t>This document also discusses how to leverage state that is already available
from the QUIC implementation in the endpoints, in order to reduce the need to
exchange RTCP packets, and describes different options for implementing congestion control and rate
adaptation for RTP 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 historically been
UDP <xref target="RFC0768"/>, but a large variety of other underlying transport protocols
have been defined for various reasons (e.g., securing media exchange, or
providing a fallback when UDP is blocked along a network path). This document
describes RTP over QUIC, providing one more underlying transport protocol. The
reasons for using QUIC as an underlying transport protocol are given in
<xref target="motivations"/>.</t>
        <t>This document describes an application usage of QUIC (<xref target="RFC9308"/>).
As a baseline, the document 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.
Beyond this baseline, real-time applications can benefit from QUIC extensions such as unreliable 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="in-scope">
        <name>What's in Scope for this Document</name>
        <t>This document focuses on providing a secure encapsulation of RTP and RTCP packets
for transmission over QUIC. The expected usage is wherever RTP is used to carry
media packets, allowing QUIC in place of other underlying transport protocols.
We expect RoQ to be used in contexts where a signaling protocol is used to announce or negotiate a media
encapsulation for RTP and the associated transport parameters (such as IP address, port
number). RoQ does not provide a stand-alone media transport capability, because at a minimum, media
transport parameters would need to be statically configured.</t>
        <t>RoQ can be used in many of the point-to-point and multi-endpoint RTP topologies described in <xref target="RFC7667"/>, and can be used with both decentralized and centralized control topologies.
When RoQ is used in a decentralized topology, RTP packets are exchanged directly between ultimate RTP endpoints.
When RoQ is used in a centralized topology, RTP packets transit one or more middleboxes which might function as mixers or translators between ultimate RTP endpoints.
RoQ can also be used in RTP client-server-style settings, e.g., when talking to a
conference server as described in RFC 7667 (<xref target="RFC7667"/>), or, if RoQ
is used to replace RTSP (<xref target="RFC7826"/>), to a media server.</t>
        <t>Moreover, this document describes how a QUIC implementation and its API can be
extended to improve efficiency of the RoQ protocol operation.</t>
        <t>RoQ does not limit the usage of RTP Audio Video Profiles (AVP)
(<xref target="RFC3551"/>), or any RTP-based mechanisms, although it might render some of
them unnecessary, e.g., Secure Real-Time Transport Protocol (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, although some information or functions provided by using RTCP
mechanisms might also be available from the underlying QUIC implementation.</t>
        <t>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
can be established in parallel using the same 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 Document</name>
        <t>This document does not 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>This document does not specify RoQ for point-to-multipoint applications, because QUIC
itself is not defined for multicast operation. The scope of this document is
limited to unicast RTP, even though nothing would prevent its use
in multicast setups if future QUIC extensions support multicast.</t>
        <t>RoQ does not define new congestion control and rate adaptation algorithms
for use with RTP media, and does not specify the use of particular congestion control and rate adaptation algorithms for use with RTP media. However, <xref target="congestion-control"/> discusses multiple ways that congestion control and rate adaptation could be performed at the QUIC and/or at
the RTP layer, and <xref target="api-considerations"/> describes information available at the QUIC layer that could be exposed
via an API for the benefit of RTP layer implementation.</t>
        <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>Note to the Reader:</strong> <xref target="RFC3550"/> actually describes two closely-related protocols - the RTP Data Transfer Protocol <xref section="5" sectionFormat="of" target="RFC3550"/>, and the RTP Control Protocol <xref section="6" sectionFormat="of" target="RFC3550"/>. In this document, the term "RTP" refers to the combination of RTP Data Transfer Protocol and RTP Control Protocol, because the distinction isn't relevant for encapsulation, and the term "RTCP" always refers to the RTP Control Protocol.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t><strong>Note to the Reader:</strong> the meaning of the terms "congestion avoidance", "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>
      <ul empty="true">
        <li>
          <t>When RTP runs over QUIC, as described in this document, QUIC is performing congestion control, and the RTP application is responsible for performing rate adaptation.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>In this document, these terms are used with the meanings listed below, with the recognition that not all the references in this document use these terms in the same way.</t>
        </li>
      </ul>
      <t>The following terms are used in this document:</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, which might cause intermediaries on the path to drop packets before they arrive at the receiver.</t>
        </dd>
        <dt>Datagram:</dt>
        <dd>
          <t>The term "datagram" is ambiguous. Without a qualifier, "datagram" could refer to a UDP packet, or a QUIC DATAGRAM frame, as defined in QUIC's unreliable DATAGRAM extension <xref target="RFC9221"/>, or an RTP packet encapsulated in UDP, or an RTP packet capsulated in QUIC DATAGRAM frame. This document uses the uppercase "DATAGRAM" to refer to a QUIC DATAGRAM frame and the term RoQ datagram as a short form of "RTP packet encapsulated in a QUIC DATAGRAM frame".</t>
        </dd>
      </dl>
      <t>If not explicitly qualified, the term "datagram" in this document refers to an RTP packet, and the uppercase "DATAGRAM" refers to a QUIC DATAGRAM frame. This document also uses the term "RoQ datagram" as a short form of "RTP packet encapsulated in a QUIC DATAGRAM frame".</t>
      <dl>
        <dt>Endpoint:</dt>
        <dd>
          <t>A QUIC client or QUIC server that participates in an RoQ session. "A RoQ endpoint" is used in this document where that seems clearer than "an endpoint" without qualification.</t>
        </dd>
        <dt>Early data:</dt>
        <dd>
          <t>Application data carried in a QUIC 0-RTT packet payload, as defined in <xref target="RFC9000"/>. In this document, the early data would be an RTP packet.</t>
        </dd>
        <dt>Frame:</dt>
        <dd>
          <t>A QUIC frame as defined in <xref target="RFC9000"/>.</t>
        </dd>
        <dt>Peer:</dt>
        <dd>
          <t>The term "peer" is ambiguous, and without a qualifier could be understood to refer to an RTP endpoint, a RoQ endpoint, or a QUIC endpoint. In this document, a "peer" is "the other RoQ endpoint that a RoQ endpoint is communicating with", and does not have anything to do with "peer-to-peer" operation versus "client-server" operation.</t>
        </dd>
        <dt>Rate Adaptation:</dt>
        <dd>
          <t>An application-level mechanism that adjusts the sending rate of an application in response 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 might send or receive RTCP packets.</t>
        </dd>
        <dt>Sender:</dt>
        <dd>
          <t>An endpoint that sends media in RTP packets and might send or receive RTCP packets.</t>
        </dd>
        <dt>Stream:</dt>
        <dd>
          <t>The term "stream" is ambiguous. Without a qualifier, "stream" could refer to a QUIC stream, as defined in <xref target="RFC9000"/>, a series of media samples, or a series of RTP packets. If not explicitly qualified, the term "stream" in this document refers to a QUIC stream and the term "STREAM" refers to a single QUIC STREAM frame. This document also uses the term "RTP stream" or "RTCP streams" as a short form of "a series of RTP packets" or "a series of RTCP packets", the term "RoQ stream" as a short form of "one or more RTP packets encapsulated in QUIC streams" and the term "media stream" as a short form of "a series of one or more media samples".</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 both QUIC streams and
QUIC DATAGRAMs to transport real-time data, and thus, if RTP packets
are to be sent over QUIC DATAGRAMs, the QUIC
implementation MUST support QUIC's DATAGRAM extension.</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.
<xref target="RFC9221"/> 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 depend on the application and on the codec in use. For example, adjusting quantization in response to changing network conditions might 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 documents for real-time media, Network-Assisted Dynamic Adaptation (NADA) <xref target="RFC8698"/> and Self-Clocked Rate Adaptation for Multimedia (SCReAM) <xref target="RFC8298"/>.
These congestion control algorithms use feedback about the network's performance to calculate target bitrates. When these algorithms are used with RTP, the necessary feedback is generated at the receiver and sent back to the sender via RTCP.</t>
      <t>Since QUIC itself collects some metrics about the network's performance, these QUIC
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="motivations">
        <name>Motivation</name>
        <t>From time to time, someone asks the reasonable question, "why would 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 payloads have existed since the introduction of the Secure Real-time Transport Protocol (SRTP) <xref target="RFC3711"/>, the additional encryption of RTP 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 the QUIC header fields needed to establish a connection, to "short headers", which only expose the absolute minimum QUIC header fields needed to identify an existing connection to the receiver, so that the QUIC payload is presented to the correct QUIC application <xref target="RFC8999"/>.</t>
        </section>
        <section anchor="always-on-internet-safe-congestion-control">
          <name>"Always-On" Internet-Safe Congestion Control</name>
          <t>When RTP is carried directly over UDP, as is commonly done, the underlying UDP protocol provides multiplexing using UDP ports, but no transport services beyond multiplexing are provided to the application. All congestion control behavior is up to the RTP application itself, and if anything goes wrong with the application and this condition results in an RTP sender failing to recognize that it is contributing to path congestion, the "worst case" response is to invoke the RTP "circuit breaker" procedures <xref target="RFC8083"/>. These procedures result 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 estimates are independent of any measurements RTP senders and receivers are maintaining. The result is that even if an RTP sender attempts to "send" in the presence of persistent path congestion, QUIC congestion control 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 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, arriving at the receiver later than a consumer 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 will impact RTT measurements using RTCP and can interfere with a sender's ability to stabilize rate control and achieve audio/video synchronization.</t>
            </li>
          </ul>
          <t>In summary,</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, but</t>
            </li>
            <li>
              <t>in the presence of packet loss, QUIC connection-level congestion control will respond more quickly and possibly more smoothly 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>When RTP is carried directly over UDP, RTP makes use of a large number of RTP-specific feedback mechanisms because 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 payload.
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 might 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"/>.
Because the necessary "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 (Maximum Transmission Unit) supported by conformant QUIC implementations is 1200 bytes <xref target="RFC9000"/>. 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 Path MTU size that the receiver can accept, and that the path between sender and receiver can support. The actual Path MTU can be larger than the Minimum Path MTU.</t>
          <t>This is especially useful in certain conferencing topologies, where otherwise senders would have no choice but to use the lowest Path MTU for all conference participants. 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 packets 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>This document defines a flow identifier for multiplexing multiple RTP and
RTCP ports on the same QUIC connection to conserve ports, especially at NATs and
firewalls. <xref target="multiplexing"/> describes the multiplexing in more detail. Future
extensions could further build on the flow identifier to multiplex RTP with
other protocols on the same connection, as long as these protocols can co-exist
with RTP without interfering with the ability of this connection to carry
real-time media.</t>
        </section>
        <section anchor="multiple-paths">
          <name>Exploiting Multiple Paths</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 as described in <xref section="9" sectionFormat="of" 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 could be desirable for a number of reasons, but to give one example, this allows a QUIC connection to survive address changes due to a middlebox allocating a new outgoing port, or even a new outgoing IP address.</t>
          <t>The Multipath Extension for QUIC <xref target="I-D.draft-ietf-quic-multipath"/> would allow the application to actively use two or more paths simultaneously, but in all other respects, this functionality is the same as QUIC connection migration.</t>
          <t>A sender can use these capabilities to more effectively exploit multiple paths between sender and receiver with no action required from the application, even if these paths have different path characteristics.  Examples of these different path characteristics include senders handling paths differently if one path has higher available bandwidth and the other has lower one-way latency, or if one is a more costly cellular path and the other is a less costly WiFi path.</t>
          <t>Some of these differences can be detected by QUIC itself, while other differences must be described to QUIC based on policy, etc. Possible RTP implementation strategies for path selection and utilization are not discussed in this document. Path scheduling APIs to let applications control these mechanisms are a topic for future research and might need further specification in future documents.</t>
        </section>
        <section anchor="new-quic">
          <name>Exploiting New QUIC Capabilities</name>
          <t>The first version of the QUIC protocol described in <xref target="RFC9000"/> has been completed, but extensions to QUIC are still under active development in the IETF. Because of this, using QUIC as a transport for a mature protocol like RTP allows developers to exploit new transport capabilities as they become available.</t>
        </section>
      </section>
      <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 QUIC streams and DATAGRAMs as RTP encapsulations but does not take a position on which encapsulation an application ought to use. Indeed, an application can use both QUIC streams and DATAGRAM encapsulations on the same QUIC connection. The choice of encapsulation is left to the application developer, but it is worth noting differences that are relevant when making this choice.</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 need - for example, 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 need reliable delivery of application data. This extension defines two DATAGRAM frame types (one including a length field, the other not including a length field), and these DATAGRAM frames can co-exist with QUIC streams 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 STREAM frames. QUIC implementations can present an API to allow applications to assign relative priorities within a QUIC connection, but this is not mandated by the standard and might not be present in all implementations.</t>
        <t>Because 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 might 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 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 Path MTU 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>DATAGRAM frames do inherit the QUIC connection's congestion controller. This means that although there is no frame-level flow control, DATAGRAM frames can 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 might not be present in all implementations.</t>
        <t>Because DATAGRAMs are an extension to QUIC, a RoQ endpoint cannot assume that its peer supports this extension.
The RoQ endpoint might discover that its peer does not support DATAGRAMs in one of two ways:</t>
        <ul spacing="normal">
          <li>
            <t>as part of the signaling process to set up QUIC connections, or</t>
          </li>
          <li>
            <t>during negotiation of the DATAGRAM extension during the QUIC handshake.</t>
          </li>
        </ul>
        <t>When either of these situations happen, the RoQ endpoint needs to make a decision about what to do next.</t>
        <ul spacing="normal">
          <li>
            <t>If the use of DATAGRAMs was critical for the application, the endpoint can simply close the QUIC connection, allowing someone or something to correct this mismatch, so that DATAGRAMs can be used.</t>
          </li>
          <li>
            <t>If the use of DATAGRAMs was not critical for the application, the endpoint can negotiate the use of QUIC streams instead.</t>
          </li>
        </ul>
      </section>
      <section anchor="topologies">
        <name>Supported RTP Topologies</name>
        <t>RoQ supports only 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
needs to access the content of QUIC frames (e.g., <em>Topo-PtP-Translator</em>, <em>Topo-PtP-Relay</em>, <em>Topo-Trn-Translator</em>, <em>Topo-Media-Translator</em>),
the QUIC connection will 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 when 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 over DATAGRAMs, where the max_datagram_frame_size
of a QUIC DATAGRAM can be smaller than the MTU of a UDP datagram. In both cases,
the translator might need to rewrite the RTP packets to fit into the smaller MTU
of the other protocol. Such a translator might 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>Not supported, because QUIC <xref target="RFC9000"/> does not support NAT traversal.</t>
          </dd>
          <dt>Note-MTU:</dt>
          <dd>
            <t>Supported, but might require MTU adaptation.</t>
          </dd>
          <dt>Note-Sec:</dt>
          <dd>
            <t>Note that because RoQ uses QUIC as its underlying transport, and QUIC authenticates the entirety of each packet and encrypts as much of each packet as is practical, RoQ secures both RTP headers and RTP payloads, while 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>Not supported, because QUIC <xref target="RFC9000"/> does not support IP multicast.</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>Supported for IP unicast paths between RTP sources and translators.</t>
          </dd>
          <dt>Note-Topo-Mixer:</dt>
          <dd>
            <t>Supported for IP 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 Application-Layer Protocol Negotiation</name>
      <t>QUIC requires the use of Application-Layer Protocol Negotiation (ALPN) <xref target="RFC7301"/> tokens during connection setup. RoQ
uses "roq" as the ALPN token, included as part of the TLS handshake (see also
<xref target="iana-considerations"/>).</t>
      <t>Note that the "roq" ALPN token is not tied to a specific RTP profile, even
though the RTP profile could be considered part of the application usage.  This allows
different RTP sessions, which might use different RTP profiles, to be
carried within the same QUIC connection.</t>
      <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 ALPN token "roq" to identify itself during QUIC connection setup.</t>
        <t>Only implementations of the final, published RFC can identify themselves as
"roq". 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-09 is identified using the string "roq-09".</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 packets in QUIC.</t>
      <t>QUIC supports two transport methods: QUIC streams <xref target="RFC9000"/> and DATAGRAMs <xref target="RFC9221"/>. This document specifies mappings of RTP to both transport modes.
Senders MAY combine both modes by sending some RTP packets over the same or different QUIC streams and others in DATAGRAMs.</t>
      <t><xref target="multiplexing"/> introduces a multiplexing mechanism that supports multiplexing multiple RTP sessions and RTCP. <xref target="quic-streams"/> and <xref target="quic-datagrams"/> explain
the specifics of mapping RTP to QUIC streams and DATAGRAMs, respectively.</t>
      <section anchor="multiplexing">
        <name>Multiplexing</name>
        <t>RoQ uses flow identifiers to multiplex different RTP 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
an RTP stream.</t>
        <t>In a QUIC connection using the ALPN token defined in <xref target="alpn"/>, every DATAGRAM and every QUIC stream MUST start with a flow identifier.
An endpoint 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 packets of different RTP sessions MUST use distinct flow
identifiers. If endpoints wish to send multiple types of media in a single RTP
session, they can do so by following the guidance specified in <xref target="RFC8860"/>.</t>
        <t>A single RTP session can 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 can use
the same flow identifier (following the procedures defined in <xref target="RFC5761"/>), or
they can use different flow identifiers.</t>
        <t>Endpoints need to associate flow identifiers with RTP streams. Depending on the
context of the application, the association can be statically configured,
signaled using an out-of-band signaling mechanism (e.g., SDP), or applications
might be able to identify the stream based on the RTP packets sent on the stream
(e.g., by inspecting the payload type).</t>
        <t>If an endpoint receives a flow identifier that it cannot associate with an RTP
stream, the endpoint MAY close the connection using the ROQ_UNKNOWN_FLOW_ID
error code. Closing the connection can be a valid response if it is not expected
that out of band signaling is still ongoing and the application cannot handle
unknown flow identifiers.</t>
        <t>If the association of flow identifiers with RTP streams depends on out-of-band
signaling, the signaling mechanism SHOULD be completed before the exchange of
RTP packets using the new flow identifiers starts.</t>
        <t>In cases where it cannot be guaranteed that signaling is completed before RTP
packets are transmitted, streams or DATAGRAMs with a given flow identifer can
arrive before the signaling finished. In that case, an endpoint cannot associate
the stream or DATAGRAM with the corresponding RTP stream. The endpoint can
buffer streams and DATAGRAMs using an unknown flow identifier until they can be
associated with the corresponding RTP stream. To avoid resource exhaustion, the
buffering endpoint MUST limit the number of streams and DATAGRAMs to buffer. If
the number of buffered streams exceeds the limit on buffered streams, the
endpoint MUST send a STOP_SENDING with the error code ROQ_UNKNOWN_FLOW_ID. It is
an implementation's choice on which stream to send STOP_SENDING. If the number
of buffered DATAGRAMs exceeds the limit on buffered DATAGRAMs, the endpoint MUST
drop a DATAGRAM. It is an implementation's choice which DATAGRAMs to drop.</t>
        <t>Flow identifiers introduce some overhead in addition to the header overhead of
RTP and QUIC. QUIC variable-length integers require between one and eight
bytes depending on the number expressed. Thus, using low
numbers as session identifiers first will minimize this additional overhead.</t>
      </section>
      <section anchor="quic-streams">
        <name>QUIC Streams</name>
        <t>To send RTP 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 packets.
An endpoint that receives a bidirectional stream with a flow identifier that is associated with an RTP stream, MUST stop reading from the stream and send a CONNECTION_CLOSE frame with the frame type set to APPLICATION_ERROR and the error code set to ROQ_STREAM_CREATION_ERROR.</t>
        <t>The underlying QUIC implementation might be acting as either a QUIC client or QUIC server, so the unidirectional QUIC stream can be either client-initiated or server-initiated, as described in <xref section="2.1" sectionFormat="of" target="RFC9000"/>, depending on the role.
The QUIC implementation's role is not controlled by RoQ, and can be negotiated using a separate signaling protocol.</t>
        <t>A RoQ sender can open new QUIC streams for different RTP packets using the same flow identifier. This allows RoQ senders to use QUIC streams while avoiding head-of-line blocking.</t>
        <t>Because a sender can continue sending on a stream with a lower stream identifier after starting packet transmission on a stream with a higher stream identifier, 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 any particular stream.</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 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 Payload:</dt>
            <dd>
              <t>Contains the RTP 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 payloads. All RTP 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
packet, followed by the packet itself, see <xref target="fig-rtp-stream-payload"/>.</t>
          <figure anchor="fig-rtp-stream-payload">
            <name>RTP payload for QUIC streams</name>
            <artwork><![CDATA[
RTP Payload {
  Length(i),
  RTP 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 packets in bytes.</t>
            </dd>
            <dt>RTP Packet:</dt>
            <dd>
              <t>The RTP 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 receiver that is no longer interested in reading a certain portion of
the media stream can signal this to the sending peer using a STOP_SENDING
frame.</t>
          <t>If a RoQ sender discovers that a packet is no longer needed and knows that the packet has not yet been successfully and completely transmitted, it can use RESET_STREAM to tell the RoQ receiver that the RoQ sender is discarding the packet.</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 RTP media, only an indication that a RoQ receiver stopped reading the QUIC stream being used to carry that RTP media.
This can mean that the RoQ receiver is no longer able to use the media frames being received because they are "too old".
A sender with additional media frames to send can continue sending them on another QUIC stream.
Alternatively, new media frames can be sent as DATAGRAMs (see <xref target="quic-datagrams"/>).
In either case, a RoQ sender resuming operation after receiving STOP_SENDING can continue starting with the newest media frames available for sending. This allows a RoQ receiver to "fast forward" to media frames that are "new enough" to be used.</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 a particular media
frame because the sending QUIC implementation might already have sent data for
one or more following media frames on the same stream. In that case, STOP_SENDING and the
resulting RESET_STREAM would also discard the following media frames and thus lead
to unintentionally skipping one or more media frames.</t>
          <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 encapsulated in DATAGRAMs.</t>
          <t>QUIC implementations will fragment large RTP packets into smaller QUIC STREAM
frames. The data carried in these QUIC STREAM frames is transmitted reliably and
is delivered to the receiving application in order, so 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 data that was
carried in QUIC frames that were lost in transit is 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 MUST configure non-zero minimum values for the number of permitted streams and the initial stream flow-control window.
These minimum values control the number of parallel, or simultaneously active, RTP flows.
Endpoints that excessively restrict the number of streams or the flow-control window of these streams will increase the chance that the sending peer reaches the limit early and becomes blocked.</t>
          <t>Opening new streams for new packets can 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 can 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 at any time.</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 RTP middlebox. 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 RTP middlebox every
second.</t>
          <t>In addition, the receiver ought to also consider the requirements of RTCP streams.
These considerations can also be relevant when implementing signaling since it
can be necessary to inform the receiver about how many stream
credits it will have to provide to the sending peer, and how rapidly it must provide these stream credits.</t>
        </section>
      </section>
      <section anchor="quic-datagrams">
        <name>QUIC DATAGRAMs</name>
        <t>Senders can also transmit RTP packets in QUIC DATAGRAMs, using
a QUIC extension described in <xref target="RFC9221"/>.
DATAGRAMs can only be used if the use of the DATAGRAM extension was successfully negotiated during the QUIC handshake.
If the DATAGRAM extension was negotiated using a signaling protocol, but was not also negotiated during the resulting QUIC handshake, an endpoint can close the connection with the ROQ_EXPECTATION_UNMET error code.</t>
        <t>DATAGRAMs preserve application frame boundaries.
Thus, a single RTP packet can be mapped to a single DATAGRAM without additional framing.
Because QUIC DATAGRAMs cannot be IP-fragmented (<xref section="5" sectionFormat="of" target="RFC9221"/>), senders need to consider the header overhead associated with DATAGRAMs, and ensure that the RTP packets, including their payloads, flow identifier, QUIC, and IP headers, will fit into the 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 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 Packet:</dt>
          <dd>
            <t>The RTP packet to transmit.</t>
          </dd>
        </dl>
        <t>RoQ senders need to be aware that QUIC uses the concept of QUIC frames, and QUIC connections use
different kinds of QUIC frames to carry different application and control data types.
A single QUIC packet can contain more than one QUIC frame, including, for example, QUIC STREAM frames or DATAGRAM frames carrying application data and ACK frames carrying QUIC acknowledgments, 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 ACK 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 would need to create additional packets for ACK frames, 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 ACK frames. Another implication is that multiple RTP packets in either QUIC streams or QUIC DATAGRAMs might be encapsulated in a single QUIC packet, which is discussed in more detail in <xref target="coalescing-packets"/>.</t>
        <t>Since DATAGRAMs are not retransmitted on loss (see also
<xref target="transport-layer-feedback"/> for loss signaling), if an application is using DATAGRAMs and wishes to
retransmit lost RTP packets, the application has to carry out that retransmission.
RTP retransmissions can be done in the same RTP session or in a
different 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 endpoint can close the connection for any of a variety of reasons. If one of the
endpoints wants to close the RoQ connection, the endpoint can use a QUIC
CONNECTION_CLOSE frame with one of the error codes defined in
<xref target="error-handling"/>.</t>
    </section>
    <section anchor="error-handling">
      <name>Error Handling</name>
      <t>The following error codes are defined for use when abruptly terminating RoQ streams,
aborting reading of RoQ 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 occurred.</t>
        </dd>
        <dt>ROQ_INTERNAL_ERROR (0x02):</dt>
        <dd>
          <t>An internal error has occurred 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, e.g., a bidirectional stream, for sending RTP packets.</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
signaled or because the endpoint does not support multiplexing using arbitrary
flow identifiers.</t>
        </dd>
        <dt>ROQ_EXPECTATION_UNMET (0x07):</dt>
        <dd>
          <t>RoQ out-of-band signaling set expectations for QUIC transport, but the resulting QUIC connection would not meet those expectations.</t>
        </dd>
      </dl>
    </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
RTP 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>Congestion control mechanisms are often implemented at the transport layer of the protocol stack, but can also be implemented at the application layer.</t>
        <t>A congestion control mechanism could respond to actual packet loss (detected by timeouts), or to impending packet loss (signaled by mechanisms such as Explicit Congestion Notification <xref target="RFC3168"/>).</t>
        <t>For real-time traffic, it is best that the QUIC implementation uses a congestion
controller that aims at keeping queues at intermediary
network elements, and thus latency, as short as possible. Delay-based congestion control algorithms
might 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>
        <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 transmission at low latencies,
but the guidance in 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.
QUIC implementations can use an extension to add this information to QUIC as described in <xref target="optional-extensions"/>.
In addition to these dedicated real-time media congestion-control algorithms, QUIC implementations could support the Low Latency, Low Loss, and Scalable Throughput (L4S) Internet Service <xref target="RFC9330"/>, which limits growth in round-trip delays that result from increasing queuing delays.
While L4S does not rely on a QUIC protocol extension, L4S does rely on support from network devices along the path from sender to receiver.</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 also 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 the QUIC exemplary congestion control algorithm (<xref section="7.7" sectionFormat="of" target="RFC9002"/>) recommends pacing for senders.</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 target bitrate 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 an RTP application paces its media transmission at a rate that does not saturate path bandwidth,
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) ought to rarely come into play. If an RTP
application chooses RoQ as its transport, sends enough media to saturate the available
path bandwidth, and does not adapt its sending rate, these 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 can establish channels 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.</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>
          <li>
            <t>A third option is to multiplex all channels, whether real-time or non-real-time, in a single QUIC connection via an
extension to RoQ.</t>
          </li>
        </ul>
        <t>In the first two 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 by extending RoQ,
the underlying QUIC implementation will likely use the same congestion
controller for all channels in the shared QUIC connection. For this reason,
applications multiplexing real-time and non-real-time channels in one connection
will need to implement some form of prioritization or bandwidth allocation for
the different channels.</t>
      </section>
    </section>
    <section anchor="s-d-m-guidance">
      <name>Guidance on Choosing QUIC Streams, QUIC DATAGRAMs, or a Mixture</name>
      <t>As noted in <xref target="streams-and-datagrams"/>, this document does not take a position on using QUIC streams, QUIC DATAGRAMs, or a mixture of both, for any particular RoQ use case or application. It does seem useful to include observations that might guide implementers who will need to make choices about that.</t>
      <t>One implementation goal might be to minimize processing overhead, for applications that are migrating from RTP over UDP to RoQ. These applications don't rely on any transport protocol behaviors beyond UDP, which can be described as "IP plus multiplexing". The implementers might be motivated by one or more of the advantages of encapsulating RTP in QUIC that are described in <xref target="motivations"/>, but they do not need any of the advantages that would apply when encapsulating RTP in QUIC streams. For these applications, simply placing each RTP packet in a QUIC DATAGRAM frame when it becomes available would be sufficient, using no QUIC streams at all.</t>
      <t>Another implementation goal might be to prioritize specific types of video frames over other types. For these applications, placing each type of video frame in a separate QUIC stream would allow the RoQ receiver to focus on the most important video frames more easily. This also allows the implementer to rely on QUIC's "byte stream" abstraction, freeing the application from dealing with MTU size restrictions, in contrast to the need to fit RTP packets into QUIC DATAGRAMs. The application might use QUIC streams for all of the RTP packets carried over this specific QUIC connection, with no QUIC DATAGRAMs at all.</t>
      <t>Some applications might have implementation goals that don't fit neatly into "QUIC streams only" or "QUIC DATAGRAMs only" categories. For example, another implementation goal might be to use QUIC streams to carry RTP video frames, but to use QUIC DATAGRAMs to carry RTP audio frames, which are typically much smaller. Because humans tend to tolerate inconsistent behavior in video better than inconsistent behavior in audio, the application might add Forward Error Correction <xref target="RFC6363"/> to RTP audio packets and encapsulate the result in QUIC DATAGRAMs, while encapsulating RTP video packets in QUIC streams.</t>
      <t>As noted in <xref target="multiplexing"/>, all RoQ streams and RoQ datagrams begin with a flow identifier. This allows a RoQ sender to begin by encapsulating related RTP packets in QUIC streams and then switch to carrying them in QUIC DATAGRAMs, or vice versa. RoQ receivers need to be prepared to accept any valid RTP packet with a given flow identifier, whether it started by being encapsulated in QUIC streams or in QUIC DATAGRAMs, and RoQ receivers need to be prepared to accept RTP flows that switch from QUIC stream encapsulation to QUIC DATAGRAMs, or vice versa.</t>
      <t>Because QUIC provides a capability to migrate connections for various reasons, including recovering from a path failure (<xref section="9" sectionFormat="of" target="RFC9000"/>), when a QUIC connection migrates, a RoQ sender has the opportunity to revisit decisions about which RTP packets are encapsulated in QUIC streams, and which RTP packets are encapsulated in QUIC DATAGRAMs. Again, RoQ receivers need to be prepared for this eventuality.</t>
    </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,
receiving little or no transport feedback, existing 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 media streams.</t>
      <t>Because QUIC can provide 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 feedback provided by 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 are to be
sent. This document does not change any of the rules described by either
protocol. Rather, it 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 still 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
packets encapsulated in QUIC streams and RTP packets encapsulated in DATAGRAMs.
The differences are described in <xref target="roc-d"/> and <xref target="roc-s"/>.</t>
      <t>While RoQ places no restrictions on applications sending RTCP, this document assumes that the reason an implementer chooses to support RoQ is to obtain benefits beyond what's available when RTP uses UDP as its underlying transport layer.
Exposing relevant information from the QUIC layer to the application instead of exchanging additional RTCP packets, where applicable, will reduce processing and bandwidth overhead for RoQ senders and receivers.</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 STREAM frames that carried parts of the RTP packet were
acknowledged.</t>
        <t>When QUIC streams are used, the implementer needs to be aware that the direct
mapping proposed below might 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 can be incorrect due to
retransmissions or transmission delays introduced by the QUIC stack.</t>
      </section>
      <section anchor="multi-hop">
        <name>Multihop Topologies</name>
        <t>In some topologies, RoQ might only be used on some of the links between multiple
session participants. Other links might be using RTP over UDP, or over some other
supported RTP encapsulation protocol, and some participants might be using RTP
implementations that don't support RoQ at all. These participants will not be
able to infer feedback from QUIC, and they might receive less RTCP feedback than
expected. This situation can arise when participants using RoQ are not aware that
other participants are not using RoQ and minimize their use of RTCP,
assuming their RoQ peer will be able to infer statistics from QUIC. There are
two ways to solve this problem:</t>
        <ul spacing="normal">
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>If the middlebox does not provide Back-to-Back RTP sessions, participants can
use additional signaling to let the RoQ participants know what RTCP is
required.</t>
          </li>
        </ul>
      </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 would apply when exchanging any other type of RTCP control packets using RoQ.</t>
        <t>A more thorough analysis including the information that cannot be mapped from
QUIC can be found in <xref target="rtcp-analysis"/>: 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"/>).</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.
QUIC supports ECN reporting through acknowledgments.
If the QUIC connection supports ECN, using QUIC acknowledgments to report ECN counts, rather than RTCP ECN feedback reports, reduces bandwidth and processing demands on the RTCP implementation.</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="api-considerations">
      <name>RoQ-QUIC and RoQ-RTP API Considerations</name>
      <t>The mapping described in the previous sections relies on the QUIC implementation passing some information to the RoQ implementation.
Although RoQ will function without this information, 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>initial_max_data transport</em>: If the QUIC receiver has indicated a willingness to accept
0-RTT packets with early data, this is the maximum size that the QUIC sender can use,
as described in <xref target="ed-considerations"/>.</t>
        </li>
        <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 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 estimate is available in the QUIC
implementation, exposing it avoids the overhead of executing 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.</t>
        </li>
        <li>
          <t><em>RTT</em>: The RTT estimations as described in <xref section="5" sectionFormat="of" target="RFC9002"/>.</t>
        </li>
      </ul>
      <t>One goal for the RoQ protocol is to shield RTP applications from the details of QUIC encapsulation, so the RTP application doesn't need much information about QUIC from RoQ, but some information will be valuable. For example, it could be desirable that the RoQ implementation provides an indication of connection migration to the RTP application.</t>
    </section>
    <section anchor="discussion">
      <name>Discussion</name>
      <t>This section contains topics that are worth mentioning, but don't fit well into other sections of the document.</t>
      <section anchor="impact-of-connection-migration">
        <name>Impact of Connection Migration</name>
        <t>RTP sessions are characterized by a continuous flow of packets in either or
both directions.  A connection migration might lead to pausing media
transmission until reachability of the peer under the new address is validated.
This might lead to short breaks in media delivery in the order of RTT and, if
RTCP is used for RTT measurements, might cause spikes in observed delays.
Application layer congestion control mechanisms (and packet repair schemes
such as retransmissions) need to be prepared to cope with such spikes. As noted in <xref target="api-considerations"/>, it could be desirable that the RoQ implementation provides an indication of connection migration to the RTP application, to assist in coping.</t>
      </section>
      <section anchor="ed-considerations">
        <name>0-RTT and Early Data considerations</name>
        <t>RoQ applications, like any other RTP applications, want to establish a media path quickly, reducing clipping at the beginning of a conversation. For repeated connections between endpoints that have previously carried out a full TLS handshake procedure, the initiator of a QUIC connection can
use 0-RTT packets with "early data" to include application data in a packet that is used to establish a connection.</t>
        <t>As 0-RTT packets are subject to replay attacks, RoQ applications MUST carefully specify which data types and operations
are allowed.</t>
        <t><xref section="9.2" sectionFormat="of" target="RFC9001"/> says</t>
        <ul empty="true">
          <li>
            <t>Application protocols MUST either prohibit the use of extensions that carry application semantics in 0-RTT or provide replay mitigation strategies.</t>
          </li>
        </ul>
        <t>For the purposes of this discussion, RoQ is an application protocol that allows the use of 0-RTT.</t>
        <t>RoQ application developers ought to take the considerations described in <xref target="rej-ed"/> and <xref target="replay-ed"/> into account when deciding whether to use 0-RTT with early data for an application.</t>
        <section anchor="rej-ed">
          <name>Effect of 0-RTT Rejection for RoQ using Early Data</name>
          <t>If the goal for using early data is to reduce clipping, a QUIC endpoint is relying on the other QUIC endpoint to accept the 0-RTT packet carrying early data containing media.</t>
          <t>A QUIC endpoint indicates its willingness to accept a 0-RTT packet containing early data by sending the TLS early_data extension in the NewSessionTicket message with the max_early_data_size parameter set to the sentinel value 0xffffffff.
The amount of data that a QUIC client can send in QUIC 0-RTT is controlled by the initial_max_data transport parameter supplied by the QUIC server.
This is described in more detail in <xref section="4.6.1" sectionFormat="of" target="RFC9001"/>.</t>
          <t>If a QUIC endpoint is not willing to accept a 0-RTT packet containing early data, but receives one anyway, the QUIC endpoint rejects the 0-RTT packet by sending EncryptedExtensions without an early_data extension. This is described in more detail, in <xref section="4.6.2" sectionFormat="of" target="RFC9001"/>.
This necessarily means that a QUIC endpoint attempting to convey RoQ media is now subject to at least one additional RTT delay, as it must send a QUIC Initial packet and perform a full QUIC handshake before it can send RoQ media.</t>
        </section>
        <section anchor="replay-ed">
          <name>Effect of 0-RTT Replay Attacks for RoQ using Early Data</name>
          <t>Including "early data" in the packet payload in any QUIC 0-RTT packet exposes the application to an additional risk, of accepting "early data" from a 0-RTT packet that has been replayed.</t>
          <t>While it is true that</t>
          <ul spacing="normal">
            <li>
              <t>RTP typically carries ephemeral media contents that is rendered and possibly recorded but otherwise causes no side effects,</t>
            </li>
            <li>
              <t>the amount of data that can be carried as packet payload in a 0-RTT packet is rather limited, and</t>
            </li>
            <li>
              <t>RTP implementations are likely to discard any replayed media packets as duplicates,</t>
            </li>
          </ul>
          <t>it is still the responsibility of the RoQ application to determine whether the benefits of using 0-RTT with early data outweigh the risks.</t>
          <t>Since the QUIC connection will often be created in the context
of an existing signaling relationship (e.g., using WebRTC or SIP), a careful RoQ implementer can exchange specific 0-RTT
keying material to prevent replays across sessions.</t>
        </section>
      </section>
      <section anchor="coalescing-packets">
        <name>Coalescing RTP packets in a single QUIC packet</name>
        <t>Applications have some control over how the QUIC stack maps application data to
QUIC frames, but applications cannot control how the QUIC stack maps STREAM and
DATAGRAM frames to QUIC packets <xref section="13" sectionFormat="of" target="RFC9000"/> and <xref section="5" sectionFormat="of" target="RFC9308"/>.</t>
        <ul spacing="normal">
          <li>
            <t>When RTP payloads are carried over QUIC streams, the RTP payload is treated as
an ordered byte stream that will be carried in QUIC STREAM frames, with no
effort to match application data boundaries.</t>
          </li>
          <li>
            <t>When RTP payloads are carried over DATAGRAMs, each RTP payload data unit
is mapped into a DATAGRAM frame, but</t>
          </li>
          <li>
            <t>QUIC implementations can include multiple STREAM frames from different streams
and one or more DATAGRAM frames into a single QUIC packet, and can include
other QUIC frames as well.</t>
          </li>
        </ul>
        <t>QUIC stacks are allowed to wait for a short period of time if the queued QUIC
packet is shorter than the Path MTU, in order to optimize for bandwidth
utilization instead of latency, while real-time applications usually prefer to
optimize for latency rather than bandwidth utilization. This waiting interval is
under the QUIC implementation's control, and could be based on knowledge about
application sending behavior or heuristics to determine whether and for how long
to wait.</t>
        <t>When there are a lot of small DATAGRAM frames (e.g., an audio stream) and a lot
of large DATAGRAM frames (e.g., a video stream), it could be a good idea to make sure the
audio frames can be included in a QUIC packet that also carries video frames
(i.e., the video frames don't fill the whole QUIC packet). Otherwise, the QUIC
stack might have to send additional small packets only carrying single audio
frames, which would waste some bandwidth.</t>
        <t>Application designers are advised to take these considerations into account when
selecting and configuring a QUIC stack for use with RoQ.</t>
      </section>
    </section>
    <section anchor="futures">
      <name>Directions for Future Work</name>
      <t>This document describes RoQ in sufficient detail that an implementer can build a RoQ application, but we recognize that additional work is likely, after we have sufficient experience with RoQ to guide that work (<xref target="futures-impl-deploy"/>) and as new QUIC extensions become available (<xref target="futures-new-ext"/>).</t>
      <section anchor="futures-impl-deploy">
        <name>Future Work Resulting from Implementation and Deployment Experience</name>
        <t>Possible directions would include</t>
        <ul spacing="normal">
          <li>
            <t>More guidance on transport for RTCP (for example, when to use QUIC streams vs. DATAGRAMs) including guidance on prioritization between streams and DATAGRAMs for the performance of RTCP.</t>
          </li>
          <li>
            <t>More guidance on the use of real-time-friendly congestion control algorithms (for example, Copa <xref target="Copa"/>, L4S <xref target="RFC9330"/>, etc.).</t>
          </li>
          <li>
            <t>More guidance for congestion control and rate adaptation for multiple RoQ flows (whether streams or datagrams).</t>
          </li>
          <li>
            <t>Possible guidance for connection sharing between real-time and non-real-time flows, including considerations for congestion control and rate adaptation, scheduling, prioritization, and which ALPNs to use.</t>
          </li>
          <li>
            <t>Investigation of the effects of delaying or dropping DATAGRAMs due to congestion before they can be transmitted by the QUIC stack.</t>
          </li>
          <li>
            <t>Implementation of translating middleboxes for translating between RoQ and RTP over UDP. As described in <xref target="topologies"/>, RoQ can be used to connect to some RTP middleboxes using some topologies, and these middleboxes might be connecting RoQ endpoints and non-RoQ endpoints, so will need to translate between RoQ and RTP over UDP.</t>
          </li>
        </ul>
        <t>For these reasons, publication of this document as a stable reference for implementers to test with, and report results, seems useful.</t>
      </section>
      <section anchor="futures-new-ext">
        <name>Future Work Resulting from New QUIC Extensions</name>
        <t>In addition, as noted in <xref target="new-quic"/>, one of the motivations for using QUIC as a transport for RTP is to exploit new QUIC extensions as they become available. We noted several specific proposed QUIC extensions in <xref target="optional-extensions"/>, but these proposals are all solving relevant problems, and those problems are worth solving for the QUIC protocol, whether the listed proposals are used in the solution or not.</t>
        <ul spacing="normal">
          <li>
            <t>Guidance for using RoQ with QUIC connection migration and over multiple paths. QUIC connection migration was already defined in <xref target="RFC9000"/>, and the Multipath Extension for QUIC <xref target="I-D.draft-ietf-quic-multipath"/> has been adopted and is relatively mature, so this is likely to be the first new QUIC extension we address.</t>
          </li>
          <li>
            <t>Guidance for using RoQ with QUIC NAT traversal solutions. This could use Interactive Connectivity Establishment (ICE) <xref target="RFC8445"/> or other NAT traversal solutions.</t>
          </li>
          <li>
            <t>Guidance for improved jitter calculations to use with congestion control and rate adaptation.</t>
          </li>
          <li>
            <t>Guidance for other aspects of QUIC performance optimization relying on extensions.</t>
          </li>
        </ul>
        <t>Other QUIC extensions, not yet proposed, might also be useful with RoQ.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</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>This section records the status of known implementations of the protocol defined
by this specification at the time of posting of this Internet-Draft, and is
based on a proposal described in <xref target="RFC7942"/>. The description of
implementations in this section is intended to assist the IETF in its decision
processes in progressing drafts to RFCs. Please note that the listing of any
individual implementation here does not imply endorsement by the IETF.
Furthermore, no effort has been spent to verify the information presented here
that was supplied by IETF contributors. This is not intended as, and must not be
construed to be, a catalog of available implementations or their features.
Readers are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working groups to
assign due consideration to documents that have the benefit of running code,
which may serve as evidence of valuable experimentation and feedback that have
made the implemented protocols more mature. It is up to the individual working
groups to use this information as they see fit".</t>
      <section anchor="mengelbartroq">
        <name>mengelbart/roq</name>
        <dl>
          <dt>Ogranization:</dt>
          <dd>
            <t>Technical University of Munich</t>
          </dd>
          <dt>Implementation:</dt>
          <dd>
            <t><xref target="roq"/></t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t><em>roq</em> is a library implementing the basic encapsulation described in
<xref target="encapsulation"/>. The library uses the Go programming language and supports the
<xref target="quic-go"/> QUIC implementation.</t>
          </dd>
          <dt>Level of Maturity:</dt>
          <dd>
            <t>prototype</t>
          </dd>
        </dl>
        <t>Coverage: : The library supports sending and receiving RTP and RTCP packets
using QUIC streams and QUIC DATAGRAMs, and supports multiplexing using flow
identifiers. Applications using the library are responsible for appropriate
signaling, setting up QUIC connections, and managing RTP sessions. Applications
choose whether to send RTP and RTCP packets over streams or DATAGRAMs, and
applications also have control over the QUIC and RTP congestion controllers in
use since they control the QUIC connection setup and can thus configure the QUIC
stack they use to their preferences.</t>
        <dl>
          <dt>Version Compatibility:</dt>
          <dd>
            <t>The library implements <xref target="I-D.draft-ietf-avtcore-rtp-over-quic-10"/>.</t>
          </dd>
          <dt>Licensing:</dt>
          <dd>
            <t>MIT License</t>
          </dd>
          <dt>Implementation Experience:</dt>
          <dd>
            <t>The implementer reports they have no experience with the topics discussed in
<xref target="futures"/>. RoQ relies on out-of-band signaling for connection establishment,
and since there is currently no specification for SDP for RoQ, applications
using the library have to statically configure connection information to allow
testing</t>
          </dd>
          <dt>Contact Information:</dt>
          <dd>
            <t>Mathis Engelbart (mathis.engelbart@gmail.com)</t>
          </dd>
          <dt>Last Updated:</dt>
          <dd>
            <t>25 May 2024</t>
          </dd>
        </dl>
      </section>
      <section anchor="bbcgst-roq">
        <name>bbc/gst-roq</name>
        <dl>
          <dt>Ogranization:</dt>
          <dd>
            <t>BBC Research and Development</t>
          </dd>
          <dt>Implementation:</dt>
          <dd>
            <t>RTP-over-QUIC elements for GStreamer <xref target="gst-roq"/></t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t><em>gst-quic-transport</em> provides a set of GStreamer plugins implementing QUIC
transport. <em>gst-roq</em> provides a set of GStreamer plugins implementing RoQ.</t>
          </dd>
          <dt>Level of Maturity:</dt>
          <dd>
            <t>research</t>
          </dd>
          <dt>Coverage:</dt>
          <dd>
            <t>The plugins support sending and receiving RTP and RTCP packets using QUIC
streams and QUIC DATAGRAMs, and supports multiplexing using flow identifiers.
GStreamer pipelines that use the RoQ plugins found in the <em>gst-roq</em> repository
can make use of the plugins found in the <em>gst-quic-transport</em> repository to set
up QUIC connections. RTP sessions can be managed by existing GStreamer plugins
available in the standard GStreamer release. GStreamer pipeline applications
choose whether to send RTP and RTCP packets over streams or DATAGRAMs.</t>
          </dd>
          <dt>Version Compatibility:</dt>
          <dd>
            <t>The library implements <xref target="I-D.draft-ietf-avtcore-rtp-over-quic-05"/>.</t>
          </dd>
          <dt>Licensing:</dt>
          <dd>
            <t>GNU Lesser General Public License v2.1</t>
          </dd>
          <dt>Implementation Experience:</dt>
          <dd>
            <t>The implementer reports they have no experience with the topics discussed in
<xref target="futures"/>. Both in-band and out-of-band signalling for RoQ media sessions is
in active development via an implementation of <xref target="I-D.draft-hurst-sip-quic-00"/>,
which re-uses the GStreamer plugins described above.</t>
          </dd>
          <dt>Contact Information:</dt>
          <dd>
            <t>Sam Hurst (sam.hurst@bbc.co.uk)</t>
          </dd>
          <dt>Last Updated:</dt>
          <dd>
            <t>05 June 2024</t>
          </dd>
        </dl>
      </section>
      <section anchor="mengelbartrtp-over-quic">
        <name>mengelbart/rtp-over-quic</name>
        <dl>
          <dt>Ogranization:</dt>
          <dd>
            <t>Technical University of Munich</t>
          </dd>
          <dt>Implementation:</dt>
          <dd>
            <t>RTP over QUIC <xref target="RTP-over-QUIC"/></t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t><em>RTP over QUIC</em> is a experimental implementation of the mapping described in
an earlier version of this document.</t>
          </dd>
          <dt>Level of Maturity:</dt>
          <dd>
            <t>research</t>
          </dd>
          <dt>Coverage:</dt>
          <dd>
            <t>The application implements the RoQ DATAGRAMs mapping and implements SCReAM
congestion control at the application layer. It can optionally disable the
built-in 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"/>.
Experimental results of the implementation can be found in <xref target="RoQ-Mininet"/>.</t>
          </dd>
          <dt>Version Compatibility:</dt>
          <dd>
            <t><xref target="I-D.draft-ietf-avtcore-rtp-over-quic-00"/></t>
          </dd>
          <dt>Licensing:</dt>
          <dd>
            <t>MIT</t>
          </dd>
          <dt>Implementation Experience:</dt>
          <dd>
            <t>See <xref target="RoQ-Mininet"/></t>
          </dd>
          <dt>Contact Information:</dt>
          <dd>
            <t>Mathis Engelbart (mathis.engelbart@gmail.com)</t>
          </dd>
          <dt>Last Updated:</dt>
          <dd>
            <t>25 May 2024</t>
          </dd>
        </dl>
      </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 "roq" string identifies RoQ:</t>
        <dl>
          <dt>Protocol:</dt>
          <dd>
            <t>RTP over QUIC (RoQ)</t>
          </dd>
          <dt>Identification Sequence:</dt>
          <dd>
            <t>0x72 0x6F 0x71 ("roq")</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 can 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 signaled 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="RFC6363">
          <front>
            <title>Forward Error Correction (FEC) Framework</title>
            <author fullname="M. Watson" initials="M." surname="Watson"/>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="V. Roca" initials="V." surname="Roca"/>
            <date month="October" year="2011"/>
            <abstract>
              <t>This document describes a framework for using Forward Error Correction (FEC) codes with applications in public and private IP networks to provide protection against packet loss. The framework supports applying FEC to arbitrary packet flows over unreliable transport and is primarily intended for real-time, or streaming, media. This framework can be used to define Content Delivery Protocols that provide FEC for streaming media delivery or other packet flows. Content Delivery Protocols defined using this framework can support any FEC scheme (and associated FEC codes) that is compliant with various requirements defined in this document. Thus, Content Delivery Protocols can be defined that are not specific to a particular FEC scheme, and FEC schemes can be defined that are not specific to a particular Content Delivery Protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6363"/>
          <seriesInfo name="DOI" value="10.17487/RFC6363"/>
        </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/SpecificationDetails.aspx?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="Copa" target="https://web.mit.edu/copa/">
          <front>
            <title>Copa: Practical Delay-Based Congestion Control for the Internet</title>
            <author>
              <organization/>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="IANA-RTCP-PT" target="https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-4">
          <front>
            <title>RTCP Control Packet Types (PT)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IANA-RTCP-XR-BT" target="https://www.iana.org/assignments/rtcp-xr-block-types/rtcp-xr-block-types.xhtml#rtcp-xr-block-types-1">
          <front>
            <title>RTCP XR Block Type</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IANA-RTCP-FMT-RTPFB-PT" target="https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-8">
          <front>
            <title>FMT Values for RTPFB Payload Types</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IANA-RTCP-FMT-PSFB-PT" target="https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-9">
          <front>
            <title>FMT Values for PSFB Payload Types</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IANA-RTP-CHE" target="https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-10">
          <front>
            <title>RTP Compact Header Extensions</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IANA-RTP-SDES-CHE" target="https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#sdes-compact-header-extensions">
          <front>
            <title>RTP SDES Compact Header Extensions</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IEEE-1733-2011" target="https://standards.ieee.org/ieee/1733/4748/">
          <front>
            <title>IEEE 1733-2011 Standard for Layer 3 Transport Protocol for Time-Sensitive Applications in Local Area Networks</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </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="RTP-over-QUIC" target="https://github.com/mengelbart/rtp-over-quic">
          <front>
            <title>RTP over QUIC</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RoQ-Mininet" target="https://github.com/mengelbart/rtp-over-quic-mininet">
          <front>
            <title>Congestion Control for RTP over QUIC Simulations</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="roq" target="https://github.com/mengelbart/roq">
          <front>
            <title>RTP over QUIC (RoQ)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="gst-roq" target="https://github.com/bbc/gst-roq">
          <front>
            <title>RTP-over-QUIC elements for GStreamer</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="quic-go" target="https://github.com/quic-go/quic-go">
          <front>
            <title>A QUIC implementation in pure Go</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC0768">
          <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="RFC9308">
          <front>
            <title>Applicability of the QUIC Transport Protocol</title>
            <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document discusses the applicability of the QUIC transport protocol, focusing on caveats impacting application protocol development and deployment over QUIC. Its intended audience is designers of application protocol mappings to QUIC and implementors of these application protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9308"/>
          <seriesInfo name="DOI" value="10.17487/RFC9308"/>
        </reference>
        <reference anchor="RFC7826">
          <front>
            <title>Real-Time Streaming Protocol Version 2.0</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="A. Rao" initials="A." surname="Rao"/>
            <author fullname="R. Lanphier" initials="R." surname="Lanphier"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="M. Stiemerling" initials="M." role="editor" surname="Stiemerling"/>
            <date month="December" year="2016"/>
            <abstract>
              <t>This memorandum defines the Real-Time Streaming Protocol (RTSP) version 2.0, which obsoletes RTSP version 1.0 defined in RFC 2326.</t>
              <t>RTSP is an application-layer protocol for the setup and control of the delivery of data with real-time properties. RTSP provides an extensible framework to enable controlled, on-demand delivery of real-time data, such as audio and video. Sources of data can include both live data feeds and stored clips. This protocol is intended to control multiple data delivery sessions; provide a means for choosing delivery channels such as UDP, multicast UDP, and TCP; and provide a means for choosing delivery mechanisms based upon RTP (RFC 3550).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7826"/>
          <seriesInfo name="DOI" value="10.17487/RFC7826"/>
        </reference>
        <reference anchor="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3711"/>
          <seriesInfo name="DOI" value="10.17487/RFC3711"/>
        </reference>
        <reference anchor="I-D.draft-dawkins-avtcore-sdp-rtp-quic">
          <front>
            <title>SDP Offer/Answer for RTP using QUIC as Transport</title>
            <author fullname="Spencer Dawkins" initials="S." surname="Dawkins">
              <organization>Tencent America LLC</organization>
            </author>
            <date day="28" month="January" year="2022"/>
            <abstract>
              <t>   This document describes these new SDP "proto" attribute values:
   "QUIC", "QUIC/RTP/SAVP", "QUIC/RTP/AVPF", and "QUIC/RTP/SAVPF", and
   describes how SDP Offer/Answer can be used to set up an RTP
   connection using QUIC as a transport protocol.

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

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-multipath-09"/>
        </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="RFC3168">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
        <reference anchor="I-D.draft-ietf-rmcat-gcc">
          <front>
            <title>A Google Congestion Control Algorithm for Real-Time Communication</title>
            <author fullname="Stefan Holmer" initials="S." surname="Holmer">
              <organization>Google</organization>
            </author>
            <author fullname="Henrik Lundin" initials="H." surname="Lundin">
              <organization>Google</organization>
            </author>
            <author fullname="Gaetano Carlucci" initials="G." surname="Carlucci">
              <organization>Politecnico di Bari</organization>
            </author>
            <author fullname="Luca De Cicco" initials="L." surname="De Cicco">
              <organization>Politecnico di Bari</organization>
            </author>
            <author fullname="Saverio Mascolo" initials="S." surname="Mascolo">
              <organization>Politecnico di Bari</organization>
            </author>
            <date day="8" month="July" year="2016"/>
            <abstract>
              <t>   This document describes two methods of congestion control when using
   real-time communications on the World Wide Web (RTCWEB); one delay-
   based and one loss-based.

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


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rmcat-gcc-02"/>
        </reference>
        <reference anchor="RFC9330">
          <front>
            <title>Low Latency, Low Loss, and Scalable Throughput (L4S) Internet Service: Architecture</title>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="G. White" initials="G." surname="White"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This document describes the L4S architecture, which enables Internet applications to achieve low queuing latency, low congestion loss, and scalable throughput control. L4S is based on the insight that the root cause of queuing delay is in the capacity-seeking congestion controllers of senders, not in the queue itself. With the L4S architecture, all Internet applications could (but do not have to) transition away from congestion control algorithms that cause substantial queuing delay and instead adopt a new class of congestion controls that can seek capacity with very little queuing. These are aided by a modified form of Explicit Congestion Notification (ECN) from the network. With this new architecture, applications can have both low latency and high throughput.</t>
              <t>The architecture primarily concerns incremental deployment. It defines mechanisms that allow the new class of L4S congestion controls to coexist with 'Classic' congestion controls in a shared network. The aim is for L4S latency and throughput to be usually much better (and rarely worse) while typically not impacting Classic performance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9330"/>
          <seriesInfo name="DOI" value="10.17487/RFC9330"/>
        </reference>
        <reference anchor="I-D.draft-smith-quic-receive-ts">
          <front>
            <title>QUIC Extension for Reporting Packet Receive Timestamps</title>
            <author fullname="Connor Smith" initials="C." surname="Smith">
              <organization>Magic Leap, Inc.</organization>
            </author>
            <author fullname="Ian Swett" initials="I." surname="Swett">
              <organization>Google LLC</organization>
            </author>
            <date day="25" month="October" year="2021"/>
            <abstract>
              <t>   This document defines an extension to the QUIC transport protocol
   which supports reporting multiple packet receive timestamps using a
   new ACK_RECEIVE_TIMESTAMPS frame type.

Discussion Venues

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

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

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

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-huitema-quic-ts-08"/>
        </reference>
        <reference anchor="RFC8445">
          <front>
            <title>Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal</title>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <author fullname="C. Holmberg" initials="C." surname="Holmberg"/>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>This document describes a protocol for Network Address Translator (NAT) traversal for UDP-based communication. This protocol is called Interactive Connectivity Establishment (ICE). ICE makes use of the Session Traversal Utilities for NAT (STUN) protocol and its extension, Traversal Using Relay NAT (TURN).</t>
              <t>This document obsoletes RFC 5245.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8445"/>
          <seriesInfo name="DOI" value="10.17487/RFC8445"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="I-D.draft-ietf-avtcore-rtp-over-quic-10">
          <front>
            <title>RTP over QUIC (RoQ)</title>
            <author fullname="Joerg Ott" initials="J." surname="Ott">
              <organization>Technical University Munich</organization>
            </author>
            <author fullname="Mathis Engelbart" initials="M." surname="Engelbart">
              <organization>Technical University Munich</organization>
            </author>
            <author fullname="Spencer Dawkins" initials="S." surname="Dawkins">
              <organization>Tencent America LLC</organization>
            </author>
            <date day="8" month="May" year="2024"/>
            <abstract>
              <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).

   This document also discusses how to leverage state that is already
   available from the QUIC implementation in the endpoints, in order to
   reduce the need to exchange RTCP packets, and describes different
   options for implementing congestion control and rate adaptation for
   RTP without relying on RTCP feedback.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-over-quic-10"/>
        </reference>
        <reference anchor="I-D.draft-ietf-avtcore-rtp-over-quic-05">
          <front>
            <title>RTP over QUIC (RoQ)</title>
            <author fullname="Joerg Ott" initials="J." surname="Ott">
              <organization>Technical University Munich</organization>
            </author>
            <author fullname="Mathis Engelbart" initials="M." surname="Engelbart">
              <organization>Technical University Munich</organization>
            </author>
            <author fullname="Spencer Dawkins" initials="S." surname="Dawkins">
              <organization>Tencent America LLC</organization>
            </author>
            <date day="26" month="July" year="2023"/>
            <abstract>
              <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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-over-quic-05"/>
        </reference>
        <reference anchor="I-D.draft-hurst-sip-quic-00">
          <front>
            <title>SIP-over-QUIC: Session Initiation Protocol over QUIC Transport</title>
            <author fullname="Sam Hurst" initials="S." surname="Hurst">
              <organization>BBC Research &amp; Development</organization>
            </author>
            <date day="6" month="November" year="2022"/>
            <abstract>
              <t>   This document describes a mapping of Session Initiation Protocol
   (SIP) semantics over QUIC Transport.  It allows the creation,
   modification and termination of media sessions with one or more
   participants, possibly carried over the same QUIC transport
   connection, using RTP/AVP directly, or some mixture of both.

   SIP-over-QUIC enables a more efficient use of network resources by
   introducing field compression to the header fields carried in SIP
   transactions.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hurst-sip-quic-00"/>
        </reference>
        <reference anchor="I-D.draft-ietf-avtcore-rtp-over-quic-00">
          <front>
            <title>RTP over QUIC</title>
            <author fullname="Joerg Ott" initials="J." surname="Ott">
              <organization>Technical University Munich</organization>
            </author>
            <author fullname="Mathis Engelbart" initials="M." surname="Engelbart">
              <organization>Technical University Munich</organization>
            </author>
            <date day="26" month="July" year="2022"/>
            <abstract>
              <t>   This document specifies a minimal mapping for encapsulating RTP and
   RTCP packets within QUIC.  It also discusses how to leverage state
   from the QUIC implementation in the endpoints to reduce the exchange
   of RTCP packets and how to implement congestion control.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-over-quic-00"/>
        </reference>
        <reference anchor="I-D.draft-ietf-quic-ack-frequency">
          <front>
            <title>QUIC Acknowledgment 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="30" month="April" year="2024"/>
            <abstract>
              <t>   This document specifies an extension to QUIC that enables an endpoint
   to request its peer change its behavior when sending or delaying
   acknowledgments.

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-09"/>
        </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>QUIC Stream Resets with Partial Delivery</title>
            <author fullname="Marten Seemann" initials="M." surname="Seemann">
         </author>
            <author fullname="Kazuho Oku" initials="K." surname="Oku">
              <organization>Fastly</organization>
            </author>
            <date day="28" month="February" 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-06"/>
        </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="8" month="April" year="2024"/>
            <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-03"/>
        </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 1471?>

<section anchor="optional-extensions">
      <name>List of optional QUIC Extensions</name>
      <t>The following is a list of QUIC protocol extensions that could 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 such as <em>Quic Timestamps For Measuring One-Way Delays</em> <xref target="I-D.draft-huitema-quic-ts"/> or
<em>QUIC Extension for Reporting Packet Receive Timestamps</em> <xref target="I-D.draft-smith-quic-receive-ts"/>,
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>
        </li>
        <li>
          <t><em>QUIC Acknowledgment Frequency</em> <xref target="I-D.draft-ietf-quic-ack-frequency"/> can
be used by a sender to optimize the acknowledgment behavior 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 ought to 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>Each subsection in <xref target="rtcp-analysis"/> corresponds to an IANA registry, and includes a reference pointing to that registry.</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>
        <t>The IANA registry for this section is <xref target="IANA-RTCP-PT"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Shortcut</th>
              <th align="left">PT</th>
              <th align="left">Defining Document</th>
              <th align="left">Mappable from QUIC</th>
              <th align="left">Comments</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SMPTE time-code mapping</td>
              <td align="left">SMPTETC</td>
              <td align="left">194</td>
              <td align="left">
                <xref target="RFC5484"/></td>
              <td align="left">no</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Extended inter-arrival jitter report</td>
              <td align="left">IJ</td>
              <td align="left">195</td>
              <td align="left">
                <xref target="RFC5450"/></td>
              <td align="left">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">206</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">208</td>
              <td align="left">
                <xref target="IEEE-1733-2011"/></td>
              <td align="left">no</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">no</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">no</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>RTCP XR Block Type</name>
        <t>The IANA registry for this section is <xref target="IANA-RTCP-XR-BT"/>.</t>
        <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 can 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 QUIC timestamps cannot provide 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">no</td>
              <td align="left"> </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">no</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>FMT Values for RTP Feedback (RTPFB) Payload Types</name>
        <t>The IANA registry for this section is <xref target="IANA-RTCP-FMT-RTPFB-PT"/>.</t>
        <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">There is no way to tell a QUIC implementation "don't ask for retransmission".</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>FMT Values for Payload-Specific Feedback (PSFB) Payload Types</name>
        <t>The IANA registry for this section is <xref target="IANA-RTCP-FMT-PSFB-PT"/>.</t>
        <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="rtp-compact-header-extensions">
          <name>RTP Compact Header Extensions</name>
          <t>The IANA registry for this section is <xref target="IANA-RTP-CHE"/>.</t>
          <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</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="rtp-sdes-compact-header-extensions">
          <name>RTP SDES Compact Header Extensions</name>
          <t>The IANA registry for this section is <xref target="IANA-RTP-SDES-CHE"/>.</t>
          <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 DATAGRAMs, the fraction of lost packets can be directly inferred from QUIC's acknowledgments.
The calculation includes all packets up to the acknowledged RTP packet with the highest RTP sequence number.</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 media 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 necessary in RoQ to synchronize media streams at the receiver.</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 might 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 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.</t>
      <t>The authors would like to thank Bernard Aboba, David Schinazi, Lucas Pardue, Sam Hurst, Sergio Garcia Murillo,  and Vidhi Goel for their valuable comments and suggestions contributing to this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+y963bbVpYu+h9PgSP/iKRBMpLvcZ/qalmWE3XZskpSKt1j
Z480REISyiTBAkDLKsf9WOcFzoudeV9zLYCyU+ne/eekxiiLJLCuc801r98c
j8dZV3Xz8kW+dXZxmtcfyib/84/Hh/n2Wf3nna1sVk+XxQJ+njXFVTeuyu5q
XHzopnVTjptuNcYXxn9bV9Px/n42Lbryum7uXuTlx1U2g08v8k+vDi6OPmdZ
tWpe5F2zbruHe3vf7T3MiqYsoNeD1WpewYtVvWzzYjnLz8piPr6oFuVWdls3
76+ber3C59azqv72L9WsrPOLpli2q7rp8kMYR/62qJZduSyWU3jnfXkHr81e
5MfwXbMsu/ErHHmWtR20/ksxr5cwqruyzVbVi/x/dfV0lLfQVFNetfDX3QL/
+N9Zu75cVG0Lo+ruVvDC8dHF6ywr1t1N3bzI8nGWw3/Vsn2Rv53kR8vrcn5Z
NB19y+v1tuhuqjb5qW6ui2X1d5rti/yinN4sYe7z/MdlBevYVt1dXl/lb9fw
7Q29UC6Kav4iX1Bjk1Ib+5dr/H4yrRfRUP51kr/r/CD+9f/9f5pr++4f7b3u
un+plpNuvZjMyqjD80n+qrh9D3+7Ts9XJexEE/2Sdg0PLLv8YFE2MIL8zZtD
31/LDcz4/QnSnJtwVi2v6gZWBAb9IoP3Hn1/ejq+OB8/fDrZ33/8glrqiua6
7F7kN123al98+y0SSzGfPLperSYwlm9nZfu+q1eLerael+23MORpdaVkGH98
VXbQdTsp2tXHP7b+l+PZH/Yf7z3mDuUQHZ/CAs47IN9ZVeTn68v2ru3KRb59
/PZ855/8b105L1c39fIOvqUvboA+59Xymk4BUnRTTLGbLeqAT9PDvYePxnv7
470nOPPDelUMz/e2vJwsqm5SztbfTuGpb6NB0nv5KbWPBPCqnBd345dFW86g
TSCyFvvFP7umnuew3Hl3U9qJige0/xyHcnxwcjA+uzg8HZ9ebBjS7e2kKpYF
rX8BR+t6uQAiaL9FNrIqGqAdaD79OPl40y3mD+Ivx/GaY7c22NNi+r7s8gs4
tW2+fXoBPCwa3r+djV/+9hFOV+OPzfhyXk/fj5EhDH5nY+39Mt7vD/jfzvKX
+AQNNRnk67cX8Mfp65f/R1bzeTQ46Dv/SzFfw/LhxtMwYFXv5nUx42UdGOzp
+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
HfD7aP3AQcVDiKGP4eXghXYmQYl3DX2LsfMatgU5lIzhOcB4vhDeFYSNFbKh
7hCm5Sgn2EaXvmbnwMwc0UXLzDmE1O8wOPsXX5KOWorkSw9cmrS0fYD2/gnw
tXDLsKI5qZ96h2ML5ovMwNZaCbBrs1bV30k5H131+/EwievNg1qNzhbU7m0e
Bz4iyBuuvCcEozpV/9vC5Qu1uqMs0Ezi7pRQtYBw3tdS5Q7O96oraEe0VYsJ
gcVeHUWsFW16BY2vRRDA0mG2htnjhKHVJngmcOu6KpnGqhnYt1Kb22hFEKxr
EI7+dIyAbbhxCraMeKnhjo8Fktl0vNXngz56aY0LQppKCBtVldpcwccuKMyP
wD3QVRI30soGDgC4pHg6DHVEMrS07EyJzwhNNKUzJmm8eHgoU6xc+GZz4U0q
FM2DVhsctGQltGAF209q9dOZ5cO1C8EyJKTVAoF/s1rDSf/U1e2DsC/mkIyL
L1cw6Kr6e9mOB8sQX3FIq6p1U0Weiic9zOGD18dZlsWHytbBmehjP9JvuDWq
t/0NzV6glrExeKkLgYKxhGOYDAoXWulEwatzVro063C8jB+zNJ3Hz+lqBGFc
poFCYbAaCKXhja2Qs17HQqRuLMQyplAGN/buespERb7CMwqHX3RZD7H6IVTa
2YujhyR4wMavCBiwg4CKA5d9GqurgHwpfchJhgZfW5INC2rRjmB8yrdg2jRH
3NAOQRkSIhnGxrhvrBqyEBIIKApLOH8rIU6dF4o+AXeDpPe+5jJkZhM6EYms
MAhkefN504/bP3fYKDYhb18GdHjbz6BGmRa/o1c8c9c1fwtOAyyyzubnIK/n
SBCUn6PoTTI1+PMVhx9937AUhQ/em6vN82wcI0o3p/2p7Y+w5Nf8Eyu2RrOx
bY38chZr+HjrNa1rflfwavZKxc/LVRqv4L21PJjACR7YqtYJPQqmzLMICHCA
QvdFKR0NBI2P3sgBH2m+TcxulUdpdNgBjBFJYsEW07bhWaO2Zdfm6p9NeORO
PFtfVNd51Gxg+pj/MuPfArZt7bi5sbXj5g9rLSXWJ/Wt5n+y9rjM38y96DXP
Drdd1nEo173pb0qFrxYxc3kR/D79lbnNFllui/yx39jR43J5jvD68QKy3Rn/
AWbt5+kjPAUAkITSbpi3XcXp2lVSgeh5OjuT8PmtCqJq+/bTrmD20YPneIZm
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
Np3UT/C1AQA=

-->

</rfc>
