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

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

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

Discussion Venues

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

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

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

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

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

Note to Readers

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

<section anchor="experimental-results">
      <name>Experimental Results</name>
      <t>An experimental implementation of the mapping described in this document can be
found on <eref target="https://github.com/mengelbart/rtp-over-quic">Github</eref>. The application
implements the RoQ Datagrams mapping and implements SCReAM congestion
control at the application layer. It can optionally disable the builtin QUIC
congestion control (NewReno). The endpoints only use RTCP for congestion control
feedback, which can optionally be disabled and replaced by the QUIC connection
statistics as described in <xref target="transport-layer-feedback"/>.</t>
      <t>Experimental results of the implementation can be found on
<eref target="https://github.com/mengelbart/rtp-over-quic-mininet">Github</eref>, too.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Early versions of this document were similar in spirit to
<xref target="I-D.draft-hurst-quic-rtp-tunnelling"/>, although many details differ. The
authors would like to thank Sam Hurst for providing his thoughts about how QUIC
could be used to carry RTP.</t>
      <t>The authors would like to thank Bernard Aboba, David Schinazi, Lucas Pardue,
Sergio Garcia Murillo,  Spencer Dawkins, and Vidhi Goel for their valuable
comments and suggestions contributing to this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA82963LbWJYu+B9PgZF/lKQgaUu25UufyjqyLGep2pJVorKy
Ono6OkESklAmCTYAWslyuh/rvMC82KxvXfYFAGVnZk/EVEQ5JYrY2Je11319
azgcJk3RzPPX6c7V9WVafsqr9K8/nJ3sJLNyuswW9IdZld00wyJvbobZp2Za
VvmwalZDfHX4X+tiOnzyLJlmTX5bVpvXad3Mkhn99jr9/Pb4+vRLkhSr6nXa
VOu6OXzy5NWTwySr8ozed7xazQt6sCiXdZotZ+lVns2H18Ui30nuy+rjbVWu
V/jeelaUj/9WzPIyva6yZb0qqyY9oXmk51mxbPJltpzSMx/zDT02e52e0WfV
Mm+GbzHzJKkbGv0/s3m5pFlt8jpZFa/Tf2/K6SCtaagqv6npp80CP/xHUq8n
i6KuaVbNZkUPnJ1ev0uSbN3cldXrJB0mKf2vWNav07+M0g9Nw7/LTv3l//k/
1a37rKxus2XxT17g6/Q6n94tabnz9IdlQVtXF80mPV/TR3f87XyRFfPXadk0
/7tYjpr1YjTLo7edj9LT5W0+n2RV+M7zrLkr6tafftOrFzzSKLeR/vctPh9N
y0U0j/EofZvdf6Sfg1mMVzmdQRX9pT0J+sKySY8XeUVzSd+/PwlfXssAM3l+
BGoL3p8Uy5uyognS9F8n9NzT7y8vh9fj4eHR6ODg2Wseqcmq27x5ne7eNc2q
fv34Megkm4+e3q5WI5rM41lef2zK1aKcred5/ZjmPC1ujAIf1+GvZ7M/Hjx7
8mxPBtYLcnZJuzZviEBnRZaO15N6Uzf5It09Ox/v/Uv4tyaf56u7crmhT/mD
O6LAebG8ZToHzVbZFO/Z4RfIfTl8cvh0+ORg+OR5kgyHwzSb1A2+liTXOGG6
j+sFdlAnmtOlSRfFsljQwS6y1QrD0y6ltJHZql7PaSH0CV8qzMvfneSyKon6
y3m6S3d+T+4eXf4TIvmKPg3/fEJ/X2XTj3lTp/cFEcgybe5yZhHpSr83Ss6a
NJvXZTor6um6rmlqd+V92pTpPCd6y25zYgu0xvSmKhf++WKxmudYEm95KkMn
+XK2KmmL6E7SJ3ShiaxopCqfrac5P7zM8xk+yn+e0r7S4JimmyVWI29P3AvS
aUnfq/k1U10lvldhUtksW+kUsMJy3dDL5htsHn2EsZMbeuOExh/JySyK2Wye
J8kjsJqKyInP8v/zc/r8+f+6enfy9PnzJ1++fPXQoi/r3iTbTjDdla+/evKE
vr43Sr/xQJNvOND0mw806T3QQXCi6TedaPL1E03diabXNAE7FuIQ06qY5DOZ
e1En7jTpZImDznPZdScnabvLv+4RXTx6lL6h8SC0aBqfH03cL19AGHnfAacP
HTC98DZf0mbP55t0XQvJT7Oq2iSVG0rYDaiJNgGsnVcNQuM/0MFBkEG8rad3
aVann1iM0pdv8goctx4k2bQq65oPwiTnKE3HBf2V11rlJOUrIgH/2lk+hyDZ
CDujZ8s5TZR2iQ5Rji2dlyCbAQ87y28yYo4pbUZeyTk0bg8cDd7R9CZ5vkx/
eHs5oJdBXMw3TLPp2+v3Y5wdsW9sQ51P15XQjizUUQ4mVE6nWc3bQDuHw97F
pyuaUDGhAWmoPWwF7Rt9Q681X91IBDhiAEtJM6+s0GHgApQ3SgCfP/8JV+fp
k5e4OskxRp5kNW3RMpf1t8Ytachl2dCk6fMmXZS8FLwkZVUlq2Z99ymhOdNO
0qhMnkIsL1+9evXlyyAN72/w2wF+w+rdJ4f0SUJ7ToTA8sj2km7psCmH9J/g
bGhWTPnMC2S6QofQz9L7fD6nrxCR396lF8fXwntviFbuaWPrUfIm35QYD3vr
d8STURZqgFPagAkR/E3RiJzgLch/Jv2OadiR8HpJl7nIJnPlOiQ9s9sqW9SJ
LvLwkJd9f0cKTipLxSHOZoVeDvq1qHgA+usqrxowabpEwcWiPbihE0t389Ht
aEDHRa9dEknWdUZkX+W8R6ongkV9KmU/7/JsNixvhlhqMpmXU1JnbsEfzumU
wTUGzJJ45n+o0wV0Bjrkn/EsiYNsUswLTAfbpIvEpvo1J/506BbTlFR/pid0
qsTZ6JDAE37MJ8TsBrq1KbFLGqGo7+jPPIlySdeBKIBejr3AmMxo6NBz+nsO
GTUDoYOI/duE2/1ItEErIEocT2kT+YV80pFeRZywWA5rfONLW0AKMbN4DMQi
WI4It5OIz/LY9kXizDS9nNR7+jvp7XlVCWESfcCQEeuEDZk9uQD+Nt9nmzoW
QEm2IEbdYKX8Vjv8ycbkHd4pKozTRGltNIFZQTwm+0SKKp+VCFjaUyFelXwQ
MuHCRbS6Cc2KG+bGNIGVnCb2wV1+enfyjfoL71/5135+dkOvhySnH3vvv9NG
6Au8E04EJ3y2AcX7cxH56ViDsEZ69T2OB1/CMPR7LMCEaXsBP5+X95iNcD2a
3zybMoctmQq7wsJzAzqvQcISY3xyTf9CUtBVaKaYGXMvunE2wzQiDcyHrgVP
rZCNJXYDkk6Ed+Bq3BLDwNScmAoWky2XRDeYaUXX7rZsCj4PkUlJvKMZM0L6
a12XU3wv5LOrjPhXTrRcp7u2MLI2iGWR3KUFsDa4XC8meUXKWbyIQoQJG8K4
+CzZWI4M2eRVCeleRgJ/Dp3oVphQ/yym5Xo+w+aA6GE6EpVDaShuiVZmI9Fo
sgnNgukU/JNlRWdqYpQJT1nl9AeSMfhvCr7LO/Mv6WTdJMT0F9lGbkZ4JjT0
shnWeYVB62ZDd6zOG9wJx/CI1EgxyOYfWa+gU0m8epPKkymLzkC3IzGRvjg6
emGKL34m6T2gkyQt9SZeRxIceZULbV5djy9N9L94eXjED+PlTvPCeyO+37SY
n11/qLZZrwLN2hUR5PHlmfLwhOXhTOZC365wAjmYFe3TdGO8Oj4GR7puz2le
8VecTkJjksnJgzg1B1eYnTCpOGFIa70pyIJOd4//drmX7Dq19UC3kCa+4TlA
6M9oR6CcFfUCR/YJhyXkp2deYUFVWpcLvC2hVy9CYWvHPBY+5ZxEsRo9FTV6
DD060XN5+uIAMyLj6/au4dVNchWPA/pxmtGhhnoPc0L4RljjAXPfqKZEiyBZ
gJ1SYVKuwe1py6sNs2z7M/+VfsY89L13GR0RdDwiy7qpRdNTRacmRfuC9ou3
Pz6RebEo7Bxyk0yyocm2DeUtDAUUDX1DDEqESjlpMlYeJ7An2OaEbesHi26g
l2nOxgvU9z5qnWwSYdeLnA6GSOxN3txDn2/uy3SXpoJN2AvNwXjF9XqF02wp
RfZLEtIT37CGTmjhvBJOjeGxvLKijHdd65rte8nuDAJ1KXMPmW34OZOXMF44
C9cVXf3wu/pRwJ8H7rrtpc+HzZqmPqJT/jEHAebCJW1NdFazfAXyJ4bQmned
4DRaWhtEYwaLMJ/rcti8yNgk611N8htXk3ZWk9hq5EI6YR6oL3IwIKdlTvo/
VIM6j9TUe5Uryby8VbES7gEk/hIaLxNSpGd+WPOfv6JrkqkP7XuLvmlMLmua
fLFq2Ie0vIP3WHYfw7Zta9xO1lNJrijz58FuICngxflUzteqMzFFj9IfYRzR
2KSspnYjIhGceDWGvmaikq8XtNOUNi9nBcpcKPBBd3h2wTKNFBTV9sEnWK3n
68WCFj+E++/Znsi1hmyyG9MgzLbEWEyhZEU3gcxgTY93VsRMuLWkjzPDEsEE
1zKepfk+Bo+JuRQOF6QrtEAvq+/4pxUURozVsLhNaO1+GiT01yvornZWMbfA
d7YLNT3Ab1Sis/ltSWLgbiF6r9tWPsRR+ufyPmd5/vmzH3CoA375ErjMQm2e
hPy3KvFO96KdBysX5ck52eiRxxCxTaKSPp1nG8zH3GShAPBcPByCH/DvId24
hFj5RDRKsgnahlyw3BnkqgXIgzHfp23/Lt3fPyXruqz+wBuev97fTy/USzu9
y6cfoaTxTdiyaffFfM6ih8YyzSjwK8ItdZNNhX3+AW4iEJDOm69hcSOslRgJ
Uc+KRSFfIRoQ18luklHsV4llVRWgAo1fBDqM6JvOoe+4nxo1GSR8CZqx7Q3Y
2zJwWUHPoev3Ka/NNijggBBzob4rVsRAL+NJ0I2b5zfMt9iUiHxSItCDJY22
8r8pm2/etsFpq6tQLtooHb+9NGs8VoQDD1SdQxg1flOdVZaQAnY2fDuS0KEG
dVz0sJ6tOIKI4KH5p9RFAYlSyOjQId0UHceUU8a3RfiMYfkVy+l8PTNxONaV
nC0LGGT40ftZx2eBfnh4JBqr1ykvHWPG4t9U5T0p8sM3rHZE8Up42X/MJ26s
ly8Pn5v2K26X4Z+v6cacuSvv5/Djn20Sfo84vHpPUn5IpueKHYnJo/Q6rxbF
siRhKa7Wi1JdgWx/fcw3cMQRwe+c/zC+3hnIf9OLD/zz1Smd2dXpW/w8/vPx
+/fuB/vG+M8ffnhPf0/0J//kyYfz89OLt/IwfZq2Pjo//rcdObidD5fXZx8u
jt/vdH3mGRybrE3yDSYG34iBGtlib04u04Nn6qE8PDh4RfxAnZsHL559+ZLg
wsnL4LBK5Vc66Q1uQJ5VTC3EP8jcLsgOhEOhhlC5p2tKV3MbgwKtkF7FzI1m
twBbmRP/VF60IG09neYVlGZ6623FrJVI8p+5XPK2X5dYLhkotRrHN6U5NWRs
7AWMyNdJcuLlgEZvXiev02PPYzjQ4vT/7Pa2ym9ZSDg3FXyechWc17xmDsPG
brLKSF6xNQo3esHiiqxs/rLYQfRANv24LO/n+exWbAK8y76uHisVyTWchGKl
sTGAt9ApzBd25eC5nMJyoqnBr0Nvn6jy757E+UGFsvlAD2G3Gtt964ZdFsxR
eW1MNpClWcXmV35TqsffhgAXsPGEt+NBfo1fGYxMZZcyDzqet+owxq7bzzVJ
E9BCweEHHDB7tzN2cKqzNnA8m8/Z+6dH6dmNefWJTRQN0QwobZY4CTHfSDgA
BOFH0Fvj2TS7M2s5PhZNNsc0CgBE3m6sikTHRi0kYkLvy/shyRL2CvQpHqbk
COk99A2hs6wAETfEdHL2wP7XOl/nGpxj84qvk7xwgC/ylWdRR2x6SdQArTgX
xaHWG0p2Bv2gkZl8lIZreGhKrCAOJIr6cwZ1BBOBHCD1vZY4Xz6EKj3DiOoT
Y2ECEvVD076dqj0qGyG6pTiNEFVj/5PsAAk7UjQLou68FgEFX6sJThrpHdxn
wTA3+D3ti9pInIYeeU9L/4b1fushsX83CMCpMyY9VZpMA9ZDssTzrt3Tk4s9
F+5pcWuMlO7KVVDJeXD0kqVduLEahbSdTb9xbbW4f/V61hLeg48FtxkqrPAT
YnzF3Af5iRfMqpLYP7OuB2nNIkHMS/1+EaUIHW6lDEndOF1OS5oYH8EyhT++
2bidYrfgZNOOENIaVpwXkKfmqMDoOQ+lDgybljr2ZGUkXMQ/6Z3vygrV/d7g
TLz3PUnMbdDa37nOmNjrTXOP7ZqWixXdCpEf8XyJt/U5dGSR9hk26qFzhEYN
IXXsLJmtVBsIOhZh+XxVe0Exgwt6wRY3ePnsH+tajEL8HXcbOqfPJUjY0v6Z
xOU/RQx4KRlaQnZiLCZbolGTBBITScLbeOPXBSvxHMfEI1ldLsWe4rd4MbYz
WYPNp5N5mTU7mHqy8w8cV7UzSq/MxHN6PNwc4E+YyRRHAw9P317FYUmlnJw1
D3afsDXi9g4C3nmXYj+ZSMFAAJsrgGXjmgkUWlS4y6IGx+MscByiRCR3Bdnz
+ZLNevYHrevIzFaDR9QRdgbFY9V3oExVFZJAUXB6CBGV/uguoLBrOVD9Xq3j
tm4ORoIXjfkJ+3ZEWQjTS8QQ/B+4QRzo+p0XaMw70LvSmi3b37PMS5ELNIAo
PB3Fw4hBLk0stcbqTT0YPWVngMkwTrOaz9dIVWvkccnwwaRYV6Zv3xT5fFaz
ReOsoA90pJ+K/L5tpBaaURXFhS2s8fUUGpqOcxt0w4Yjltgsb+rQty5SX4kS
VzdOLOC74wYL0mDoC14DGjiHRdKiA7bK1GFlymRXg7TAk4u6ql9skge6fTyx
kabpuMFY5eBcCg130Ae3mEg+G/iN6Zse+/012kE7r7yJOGEllgGz2LXXWxM+
3LpU7TCWf2yfQ8DmsSTjr845AA+vEp21KblJvASilSgZyufSWZjR5Ta5dMC2
kFwGvhl/eursFvYumkcUbzC7Be4ZIRdWqjKvxmOlVZlN76J8OJY8s08Zbeot
fH83HYe+EzOLbCkZBZl3obSjFisNnZt2mcZOKj2oZJb3Tt7P9YZJHXvhiBmG
YL2+BR+yI1km4en5JLssbb3AS26iVU0Mm42YW4kejoXDCZRkwXfBPDGRtIAb
DOdYsW25cqHMHNsZk0DkJ0giJnQ4OsB72u6TRVYTvQ7vng5tJNKxwyNszSGM
50oaoiiOSiKpZI25WAi79G0z6D4sN0lEh3w/XTymdaBE0MfbPc3m/lrNcS6S
fVjKNwOP4aRQJiuS3Pt2JzTT+2LW3LUTTRy9LJBWhpfDqaZei/Z0EjedWDfg
bKkcMplu0LLm94dyTKYeEhA79EjTnQ7tXaP0XWSrsVInqhbdGOffXG57CcSb
zzlDZAArmWacYgiCJnK8D33DrFlwbqJkPIooZj8hrj4x3QGNQQyI/s/aTk4b
wclXHP6lK4DkcfYTH9cu3nEPZ+zyduCCMqxwqao/40AnmVp5VTBzJSlREefr
HHvkNqL5XwjdDY+JkGqwrrebZbagA/KqdLp7cfz2eE+Z4sujVy81BXicz2+G
J8gzQ2ZqrH+z8hZkpe+OT67y43M3yiFGsSjd9iiI3XPx1FjiLLI/1hKD0HtD
e68RC46osT44nyL/Jdc0EKNghAarzNLx5htxG7qRXeZr40MfzunDegVom78a
uXZSBDCg9ECTKlykiCXbFArdFEZEyWp0UxXTWtaQbl3DQJTWxL6upG65IDZJ
naAww2CDmmBuw5rlKqkWJmO9Y2o7WwATQGahSheXwAhWg0xDVYwS1vREf1EW
AC6ggShmJ5xkSpYVsQxR6KpmuhqqfsWuiEeP0rGoKJrjfF2u4HmG0P38qHG/
fCGFmVgqu2JdEE6TNyz5JPVfj3y9iSbMcLbNKD0vxZQgJrYZpLN17sKhoZtE
b3SWrtbI4kbEWgOMPiqge81aGU3D3VPM1CtDktwIxbIbiuXLAqaiq4DNUpuR
QW+VsLoPSHL8A7J/7j9MgmVr4ug+dnF4PD7ft5/H8c/Dq+Pz8T7c/WPs4Y5/
gx9shylPuVewfp1k9CoePukMn54t1QJTpikJHeEweAd4viQQsmiz4/X6BGqi
hB9iB+lul5UaIMXPJNVH6Y9kj3LiX6ZlEpPy58Ry2rLgMXZNyWOswtVqC+ea
i87peJaUKXHkoWUMelU2UJnAilUNZP+BZx9IubC5jIR8TdnfrfOcqI3r2PQz
pAxhL0xhX2DyczAwVskswR36r2bzfD1LET5lGjP0+cxxf5EvX5UkwzWRJcy9
DjZYHVj6iabkYBm0XkxJ3P7hMfWYPmTJFgvSGKpUX8nTKKfTNYdPw7NJ3IG0
32m1D1gQXk5zcJrlQLI++fTOr39IOBgQGSyp5rTUC+SwVLJ7+nWJHWBc+zYT
7YQ2V2mWTz0gIAxmyn+V487njgEFzjNnaTA31jfr/Nhe5dPz+zTmM+t9UazU
pD7K4OoezAm1yjbz0jFo3N1yoRFaNzewEJ1O8DE0jjBVHSxbHJ4uF01j2UGI
CWogPfiLT2w0XfmXdAw/+5Tk3AX00l/i+pU/0Qcn5UL8E7/QAEP9X2r/6/mo
97O+P2LAf386OvgPV5OHs2WtKK+4yE8K88rp47tmMX9c3Uwx+Ue1TH5Ij+7R
eMzMLi2rhX+gTzd0/X5J7R1kE/ye9/Dj/l3N5fCKIwf2mouyyYcXx9fh6w5/
3+sO3euuq+Xw2pNb9E7cjP81qb6T38anJ9GKn/6+KTx1U2Bf94OTcG/9Xcv2
i0a11PBa/qtvs9dhlX7N8Q6cn5DE0rn8LsoKaYvkM/24LN168ZLUveV3rPhp
sOIxvwVhpPkmfpNf3g/4vf3+33HKT4MzNnXgq5Pg32UqNolnv30KzwIiq+9a
hBW+4/nvOc7n0fU9794pq//auuiIzLaOI1M9+u0TPfLbwbrP12fmv2xv/z0b
dSQbJReeRiX54WcSkUU4SXvx77gKR3IV5MVj0namd7/m3S9++5tf4L1kKeOD
TzlcEfdZxUGOc1ML+8iy7wRsNi9/+2xeOgLgdPphzVtB7/zBs8GtnO/BSb36
7ZN65SbFirZp0HxAbmK9Iunr0zp48jvk/xPPvlbzohlKShRpRt0Ds9f9HnUj
kAn1ZiGGP31y2bqiP2YVKfOtTRi0uMkvSWJqA0I6XcMW7rnlHxpnaUC/oNly
He98pE/TSHja2ebi75LCCfHL4F3efWDPkQKI5y5c1nmnKETqIsU1WFYbV/+g
uVasFrMxb8YEUrtgr49oGfRl5G/CrSH5wTUW5IpaJB7EljAHwyW1V1ThbEaz
gG2XwEUxL2vUdWiGqfOmShqxFTU1d0U1kwwMzrDym96/sy2bP05pZnPXBgkE
LoZC6pYa3psoE2f/bUFrKiaS6z3mTPl9s+dcGFJil3MEOGCXsc2Umf8YeVut
XHlLeoDnyqxxTXXiYbjW0RxFLnYr3/eJz2oKB96pIIrh3qFZpknvSqI9lU15
eDverCuaqz4NW37/KiqKbW1R4kpmm1o9RGm8HF3+w4tJtrzFlde5MW1BWwR5
cKXqlh/EXsfkyMPr3nmDPBqced23jhechXpMdChwFKbldWnGdugse53us1/P
HQZSGUqz5FGjp9Vi+oc8qxHAS+B1FZsYseCqhHuFk++rUvzYcIvzQ60szxht
gR209u7RPiK5J97zcmolKhI0onkcv7+8SD8/yuar5RfNUXEwAkHcVb4mFXhP
UaxOb/2Y0+2fESNCRbR/h+YlX5V/TTias4MM4sX6Z84i3oGPhQfj581ABmgA
ErXru+xjLq4ezjH//LnIllmHfelRyKYEs8zS2+KTHuBKat+sZoKuxFwqX/WV
wSTA8hJf6ubS7e21uTA0cxF0EAZGqXPl1jiJTWJRGc9FQpZpzAiiofstnXg9
UB9MYqnWASbIlsBVb/Zsa/+L5QyTDwO0Xoh4fxi9m4ajTXCBNInUbnu7K9pq
h+6yOqgU0ByFqOAW/uUYYYp5KkeXCi5rC4p2Ef36DgfhZ1qIM3SykXDvquLa
XkcRPYXB5usbv73ctmlynmHBbBsCAUSlTlhZo0W+Z918DXbi/JhPXDKEePEZ
9SplnCfE1HTPppo4jnnBSdSZ2+WceAa2aFFyPi3nSmkwGmUILMfXE0ej2AYa
7YaVMXtbuzBIva18Y9l7xzejRTvgNDLLTWolSUu+SfT4B8QZ4oSF2q4Mv3sg
s+L6OCyMXeU2XFhkUSfxe0fpD5xTKOcmNcGcBAygmtYLLa/ejZwEI1slXsFq
D/1M0z7rzngWnotbgyMfycKYiRiTcdKdoWSSiT+8EvKVJGkezAemWbNy14NY
RxhvTb4Bwo2jnjbALKwu5KnEe0ff32FuiRqeBbLauBzWhT6NuJHcJQnJFn1o
bYIseoVEgKS7bpyKH5ShxnrWCmF0GtXaf34UswKDQ1By9lpqc9cPfPA4QpTS
DHBLtnRREYR7vaOdbIW7cla/dqGFSCHFKfoUjCh1uxWz96kuGp2rTTcmcc7e
cKWc4NXlDDHVsSoX58f/hly1CVIo+QH+O1iZ5fYhXJd01hknMKDw0UmQdoKU
MHa3NX5pnLgTpowAyShK6epPJ5Ect74KYMxzkEoZIb1Z8VM44AhJSrsgxcQi
apZEkiruhJGPOtGdRPBw+EM3b5omEvczk4Tq4ue9tyw0VVu/kiw2YCkjrob5
Rljyebjoz4+i/Qk4ZCdHJso4ieR5sCOJrZkzpm1i5faSaISC2vIUJe9ylJ+y
imschvN8eUs7DRvstgdCIcgJPMIuBXnt6SnSefCKpPUKD37BpxgmRwchkEEL
AIwjhVhd4r+edY4aXHdpEaeOCtFSzqLkRlZTv3CVarVppaOBWPznNl/J6Gug
vulCWhuKPWacC3wzgeTg7EwEmPmYuGLdvQT1dzKwpSlzmXJrt1jktTZVVD6e
ST5zVTDxoBrNdaA67r7fbNEkZXmiQyJNZ9q031tzuQsWiLhlfeey9l3ysQsU
u5RVR46wjPVVWscFjjUrYbcQk/JhLSutO5JiieNgAFeviEcneWevkF8NnYVY
dPtWgeGu60EiZo8Vn7gV9G4VKsOWtwow4likzYEpLImT7uI3btv/bNuSUADt
3tO+rLtB5E9UiGk+Q+1ZTNbYvOcvjhgMq6wSt9OxcdCZrIK76IZiQmbBdvhT
ZnUaxnWYcBhlQ9FwZolq8IES7XTnloaOufnSD3mu/cqk72Io3EjK9apBJszZ
TZDmb9q1e7gnITAcTWRj6UWKjDqALcf0WgGLTi9c4m7aNYfAuT7FbfHa0i6k
0vYuqyLohjbDChwGLKv6+PsoveTLJxgjLo0/W4R4CyFIZuItlgWAVThJtfLA
eTw4cZN57rQEn4gvTwWZ+yOmkTpfIHtPpGQ4S9FyHAMS40tQimSeIYqAqxe1
NRmN4iA8do2A/6nuEyttUYpR2/541yZap45o1pLlUoFFaeDdbjk+h+POp1t5
rQm7IwhYfH5bxKbPnrNTLbWwJcfJJZNNw9d2pXuutrAq9qSScLLyTHmWumqy
2aeizpRpYafAnOURJFbDMeeqZfFnlGlgGQBbK+ikHI6dplz50jnaQhkHyRGc
OywKDC9xbIrto0ihIpr3rLNHowz1pYEvVWFWQWQAwbDM75P1spjRPk018SF4
auTezEW08feCTNVK3TJJvVlO76pyWa7rNKyod2dQm59KmUN36pDf8DXZZIkk
ea4001gBvIn0ZFt4C5ylJT1blYsuyy8ED0wNPFAyh42JGYNF9nRWWe6L1XsE
Oy8F9N7zHE462a3Xk38ADw2mN31bio3LAF2GF6tfF4RgLRGXbOKPLCDWC0G4
ULg0kWH/tWbgLSNHLpzxVf2mrygXYYcbF9nIPsM3ZQk3jMUwRapkI0C0JbDw
1rnzCdGm5k5xUrIVREDWh9g5I7laMXYdKE6vRPQwk/ojJbbYpIRVc1PcKs0P
NbsHhQl3VkoSsyStoVFAPiNgesN///d/J5eaHPQ5ITsd7OkskO3F3oA+dvSo
390djfbS0Wg0SL7wEJ9fp4+6ExKo6j/uBK+0AeAQoBntfFGO6F/5Oklep++6
qfFB6n9A4SwnXFVBJMOSyGvYXgG/BvXuZGPVlqdld46/8S+pJONhXfA2tDdb
FBNbauF0fT1EPvQ6VpXDJYnSJPWaoh4mnBXbngbu/nze/VircJbeatHLCNXQ
Co9CPc7NpE+JQ+UxrCRbziS/LbRGBKQtQoQLp8y3ahxF/+azbXmamn82iJYp
mWh8BcSxNvjKFiuBts+OKfU9v7dLnxge5Nkmze74jjxbW8vXJGRQoFJ5HVPN
cSxi05Zlqjmc28zRPdMPdAOTeAO9Lt3n+GH5HFMz/sbTuo5pWDhN6YqQlJ1c
nY5Pr//v/xxfX50enwsnvf5wSR+cXrw9u/henUps/3/lq1bdhXdYhquL8Am3
qxrJulQC5bBVySpIjoxii+qr+3bp8xL1AaUZHTBhC7blzjjWqncnF9ldHc2c
dAwSJ8iONEdgatQp/P9ecSg2eYPcYKgjN2sUAkjlCMRig6TroJ5rILI9xWXT
jGEGopTpOPno7Wf7JteG57XGaBiylaWHQntIUFm3JPHFNnbFYZNIeXgj8bd4
x7FBJo/ic7U6th+lQDfYNB8t7jtfSc0O99gpSsS1EsXR6yoiZr/iDwoLzuSC
6qxN+ElquCGJghyG+CEBOHzokXB6Ev7aO2nn57ByxewWu2v6bDzb3XovCrZl
Elxrm2pGtzDi6lzh4UAlisWwRjKzgK3KyqKSZj2ivopHsZps+YzQWHvhJrZy
wBhk8FDcOQtTi3xh3Q1aG2Px9oDBRLdEAKIEC9hsSf/d8MAcxgZyxhOfGeHq
Z+qPhRbKituDKUSPf0so6riz21OUvMyDm6F7inLBBpg4+gCN18K/ltoJR105
32+/lO7Gqcfku3jHfNlZvJEenFQrIJC2fnMDilB2gp2k0RRIwhm6ko7enqyW
1Zo6yW6CRgOtmavjQWgrZ0QfU+IGURTXUZQLlnCwQvNVeq4I5le3NH/4RMra
+Wt8PWNzVy5qMqjZ0JIC++ET84IFmekSqrYcfZ9rAL9XALQpSfSindHbkG7B
YKYJ85YbyYdrkacKG3fzBflnyYipxgbF575ezlG0UTSJjuTUu9AcaVUuk4BH
SUX0rY6CxVBMURWzZPJb2ryHWVGPRPCBoE8FBcEK3qNNC6wTBUf/VEg5Z0fS
LmYGo+DyfRFNwaw9PKrJ3Jolj8OI4k8Tdeki28k7v3s2fJRelC2K9YUtSUh0
KqrDmda+6E33YF5KqRKPV3BELsjEaTyurSorbAaE4ITnx3+3CY6T5ANJIZA6
2HloAON3O0RITA5xCwaSx7HytqgVuNOLputKoJHCWYZsXHNHlFV5NP9lul6h
SHrC/TZIdDvT1bkahDkUAhe3Xs0kgO9kQrg0Jyuv3UQTP1GTmJ8MzizcwGgR
4shherfqsJtsipShgSuCivfCexYDKNuWR1BUAiv/1Zq/yB9nKAS+Th+VVKtG
nEQhMQkgUpDVImscOZyN/kwJjxhvKUwK+zElXikZauYfSbZRRrbcoECPFJJa
mKVyQUuIEXwMh9w9zZek8JfSAOTwicdfWsI9o8aT+yjQqhiqGvshpb8uInYj
gRxFKQ6f1Tw9dBzBkSl4twgGV12K9dXirAp1GQYJlQiRSusmffrELiBItM6n
pZsN5vW87888bciYhLke7+bBc1p3R9PzD41CMc7ALA7BoYGygJJErn7jamk+
KTmWMrjILYdajBdjWFiyc/bWM+8qHURpdyZcteZWzzWoj5XsAFzXINNGQXDW
hnUCAgwThJgCOOjpkR6dDzZwv4eQw0FmV4RrTVIgB0qDAOeETRYCtElhpIpP
zuEM85jCYcaoQvGypZAY6Ks3mXpf7xhZYnpnMUvb/qIRsWbsxE5M95uv9TC0
LwIPrEerUx+sj18beIzUcfJqjUu1i87aGCItsBPsfrZMHC6Ji3m3wr9hCkNr
CHitQTeq+TCPprucW+wtjnupINWUT0Tbtb1CFL92wCPW0imoh8ZrOJ5ke6DO
yogCW878pB1Fam8DfPTLWvoMZZZFGXsIAoKEyVBUzlk0aPt7BgF8/NmlTgZC
CrTgShQZKen8+oeRORxnmMyv9jc6iMPf5nHk4+hz6USzCZ2NDqLw/wfexl/h
n/FWdgQjkzHcE5+6d85oTTKkqvOnm+r51k34Y8Hi/6ajibo89AhHpgWZwXpX
IgCYiJ9L0a6/A8FNmYonNegeBd3cv3WQONJsGR2hcY/5dLCDqmqjIVs3PWay
LWhNgUFvPSSIC/GXBJA1UIq5XpmxxlAue8Nc0Qp0Qfzph6X2FTFEmtrfwY4a
mWaal9UwIoTLMg90MUOfVl0Q1629EBMlzGJ0VZ20WNWVJNNbFdTIVGDMo1rk
bXs0XsENrvt65VVbGzL2JAROGCwq6CTRlIkiKwX8z3aC7fB4YcO4+5mabEpq
w70kVHz7ECbY4GW0PUm5UsiVXNsnzQR5O0/6tqGnunkQGFwiQWtce4V99XSY
2DkFGFHuDhsEtGgZjAPdT5cxEEgs4sTB1EKMEqjLIFHcJdkNGft8aOgexIqx
2fx9pzfsMYRXCwsL6THstA0ML7HLom2Rzei3+9Ku3Rfu90idZ7GbQ8XpDGwh
JOQwQgFySRwGVfgXEe/Pnr80oJm+iIoFI+vclai0vxJggtjQLgrYu2TkggpU
XBcmWVJoWiA3nx/1IMonyfvio2QQCMGHJ6KSpNBmh4ISEiVisyzIIkDmRHFh
+iD8XAAXtwbiz0I1iioDVIxiLtNh0Jhi2tMMYC6uOE55yKcRLE27eVCTfeSO
dgo3Zp7rktMnSZ9vNpYZ0MaWCXDsnartukh4bZSMVaTdSvuDSpNwuV9kb5OM
cPPYRXUPjRbxmlxAoR9AF+objzkdvNLJjAyPeQmFcDcSYjvflyXEYpdIaBt3
ki62erWg+Q1vp1Pubwpu5/CbLGkKTrNgYgW70ZIQ0Ak54oq3kgqYkuWoHTpE
JgA12aeM07QXQiwl2zeBc8SqAFWckZGyYl5Wqjq4bUriqw5jj66doC8XBokV
pfCrs5nOSTBHiRK3TkcoY5GL56NlukVGwI7f/sTu6FX4bcz6zNodfwq7N3EZ
8I4Bvb98esTOzf4GgXww1fSuwL3gPLcYazjyWDkwtAR/XESN8QZxpo2pBQz1
3ibRovYNOJLYM9Nu09W08rGtIUcH/Gg6FY8uf0HS8pzTR0IgIZ96aJjge340
d+rfBgDX15AEVLYVjopvoDSG5H0Qou0cG4vlW/bF3K6LGaOBiYHs2mTGoDc7
S47P7fQzRekb/PmzfGl4ctJDKa1mxd1xkkCdZP1cwecFJs7KQ1ec/dYPyegj
bMi5tpyb3lZOYaKeTl5eNAyG41WcNZoWvV5wcE1JqV84aEmS94FCe4jS6BM2
pAw+WaGBY/Pa4R+zwJqgilO1P+/FtLBEb8eabZx7Wi4WXPgomxUxSewYA9g5
bwdrge3p60S0yKqfGLSclNSaPwTers5QjLEsLaP6WxaJV6VPx5Aj8Aiz77np
DakZ0eXVuH3Rj+o7j9s7emwhq/+sAsQ4dL4m6iw3irAHLaN3/bI91k2553Bc
sVjiMipCzPlDaSttMFBEBbCML/L7q3xZqsw6ev7y0HhJ7WdLdkIumH53Zam5
mQ/i0ccWn2V1s44IpsC9gOu4us2ncDDGMEvQJy+fW4uYmPUCFgt5aIlSCx8u
JjkrkYZ7drOFWUsM35S5DtNfGvYtXcWEkbkX5YyNmQ4It0F4W6+kNvgzJ+aV
t0uBhMoaTTh3pnJb6SlM2w86SDTl3LEFiVAyeyAjbLS1mS58ujsofQ2Sq4dC
xA4s+cIXPqa7KIvY883mz9DhpVvtYUUSGivr21tDkAPSW2JZE55k2isesr/d
gEj9HQ8EmYTNEg+uCJHz4a8Q43RfWMeQw+6hRbefLCs9lGRHTsu5BLXPiWPE
vMq4lk/BZLfwaH4SPTJqQZHnwgABBJB+FzQl/NnPxEwfa9bR6YHs3Bw1a3lZ
nVjNgm/r3qg+OzRd9pu1U4/6ip08x732uuTDd9xcLAwvzDhl2OSqKj7h3KGm
OixMJKKLNiZOE5U1rTYdQXpuBwhey3JaAMjR6+qGjAPW2+H+8R4BIZPU4sPJ
lmrSnrd6il6mkT9c6jSLOolaDIifvP1q9UVI20Rgr3rLBL6AO5Eq+sphg1K0
Eo3Sgu/drUn1XWTyzUZVh21Ezxa/Rod7bumg47VisL8kNncD5G+vF/QgDnuc
Ym3+CIQ8bsCLVsFqEUqPaBZxvc1A5t5R0K6FEEd+Iq3eXKkuWtR1m6BpwYfR
lp+jIz1lJz29Tbe30RiExAF6UA3Y7WrCnij4EjK2cTrvDWyEjnr/zdq9FMFF
hOlvF2z/CUdcQvunuas4RKstGBkkVNTeyDzOUMQMVjRTI5mMt4lBwm5XkLgr
cLCcQE3qTl8q0LS4211ikf6br/RFEHFghiIcUokTdkthkW4ntLTFd8PmFp98
1D290pMiME29cLL2766nnugfPlGxMxaCOMnDfTy0o5RWV33FH/I/6QroSvIe
f5nAQAcX44EJ6l3M0p8E1fk/NTHhJ++YVeQWNkcEy5pXAH1Ie4iH7KIO++Wo
Q4nTcTLLD9QeOWy7SBKnHpX0TI3o31DcEakuzCN11nHLWjWYAM5m/bc2Zg+q
Lmh6YJ8C5ClbEZ0ykWzSBmmAo+lpypX0kHwnshAzmRATYcvkk0AX38J8RumJ
InRLAusDnCvpcq7Qwdyqd+kfKOj4VCffQJMCej5QXUa9dl9ZarNZKbEJhG2M
Wa6e30jvCvC+pRTfay3WlFKww/nmhXWXgR2zFVL7Kq/LOdfPOTcYrqm1xraO
rpGuLtvbw3k/P/I+ELTX9q1823bocNpjh36TRyqzEtgWMIk2CNnuBGevSMw1
epnPFt+VD3FUlqKZuFCsYWWw3isg/aai0waY+6hvVvOyXBkwcWJpkM6XwIkm
1o2jR0B4ijbQZ83m884eIJcvRIO1DDWHyBSR1huX1NZqnBxUJ2S+OQNsvHS3
1Th6j1aSW5BA/Cigb+dla8rE48UTF0RCkNU3m8uN6HKY7u9HBKetm6XhGYLz
9f5+OuwJZokpJwheaAjX1EkaYWCoBikM7LYkzdxyOLVHl12eVlxhwIpZGn5L
2ki6675u6OD/6RW9NkcrxNWGdLuBTQqBPZ9MzSTjWTSSe3Hk8XvkBtBx59Hy
lFsMJN5+l2efNkNAS/U3twuiLLukZNEfpzQQR0zlQllALui1Je46Dihym92G
WY7CXTAGec0FbzSQFWvW/pncgppW9mAD7FlKVpUxjv0UBCO5JnT3sJNYYlva
2DF/+Ksec8hFpBWV5v/p1pZuP3W4vl31DdjZYsCwaNIa93XT/aKBMyTf4ASM
hJwbwGXvOkdmva6RDiG+3LKe0hMi1YLTybA1wfTsJoDFLKEFEJt5w13cuIkb
XwFAp1RLbfUwH67WFSs//b5JGlsAEq1rXSpJQXFLNUPEkaYCQbfGVpOUN2+u
aMDdnTdl08zp/SSQ3rjbwGwaaVXDpipW7LHNbtUMJcVoZ48eVS0fHVSheg6L
6bS6HU4m1bBX2npYHG62JwCO7I+gsfjELP3Tr8UwqciGf41Cg12a9F66wy4S
2CoMdMjnaIl/YfOFwNBDRyzhoBKYGqDKwK8Pa3I30/YrtW440qVPwIKkzyWO
bW6Zst85nZBPHRuLz5eW10Pzl+9Lzxm+wSwqXD5fYf3XOA/mu06y7adyvpbO
EwLu0ViPMTCkOSdvFFYIoz2GkHECLDTOiN2R9hsKDNAJPHx+1BM+IEMiTPJn
IZQbEF8K/rPMBcfMXRVX7B8nDSHVCCFkCVsUCGlky7xc1/ONRgZsMFWIQutK
0i+8Ru6ACohsPCRP3DNNIY90NPzN+l765Cg0CeMLilwgRvmhXbRKBdKp1oE3
1y/bhWPae8juWqJjDmEhdVjXNHBBwMYv1HX27ItN83XYuibWw7ZN1zdhBlmm
CFj5GL4v5ZCYAQMhsYKCw4KS9pE4Rv7zHWkR3NlCaLBmsAkazIS4en4OjoZk
l3E/BQGxFA6MW68VgGFrK25mwSyDsRjR3XVEe38cWhwDbg8ZBHyMKkSLsqxN
l4YW5q8zsATYyPaOZyAIzhuaOc0r3mV7n+D8BH0htofMHI2RQKtz9tCRZqap
JzOgV3CyXqKZSFrmGKxM73kLCGsaNXVD53Ey/FEWohNPWGWkARU9NL77XOIx
L6fI20KKReH6Xxn/yKZVKV1QAlCZXUPU2fPzu7dqJJegjOyLuQedbAHc+BTL
XZwlu5Tq9URq6/aCszVYqZ7TLpdBau7AIqh9J+6a27KNmEw2gZnYzhNqWQkx
gph1qyE2NndZhu0mi3wQ8+JjrqAXTnXv9zdyqhyOTteVmErWux4RzSwqpAfs
IDaQIsAyH0rWVPpC+GzHrRnY8FHkT62MNnVUgTYM+TI1vGeYmWhjF+XFgxH/
WVKeT811XQeZzu/Myv38KDJcvWGJEcCsyO4rbxqRlzNrj14wzq07kW6wcxDE
yfENstqaeS6AOt4iZw/LD4Jn1u6fWrvOS9HXXZ29mcVhC9CTyz3XlLINuOvx
htmNa8A4znUeu/IX5RIlkxEGLeZVM+CNVlY7oEms1WBHuDGmA3yIzHQXuzfd
N8gvRKaTW+nAVXAIaQALKAhcRd/1gpR7GWo6u7nBJSVYv4rwQ3UzNZw2ruPQ
Mg7Ag7fGjcDInGvQKggmm8SFovsmoDqzXEd4TfkpF0ZBDY+ouhaBqXMpOjAT
iYs9Sa3cT487UR5jMJbJaUi61l1VJxZHYiD/NRYDQWydC2czV8P5jdEZkZQP
xGfYS0jzdn0OmedVAo6ycfnhrRiVuufbo3P+Gg+NliluFHYxcXV5QJeaFm5d
xMPwYSVJrWkr+iFlCSX78+Bxoevi6z1Diu97TESMdIg0QCJLIRTlJByhMasn
gD1VRyQrT2zK8RoMWgbCOYo1mZtlthbum7u0+fD+em+Llg8y4C48rWFps+sV
maORd+FIPYKEWzMCkyZju8pidjR8KrlIUCDH7E8DsJ/iJmDVLg6NdbGPWtM5
uWALBOgCB/kMUpLMJX6pY+fd93pEH/7TXHCCtgGJZmxzMqqQaLQmLOK2fUGV
BFQNTMWgL1XDagTbtewob/6USVKuuWra5sHcVi72TNetg3IhWiNdBhDEkRIW
frfYerigjDWkOR5WCedrkzSLdZKzW8OTqECZFgzAwF0GMUHrws2paDsYaKfP
cSs3RaS7UgErm2DBvuhGblgHFxUyp/dLQb3VdaDXTdVx09J/qnI6nGnIXn6T
oG9Uyn9hpfxBuzBJgVNl0tPgoljCrabeHdYab1HJBgM0SBNlPiDJiHlWzQvx
Z0qJumWSIom4JDVZRTSXtCAcJwX9YmQg0svUy60EJfkZSdYsHhicA4gcVaE6
dLmMtSnzMUjgMsKI01y5oB5E9DEGM/G5Qc6DJVeYhSbqouQulhNmAhMSUFx8
Msk3qMDUBrKeiti7hhNlR4FXfJJexUc52Vk7m0Qsb3YbueLDgFclPUGmnuA2
PUJmn3SUU9WFPcb+7AMUINeKz5MxV5Q9UM0glEbaPoDFCgSclZZ4WyLlSKNx
sqZZN4ZuTMEtRUpFPJex4hINhhLn0zaPMfZOlMCsvFntX1hp0mGeU9mSVsGn
qteo1M6kH0BQYqr9NcJNdGUC5grhqZhgiUHdhKaPxSx3gAAZncCmLmq3Dqec
Cke9ZuNt12JdXHyj4375sjdIvpeyAKY2p5mjpf27N3v6mFYOBIe2N7B6O9+T
EFzKD3A59s+vWl+NBzo16AoyJdj1sMvxIUO0AFngY/7udvNiV/npaigFjkPP
qXmZvn5XKjACjVvjvNq2Rf0JTtXQaFpQagi3mLBJTcV8G1ewkqqUszPQ48D5
Fgl5tqwtlW3ZztdBq4uquL3lFg2aRNvqTV54YIygpNXniAiXshckQZUrJyz1
9DVGJnjWAWwYBCYzS76Wxuj0gLdxFZ/1e/URy4FlmBseWE222W1WzbQlrq+f
mg1k0e5Kx2PbSQmkn9piDn3svjWWPzePHiniLEnelVFpmC9IERyQHuzIaCdd
dNa10+hZBEx8VfbMI8ETTwxSpE6DEiUd+T4XAgpXwYp2BINpVZ3dYL1GXOJK
UvEjoc4+MQXIyVZgyN071ENtKmLSjX0UiBzT7a8NbTX0J4Wbwn5x7l6b5wtF
SGRHLz2/dpWC8rWg4TLE3ropOWyZtCrJRulYuCxcgKRTiR7qb64UJ06kyWmF
BerInYGYFtqJ1YEfYqt4agH4K1J7zQ76B3XYwEq0rt2iMbNjYtW26tt2LGnA
CDmR6ckKtf+iI1XFkEp8joABqrDn3CcMsJCLJh7pwmaLTu8KssElf1tY5Kwg
awpHx2CAHdTu1oIVx+Vch409PdwtmB4wqA/P63eurnb26ASurkwPxgU9iaUq
d9EKB/Yd2yFf99vD7qe7P11e//HwycFPg+QndJ/949XVTwN1Mj99/pzB+WgX
ycZP0/10/53mRzAX3H/NvaQjDtECE20D74uRrWPQPjEztWfNFclXkPFmaA8r
lTEJGtfaRehLHLVW9qHzztCo5oGKsLJCSAwYspCIvxgwJKOQ1uapipBTR3Q9
GoYpEawcjOfVGqJhpIINFPKHM+zBPgSoi++iBp4GBs9UurodHitiuszwBLWN
8VNjfjhQhqhwaTFj5IM7WS94cz7ldnRjX2Pw0Kmo7949zlNzPIzXEZzSlhMK
UEE6Z8ED4h2Mj9XER2LQN7yGP+tZjO0cLiQ0YnKeFnW2DEwSA+eEef30kIMt
/Im+MWvMF1NHR9065jCn00FtuXKw4KRcLEKUWHiJWyNNN9N5XsdaBdy3lhk3
So95PFVTJKDZBw3i8Xqcz7S75xIWTr2W4ICT32w4w13yWZytLwg7URl32aIz
IfK29exhGIwaW/m4TCK9e8zj2T4vZwF0gO5VjRwsDZi5PXOU1uEEQiiSyKUe
yX+gdLwCbfS79DQ+GqSnhylRPEGNDhiyuVemud8e1jGDz+JTPnDebL/saLK1
O5GiO0dvp3Vz5nVl7+FuHl/F11dyUYMnBp1BnNEj5U08CxMtW+9x1/kpSAIb
Y6yymPYc33KlgLC9uZvvdXQhDTuycAp8dMBqygiLhiW4bAqONIRyPxJw3yRV
L/JbYYHH8cJIDO5cHJ/8KwtY/PA7ROzWdyQqap+TfP3p3fn1Hw/wA8tcMy3x
aid9nz1HYVUofSHl1MRE+wZ5TcsyMs3bGFuoBrJbLRItYZW/pa17ZR1iYBTU
fB1xR3KD7pX58XDIGkaD+lltRe3CfhWdES5lo50wIuU8zGJUyswsa07J252v
qhLt6pIt+1APeDSLIUiqVaxthG2v0u+zlcNDjxz0/FY6FjNRgt0IMIwPNZn0
awR4enIR+A526FcmOfrv76C4cFCn0Dkqe+k1O7QNxqvevXFEdnT04lVMZBjN
vcD2Su5jLNxcOjeGPDmlKVYfuZeTH5fPICwR503Qyy3leYFmnO6y1mXzZ3mg
SxB8+0ykRX5v82EAfpeL4KA99QWBZQHV3oy4kdewXDcrLFqeElNeqjI6auZZ
fwWMDcNj0lAGFWLj0WbhBbxzoecryMvuZbdytzLNfbFKiuiAdKnfRHw96coB
LZ6cvHvDxIgffgc1PvCWHhboeSBe68hSikhCstRo8tYFOIbXkVldWSpiZcmU
C2biei/WPvnIaXqG/tNi5/a8xE6Y1/SL0DC9mnWEUU+sNAp0qoogNOiIurdi
rZMujkf/x+rXvoGfxS5JIqO/i5X6999hpRJHa3k6HVd74ZjZ3wMz9ejgoMXD
2p7SEtZ4UCIoMVIahzP9BBs5wEJx1jvvp08ZlqY8o3QcODToAIGcN4t4Uh0l
14gOGQAEFcsus7I6UTatrt6f4oSMvloAQ6aTSoC3KUtRvD4wo4in4ZlNThS3
Vo3dHBbsLmrhEWAQecGNiymaNGwHGCKU1YCRaSBEvEndCrQrjl8E3WftNp9b
2yP0JbYwh0WnPn8OXR9fBMGQt1PTL05afsoeVxFzflVLasVZc0jm/DW2T/Vo
rVK368IRbRagJPNNkhGxTLlndr9rS+yL3hwWzd5Q6GBYBLSqIEVwC95IKBNa
OpVz0Dn4Tq3pGyFLY1/U/869euLY8LjX/RMCEjgnUuJMiP2+MpLotNhFs/Gu
44nh3QfZP5zDbLGy+cbh59EiL7TaOuMdcXzTWdw9iHM8XjltcsuM92jK3joV
z1GXD0tT801o+rOjoi9/KKIiD3dhO9Zz7uoTQplAUO0A9q6R72iRNbIRNWbR
wlo2l1eu/iwlPgTtsXDVOMwFteVlrBRHse81qx6uFYLPcw2z+xEwgK+2uyNW
j5YGpeHX3iFgAwbdivxJb9o2oDIyEFhihnOHDcVy16loPvCb1ebYNTHZpk/p
TBk0F3MgEFEpmncwxx0wQ8DHvkK8PiII42nO5xnBq0pYLc7BKmKbDi7FMA9r
fyypxG/5MrL73N3yQ3/L356Of9obpPtvNrn781P35zf/dioqN+RKwL/dV5+5
rx5fXtJXI67HhxCyEE21YshFqxNTEFIXFG3XB9f2qqOf9oKeiS4BWqzPgYsZ
2A6LyJrlU9rJu+xTUbq6db3xMd5gB6yApgiAUC6D2HqMMkeE7JJYf+lERw00
s+6JfDh7grsItqv9O0c92BI/cZGTAEIwAWKD4bq4FGT+FgftgnB6FwJH4oFb
I+SM5hdFxwFsLEjqsLc5FdEJ0TrvBOmVaUMDaBoSGOsmd4xXti0J8te+Klh2
oKLGWW874lVdKuwecHGg/eT163Rnk9c7A8ktCgAjjLPtSOh8Z1mie/YvKWg8
/SUdAxhkSov7Jb28pn/eajpN+taSXn5Ju9OgD0/YL0KL/oUGG9L/UvmP+zH4
fRj9YetHPNT4/PL6lGXEENTu1Gn9yzXeffDqGf2rTUafvXxGOhP9vizpHwzh
lGTWO4YtV6Ry31/Ss7/wUM+DoXCn6dctW0h/2T/7yz7HmV0jR0nFXeCa5fEr
ap/DE8aQuP6Pwx0KCVMsJNQmGYUixYsqFpWjNP2LjG2RZxOQkXoa5qhOwizE
0AdcWdppHGl3sXkN1865ZTfZh3wqkXaFw7iif0i9cpsnDBHngHRYepjOlbWb
WAdRJtLxdrIOFApi7lbqRLCiBQkwFO9hLj6Pvf81qb4bhnGKUEEI3qh80L1R
nsNgEgDH+/avrvZbXrL9MT7CFnQCl/SRbMJBexN+8ZC32AUfW3yPANXjMGSl
n3w1ACTOvkCW9ljkxyf/Wsuy4jiBUA69xXzshjEak4an+FH6Q0BTXFhUc0AP
XSZc/NcIDMmrHBKsY41C2uSo1IwVP0NZyvg4FzXXTqArRFlynia9m4Fw+bqx
b2FPyFBUgJlXAUCKJPL5HA57iNExhe9p6MkGLI90AP760z7a9ecWXKuTDxcX
pyfXZx8u/vPk/YfxqVjYf+Jxw1pmk+b06eUlv+PZg1Pqy7v6JeXEK37asyZR
CsLLhe2RFhtCvxiwk5BFH423jYVJ9I7SMuDpW38XOn/hF8OOia9N5/hvbyKp
Lp/8oqt392m8XizQ3uAsUP7oz+Mzfukrz55fHMnl4qViZudONlx/+NfTC3z/
wHOko0MvGf6kj529PR/TJePKbNxg/h2P+Tv84vDFYeugrpzD8/uqXK+C38da
ZUXf+f5KRvJU+PLl0YGb8JirQ+mRi8AtZ34BUPHFOT/uqfLl4csjflznwV4r
5N3Wog7TPY756+v0x9w4HoNFtthviMRsCc/0+/gKBsga0N8cVYBSBYDD7fzB
942w4QJt7k+sZT2YU/j5USef0Kkk+N8vxBaxU6KiPKyJ9KkibVWjrZo8rIGE
MavU/9oTj8l1WvG9itlIwEnBn/kN1+fnb3ClrvMFERJo/1yLeQUFQbvAvkH7
DAbH1l507iYcPGnrPBjy4lcMGVFhe9yI9hFbGV8Nr07/mv6iKTzZqoAH0onn
WoZpT/PoyfOD9k065vsmIxxPSdbX1v8wPUfp2pRFVK6IQsFVfh5eBVrn+/en
YBAuo0tRBq/vimo2vCS2tIFsrdNT5I4Rb5m1F3t09OwwZA809L10J2pyLmpQ
tQhdFncE8jOrP2oRQyjoduTe8LfFIpFW7x8tBXND4w6k/ESCtUQIf/KbK4Er
29wokObniqBTyG/7jTxcQ3V+uCIVIbnL4x/Gp3SI4x/OIf2EKC4hvx/TQa75
oin/e3H4Mt7rt2/O2DJA8PvNmsi+iXj1Lv19jx9/+v3l5fB6PDw8Gh0cPHOs
DwEQkWsPBjo823z5skeJoo0hFYa2jtQXh0O0DHS5gNNZ3/OtDIy5aW8Cc9pO
YP78aHvych8QjsWx+6oSe21q8882Ub/Gb5pbkCPwDezzW7gjSOU9jvuyYLhr
uUQ918c0Eog2fmBM5PZNX7+6ZNF+ZRkm7lXjfK5xx4cHeHcG5vluTab4GZpm
OcYDQQAToMXPmF+MrwOOOx+OVzQ86cbEP2b5kFTVbUxWH754+OGH2ClG+Nub
E4j3v3Ebrjc4wRMt9/caQPgQjmEsHM4IYWyE8KtZHG/6hzP3/iq/hbZa3gyt
Py1J5g9b7zA9/Z4tHYtx3NAjd/2b3ioczD41dOeG86oaPnnx5QsrhcwLuqGT
DhtwB46b2q0Q+PsVrmanRCBwbfx6veHX6QnvLZ6lIcI3HLPvqMgbVg9jBeCt
MeevPh/yYXVWseK8alJA2ddfezjioSfmL+uY34FPXpjpj06QWTV25ysfINCK
m46DgS3pfW7atr8fuBXUmTtTeO79B8K4+87ftt8bxN3fa5vkxksY3//b96Q9
dz4cUPuvHIJP1gFFhxGOMwfgM0DmNbZlIJgu+cKKM7VGmTUEdtBb8OPq+tq1
kqy92OvUQ6uTxueIm031tWV4Vw1HZ7EC9WG1vZNlEIOtNd6vzobr6/dwYeAf
R9h0hP2V28wNy7NLYnwowvsqATP1Z/WWKaha5SZPGxa801QsMWCVvz559bSl
SuY/Z5BZdVNp0ajjNjzRv64zRn2zGZoBe1nWjYZyv8ILnr84bKmvXtcNleDe
h4+ePm3bo2y19n5ZjdfQGUr6ZIsa/ue0ynOPrxSphK0VvHhxFE9KOZmolH/L
qsKsYSGJ9uOvAoW0fWO1S6JFS7SIwVumwIETZVvetuUdL589bb0DjnYmJy0G
djZvzOkiFOmB8i2zJMQstmaKVv6bA1mqHMJCD8o67l2RDyr5lgJdwGl8cPfX
uWTHuCgTwKSwqjfoovAYWX5Mg3bUAS9oUciTJ6qZe871p9ZIb4sawF3fPFh4
tO+4TutsgWvBM+7hSu3Hw+db69lyXK+ev/zWRfSPQK9usYHzy9PvD4MKIbWY
SVkdngX9Nd7m03KWKRBksLZtE331pGVM5UP15Avc2/b5tViGreeE0xS3PtW6
/m/BlHbtWc+h9oJnXr2In3nz9irdfbPBJdcHneIVPHb4rLWBV+/Oxm/ZxyMw
jsQRClaTxy03Pl/EaKQ2EV29G38IR2qP8EE6sEeb0BkwPNsP4207dnh01Hr5
+5M36S4T3wlaLmZzJuOt73r1bJBa5uyz0UH84pMxjaXDABmfe9jWv2awbyPR
X0mWL56+bDujWZpdBdIsprN+aUPCNF6vGBhbNm/LIC+PWvQXXrdvvc8vnxw8
j1YkoV5XJxyUNgBzqK9GmL2q190Ixn4cHgzx2SY53+R/WGjO1WkptuV9Lu3E
OsG5e86R/UPjOn8KMB+jDra0bYujJKmLuCgOa9SmPHggUiEN9E/myIBNQLBv
JS5+fpStimFcyf5FKuQtABtpgyyDqvxTUa5daSTDfeUKe8yW5Q3cGmEHr6QM
Ao4x4NIoddhhDBkCFE59s5a08jJcA17OuFCcl6hJGDfUUjFZrhoHPQGvEGqO
++B2kRDCiqK90hxIDrNlvdQe1cTS8qBZSql6R6sMd5TEFZjcvkl3yeUEOfCB
vsw5FwhFslaceSMBZwXv8vG4eLG7nz8LbA+dK2rnON+NlmkrsTrSXixxzWBS
5Aju2RauLgkHv6/INEOnuSThvugw1IxEWiWo3arpMGOTKGC5sT2NmlvQTbNp
t/PYkKwl5zpXFNUAU1FBIDEjjXubaWCF83jc6bu+o0jj8eiFoyJpxqdPatK9
pVu6YgxpcbflRJKo/RvvTkBUbuEPdM+Q/JWzGCpMybBqolCwtuh2h98qYg7a
eDka5E1yqAQBuUmN9X0mvbvkZZLHAh4UA+N1LrUgkjS02TEsiae9NpaevKAO
N1rn1nPLwLIt0OGgAsbFP/N9acFsIKkOQqG2jkh99Q7EYnGMvkkzar7syThN
ns0CyDl6ka+ceT46dLUz3J3csFi1MKONMdeUkqW/6ZTxh5fTTeGeUwWjMtJS
2/4UiMfPYfrUIWKEwTpoGxQlsRABJm2XFCu2cguRLrMOWmmLEy2IlQk7YwRt
YZ/WTIdzjW0uUu3bwmh4zEmalu3qc2WS1H/fWi8IhrYOx4ejChD0nbzWI/82
fqZJc+yTYYRr5NTeuAm3Xg4RYW2r+UPXjmPu0NcVFjUYT/B4ay2MJqnFGfUq
DqwdXhhOQhovr6tbRyFVnn01OtoSqi/KgawKziv8xqqJB0HlJPG1p+dR2wiO
cvMfkJC0To8pfeoaKshKH2gv1N9Ki6HJt3HOwbY/tCiDC16CthFKEV/tQtRe
W3qK8QqH+N3fk0IQ5zjzN55UKdj3Hl7J99VJe7ta2NLb+4uYGW8nvEBcxhaL
wYHkUX7beUH4vPPaQ6QBmR85kDuiF8SCp2aOXqe/VQn5FjXISWU9vG36a9LV
X3v6NAJgAO0N5ga9Ai5j7LAlKFnv5u/uVvleKxcqacEexIj5MAMMzaVvL7jb
tWt+Q1cNhOVeJ6nBFVCES2EwIXYNU8KJa37TDcHOrYj8oUZ2cZVOv/zsbyuV
9nT6sIc7MrFzIa3f1lYB5Nv6CIeygKkjgF4MXjaE3jrEOtGsFnRCrAyd+CWd
F7diD0kbqdpSExgOxGHj/NOqKvCGYrkGWTHMcFC4wRnT2sCrrKQhiGT0FYx0
kx6HW7mw97KHcw70NeBbZpKWxiUmUfsl0sRIzACzh2bltVY21JDC4LsVocyU
eAtDS9LxEjcv0GVypl0dw9dJ28AJDfqRPfBS2eLA8pXrCMY71+GzuxQV0WJO
hbYy/hji8UvrEjFo61XxUbCqXe2tiJJRctyXq/5QzwvOJOV+MeJkVg99Pb2j
99aJVaO18IH2nCXOuaIACrf0+1UuoCn8pMw0avIZ44g7PHh6/BO6SQUImg73
XdDl7PMEG8F+gmL5qZxj9WHfaiPGTzjSUxueud7u2cnpnkMTxlVNfMkbO66l
/WVN4pyl1u7ZpZ39IARhR6FDUdWu4pjvZghBnY4B1Y3k1MYRjwL6k85pPQAm
nJpbhJFF7AFgC3tJG11M5oKCN3uMWkVhK7Sq1OFzdqvEEmknN9nIy2xnGU7P
ry+3ch3nAnE+CVqOkTpbH76jD9dy+wNjRElocTv85nonRfLLbqNJVsV8s+c6
/W6W020gmWeN7Q6j1Qqyp70R/M3bY0tLBQfH+U5b8XY3jvc87IktbVnBxZ4M
cdNiV47gnRFV54Za6zDkTVXnAMVA65Dgt22kwKRL5CgLxqWVF/H2sC+sNHTv
EJM0KL86rl3nZZcMX68n/2C4MQB2oSkMKicyKYuKUDnvGC+dHhGd27r3SWxU
NHapGYEBv3LrFpgsQJHN6NCDGet5CAznFF5qrIGda7jrWgPmwSOTqqg/Yj+0
d9y8YK3CWhvqWU5yIsKlVsazMADkt+lPoglZWz3eS4MQcDVZkDEs11YeqJmN
o3XtHRX0DBwm2opQQDJZMgrOWnhjBNO/QhzMGR60E+xidO3KBNaqTvIVeCTK
XaxDnqHuOqfUcuYsHRcDB0gGxwjgB+FLe1/UecKsnQFXQYlpLsWko/S8rPLy
kzW3zBYGu+DtLlfjIGhbxK355BIzqLRKVLtO0HLerBvFUBZ8AuhBrluXSsGg
x0LoyoqqhIubkEbQwAB/EETmbZd7bChYnYvCXQEEvR6r0QYTKjR5b39u5I5z
/XYhaN2e+1S5OJPru2IlSRMGyfhjPiH5Ch45PrvcG/hiM9mn79KPOVMTGo9W
IO6pZX6YrBBtohI+Ilevtt4PpuPQxv5YIBufkXp9RwPXZ0Geo7GEXBz2ir1s
5qJHUAl96Hiy0RFdGSW0sXFOdhYOrOObJgW965vGFcV9chxEa+F0kBYqK2sn
l+0OdOa3eWVeG83SN3/EA6PBAc3uiqq8KTi/AUxRUWW3PReKVw8SE/JJb723
uxTaXA8PAngWrkHsWQf96SD+08skAnVRzN0u5Iu5rQDWzu5MICIw7CwIPrXm
BkPc4KGtQ4QX0sAgNjZu/YOgFJ5ZjtnsYGYJsTLOj3E9goweRQhlM3pFI8Zd
PZ2X9brK7RydGk6CY730PYGQGsfpDNx+lF9Zrsp5eQunfWtD/V9owdIkXV1g
i2I2m+eT8mdEMwQChb1aisQdrJ2RvcrlsLUjxJ/qhG02a8MTVoGhELL/Gb3e
mWwg6QZ/cwQGnztnxrw40JP1SXIMnZ0tZZ+DZ/RoMKSHkkx8swU7pj3fiYhb
ZLRP2JWyV3nPDBN7m1B3WUe4any1z44vjrvXusiWWfdec+PK24J7gJkzhOXx
mXZsUclG9jh05xbwvHBZa0VfhQM5WMt4HFAU0LmFLf/65vX+b2dvSUHUV24S
i7TiIipb2EHgcbH+mY3hHehJjGdqnWhqTISBPmzI1/Tza9EJHCLtLn1pD19q
74eWjskzT35+cYh/nuGfJ/TP4Vv65+gdfj3CT8/tK/yHFwf4B58dvcI/T9Pd
eLL8xnGou8h7ot1PEuRGcq+PBDmbaLDIlv0c1QLrOZkByfFSOy/qH7qurwec
NtFJCwLJDYdM6cl//55k1XryH7t3TbOqXz9+fMu/j6bl4jE9cJvPJ8QXHmNV
TNlYlvZ1DfUBNx/RJWLUZ5sWrn3wRW14P+3pqru1++2ZrKBciYuP40a1WgY5
d5VrNGUu6TF4dy/y+6t8WeoCfCc2SxxybQ16zGXXZDbslBRMRCQ35jJTHEaf
LdoXNQnbbHS57FbYdwQMQ0qohESMBFqEoTqhHXfyW457iFYEZA3uKbYMB8Nj
9KPk82uxiPPZH3duSAzmO18Q2ESGNXT5Xj+hYpgqLgYtu14VxFchnKKc6Dsk
M6jznebVrOENmGubqczC34wmQDppVsxr9Wtqh+w1faMy/YpLJlnryZYf0zGp
Dn/G8Hzmnu/fsU6McV33CUQolK7C8nnXT4/YjfKrh174Bs3ZSLAdT8pJNqA7
Qi9Mx1PSFrN/FoP0/Zos0vSSvrHOB8k4r26LMv0+q8jUSs9J6JBNNmCGQhyr
oqfvPxZL7bzxt2J2V6Tfl/ncWHZRcZU7KDKZWtK2tEW/VdqWsDrX3Kud0/Lk
/r/b86h/bggBAA==

-->

</rfc>
