<?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.9 (Ruby 3.0.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-engelbart-rtp-over-quic-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.6 -->
  <front>
    <title>RTP over QUIC</title>
    <seriesInfo name="Internet-Draft" value="draft-engelbart-rtp-over-quic-03"/>
    <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>
    <date/>
    <area>ART</area>
    <workgroup>AVTCORE</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document specifies a minimal mapping for encapsulating RTP and RTCP packets
within QUIC. It also discusses how to leverage state from the QUIC
implementation in the endpoints to reduce the exchange of RTCP packets.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <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>
    <section anchor="introduction">
      <name>Introduction</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.  With the advent of QUIC <xref target="RFC9000"/> and, most notably, its
unreliable DATAGRAM extension <xref target="RFC9221"/>, another secure transport protocol
becomes available.  QUIC and its DATAGRAMs combine desirable properties for
real-time traffic (e.g., no unnecessary retransmissions, avoiding head-of-line
blocking) with a secure end-to-end transport that is also expected to work well
through NATs and firewalls.</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.  This document defines a
mapping of how to carry RTP over QUIC. The focus is on RTP and RTCP packet
mapping and on reducing the amount of RTCP traffic by leveraging state
information readily available within a QUIC endpoint. This document also briefly
touches upon how to signal media over QUIC using the Session Description
Protocol (SDP) <xref target="RFC8866"/>.</t>
      <t>The scope of this document is limited to unicast RTP/RTCP.</t>
      <t>Note that this draft is similar in spirit to but differs in numerous ways from
<xref target="I-D.draft-hurst-quic-rtp-tunnelling"/>.</t>
    </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>
      <t>The following terms are used:</t>
      <dl>
        <dt>Congestion Controller:</dt>
        <dd>
          <t>QUIC specifies a congestion controller in <xref section="7" sectionFormat="of" target="RFC9002"/>, but the
specific requirements for interactive real-time media lead to the development of
dedicated congestion control algorithms. In this document, the term congestion
controller refers to these algorithms dedicated to real-time applications.</t>
        </dd>
        <dt>Datagram:</dt>
        <dd>
          <t>Datagrams exist in UDP as well as in QUICs 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>Endpoint:</dt>
        <dd>
          <t>A QUIC server or client that participates in an RTP over QUIC session.</t>
        </dd>
        <dt>Frame:</dt>
        <dd>
          <t>A QUIC frame as defined in <xref target="RFC9000"/>.</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>Receiver:</dt>
        <dd>
          <t>An endpoint that receives media in RTP packets and may send or receive RTCP packets.</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. RTP over QUIC allows the use of QUIC streams and
unreliable QUIC datagrams to transport real-time data, and thus, the QUIC
implementation MUST support QUICs unreliable 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. RTP over QUIC 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"/>. RTP over QUIC 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 congestion controller can be plugged in to adapt the media bitrate to the
available bandwidth. This document does not mandate any congestion control
algorithm. Some examples include Network-Assisted Dynamic Adaptation (NADA)
<xref target="RFC8698"/> and Self-Clocked Rate Adaptation for Multimedia (SCReAM)
<xref target="RFC8298"/>. These congestion control algorithms require some feedback about
the network's performance to calculate target bitrates. Traditionally this
feedback is generated at the receiver and sent back to the sender via RTCP.
Since QUIC also collects some metrics about the network's performance, these
metrics can be used to generate the required feedback at the sender-side and
provide it to the congestion controller to avoid the additional overhead of the
RTCP stream.</t>
    </section>
    <section anchor="encapsulation">
      <name>Encapsulation</name>
      <t>QUIC supports two transport methods: reliable streams <xref target="RFC9000"/> and
unreliable datagrams <xref target="RFC9221"/>. This document specifies a mapping of RTP to
both of the transport modes. The encapsulation format for RTP over QUIC is
described in <xref target="fig-payload"/>.</t>
      <t><xref target="quic-streams"/> and <xref target="quic-datagrams"/> explain the specifics of mapping of RTP
to QUIC streams and QUIC datagrams respectively.</t>
      <figure anchor="fig-payload">
        <name>RTP over QUIC 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>For multiplexing different RTP and other data streams on the same QUIC
connection, each RTP/RTCP packet is prefixed with a flow identifier. A flow
identifier is a QUIC variable-length integer which must be unique per stream.</t>
      <t>RTP and RTCP packets of a single RTP session MAY be sent using the same flow
identifier (following the procedures defined in <xref target="RFC5761"/>, or they MAY be
sent using different flow identifiers. The respective mode of operation MUST be
indicated using the appropriate signaling, e.g., when using SDP as discussed in
<xref target="sdp"/>.</t>
      <t>RTP and RTCP packets of different RTP sessions MUST be sent using different flow
identifiers.</t>
      <t>Differentiating RTP/RTCP packets of different RTP sessions from non-RTP/RTCP
datagrams is the responsibility of the application by means of appropriate use
of flow identifiers and the corresponding signaling.</t>
      <section anchor="quic-streams">
        <name>QUIC Streams</name>
        <t>An application MUST open a new QUIC stream for each Application Data Unit (ADU).
Each ADU MUST be encapsulated in a single RTP packet and the application MUST
not send more than one RTP packet per stream. Opening a new stream for each
packet adds implicit framing to RTP packets, allows to receive packets without
strict ordering and gives an application the possibility to cancel certain
packets.</t>
        <t>Large RTP packets sent on a stream will be fragmented in smaller QUIC frames,
that are transmitted reliably and in order, such that a receiving application
can read a complete packet from the stream. No retransmission has to be
implemented by the application, since QUIC frames that are lost in transit are
retransmitted by the QUIC connection. If it is known to either the sender or the
receiver, that a packet, which was not yet successfully and completely
transmitted, is no longer needed, either side can close the stream.</t>
        <ul empty="true">
          <li>
            <t><strong>Editor's Note:</strong> We considered adding a framing like the one described in
<xref target="RFC4571"/> to send multiple RTP packets on one stream, but we don't think it
is worth the additional overhead only to reduce the number of streams.
Moreover, putting multiple ADUs into a single stream would also require
defining policies when to use the same (and which) stream and when to open a
new one.</t>
          </li>
        </ul>
      </section>
      <section anchor="quic-datagrams">
        <name>QUIC Datagrams</name>
        <t>RTP packets can be sent 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 the need for
an additional framing. Senders SHOULD consider the header overhead associated
with QUIC datagrams and ensure that the RTP/RTCP packets, including their
payloads, QUIC, and IP headers, will fit into path MTU.</t>
        <t>If an application wishes to retransmit lost RTP packets, the retransmission has
to be implemented by the application by sending a new datagram for the RTP
packet, because QUIC datagrams are not retransmitted on loss (see also
<xref target="transport-layer-feedback"/> for loss signaling).</t>
      </section>
    </section>
    <section anchor="rtcp">
      <name>RTCP</name>
      <t>The RTP Control Protocol (RTCP) allows RTP senders and receivers to exchange
control information to monitor connection statistics and to identify and
synchronize streams. Many of the statistics contained in RTCP packets overlap
with the connection statistics collected by a QUIC connection. To avoid using up
bandwidth for duplicated control information, the information SHOULD only be
sent at one protocol layer. QUIC relies on certain control frames to be sent.</t>
      <t>In general, applications MAY send RTCP without any restrictions. 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. It is RECOMMENDED to expose relevant information
from the QUIC layer to the application instead of exchanging addtional RTCP
packets, where applicable.</t>
      <t>This section discusses what information can be exposed from the QUIC connection
layer to reduce the RTCP overhead and which type of RTCP messages cannot be
replaced by similar feedback from the transport layer. 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.</t>
      <ul empty="true">
        <li>
          <t><strong>TODO</strong>: Define parameters for SDP to signal RTCP vs. QUIC feedback. Could
use RTCP by default and add parameters for "can use QUIC statistics for X".</t>
        </li>
      </ul>
      <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>
        <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. 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>Some of the transport layer feedback that can be implemented in RTCP contains
information that is not included in QUIC by default, but can be added via QUIC
extensions. One important example are 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"/>. Another
extension, that can improve the precision of the feedback from QUIC is
<xref target="I-D.draft-ietf-quic-ack-frequency"/>, which allows a sender to control the
delay of acknowledgments sent by the receiver.</t>
        <ul spacing="normal">
          <li>
            <t><em>Receiver Reports</em> (<tt>PT=201</tt>, <tt>Name=RR</tt>, <xref target="RFC3550"/>)
            </t>
            <ul spacing="normal">
              <li>
                <em>Fraction lost</em>: The fraction of lost packets can be directly infered 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 datagram frame, were already acknowledged.</li>
              <li>
                <em>Cumulative lost</em>: Similar to the fraction of lost packets, the cumulative
loss can be infered from QUIC's acknowledgments including all packets up to
the latest acknowledged packet.</li>
              <li>
                <em>Highest Sequence Number received</em>: The highest sequence number received is
the sequence number of all RTP packets that were acknowledged.</li>
              <li>Interarrival jitter: 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>Last SR: Similar to RTP arrival times, the arrival time of RTCP Sender
Reports can be inferred from QUIC acknowledgments, if they include
timestamps.</li>
              <li>Delay since last SR: This field is not required when the receiver reports
are entirely replaced by QUIC feedback.</li>
            </ul>
          </li>
          <li>
            <t><em>Negative Acknowledgments</em> (<tt>PT=205</tt>, <tt>FMT=1</tt>, <tt>Name=Generic NACK</tt>,
<xref target="RFC4585"/>)
            </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 through acknowledgments.</li>
            </ul>
          </li>
          <li>
            <t><em>ECN Feedback</em> (<tt>PT=205</tt>, <tt>FMT=8</tt>, <tt>Name=RTCP-ECN-FB</tt>, <xref target="RFC6679"/>)
            </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 connection supports
ECN, the reporting of ECN counts SHOULD be done using QUIC acknowledgments.</li>
            </ul>
          </li>
          <li>
            <t><em>Congestion Control Feedback</em> (<tt>PT=205</tt>, <tt>FMT=11</tt>, <tt>Name=CCFB</tt>, <xref target="RFC8888"/>)
            </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 infered 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>
          </li>
          <li>
            <t><em>Extended Reports</em> (<tt>PT=207</tt>, <tt>Name=XR</tt>, <xref target="RFC3611"/>)
            </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. For other report blocks, it SHOULD be evaluated individually,
if the contained information can be transmitted using QUIC instead.</li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="application-layer-repair-and-other-control-messages">
        <name>Application Layer Repair and other Control Messages</name>
        <t>While the previous section presented some RTCP packet that can be replaced by
QUIC features, QUIC cannot replace all of the available RTCP packet types. This
mostly affects RTCP packet types which carry control information that is to be
interpreted by the application layer instead of the transport itself.</t>
        <t><em>Sender Reports</em> (<tt>PT=200</tt>, <tt>Name=SR</tt>, <xref target="RFC3550"/>) are similar to <em>Receiver
Reports</em>. They are send by media senders and additionally contain a 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. A QUIC receiver can also not calculate the packet or octet counts,
since it does not know about lost datagrams. Thus, sender reports are required
in RTP over QUIC to synchronize streams at the receiver. The sender reports
SHOULD not contain any receiver report blocks, as the information can be infered
from the QUIC transport as explained in the previous section.</t>
        <t>Next to carrying transmission statistics, RTCP packets can contain application
layer control information, that cannot directly be mapped to QUIC. This includes
for example the <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 many of the payload specific feedback messages (<tt>PT=206</tt>)
defined in <xref target="RFC4585"/>, which can for example be used to control the codec
behavior of the sender. Since QUIC does not provide any kind of application
layer control messaging, these RTCP packet types SHOULD be used in the same way
as they would be used over any other transport protocol.</t>
      </section>
    </section>
    <section anchor="congestion-control">
      <name>Congestion Control</name>
      <t>Like any other application on the internet, RTP over QUIC needs to perform
congestion control to avoid overloading the network.</t>
      <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 is an alogrithm similar to TCP NewReno, 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"/>.</t>
      <t>RTP does not specify a congestion controller, but provides feedback formats for
congestion control (e.g. <xref target="RFC8888"/>) as well as different congestion control
algorithms in separate RFCs (e.g. <xref target="RFC8298"/> and <xref target="RFC8698"/>). The congestion
control algorithms for RTP are specifically tailored for real-time transmissions
at low latencies. The available congestion control algorithms for RTP 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>This section defines two architectures for congestion control and bandwidth
estimation for RTP over QUIC, but it does not mandate any specific congestion
control algorithm to use.</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 provide such pacing
mechanisms. The use of congestion controllers which don't provide a pacing
mechanism is out of scope of this document.</t>
      <ul empty="true">
        <li>
          <t><strong>TODO:</strong>: Add considerations for bandwidth shares when a QUIC connection is
shared between RTP and non-RTP streams?</t>
        </li>
      </ul>
      <section anchor="cc-quic-layer">
        <name>Congestion Control at the QUIC layer</name>
        <t>If congestion control is to be applied at the transport layer, it is RECOMMENDED
to configure the QUIC Implementation to use a delay-based real-time congestion
control algorithm instead of a loss-based algorithm. The currently available
delay-based congestion control algorithms depend on detailed arrival time
feedback to estimate the current one-way delay between sender and receiver.
Since QUIC does not provide arrival timestamps in its acknowledgments, the QUIC
implementations of the sender and receiver MUST use an extension to add this
information to QUICs acknowledgment frames, e.g.
<xref target="I-D.draft-smith-quic-receive-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 estimation 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>
        <ul empty="true">
          <li>
            <t><strong>Editor's note:</strong> An alternative to the hard requirement to use a timestamp
extension could be to use RTCP, but that would mean, that an application has
to negotiate RTCP congestion control feedback which would then have to be
passed to the QUIC congestion controller.</t>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <t><strong>Editor's note:</strong> How can a QUIC connection be shared with non-RTP streams,
when SCReAM/NADA/GCC is used as congestion controller? Can these algorithms be
adapted to allow different streams including non-real-time streams? Do they
even have to be adapted or <em>should</em> this just work?</t>
          </li>
        </ul>
      </section>
      <section anchor="cc-application-layer">
        <name>Congestion Control at the Application Layer</name>
        <t>If an application cannot access a bandwidth estimation from the QUIC layer, or
the QUIC implementation does not support a dealy-based, low-latency congestion
control algorithm, it 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="cc-quic-layer"/> (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"/>.</t>
        <t>If the application implements full congestion control rather than just a
bandwidth estimation at the application layer using a congestion controller that
satisfies the requirements of <xref section="7" sectionFormat="of" target="RFC9002"/>, and the connection is
only used to send real-time media which is subject to the application layer
congestion control, it is RECOMMENDED to disable any other congestion control
that is possibly running at the QUIC layer. Disabling the additional congestion
controllers helps to avoid any interference between the different congestion
controllers.</t>
      </section>
    </section>
    <section anchor="sdp">
      <name>SDP Signalling</name>
      <ul empty="true">
        <li>
          <t><strong>Editor's note:</strong> See also <xref target="I-D.draft-dawkins-avtcore-sdp-rtp-quic"/>.</t>
        </li>
      </ul>
      <t>QUIC is a connection-based protocol that supports connectionless transmissions of DATAGRAM frames
within an established connection.  As noted above, demultiplexing DATAGRAMS intended for different
purposes is up to the application using QUIC.</t>
      <t>There are several necessary steps to carry out jointly between the
communicating peers to enable RTP over QUIC:</t>
      <ol spacing="normal" type="1"><li>The protocol identifier for the m= lines MUST be "QUIC/RTP", combined as per <xref target="RFC8866"/>
with the respective audiovisual profile: for example, "QUIC/RTP/AVP".</li>
        <li>The peers need to decide whether to establish a new QUIC connection or whether to re-use an
existing one.  In case of establishing a new connection, the initiator and the responder
(client and server) need to be determined.  Signaling for this step MUST follow <xref target="RFC8122"/>
on SDP attributes for connection-oriented media for the a=setup, a=connection, and
a=fingerprint attributes.  They MUST use the appropriate protocol identification as per 1.</li>
        <li>
          <t>The peers must provide a means for identifying RTP sessions carried in QUIC DATAGRAMS.
To enable using a common transport connection for one, two, or more media sessions in
the first place, the BUNDLE grouping framework MUST be used <xref target="RFC8843"/>.  All media sections
belonging to a bundle group, except the first one, MUST set the port in the m= line to zero
and MUST include the a=bundle-only attribute.  </t>
          <t>
For disambiguating different RTP session, a reference needs to be provided for each m= line to
allow associating this specific media session with a flow identifier.  This could be
achieved following different approaches:  </t>
          <ul spacing="normal">
            <li>Simply reusing the a=extmap attribute <xref target="RFC8285"/> and relying on RTP header extensions
for demultiplexing different media packets carried in QUIC DATAGRAM frames.</li>
            <li>Defining a variant or different flavor of the a=extmap attribute <xref target="RFC8285"/> that binds
media sessions to flow identifiers used in QUIC DATAGRAMS.</li>
          </ul>
          <ul empty="true">
            <li>
              <t><strong>Editor's note:</strong> It is likely preferable to use multiplexing using QUIC DATAGRAM flow
identifiers because this multiplexing mechanisms will also work across RTP and non-RTP media
streams.</t>
            </li>
          </ul>
          <t>
In either case, the corresponding identifiers MUST be treated independently for each
direction of transmission, so that an endpoint MAY choose its own identifies and only
uses SDP to inform its peer which RTP sessions use which identifiers.  </t>
          <t>
To this end, SDP MUST be used to indicate the respective flow identifiers for RTP and RTCP
of the different RTP sessions (for which we borrow inspiration from <xref target="RFC3605"/>).</t>
        </li>
        <li>The peers MUST agree, for each RTP session, whether or not to apply RTP/RTCP multiplexing.
If multiplexing RTP and RTCP shall take place on the same flow identifier, this MUST be
indicated using the attribute a=rtcp-mux.</li>
      </ol>
      <t>A sample session setup offer (liberally borrowed and extended from <xref target="RFC8843"/> and <xref target="RFC8122"/>
could look as follows:</t>
      <figure anchor="sdp-example">
        <name>SDP Offer</name>
        <artwork><![CDATA[
v=0
o=alice 2890844526 2890844526 IN IP6 2001:db8::3
s=
c=IN IP6 2001:db8::3
t=0 0
a=group:BUNDLE abc xyz

m=audio 10000 QUIC/RTP/AVP 0 8 97
a=setup:actpass
a=connection:new
a=fingerprint:SHA-256 \
 12:DF:3E:5D:49:6B:19:E5:7C:AB:4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF: \
 3E:5D:49:6B:19:E5:7C:AB:4A:AD
b=AS:200
a=mid:abc
a=rtcp-mux
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:97 iLBC/8000
a=extmap:1 urn:ietf:params:<tbd>

m=video 0 QUIC/RTP/AVP 31 32
b=AS:1000
a=bundle-only
a=mid:bar
a=rtcp-mux
a=rtpmap:31 H261/90000
a=rtpmap:32 MPV/90000
a=extmap:2 urn:ietf:params:<tbd>
]]></artwork>
      </figure>
      <t>Signaling details to be worked out.</t>
    </section>
    <section anchor="discussion">
      <name>Discussion</name>
      <section anchor="flow-identifier">
        <name>Flow Identifier</name>
        <t><xref target="RFC9221"/> suggests to use flow identifiers to multiplex different streams on
QUIC Datagrams, which is implemented in <xref target="encapsulation"/>, but it is unclear how
applications can combine RTP over QUIC with other data streams using the same
QUIC connections. If the non-RTP data streams use the same flow identifies, too
and the application can make sure, that flow identifiers are unique, there
should be no problem. Flow identifiers could be problematic, if different
specifications for RTP and non-RTP data streams over QUIC mandate different
incompatible flow identifiers.</t>
      </section>
      <section anchor="impact-of-connection-migration">
        <name>Impact of Connection Migration</name>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </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">
              <organization/>
            </author>
            <author fullname="S. Casner" initials="S." surname="Casner">
              <organization/>
            </author>
            <author fullname="R. Frederick" initials="R." surname="Frederick">
              <organization/>
            </author>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
              <organization/>
            </author>
            <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="RFC9221">
          <front>
            <title>An Unreliable Datagram Extension to QUIC</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly">
              <organization/>
            </author>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear">
              <organization/>
            </author>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi">
              <organization/>
            </author>
            <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="RFC8866">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen">
              <organization/>
            </author>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat">
              <organization/>
            </author>
            <author fullname="C. Perkins" initials="C." surname="Perkins">
              <organization/>
            </author>
            <author fullname="M. Handley" initials="M." surname="Handley">
              <organization/>
            </author>
            <date month="January" year="2021"/>
            <abstract>
              <t>This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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="RFC9002">
          <front>
            <title>QUIC Loss Detection and Congestion Control</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar">
              <organization/>
            </author>
            <author fullname="I. Swett" initials="I." role="editor" surname="Swett">
              <organization/>
            </author>
            <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="I-D.draft-ietf-masque-h3-datagram">
          <front>
            <title>HTTP Datagrams and the Capsule Protocol</title>
            <author fullname="David Schinazi">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Lucas Pardue">
              <organization>Cloudflare</organization>
            </author>
            <date day="11" month="April" 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 conveyed natively using the QUIC
   DATAGRAM extension.  When the QUIC DATAGRAM frame is unavailable or
   undesirable, they can be sent using the Capsule Protocol, 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-09"/>
        </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">
              <organization/>
            </author>
            <author fullname="R. Pan" initials="R." surname="Pan">
              <organization/>
            </author>
            <author fullname="M. Ramalho" initials="M." surname="Ramalho">
              <organization/>
            </author>
            <author fullname="S. Mena" initials="S." surname="Mena">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="Z. Sarker" initials="Z." surname="Sarker">
              <organization/>
            </author>
            <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="RFC5761">
          <front>
            <title>Multiplexing RTP Data and Control Packets on a Single Port</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins">
              <organization/>
            </author>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund">
              <organization/>
            </author>
            <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="RFC4571">
          <front>
            <title>Framing Real-time Transport Protocol (RTP) and RTP Control Protocol (RTCP) Packets over Connection-Oriented Transport</title>
            <author fullname="J. Lazzaro" initials="J." surname="Lazzaro">
              <organization/>
            </author>
            <date month="July" year="2006"/>
            <abstract>
              <t>This memo defines a method for framing Real-time Transport Protocol (RTP) and RTP Control Protocol (RTCP) packets onto connection-oriented transport (such as TCP).  The memo also defines how session descriptions may specify RTP streams that use the framing method.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4571"/>
          <seriesInfo name="DOI" value="10.17487/RFC4571"/>
        </reference>
        <reference anchor="I-D.draft-smith-quic-receive-ts">
          <front>
            <title>QUIC Extension for Reporting Packet Receive Timestamps</title>
            <author fullname="Connor Smith">
              <organization>Magic Leap, Inc.</organization>
            </author>
            <author fullname="Ian 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">
              <organization>Private Octopus Inc.</organization>
            </author>
            <date day="6" month="March" 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-07"/>
        </reference>
        <reference anchor="I-D.draft-ietf-quic-ack-frequency">
          <front>
            <title>QUIC Acknowledgement Frequency</title>
            <author fullname="Jana Iyengar">
              <organization>Fastly</organization>
            </author>
            <author fullname="Ian Swett">
              <organization>Google</organization>
            </author>
            <date day="25" month="October" year="2021"/>
            <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-01"/>
        </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">
              <organization/>
            </author>
            <author fullname="S. Wenger" initials="S." surname="Wenger">
              <organization/>
            </author>
            <author fullname="N. Sato" initials="N." surname="Sato">
              <organization/>
            </author>
            <author fullname="C. Burmeister" initials="C." surname="Burmeister">
              <organization/>
            </author>
            <author fullname="J. Rey" initials="J." surname="Rey">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="I. Johansson" initials="I." surname="Johansson">
              <organization/>
            </author>
            <author fullname="C. Perkins" initials="C." surname="Perkins">
              <organization/>
            </author>
            <author fullname="P. O'Hanlon" initials="P." surname="O'Hanlon">
              <organization/>
            </author>
            <author fullname="K. Carlberg" initials="K." surname="Carlberg">
              <organization/>
            </author>
            <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="RFC8888">
          <front>
            <title>RTP Control Protocol (RTCP) Feedback for Congestion Control</title>
            <author fullname="Z. Sarker" initials="Z." surname="Sarker">
              <organization/>
            </author>
            <author fullname="C. Perkins" initials="C." surname="Perkins">
              <organization/>
            </author>
            <author fullname="V. Singh" initials="V." surname="Singh">
              <organization/>
            </author>
            <author fullname="M. Ramalho" initials="M." surname="Ramalho">
              <organization/>
            </author>
            <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="RFC3611">
          <front>
            <title>RTP Control Protocol Extended Reports (RTCP XR)</title>
            <author fullname="T. Friedman" initials="T." role="editor" surname="Friedman">
              <organization/>
            </author>
            <author fullname="R. Caceres" initials="R." role="editor" surname="Caceres">
              <organization/>
            </author>
            <author fullname="A. Clark" initials="A." role="editor" surname="Clark">
              <organization/>
            </author>
            <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>
        <reference anchor="RFC8085">
          <front>
            <title>UDP Usage Guidelines</title>
            <author fullname="L. Eggert" initials="L." surname="Eggert">
              <organization/>
            </author>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst">
              <organization/>
            </author>
            <author fullname="G. Shepherd" initials="G." surname="Shepherd">
              <organization/>
            </author>
            <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 Alvestrand">
	 </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="RFC8122">
          <front>
            <title>Connection-Oriented Media Transport over the Transport Layer Security (TLS) Protocol in the Session Description Protocol (SDP)</title>
            <author fullname="J. Lennox" initials="J." surname="Lennox">
              <organization/>
            </author>
            <author fullname="C. Holmberg" initials="C." surname="Holmberg">
              <organization/>
            </author>
            <date month="March" year="2017"/>
            <abstract>
              <t>This document specifies how to establish secure connection-oriented media transport sessions over the Transport Layer Security (TLS) protocol using the Session Description Protocol (SDP).  It defines the SDP protocol identifier, 'TCP/TLS'.  It also defines the syntax and semantics for an SDP 'fingerprint' attribute that identifies the certificate that will be presented for the TLS session.  This mechanism allows media transport over TLS connections to be established securely, so long as the integrity of session descriptions is assured.</t>
              <t>This document obsoletes RFC 4572 by clarifying the usage of multiple fingerprints.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8122"/>
          <seriesInfo name="DOI" value="10.17487/RFC8122"/>
        </reference>
        <reference anchor="RFC8843">
          <front>
            <title>Negotiating Media Multiplexing Using the Session Description Protocol (SDP)</title>
            <author fullname="C. Holmberg" initials="C." surname="Holmberg">
              <organization/>
            </author>
            <author fullname="H. Alvestrand" initials="H." surname="Alvestrand">
              <organization/>
            </author>
            <author fullname="C. Jennings" initials="C." surname="Jennings">
              <organization/>
            </author>
            <date month="January" year="2021"/>
            <abstract>
              <t>This specification defines a new Session Description Protocol (SDP) Grouping Framework extension called 'BUNDLE'. The extension can be used with the SDP offer/answer mechanism to negotiate the usage of a single transport (5-tuple) for sending and receiving media described by multiple SDP media descriptions ("m=" sections). Such transport is referred to as a BUNDLE transport, and the media is referred to as bundled media. The "m=" sections that use the BUNDLE transport form a BUNDLE group. </t>
              <t>This specification defines a new RTP Control Protocol (RTCP) Source Description (SDES) item and a new RTP header extension.</t>
              <t>This specification updates RFCs 3264, 5888, and 7941.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8843"/>
          <seriesInfo name="DOI" value="10.17487/RFC8843"/>
        </reference>
        <reference anchor="RFC8285">
          <front>
            <title>A General Mechanism for RTP Header Extensions</title>
            <author fullname="D. Singer" initials="D." surname="Singer">
              <organization/>
            </author>
            <author fullname="H. Desineni" initials="H." surname="Desineni">
              <organization/>
            </author>
            <author fullname="R. Even" initials="R." role="editor" surname="Even">
              <organization/>
            </author>
            <date month="October" year="2017"/>
            <abstract>
              <t>This document provides a general mechanism to use the header extension feature of RTP (the Real-time Transport Protocol).  It provides the option to use a small number of small extensions in each RTP packet, where the universe of possible extensions is large and registration is decentralized.  The actual extensions in use in a session are signaled in the setup information for that session.  This document obsoletes RFC 5285.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8285"/>
          <seriesInfo name="DOI" value="10.17487/RFC8285"/>
        </reference>
        <reference anchor="RFC3605">
          <front>
            <title>Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP)</title>
            <author fullname="C. Huitema" initials="C." surname="Huitema">
              <organization/>
            </author>
            <date month="October" year="2003"/>
            <abstract>
              <t>The Session Description Protocol (SDP) is used to describe the parameters of media streams used in multimedia sessions.  When a session requires multiple ports, SDP assumes that these ports have consecutive numbers.  However, when the session crosses a network address translation device that also uses port mapping, the ordering of ports can be destroyed by the translation.  To handle this, we propose an extension attribute to SDP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3605"/>
          <seriesInfo name="DOI" value="10.17487/RFC3605"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.draft-hurst-quic-rtp-tunnelling">
          <front>
            <title>QRT: QUIC RTP Tunnelling</title>
            <author fullname="Sam 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>
        <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">
              <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>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
4+dn45en4xdvx6/ejQ/fjs9ejl+fjCfvxi8m48np+N3b8bvD8fP34zdH48M3
4+fvxi9fjA/oZ34Xqzz4vpoeT67GdFyCYlXkYzqXCnTkH9ekkscH+vPJ+Zfv
3hzwk/bDN/hw0vvw7WtdfHx34j4VlT4+1JumGmNIaMxTne34n7tp/lvgT/7o
Qg93zw/18yMB7lAWisy/hXWaNXthpXe/P3p1+B3uaosAe36kzz//yX9qATu6
BzB3yRjiPd9EI5eMQc18Ah/jRrHgCEvdxDkU0OLIuG06DkRPZVQZMSoSbb17
yFRy0XJ0jaZYnR1dlVwUuZsppE3SKc1ByBb02j/v7tLb8b75KiwiQfK/cLv4
kmxaMhIvLUzy5xXSXhD5QwDdzjVlaQZL9S8x9Y3ZztD1Xjb3KamW+07VvtuT
AOQKig4XZ9ik9O79UY27qozNZmOii3IrvsOWrP9q1L8kLjhx7hHac8bjBiGo
9k0GoRjat+fpVW4ei67wHdYiV7herWklroH0LyZjnvpA38+4XnsSwobzYtHY
C/Mf6yv8QQrcv3SSlGkpnn93yn+WZXIx2f0uucNwyVf/yJPZzLUI4K+7IK+H
RXod4iRE0m5p8uNHc3JwDKQGReN4ammk/htMzjz092gAAA==

-->

</rfc>
