1<?xml version='1.0' encoding='utf-8'?>
2<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
3<?rfc toc="yes" ?>
4<?rfc strict="yes" ?>
5<?rfc compact="yes" ?>
6<?rfc sortrefs="yes" ?>
7<?rfc symrefs="yes" ?>
8<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-avtcore-rtp-multi-stream-optimisation-12" ipr="trust200902" updates="" obsoletes="" submissionType="IETF" xml:lang="en" version="3">
9  <!-- xml2rfc v2v3 conversion 2.23.0 -->
10  <front>
11    <title abbrev="Grouping RTCP Reception Statistics">Sending Multiple RTP
12    Streams in a Single RTP Session: Grouping RTCP Reception Statistics and
13    Other Feedback</title>
14    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-multi-stream-optimisation-12"/>
15    <author fullname="Jonathan Lennox" initials="J." surname="Lennox">
16      <organization abbrev="Vidyo">Vidyo, Inc.</organization>
17      <address>
18        <postal>
19          <street>433 Hackensack Avenue</street>
20          <street>Seventh Floor</street>
21          <city>Hackensack</city>
22          <region>NJ</region>
23          <code>07601</code>
24          <country>US</country>
25        </postal>
26        <email>jonathan@vidyo.com</email>
27      </address>
28    </author>
29    <author fullname="Magnus Westerlund" initials="M." surname="Westerlund">
30      <organization>Ericsson</organization>
31      <address>
32        <postal>
33          <street>Farogatan 2</street>
34          <city>SE-164 80 Kista</city>
35          <country>Sweden</country>
36        </postal>
37        <phone>+46 10 714 82 87</phone>
38        <email>magnus.westerlund@ericsson.com</email>
39      </address>
40    </author>
41    <author fullname="Qin Wu" initials="Q." surname="Wu">
42      <organization>Huawei</organization>
43      <address>
44        <postal>
45          <street>101 Software Avenue, Yuhua District</street>
46          <city>Nanjing, Jiangsu 210012</city>
47          <country>China</country>
48        </postal>
49        <email>bill.wu@huawei.com</email>
50      </address>
51    </author>
52    <author fullname="Colin Perkins" initials="C. " surname="Perkins">
53      <organization>University of Glasgow</organization>
54      <address>
55        <postal>
56          <street>School of Computing Science</street>
57          <city>Glasgow</city>
58          <code>G12 8QQ</code>
59          <country>United Kingdom</country>
60        </postal>
61        <email>csp@csperkins.org</email>
62      </address>
63    </author>
64    <date/>
65    <workgroup>AVTCORE WG</workgroup>
66    <abstract>
67      <t>RTP allows multiple RTP streams to be sent in a single session, but
68      requires each Synchronisation Source (SSRC) to send RTCP reception
69      quality reports for every other SSRC visible in the session. This causes
70      the number of RTCP reception reports to grow with the number of SSRCs,
71      rather than the number of endpoints. In many cases most of these RTCP
72      reception reports are unnecessary, since all SSRCs of an endpoint are
73      normally co-located and see the same reception quality. This memo
74      defines a Reporting Group extension to RTCP to reduce the reporting
75      overhead in such scenarios.</t>
76    </abstract>
77  </front>
78  <middle>
79    <section anchor="introduction" numbered="true" toc="default">
80      <name>Introduction</name>
81      <t>The Real-time Transport Protocol (RTP) <xref target="RFC3550" format="default"/> is a
82      protocol for group communication, supporting multiparty multimedia
83      sessions. A single RTP session can support multiple participants sending
84      at once, and can also support participants sending multiple simultaneous
85      RTP streams. Examples of the latter might include a participant with
86      multiple cameras who chooses to send multiple views of a scene, or a
87      participant that sends audio and video flows multiplexed in a single RTP
88      session. Rules for handling RTP sessions containing multiple RTP streams
89      are described in <xref target="RFC3550" format="default"/> with some clarifications in
90      <xref target="I-D.ietf-avtcore-rtp-multi-stream" format="default"/>.</t>
91      <t>An RTP endpoint will have one or more synchronisation sources
92      (SSRCs). It will have at least one RTP Stream, and thus SSRC, for each
93      media source it sends, and might use multiple SSRCs per media source
94      when using <xref target="RFC6190" format="default">media scalability features</xref>,
95      forward error correction, <xref target="RFC4588" format="default">RTP
96      retransmission</xref>, or similar mechanisms. An endpoint that is not
97      sending any RTP stream, will have at least one SSRC to use for reporting
98      and any feedback messages. Each SSRC has to send RTCP sender reports
99      corresponding to the RTP packets it sends, and receiver reports for
100      traffic it receives. That is, every SSRC will send RTCP packets to
101      report on every other SSRC. This rule is simple, but can be quite
102      inefficient for endpoints that send large numbers of RTP streams in a
103      single RTP session. Consider a session comprising ten participants, each
104      sending three media sources, each with their own RTP stream. There will
105      be 30 SSRCs in such an RTP session, and each of those 30 SSRCs will send
106      an RTCP Sender Report/Receiver Report packet (containing several report
107      blocks) per reporting interval as each SSRC reports on all the others.
108      However, the three SSRCs comprising each participant are commonly
109      co-located such that they see identical reception quality. If there was
110      a way to indicate that several SSRCs are co-located, and see the same
111      reception quality, then two-thirds of those RTCP reports could be
112      suppressed. This would allow the remaining RTCP reports to be sent more
113      often, while keeping within the same RTCP bandwidth fraction.</t>
114      <t>This memo defines such an RTCP extension, RTCP Reporting Groups. This
115      extension is used to indicate the SSRCs that originate from the same
116      endpoint, and therefore have identical reception quality, hence allowing
117      the endpoints to suppress unnecessary RTCP reception quality
118      reports.</t>
119    </section>
120    <section numbered="true" toc="default">
121      <name>Terminology</name>
122      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
123      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
124      document are to be interpreted as described in <xref target="RFC2119" format="default"/>.</t>
125    </section>
126    <section anchor="reportgroups" numbered="true" toc="default">
127      <name>RTCP Reporting Groups</name>
128      <t>An RTCP Reporting Group is a set of synchronization sources (SSRCs)
129      that are co-located at a single endpoint (which could be an end host or
130      a middlebox) in an RTP session. Since they are co-located, every SSRC in
131      the RTCP reporting group will have an identical view of the network
132      conditions, and see the same lost packets, jitter, etc. This allows a
133      single representative to send RTCP reception quality reports on behalf
134      of the rest of the reporting group, reducing the number of RTCP packets
135      that need to be sent without loss of information.</t>
136      <section numbered="true" toc="default">
137        <name>Semantics and Behaviour of RTCP Reporting Groups</name>
138        <t>A group of co-located SSRCs that see identical network conditions
139        can form an RTCP reporting group. If reporting groups are in use, an
140        RTP endpoint with multiple SSRCs MAY put those SSRCs into a reporting
141        group if their view of the network is identical; i.e., if they report
142        on traffic received at the same interface of an RTP endpoint. SSRCs
143        with different views of the network MUST NOT be put into the same
144        reporting group.</t>
145        <t>An endpoint that has combined its SSRCs into an RTCP reporting
146        group will choose one (or a subset) of those SSRCs to act as
147        "reporting source(s)" for that RTCP reporting group. A reporting
148        source will send RTCP SR/RR reception quality reports on behalf of the
149        other members of the RTCP reporting group. A reporting source MUST
150        suppress the RTCP SR/RR reports that relate to other members of the
151        reporting group, and only report on remote SSRCs. The other members
152        (non reporting sources) of the RTCP reporting group will suppress
153        their RTCP reception quality reports, and instead send an RTCP RGRS
154        packet (see <xref target="sec-rgrs" format="default"/>) to indicate that they are part
155        of an RTCP reporting group and give the SSRCs of the reporting
156        sources.</t>
157        <t>If there are large numbers of remote SSRCs in the RTP session, then
158        the reception quality reports generated by the reporting source might
159        grow too large to fit into a single compound RTCP packet, forcing the
160        reporting source to use a round-robin policy to determine what remote
161        SSRCs it includes in each compound RTCP packet, and so reducing the
162        frequency of reports on each SSRC. To avoid this, in sessions with
163        large numbers of remote SSRCs, an RTCP reporting group MAY use more
164        than one reporting source. If several SSRCs are acting as reporting
165        sources for an RTCP reporting group, then each reporting source MUST
166        have non-overlapping sets of remote SSRCs it reports on.</t>
167        <t>An endpoint MUST NOT create an RTCP reporting group that comprises
168        only a single local SSRC (i.e., an RTCP reporting group where the
169        reporting source is the only member of the group), unless it is
170        anticipated that the group might have additional SSRCs added to it in
171        the future.</t>
172        <t>If a reporting source leaves the RTP session (i.e., if it sends a
173        RTCP BYE packet, or leaves the session without sending BYE under the
174        rules of <xref target="RFC3550" format="default"/> section 6.3.7), the remaining
175        members of the RTCP reporting group MUST either (a) have another
176        reporting source, if one exists, report on the remote SSRCs the
177        leaving SSRC reported on, (b) choose a new reporting source, or (c)
178        disband the RTCP reporting group and begin sending reception quality
179        reports following <xref target="RFC3550" format="default"/> and <xref target="I-D.ietf-avtcore-rtp-multi-stream" format="default"/>.</t>
180        <t>The RTCP timing rules assign different bandwidth fractions to
181        senders and receivers. This lets senders transmit RTCP reception
182        quality reports more often than receivers. If a reporting source in an
183        RTCP reporting group is a receiver, but one or more non-reporting
184        SSRCs in the RTCP reporting group are senders, then the endpoint MAY
185        treat the reporting source as a sender for the purpose of RTCP
186        bandwidth allocation, increasing its RTCP bandwidth allocation,
187        provided it also treats one of the senders as if it were a receiver
188        and makes the corresponding reduction in RTCP bandwidth for that SSRC.
189        However, the application needs to consider the impact on the frequency
190        of transmitting of the synchronization information included in RTCP
191        Sender Reports.</t>
192      </section>
193      <section numbered="true" toc="default">
194        <name>Identifying Members of an RTCP Reporting Group</name>
195        <t>When RTCP Reporting Groups are in use, the other SSRCs in the RTP
196        session need to be able to identify which SSRCs are members of an RTCP
197        reporting group. Two RTCP extensions are defined to support this: the
198        RTCP RGRP SDES item is used by the reporting source(s) to identify an
199        RTCP reporting group, and the RTCP RGRS packet is used by other
200        members of an RTCP reporting group to identify the reporting
201        source(s).</t>
202        <section anchor="sec-rgrp" numbered="true" toc="default">
203          <name>Definition and Use of the RTCP RGRP SDES Item</name>
204          <t>This document defines a new RTCP SDES item to identify an RTCP
205          reporting group. The motivation for giving a reporting group an
206          identify is to ensure that the RTCP reporting group and its member
207          SSRCs can be correctly associated when there are multiple reporting
208          sources, and to ensure that a reporting SSRC can be associated with
209          the correct reporting group if an SSRC collision occurs.</t>
210          <t>This document defines the RTCP Source Description (SDES) RGRP
211          item. The RTCP SDES RGRP item MUST be sent by the reporting sources
212          in a reporting group, and MUST NOT be sent by other members of the
213          reporting group or by SSRCs that are not members of any RTCP
214          reporting group. Specifically, every reporting source in an RTCP
215          reporting group MUST include an RTCP SDES packet containing an RGRP
216          item in every compound RTCP packet in which it sends an RR or SR
217          packet (i.e., in every RTCP packet it sends, unless <xref target="RFC5506" format="default">Reduced-Size RTCP</xref> is in use).</t>
218          <t>Syntactically, the format of the RTCP SDES RGRP item is identical
219          to that of the <xref target="RFC7022" format="default">RTCP SDES CNAME item</xref>,
220          except that the SDES item type field MUST have value RGRP=(TBA)
221          instead of CNAME=1. The value of the RTCP SDES RGRP item MUST be
222          chosen with the same concerns about global uniqueness and the same
223          privacy considerations as the RTCP SDES CNAME. The value of the RTCP
224          SDES RGRP item MUST be stable throughout the lifetime of the
225          reporting group, even if some or all of the reporting sources change
226          their SSRC due to collisions, or if the set of reporting sources
227          changes.</t>
228          <ul empty="true" spacing="normal">
229            <li>Note to RFC Editor: please replace (TBA) in the above
230              paragraph with the RTCP SDES item type number assigned to the
231              RGRP item, then delete this note.</li>
232          </ul>
233          <t>An RTP mixer or translator that forwards RTCP SR or RR packets
234          from members of a reporting group MUST forward the corresponding
235          RTCP SDES RGRP items as well, even if it otherwise strips SDES items
236          other than the CNAME item.</t>
237        </section>
238        <section anchor="sec-rgrs" numbered="true" toc="default">
239          <name>Definition and Use of the RTCP RGRS Packet</name>
240          <t>A new RTCP packet type is defined to allow the members of an RTCP
241          reporting group to identify the reporting sources for that group.
242          This allows participants in an RTP session to distinguish an SSRC
243          that is sending empty RTCP reception reports because it is a member
244          of an RTCP reporting group, from an SSRC that is sending empty RTCP
245          reception reports because it is not receiving any traffic. It also
246          explicitly identifies the reporting sources, allowing other members
247          of the RTP session to know which SSRCs are acting as the reporting
248          sources for an RTCP reporting group, and allowing them to detect if
249          RTCP packets from any of the reporting sources are being lost.</t>
250          <t>The format of the RTCP RGRS packet is defined below. It comprises
251          the fixed RTCP header that indicates the packet type and length, the
252          SSRC of the packet sender, and a list of reporting sources for the
253          RTCP reporting group of which the packet sender is a member.</t>
254          <artwork name="" type="" align="left" alt=""><![CDATA[
255 0                   1                   2                   3   
256 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
257+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
258|V=2|P|    SC   | PT=RGRS(TBA)  |             length            |
259+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
260|                     SSRC of packet sender                     |
261+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
262:          List of SSRC(s) for the Reporting Source(s)          :
263:                              ...                              :
264+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
265          <t>The fields in the RTCP RGRS packet have the following definition:
266          </t>
267          <dl newline="false" spacing="normal">
268            <dt>version (V):</dt>
269            <dd>2 bits unsigned integer. This field
270              identifies the RTP version. The current RTP version is 2.</dd>
271            <dt>padding (P):</dt>
272            <dd>1 bit. If set, the padding bit
273              indicates that the RTCP packet contains additional padding
274              octets at the end that are not part of the control information
275              but are included in the length field. See <xref target="RFC3550" format="default"/>.</dd>
276            <dt>Source Count (SC):</dt>
277            <dd>5 bits unsigned integer.
278              Indicates the number of reporting source SSRCs that are included
279              in this RTCP packet. As the RTCP RGRS packet MUST NOT be not
280              sent by reporting sources, all the SSRCs in the list of
281              reporting sources will be different from the SSRC of the packet
282              sender. Every RTCP RGRS packet MUST contain at least one
283              reporting source SSRC.</dd>
284            <dt>Payload type (PT):</dt>
285            <dd>
286              <t>8 bits unsigned integer. The
287              RTCP packet type number that identifies the packet as being an
288              RTCP RGRS packet. The RGRS RTCP packet has the value [TBA].
289              </t>
290              <ul empty="true" spacing="normal">
291                <li>Note to RFC Editor: please replace [TBA] here, and in the
292                  packet format diagram above, with the RTCP packet type that
293                  IANA assigns to the RTCP RGRS packet.</li>
294              </ul>
295            </dd>
296            <dt>Length:</dt>
297            <dd>16 bits unsigned integer. The length of
298              this packet in 32-bit words minus one, including the header and
299              any padding. This is in line with the definition of the length
300              field used in RTCP sender and receiver reports <xref target="RFC3550" format="default"/>. Since all RTCP RGRS packets include at least
301              one reporting source SSRC, the length will always be 2 or
302              greater.</dd>
303            <dt>SSRC of packet sender:</dt>
304            <dd>32 bits. The SSRC of the
305              sender of this packet.</dd>
306            <dt>List of SSRCs for the Reporting Source(s):</dt>
307            <dd>A
308              variable length size (as indicated by SC header field) of the 32
309              bit SSRC values of the reporting sources for the RTCP Reporting
310              Group of which the packet sender is a member.</dd>
311          </dl>
312          <t>Every source that belongs to an RTCP reporting group but is not a
313          reporting source MUST include an RTCP RGRS packet in every compound
314          RTCP packet in which it sends an RR or SR packet (i.e., in every
315          RTCP packet it sends, unless <xref target="RFC5506" format="default"> Reduced-Size
316          RTCP</xref> is in use). Each RTCP RGRS packet MUST contain the SSRC
317          identifier of at least one reporting source. If there are more
318          reporting sources in an RTCP reporting group than can fit into an
319          RTCP RGRS packet, the members of that reporting group MUST send the
320          SSRCs of the reporting sources in a round-robin fashion in
321          consecutive RTCP RGRS packets, such that all the SSRCs of the
322          reporting sources are included over the course of several RTCP
323          reporting intervals.</t>
324          <t>An RTP mixer or translator that forwards RTCP SR or RR packets
325          from members of a reporting group MUST also forward the
326          corresponding RGRS RTCP packets. If the RTP mixer or translator
327          rewrites SSRC values of the packets it forwards, it MUST make the
328          corresponding changes to the RTCP RGRS packets.</t>
329        </section>
330      </section>
331      <section numbered="true" toc="default">
332        <name>Interactions with the RTP/AVPF Feedback Profile</name>
333        <t>Use of the RTP/AVPF Feedback Profile <xref target="RFC4585" format="default"/>
334        allows SSRCs to send rapid RTCP feedback requests and codec control
335        messages. If use of the RTP/AVPF profile has been negotiated in an RTP
336        session, members of an RTCP reporting group can send rapid RTCP
337        feedback and codec control messages following <xref target="RFC4585" format="default"/>
338        and <xref target="RFC5104" format="default"/>, as updated by Section 5.4 of <xref target="I-D.ietf-avtcore-rtp-multi-stream" format="default"/>, and by the following
339        considerations.</t>
340        <t>The members of an RTCP reporting group will all see identical
341        network conditions. Accordingly, one might therefore think that it
342        doesn't matter which SSRC in the reporting group sends the RTP/AVPF
343        feedback or codec control messages. There might be, however, cases
344        where the sender of the feedback/codec control message has semantic
345        importance, or when only a subset of the members of an RTCP reporting
346        group might want to send RTP/AVPF feedback or a codec control message
347        in response to a particular event. For example, an RTP video sender
348        might choose to treat packet loss feedback received from SSRCs known
349        to be audio receivers with less urgency than feedback that it receives
350        from video receivers when deciding what packets to retransmit, and a
351        multimedia receiver using reporting groups might want to choose the
352        outgoing SSRC for feedback packets to reflect this.</t>
353        <t>Each member of an RTCP reporting group SHOULD therefore send
354        RTP/AVPF feedback/codec control messages independently of the other
355        members of the reporting group, to respect the semantic meaning of the
356        message sender. The suppression rules of <xref target="RFC4585" format="default"/> will
357        ensure that only a single copy of each feedback packet is (typically)
358        generated, even if several members of a reporting group send the same
359        feedback. When an endpoint knows that several members of its RTCP
360        reporting group will be sending identical feedback, and that the
361        sender of the feedback is not semantically important, then that
362        endpoint MAY choose to send all its feedback from the reporting source
363        and deterministically suppress feedback packets generated by the other
364        sources in the reporting group.</t>
365        <t>It is important to note that the RTP/AVPF timing rules operate on a
366        per-SSRC basis. Using a single reporting source to send all feedback
367        for a reporting group will hence limit the amount of feedback that can
368        be sent to that which can be sent by one SSRC. If this limit is a
369        problem, then the reporting group can allow each of its members to
370        send its own feedback, using its own SSRC.</t>
371        <t>If the RTP/AVPF feedback messages or codec control requests are
372        sent as compound RTCP packets, then those compound RTCP packets MUST
373        include either an RTCP RGRS packet or an RTCP SDES RGRP item,
374        depending on whether they are sent by the reporting source or a
375        non-reporting source in the RTCP reporting group respectively. The
376        contents of non-compound RTCP feedback or codec control messages are
377        not affected by the use of RTCP reporting groups.</t>
378      </section>
379      <section numbered="true" toc="default">
380        <name>Interactions with RTCP Extended Report (XR) Packets</name>
381        <t>When using RTCP Extended Reports (XR) <xref target="RFC3611" format="default"/> with
382        RTCP reporting groups, it is RECOMMENDED that the reporting source is
383        used to send the RTCP XR packets. If multiple reporting sources are in
384        use, the reporting source that sends the SR/RR packets that relate to
385        a particular remote SSRC SHOULD send the RTCP XR reports about that
386        SSRC. This is motivated as one commonly combine the RTCP XR metrics
387        with the regular report block to more fully understand the situation.
388        Receiving these blocks in different compound packets reduces their
389        value as the measuring intervals are not synchronized in those
390        cases.</t>
391        <t>Some RTCP XR report blocks are specific to particular types of
392        media, and might be relevant to only some members of a reporting
393        group. For example, it would make no sense for an SSRC that is
394        receiving video to send a VoIP metric RTCP XR report block. Such media
395        specific RTCP XR report blocks MUST be sent by the SSRC to which they
396        are relevant, and MUST NOT be included in the common report sent by
397        the reporting source. This might mean that some SSRCs send RTCP XR
398        packets in compound RTCP packets that contain an empty RTCP SR/RR
399        packet, and that the time period covered by the RTCP XR packet is
400        different to that covered by the RTCP SR/RR packet. If it is important
401        that the RTCP XR packet and RTCP SR/RR packet cover the same time
402        period, then that source SHOULD be removed from the RTCP reporting
403        group, and send standard RTCP packets instead.</t>
404      </section>
405      <section numbered="true" toc="default">
406        <name>Middlebox Considerations</name>
407        <t>Many different types of middlebox are used with RTP. RTCP reporting
408        groups are potentially relevant to those types of RTP middlebox that
409        have their own SSRCs and generate RTCP reports for the traffic they
410        receive. RTP middleboxes that do not have their own SSRC, and that
411        don't send RTCP reports on the traffic they receive, cannot use the
412        RTCP reporting groups extension, since they generate no RTCP reports
413        to group.</t>
414        <t>An RTP middlebox that has several SSRCs of its own can use the RTCP
415        reporting groups extension to group the RTCP reports it generates.
416        This can occur, for example, if a middlebox is acting as an RTP mixer
417        for both audio and video flows that are multiplexed onto a single RTP
418        session, where the middlebox has one SSRC for the audio mixer and one
419        for the video mixer part, and when the middlebox wants to avoid cross
420        reporting between audio and video.</t>
421        <t>A middlebox cannot use the RTCP reporting groups extension to group
422        RTCP packets from the SSRCs that it is forwarding. It can, however,
423        group the RTCP packets from the SSRCs it is forwarding into compound
424        RTCP packets following the rules in Section 6.1 of <xref target="RFC3550" format="default"/> and Section 5.3 of <xref target="I-D.ietf-avtcore-rtp-multi-stream" format="default"/>. If the middlebox is
425        using RTCP reporting groups for its own SSRCs, it MAY include RTCP
426        packets from the SSRCs that it is forwarding as part of the compound
427        RTCP packets its reporting source generates.</t>
428        <t>A middlebox that forwards RTCP SR or RR packets sent by members of
429        a reporting group MUST forward the corresponding RTCP SDES RGRP items,
430        as described in <xref target="sec-rgrp" format="default"/>. A middlebox that forwards
431        RTCP SR or RR packets sent by member of a reporting group MUST also
432        forward the corresponding RTCP RGRS packets, as described in <xref target="sec-rgrs" format="default"/>. Failure to forward these packets can cause
433        compatibility problems, as described in <xref target="compat" format="default"/>.</t>
434        <t>If a middlebox rewrites SSRC values in the RTP and RTCP packets
435        that it is forwarding, then it MUST make the corresponding changes in
436        RTCP SDES packets containing RGRP items and in RTCP RGRS packets, to
437        allow them to be associated with the rewritten SSRCs.</t>
438      </section>
439      <section anchor="sdp" numbered="true" toc="default">
440        <name>SDP Signalling for Reporting Groups</name>
441        <t>This document defines the "a=rtcp-rgrp" <xref target="RFC4566" format="default">Session Description Protocol (SDP)</xref> attribute
442        to indicate if the session participant is capable of supporting RTCP
443        Reporting Groups for applications that use SDP for configuration of
444        RTP sessions. It is a property attribute, and hence takes no value.
445        The <xref target="I-D.ietf-mmusic-sdp-mux-attributes" format="default">multiplexing
446        category</xref> is IDENTICAL, as the functionality applies on RTP
447        session level. A participant that proposes the use of RTCP Reporting
448        Groups SHALL itself support the reception of RTCP Reporting Groups.
449        The formal definition of this attribute is:</t>
450        <artwork name="" type="" align="left" alt=""><![CDATA[
451   Name: rtcp-rgrp
452   Value: 
453   Usage Level: session, media
454   Charset Dependent: no
455   Example:
456      a=rtcp-rgrp
457]]></artwork>
458        <t>When using SDP Offer/Answer <xref target="RFC3264" format="default"/>, the following
459        procedures are to be used: </t>
460        <ul spacing="normal">
461          <li>Generating the initial SDP offer: If the offerer supports the
462            RTCP reporting group extensions, and is willing to accept RTCP
463            packets containing those extensions, then it MUST include an
464            "a=rtcp-rgrp" attribute in the initial offer. If the offerer does
465            not support RTCP reporting groups extensions, or is not willing to
466            accept RTCP packets containing those extensions, then it MUST NOT
467            include the "a=rtcp-rgrp" attribute in the offer.</li>
468          <li>Generating the SDP answer: If the SDP offer contains an
469            "a=rtcp-rgrp" attribute, and if the answerer supports RTCP
470            reporting groups and is willing to receive RTCP packets using the
471            RTCP reporting groups extensions, then the answerer MAY include an
472            "a=rtcp-rgrp" attribute in the answer and MAY send RTCP packets
473            containing the RTCP reporting groups extensions. If the offer does
474            not contain an "a=rtcp-rgrp" attribute, or if the offer does
475            contain such an attribute but the answerer does not wish to accept
476            RTCP packets using the RTCP reporting groups extensions, then the
477            answer MUST NOT include an "a=rtcp-rgrp" attribute.</li>
478          <li>Offerer Processing of the SDP Answer: If the SDP answer
479            contains an "a=rtcp-rgrp" attribute, and the corresponding offer
480            also contained an "a=rtcp-rgrp" attribute, then the offerer MUST
481            be prepared to accept and process RTCP packets that contain the
482            reporting groups extension, and MAY send RTCP packets that contain
483            the reporting groups extension. If the SDP answer contains an
484            "a=rtcp-rgrp" attribute, but the corresponding offer did not
485            contain the "a=rtcp-rgrp" attribute, then the offerer MUST reject
486            the call. If the SDP answer does not contain an "a=rtcp-rgrp"
487            attribute, then the offerer MUST NOT send packets containing the
488            RTCP reporting groups extensions, and does not need to process
489            packet containing the RTCP reporting groups extensions.</li>
490        </ul>
491        <t>In declarative usage of SDP, such as the <xref target="RFC2326" format="default">Real Time Streaming Protocol (RTSP)</xref> and the
492        <xref target="RFC2974" format="default">Session Announcement Protocol (SAP)</xref>, the
493        presence of the attribute indicates that the session participant MAY
494        use RTCP Reporting Groups in its RTCP transmissions. An implementation
495        that doesn't explicitly support RTCP Reporting Groups MAY join a RTP
496        session as long as it has been verified that the implementation
497        doesn't suffer from the problems discussed in <xref target="compat" format="default"/>.</t>
498      </section>
499    </section>
500    <section numbered="true" toc="default">
501      <name>Properties of RTCP Reporting Groups</name>
502      <t>This section provides additional information on what the resulting
503      properties are with the design specified in <xref target="reportgroups" format="default"/>. The content of this section is
504      non-normative.</t>
505      <section anchor="reportgroups-bw" numbered="true" toc="default">
506        <name>Bandwidth Benefits of RTCP Reporting Groups</name>
507        <t>To understand the benefits of RTCP reporting groups, consider a
508        scenario in which the two endpoints in a session each have a hundred
509        sources, of which eight each are sending within any given reporting
510        interval.</t>
511        <t>For ease of analysis, we can make the simplifying approximation
512        that the duration of the RTCP reporting interval is equal to the total
513        size of the RTCP packets sent during an RTCP interval, divided by the
514        RTCP bandwidth. (This will be approximately true in scenarios where
515        the bandwidth is not so high that the minimum RTCP interval is
516        reached.) For further simplification, we can assume RTCP senders are
517        following the recommendations regarding Compound RTCP Packets in <xref target="I-D.ietf-avtcore-rtp-multi-stream" format="default"/>; thus, the per-packet
518        transport-layer overhead will be small relative to the RTCP data.
519        Thus, only the actual RTCP data itself need be considered.</t>
520        <t>In a report interval in this scenario, there will, as a baseline,
521        be 200 SDES packets, 184 RR packets, and 16 SR packets. This amounts
522        to approximately 6.5 kB of RTCP per report interval, assuming 16-byte
523        CNAMEs and no other SDES information.</t>
524        <t>Using the original <xref target="RFC3550" format="default"/>
525        everyone-reports-on-every-sender feedback rules, each of the 184
526        receivers will send 16 report blocks, and each of the 16 senders will
527        send 15. This amounts to approximately 76 kB of report block traffic
528        per interval; 92% of RTCP traffic consists of report blocks.</t>
529        <t>If reporting groups are used, however, there is only 0.4 kB of
530        reports per interval, with no loss of useful information.
531        Additionally, there will be (assuming 16-byte RGRPs, and a single
532        reporting source per reporting group) an additional 2.4 kB per cycle
533        of RGRP SDES items and RGRS packets. Put another way, the unmodified
534        <xref target="RFC3550" format="default"/> reporting interval is approximately 9 times
535        longer than if reporting groups are in use.</t>
536      </section>
537      <section anchor="compat" numbered="true" toc="default">
538        <name>Compatibility of RTCP Reporting Groups</name>
539        <t>The RTCP traffic generated by receivers using RTCP Reporting Groups
540        might appear, to observers unaware of these semantics, to be generated
541        by receivers who are experiencing a network disconnection, as the
542        non-reporting sources appear not to be receiving a given sender at
543        all.</t>
544        <t>This could be a potentially critical problem for such a sender
545        using RTCP for congestion control, as such a sender might think that
546        it is sending so much traffic that it is causing complete congestion
547        collapse.</t>
548        <t>However, such an interpretation of the session statistics would
549        require a fairly sophisticated RTCP analysis. Any receiver of RTCP
550        statistics which is just interested in information about itself needs
551        to be prepared that any given reception report might not contain
552        information about a specific media source, because reception reports
553        in large conferences can be round-robined.</t>
554        <t>Thus, it is unclear to what extent such backward compatibility
555        issues would actually cause trouble in practice.</t>
556      </section>
557    </section>
558    <section numbered="true" toc="default">
559      <name>Security Considerations</name>
560      <t>The security considerations of <xref target="RFC3550" format="default"/> and <xref target="I-D.ietf-avtcore-rtp-multi-stream" format="default"/> apply. If the RTP/AVPF
561      profile is in use, then the security considerations of <xref target="RFC4585" format="default"/> (and <xref target="RFC5104" format="default"/>, if used) also apply.
562      If RTCP XR is used, the security consideration of <xref target="RFC3611" format="default"/> and any XR report blocks used also apply.</t>
563      <t>The RTCP SDES RGRP item is vulnerable to malicious modifications
564      unless integrity protected is used. A modification of this item's length
565      field cause the parsing of the RTCP packet in which it is contained to
566      fail. Depending on the implementation, parsing of the full compound RTCP
567      packet can also fail causing the whole packet to be discarded. A
568      modification to the value of this SDES item would make the receiver of
569      the report think that the sender of the report was a member of a
570      different RTCP reporting group. This will potentially create an
571      inconsistency, when the RGRS reports the source as being in the same
572      reporting group as another source with another reporting group
573      identifier. What impact on a receiver implementation such
574      inconsistencies would have are difficult to fully predict. One case is
575      when congestion control or other adaptation mechanisms are used, an
576      inconsistent report can result in a media sender to reduce its bit-rate.
577      However, a direct modification of the receiver report or a feedback
578      message itself would be a more efficient attack, and equally costly to
579      perform.</t>
580      <t>The new RGRS RTCP Packet type is very simple. The common RTCP packet
581      type header shares the security risks with previous RTCP packet types.
582      Errors or modification of the length field can cause the full compound
583      packet to fail header validation (see Appendix A.2 in <xref target="RFC3550" format="default"/>) resulting in the whole compound RTCP packet being
584      discarded. Modification of the SC or P fields would cause inconsistency
585      when processing the RTCP packet, likely resulting it being classified as
586      invalid. A modification of the PT field would cause the packet being
587      interpreted under some other packet type's rules. In such case the
588      result might be more or less predictable but packet type specific.
589      Modification of the SSRC of packet sender would attribute this packet to
590      another sender. Resulting in a receiver believing the reporting group
591      applies also for this SSRC, if it exists. If it doesn't exist, unless
592      also corresponding modifications are done on a SR/RR packet and a SDES
593      packet the RTCP packet SHOULD be discarded. If consistent changes are
594      done, that could be part of a resource exhaustion attack on a receiver
595      implementation. Modification of the "List of SSRCs for the Reporting
596      Source(s)" would change the SSRC the receiver expect to report on behalf
597      of this SSRC. If that SSRC exist, that could potentially change the
598      report group used for this SSRC. A change to another reporting group
599      belonging to another endpoint is likely detectable as there would be a
600      mismatch between the SSRC of the packet sender's endpoint information,
601      transport addresses, SDES CNAME etc and the corresponding information
602      from the reporting group indicated.</t>
603      <t>In general the reporting group is providing limited impacts attacks.
604      The most significant result from an deliberate attack would be to cause
605      the information to be discarded or be inconsistent, including discard of
606      all RTCP packets that are modified. This causes a lack of information at
607      any receiver entity, possibly disregarding the endpoints participation
608      in the session.</t>
609      <t>To protect against this type of attacks from external non trusted
610      entities, integrity and source authentication SHOULD be applied. This
611      can be done, for example, by using <xref target="RFC3711" format="default">SRTP</xref>
612      with appropriate key-management, other options exist as discussed in
613      <xref target="RFC7201" format="default">RTP Security Options</xref>.</t>
614      <t>The Report Group Identifier has a potential privacy impacting
615      properties. If this would be generated by an implementation in such a
616      way that is long term stable or predictable, it could be used for
617      tracking a particular end-point. Therefore it is RECOMMENDED that it be
618      generated as a short-term persistent RGRP, following the rules for
619      short-term persistent CNAMEs in <xref target="RFC7022" format="default"/>. The rest of
620      the information revealed, i.e. the SSRCs, the size of reporting group
621      and the number of reporting sources in a reporting group is of less
622      sensitive nature, considering that the SSRCs and the communication would
623      anyway be revealed without this extension. By encrypting the report
624      group extensions the SSRC values would preserved confidential, but can
625      still be revealed if <xref target="RFC3711" format="default">SRTP</xref> is used. The
626      size of the reporting groups and number of reporting sources are likely
627      determinable from analysis of the packet pattern and sizes. However,
628      this information appears to have limited value.</t>
629    </section>
630    <section numbered="true" toc="default">
631      <name>IANA Considerations</name>
632      <t>(Note to the RFC-Editor: in the following, please replace "TBA" with
633      the IANA-assigned value, and "XXXX" with the number of this document,
634      then delete this note)</t>
635      <t>The IANA is requested to register one new RTCP SDES items in the
636      "RTCP SDES Item Types" registry, as follows:</t>
637      <artwork name="" type="" align="left" alt=""><![CDATA[
638   Value  Abbrev  Name                         Reference
639   TBA    RGRP    Reporting Group Identifier   [RFCXXXX]
640      ]]></artwork>
641      <t>The definition of the RTCP SDES RGRP item is given in <xref target="sec-rgrp" format="default"/> of this memo.</t>
642      <t>The IANA is also requested to register one new RTCP packet type in
643      the "RTCP Control Packet Types (PT)" Registry as follows:</t>
644      <artwork name="" type="" align="left" alt=""><![CDATA[
645   Value  Abbrev  Name                               Reference
646   TBA    RGRS    Reporting Group Reporting Sources  [RFCXXXX]
647      ]]></artwork>
648      <t>The definition of the RTCP RGRS packet type is given in <xref target="sec-rgrs" format="default"/> of this memo.</t>
649      <t>The IANA is also requested to register one new SDP attribute:</t>
650      <artwork name="" type="" align="left" alt=""><![CDATA[
651   SDP Attribute ("att-field"):
652      Attribute name:     rtcp-rgrp
653      Long form:          RTCP Reporting Groups
654      Type of name:       att-field
655      Type of attribute:  Media or session level
656      Subject to charset: No
657      Purpose:            Negotiate or configure the use of the RTCP 
658                          Reporting Group Extension. 
659      Reference:          [RFCXXXX]
660      Values:             None
661       ]]></artwork>
662      <t>The definition of the "a=rtcp-rgrp" SDES attribute is given in <xref target="sdp" format="default"/> of this memo.</t>
663    </section>
664  </middle>
665  <back>
666    <references>
667      <name>References</name>
668      <references>
669        <name>Normative References</name>
670        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
671          <front>
672            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
673            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
674            <seriesInfo name="RFC" value="2119"/>
675            <seriesInfo name="BCP" value="14"/>
676            <author initials="S." surname="Bradner" fullname="S. Bradner">
677              <organization/>
678            </author>
679            <date year="1997" month="March"/>
680            <abstract>
681              <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>
682            </abstract>
683          </front>
684        </reference>
685        <reference anchor="RFC3264" target="https://www.rfc-editor.org/info/rfc3264">
686          <front>
687            <title>An Offer/Answer Model with Session Description Protocol (SDP)</title>
688            <seriesInfo name="DOI" value="10.17487/RFC3264"/>
689            <seriesInfo name="RFC" value="3264"/>
690            <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
691              <organization/>
692            </author>
693            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
694              <organization/>
695            </author>
696            <date year="2002" month="June"/>
697            <abstract>
698              <t>This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them.  In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective.  This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session.  The offer/answer model is used by protocols like the Session Initiation Protocol (SIP).  [STANDARDS-TRACK]</t>
699            </abstract>
700          </front>
701        </reference>
702        <reference anchor="RFC3550" target="https://www.rfc-editor.org/info/rfc3550">
703          <front>
704            <title>RTP: A Transport Protocol for Real-Time Applications</title>
705            <seriesInfo name="DOI" value="10.17487/RFC3550"/>
706            <seriesInfo name="RFC" value="3550"/>
707            <seriesInfo name="STD" value="64"/>
708            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
709              <organization/>
710            </author>
711            <author initials="S." surname="Casner" fullname="S. Casner">
712              <organization/>
713            </author>
714            <author initials="R." surname="Frederick" fullname="R. Frederick">
715              <organization/>
716            </author>
717            <author initials="V." surname="Jacobson" fullname="V. Jacobson">
718              <organization/>
719            </author>
720            <date year="2003" month="July"/>
721            <abstract>
722              <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>
723            </abstract>
724          </front>
725        </reference>
726        <reference anchor="RFC4566" target="https://www.rfc-editor.org/info/rfc4566">
727          <front>
728            <title>SDP: Session Description Protocol</title>
729            <seriesInfo name="DOI" value="10.17487/RFC4566"/>
730            <seriesInfo name="RFC" value="4566"/>
731            <author initials="M." surname="Handley" fullname="M. Handley">
732              <organization/>
733            </author>
734            <author initials="V." surname="Jacobson" fullname="V. Jacobson">
735              <organization/>
736            </author>
737            <author initials="C." surname="Perkins" fullname="C. Perkins">
738              <organization/>
739            </author>
740            <date year="2006" month="July"/>
741            <abstract>
742              <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.  [STANDARDS-TRACK]</t>
743            </abstract>
744          </front>
745        </reference>
746        <reference anchor="RFC7022" target="https://www.rfc-editor.org/info/rfc7022">
747          <front>
748            <title>Guidelines for Choosing RTP Control Protocol (RTCP) Canonical Names (CNAMEs)</title>
749            <seriesInfo name="DOI" value="10.17487/RFC7022"/>
750            <seriesInfo name="RFC" value="7022"/>
751            <author initials="A." surname="Begen" fullname="A. Begen">
752              <organization/>
753            </author>
754            <author initials="C." surname="Perkins" fullname="C. Perkins">
755              <organization/>
756            </author>
757            <author initials="D." surname="Wing" fullname="D. Wing">
758              <organization/>
759            </author>
760            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
761              <organization/>
762            </author>
763            <date year="2013" month="September"/>
764            <abstract>
765              <t>The RTP Control Protocol (RTCP) Canonical Name (CNAME) is a persistent transport-level identifier for an RTP endpoint.  While the Synchronization Source (SSRC) identifier of an RTP endpoint may change if a collision is detected or when the RTP application is restarted, its RTCP CNAME is meant to stay unchanged, so that RTP endpoints can be uniquely identified and associated with their RTP media streams.</t>
766              <t>For proper functionality, RTCP CNAMEs should be unique within the participants of an RTP session.  However, the existing guidelines for choosing the RTCP CNAME provided in the RTP standard (RFC 3550) are insufficient to achieve this uniqueness.  RFC 6222 was published to update those guidelines to allow endpoints to choose unique RTCP CNAMEs.  Unfortunately, later investigations showed that some parts of the new algorithms were unnecessarily complicated and/or ineffective.  This document addresses these concerns and replaces RFC 6222.</t>
767            </abstract>
768          </front>
769        </reference>
770        <reference anchor="I-D.ietf-avtcore-rtp-multi-stream" target="http://www.ietf.org/internet-drafts/draft-ietf-avtcore-rtp-multi-stream-11.txt">
771          <front>
772            <title>Sending Multiple RTP Streams in a Single RTP Session</title>
773            <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-multi-stream-11"/>
774            <author initials="J" surname="Lennox" fullname="Jonathan Lennox">
775              <organization/>
776            </author>
777            <author initials="M" surname="Westerlund" fullname="Magnus Westerlund">
778              <organization/>
779            </author>
780            <author initials="Q" surname="Wu" fullname="Qin Wu">
781              <organization/>
782            </author>
783            <author initials="C" surname="Perkins" fullname="Colin Perkins">
784              <organization/>
785            </author>
786            <date month="December" day="11" year="2015"/>
787            <abstract>
788              <t>This memo expands and clarifies the behaviour of Real-time Transport Protocol (RTP) endpoints that use multiple synchronization sources (SSRCs).  This occurs, for example, when an endpoint sends multiple RTP streams in a single RTP session.  This memo updates RFC 3550 with regards to handling multiple SSRCs per endpoint in RTP sessions, with a particular focus on RTCP behaviour.  It also updates RFC 4585 to update and clarify the calculation of the timeout of SSRCs and the inclusion of feedback messages.</t>
789            </abstract>
790          </front>
791        </reference>
792        <reference anchor="I-D.ietf-mmusic-sdp-mux-attributes" target="http://www.ietf.org/internet-drafts/draft-ietf-mmusic-sdp-mux-attributes-17.txt">
793          <front>
794            <title>A Framework for SDP Attributes when Multiplexing</title>
795            <seriesInfo name="Internet-Draft" value="draft-ietf-mmusic-sdp-mux-attributes-17"/>
796            <author initials="S" surname="Nandakumar" fullname="Suhas Nandakumar">
797              <organization/>
798            </author>
799            <date month="February" day="28" year="2018"/>
800            <abstract>
801              <t>The purpose of this specification is to provide a framework for analyzing the multiplexing characteristics of Session Description Protocol (SDP) attributes when SDP is used to negotiate the usage of single 5-tuple for sending and receiving media associated with multiple media descriptions.  This specification also categorizes the existing SDP attributes based on the framework described herein.</t>
802            </abstract>
803          </front>
804        </reference>
805      </references>
806      <references>
807        <name>Informative References</name>
808        <reference anchor="RFC2326" target="https://www.rfc-editor.org/info/rfc2326">
809          <front>
810            <title>Real Time Streaming Protocol (RTSP)</title>
811            <seriesInfo name="DOI" value="10.17487/RFC2326"/>
812            <seriesInfo name="RFC" value="2326"/>
813            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
814              <organization/>
815            </author>
816            <author initials="A." surname="Rao" fullname="A. Rao">
817              <organization/>
818            </author>
819            <author initials="R." surname="Lanphier" fullname="R. Lanphier">
820              <organization/>
821            </author>
822            <date year="1998" month="April"/>
823            <abstract>
824              <t>The Real Time Streaming Protocol, or RTSP, is an application-level protocol for control over 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. [STANDARDS-TRACK]</t>
825            </abstract>
826          </front>
827        </reference>
828        <reference anchor="RFC2974" target="https://www.rfc-editor.org/info/rfc2974">
829          <front>
830            <title>Session Announcement Protocol</title>
831            <seriesInfo name="DOI" value="10.17487/RFC2974"/>
832            <seriesInfo name="RFC" value="2974"/>
833            <author initials="M." surname="Handley" fullname="M. Handley">
834              <organization/>
835            </author>
836            <author initials="C." surname="Perkins" fullname="C. Perkins">
837              <organization/>
838            </author>
839            <author initials="E." surname="Whelan" fullname="E. Whelan">
840              <organization/>
841            </author>
842            <date year="2000" month="October"/>
843            <abstract>
844              <t>This document describes version 2 of the multicast session directory announcement protocol, Session Announcement Protocol (SAP), and the related issues affecting security and scalability that should be taken into account by implementors.  This memo defines an Experimental Protocol for the Internet community.</t>
845            </abstract>
846          </front>
847        </reference>
848        <reference anchor="RFC3611" target="https://www.rfc-editor.org/info/rfc3611">
849          <front>
850            <title>RTP Control Protocol Extended Reports (RTCP XR)</title>
851            <seriesInfo name="DOI" value="10.17487/RFC3611"/>
852            <seriesInfo name="RFC" value="3611"/>
853            <author initials="T." surname="Friedman" fullname="T. Friedman" role="editor">
854              <organization/>
855            </author>
856            <author initials="R." surname="Caceres" fullname="R. Caceres" role="editor">
857              <organization/>
858            </author>
859            <author initials="A." surname="Clark" fullname="A. Clark" role="editor">
860              <organization/>
861            </author>
862            <date year="2003" month="November"/>
863            <abstract>
864              <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>
865            </abstract>
866          </front>
867        </reference>
868        <reference anchor="RFC3711" target="https://www.rfc-editor.org/info/rfc3711">
869          <front>
870            <title>The Secure Real-time Transport Protocol (SRTP)</title>
871            <seriesInfo name="DOI" value="10.17487/RFC3711"/>
872            <seriesInfo name="RFC" value="3711"/>
873            <author initials="M." surname="Baugher" fullname="M. Baugher">
874              <organization/>
875            </author>
876            <author initials="D." surname="McGrew" fullname="D. McGrew">
877              <organization/>
878            </author>
879            <author initials="M." surname="Naslund" fullname="M. Naslund">
880              <organization/>
881            </author>
882            <author initials="E." surname="Carrara" fullname="E. Carrara">
883              <organization/>
884            </author>
885            <author initials="K." surname="Norrman" fullname="K. Norrman">
886              <organization/>
887            </author>
888            <date year="2004" month="March"/>
889            <abstract>
890              <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>
891            </abstract>
892          </front>
893        </reference>
894        <reference anchor="RFC4585" target="https://www.rfc-editor.org/info/rfc4585">
895          <front>
896            <title>Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)</title>
897            <seriesInfo name="DOI" value="10.17487/RFC4585"/>
898            <seriesInfo name="RFC" value="4585"/>
899            <author initials="J." surname="Ott" fullname="J. Ott">
900              <organization/>
901            </author>
902            <author initials="S." surname="Wenger" fullname="S. Wenger">
903              <organization/>
904            </author>
905            <author initials="N." surname="Sato" fullname="N. Sato">
906              <organization/>
907            </author>
908            <author initials="C." surname="Burmeister" fullname="C. Burmeister">
909              <organization/>
910            </author>
911            <author initials="J." surname="Rey" fullname="J. Rey">
912              <organization/>
913            </author>
914            <date year="2006" month="July"/>
915            <abstract>
916              <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>
917            </abstract>
918          </front>
919        </reference>
920        <reference anchor="RFC4588" target="https://www.rfc-editor.org/info/rfc4588">
921          <front>
922            <title>RTP Retransmission Payload Format</title>
923            <seriesInfo name="DOI" value="10.17487/RFC4588"/>
924            <seriesInfo name="RFC" value="4588"/>
925            <author initials="J." surname="Rey" fullname="J. Rey">
926              <organization/>
927            </author>
928            <author initials="D." surname="Leon" fullname="D. Leon">
929              <organization/>
930            </author>
931            <author initials="A." surname="Miyazaki" fullname="A. Miyazaki">
932              <organization/>
933            </author>
934            <author initials="V." surname="Varsa" fullname="V. Varsa">
935              <organization/>
936            </author>
937            <author initials="R." surname="Hakenberg" fullname="R. Hakenberg">
938              <organization/>
939            </author>
940            <date year="2006" month="July"/>
941            <abstract>
942              <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>
943            </abstract>
944          </front>
945        </reference>
946        <reference anchor="RFC5104" target="https://www.rfc-editor.org/info/rfc5104">
947          <front>
948            <title>Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF)</title>
949            <seriesInfo name="DOI" value="10.17487/RFC5104"/>
950            <seriesInfo name="RFC" value="5104"/>
951            <author initials="S." surname="Wenger" fullname="S. Wenger">
952              <organization/>
953            </author>
954            <author initials="U." surname="Chandra" fullname="U. Chandra">
955              <organization/>
956            </author>
957            <author initials="M." surname="Westerlund" fullname="M. Westerlund">
958              <organization/>
959            </author>
960            <author initials="B." surname="Burman" fullname="B. Burman">
961              <organization/>
962            </author>
963            <date year="2008" month="February"/>
964            <abstract>
965              <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>
966              <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>
967            </abstract>
968          </front>
969        </reference>
970        <reference anchor="RFC5506" target="https://www.rfc-editor.org/info/rfc5506">
971          <front>
972            <title>Support for Reduced-Size Real-Time Transport Control Protocol (RTCP): Opportunities and Consequences</title>
973            <seriesInfo name="DOI" value="10.17487/RFC5506"/>
974            <seriesInfo name="RFC" value="5506"/>
975            <author initials="I." surname="Johansson" fullname="I. Johansson">
976              <organization/>
977            </author>
978            <author initials="M." surname="Westerlund" fullname="M. Westerlund">
979              <organization/>
980            </author>
981            <date year="2009" month="April"/>
982            <abstract>
983              <t>This memo discusses benefits and issues that arise when allowing Real-time Transport Protocol (RTCP) packets to be transmitted with reduced size.  The size can be reduced if the rules on how to create compound packets outlined in RFC 3550 are removed or changed.  Based on that analysis, this memo defines certain changes to the rules to allow feedback messages to be sent as Reduced-Size RTCP packets under certain conditions when using the RTP/AVPF (Real-time Transport Protocol / Audio-Visual Profile with Feedback) profile (RFC 4585). This document updates RFC 3550, RFC 3711, and RFC 4585.  [STANDARDS-TRACK]</t>
984            </abstract>
985          </front>
986        </reference>
987        <reference anchor="RFC6190" target="https://www.rfc-editor.org/info/rfc6190">
988          <front>
989            <title>RTP Payload Format for Scalable Video Coding</title>
990            <seriesInfo name="DOI" value="10.17487/RFC6190"/>
991            <seriesInfo name="RFC" value="6190"/>
992            <author initials="S." surname="Wenger" fullname="S. Wenger">
993              <organization/>
994            </author>
995            <author initials="Y.-K." surname="Wang" fullname="Y.-K. Wang">
996              <organization/>
997            </author>
998            <author initials="T." surname="Schierl" fullname="T. Schierl">
999              <organization/>
1000            </author>
1001            <author initials="A." surname="Eleftheriadis" fullname="A. Eleftheriadis">
1002              <organization/>
1003            </author>
1004            <date year="2011" month="May"/>
1005            <abstract>
1006              <t>This memo describes an RTP payload format for Scalable Video Coding (SVC) as defined in Annex G of ITU-T Recommendation H.264, which is technically identical to Amendment 3 of ISO/IEC International Standard 14496-10.  The RTP payload format allows for packetization of one or more Network Abstraction Layer (NAL) units in each RTP packet payload, as well as fragmentation of a NAL unit in multiple RTP packets. Furthermore, it supports transmission of an SVC stream over a single as well as multiple RTP sessions.  The payload format defines a new media subtype name "H264-SVC", but is still backward compatible to RFC 6184 since the base layer, when encapsulated in its own RTP stream, must use the H.264 media subtype name ("H264") and the packetization method specified in RFC 6184.  The payload format has wide applicability in videoconferencing, Internet video streaming, and high-bitrate entertainment-quality video, among others.  [STANDARDS-TRACK]</t>
1007            </abstract>
1008          </front>
1009        </reference>
1010        <reference anchor="RFC7201" target="https://www.rfc-editor.org/info/rfc7201">
1011          <front>
1012            <title>Options for Securing RTP Sessions</title>
1013            <seriesInfo name="DOI" value="10.17487/RFC7201"/>
1014            <seriesInfo name="RFC" value="7201"/>
1015            <author initials="M." surname="Westerlund" fullname="M. Westerlund">
1016              <organization/>
1017            </author>
1018            <author initials="C." surname="Perkins" fullname="C. Perkins">
1019              <organization/>
1020            </author>
1021            <date year="2014" month="April"/>
1022            <abstract>
1023              <t>The Real-time Transport Protocol (RTP) is used in a large number of different application domains and environments.  This heterogeneity implies that different security mechanisms are needed to provide services such as confidentiality, integrity, and source authentication of RTP and RTP Control Protocol (RTCP) packets suitable for the various environments.  The range of solutions makes it difficult for RTP-based application developers to pick the most suitable mechanism.  This document provides an overview of a number of security solutions for RTP and gives guidance for developers on how to choose the appropriate security mechanism.</t>
1024            </abstract>
1025          </front>
1026        </reference>
1027      </references>
1028    </references>
1029  </back>
1030</rfc>
  • <?xml version="1.0" encoding="utf-8"?>
  • <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
  • <?rfc toc="yes" ?>
  • <?rfc strict="yes" ?>
  • <?rfc compact="yes" ?>
  • <?rfc sortrefs="yes" ?>
  • <?rfc symrefs="yes" ?>
  • <rfc category="std" docName="draft-ietf-avtcore-rtp-multi-stream-optimisation-12" ipr="trust200902" updates="" obsoletes="" submissionType="IETF" xml:lang="en" version="3" number="0000" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
    • <-- xml2rfc v2v3 conversion 2.23.0 -->
    • <--Note: received errors for the China and Sweden addresses when parsing the doc.-->
    • <front>
      • <title abbrev="Grouping RTCP Reception Statistics">
        • Sending Multiple RTP Streams in a Single RTP Session: Grouping RTCP Reception Statistics and Other Feedback
        • </title>
      • <seriesInfo name="Internet-Draft" "RFC" value="draft-ietf-avtcore-rtp-multi-stream-optimisation-12" "0000" />
      • <author fullname="Jonathan Lennox" initials="J." surname="Lennox">
        • <organization abbrev="Vidyo">
          • Vidyo, Inc.
          • </organization>
        • <address>
          • <postal>
            • <street>
              • 433 Hackensack Avenue
              • </street>
            • <street>
              • Seventh Floor
              • </street>
            • <city>
              • Hackensack
              • </city>
            • <region>
              • NJ
              • </region>
            • <code>
              • 07601
              • </code>
            • <country>
              • US
              • </country>
            • </postal>
          • <email>
            • jonathan@vidyo.com
            • </email>
          • </address>
        • </author>
      • <author fullname="Magnus Westerlund" initials="M." surname="Westerlund">
        • <organization>
          • Ericsson
          • </organization>
        • <address>
          • <postal>
            • <street>
              • Farogatan 2
              • </street>
            • <city>
              • SE-164 80 Kista
              • </city>
            • <code>
              • 164 80
              • </code>
            • <country>
              • Sweden
              • </country>
            • </postal>
          • <phone>
            • +46 10 714 82 87
            • </phone>
          • <email>
            • magnus.westerlund@ericsson.com
            • </email>
          • </address>
        • </author>
      • <author fullname="Qin Wu" initials="Q." surname="Wu">
        • <organization>
          • Huawei
          • </organization>
        • <address>
          • <postal>
            • <street>
              • 101 Software Avenue, Yuhua District
              • </street>
            • <city>
              • Nanjing,Nanjing, Jiangsu 210012
              • </city>
            • <region>
              • Jiangsu
              • </region>
            • <code>
              • 210012
              • </code>
            • <country>
              • China
              • </country>
            • </postal>
          • <email>
            • bill.wu@huawei.com
            • </email>
          • </address>
        • </author>
      • <author fullname="Colin Perkins" initials="C. " "C." surname="Perkins">
        • <organization>
          • University of Glasgow
          • </organization>
        • <address>
          • <postal>
            • <street>
              • School of Computing Science
              • </street>
            • <city>
              • Glasgow
              • </city>
            • <code>
              • G12 8QQ
              • </code>
            • <country>
              • United Kingdom
              • </country>
            • </postal>
          • <email>
            • csp@csperkins.org
            • </email>
          • </address>
        • </author>
      • <date month="August" year="2019"/>
      • <workgroup>
        • AVTCORE WG
        • </workgroup>
      • <abstract>
        • <t>
          • RTP allows multiple RTP streams to be sent in a single session, but requires each Synchronisation Source (SSRC) to send 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>
    • <middle>
      • <section anchor="introduction" numbered="true" toc="default">
        • <name>
          • Introduction
          • </name>
        • <t>
          • The Real-time Transport Protocol (RTP) <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/> is a protocol for group communication, supporting multiparty multimedia sessions. A single RTP session can support multiple participants sending at once, and can also support participants sending multiple simultaneous RTP streams. Examples of the latter might include a participant with multiple cameras who chooses to send multiple views of a scene, or a participant that sends audio and video flows multiplexed in a single RTP session. Rules for handling RTP sessions containing multiple RTP streams are described in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/> with some clarifications in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="I-D.ietf-avtcore-rtp-multi-stream" "RTP-STREAMS" format="default"/>.
          • </t>
        • <t>
          • An RTP endpoint will have one or more synchronisation sources (SSRCs). It will have at least one RTP Stream, and thus SSRC, for each media source it sends, and might use multiple SSRCs per media source when using <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC6190" format="default">media scalability features</xref>, forward error correction, <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC4588" format="default">RTP retransmission</xref>, or similar mechanisms. An endpoint that is not sending any RTP stream, will have at least one SSRC to use for reporting and any feedback messages. Each SSRC has to send RTCP sender reports corresponding to the RTP packets it sends, and receiver reports for traffic it receives. That is, every SSRC will send RTCP packets to report on every other SSRC. This rule is simple, but can be quite inefficient for endpoints that send large numbers of RTP streams in a single RTP session. Consider a session comprising ten participants, each sending three media sources, each with their own RTP stream. There will be 30 SSRCs in such an RTP session, and each of those 30 SSRCs will send an RTCP Sender Report/Receiver Report packet (containing several report blocks) per reporting interval as each SSRC reports on all the others. However, the three SSRCs comprising each participant are commonly co-located such that they see identical reception quality. If there was a way to indicate that several SSRCs are co-located, and see the same reception quality, then two-thirds of those RTCP reports could be suppressed. This would allow the remaining RTCP reports to be sent more often, while keeping within the same RTCP bandwidth fraction.
          • </t>
        • <t>
          • This memo defines such an RTCP extension, RTCP Reporting Groups. This extension is used to indicate the SSRCs that originate from the same endpoint, and therefore have identical reception quality, hence allowing the endpoints to suppress unnecessary RTCP reception quality reports.
          • </t>
        • </section>
      • <section numbered="true" toc="default">
        • <name>
          • Terminology
          • </name>
        • <t>
          • The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14>", "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST NOT</bcp14>", "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">REQUIRED</bcp14>", "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">SHALL</bcp14>", "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">SHALL NOT</bcp14>", "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">SHOULD</bcp14>", "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">SHOULD NOT</bcp14>", "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">RECOMMENDED</bcp14>", "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">NOT RECOMMENDED</bcp14>", "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14>", and "OPTIONAL" "<bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">OPTIONAL</bcp14>" in this document are to be interpreted as described in BCP 14 <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC2119"/> <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC2119" format="default"/>. "RFC8174"/> when, and only when, they appear in all capitals, as shown here.
          • </t>
        • </section>
      • <section anchor="reportgroups" numbered="true" toc="default">
        • <name>
          • RTCP Reporting Groups
          • </name>
        • <t>
          • An RTCP Reporting Group is a set of synchronization sources (SSRCs) that are co-located at a single endpoint (which could be an end host or a middlebox) in an RTP session. Since they are co-located, every SSRC in the RTCP reporting group will have an identical view of the network conditions, and see the same lost packets, jitter, etc. This allows a single representative to send RTCP reception quality reports on behalf of the rest of the reporting group, reducing the number of RTCP packets that need to be sent without loss of information.
          • </t>
        • <section numbered="true" toc="default">
          • <name>
            • Semantics and Behaviour of RTCP Reporting Groups
            • </name>
          • <t>
            • A group of co-located SSRCs that see identical network conditions can form an RTCP reporting group. If reporting groups are in use, an RTP endpoint with multiple SSRCs MAY <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14> put those SSRCs into a reporting group if their view of the network is identical; i.e., if they report on traffic received at the same interface of an RTP endpoint. SSRCs with different views of the network MUST NOT <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST NOT</bcp14> be put into the same reporting group.
            • </t>
          • <t>
            • An endpoint that has combined its SSRCs into an RTCP reporting group will choose one (or a subset) of those SSRCs to act as "reporting source(s)" for that RTCP reporting group. A reporting source will send RTCP SR/RR reception quality reports on behalf of the other members of the RTCP reporting group. A reporting source MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> suppress the RTCP SR/RR reports that relate to other members of the reporting group, and only report on remote SSRCs. The other members (non reporting sources) of the RTCP reporting group will suppress their RTCP reception quality reports, and instead send an RTCP RGRS packet (see <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="sec-rgrs" format="default"/>) to indicate that they are part of an RTCP reporting group and give the SSRCs of the reporting sources.
            • </t>
          • <t>
            • If there are large numbers of remote SSRCs in the RTP session, then the reception quality reports generated by the reporting source might grow too large to fit into a single compound RTCP packet, forcing the reporting source to use a round-robin policy to determine what remote SSRCs it includes in each compound RTCP packet, and so reducing the frequency of reports on each SSRC. To avoid this, in sessions with large numbers of remote SSRCs, an RTCP reporting group MAY <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14> use more than one reporting source. If several SSRCs are acting as reporting sources for an RTCP reporting group, then each reporting source MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> have non-overlapping sets of remote SSRCs it reports on.
            • </t>
          • <t>
            • An endpoint MUST NOT <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST NOT</bcp14> create an RTCP reporting group that comprises only a single local SSRC (i.e., an RTCP reporting group where the reporting source is the only member of the group), unless it is anticipated that the group might have additional SSRCs added to it in the future.
            • </t>
          • <t>
            • If a reporting source leaves the RTP session (i.e., if it sends a RTCP BYE packet, or leaves the session without sending BYE under the rules of <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/> sectionFormat="comma" section 6.3.7), ="6.3.7"/>), the remaining members of the RTCP reporting group MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> either (a) have another reporting source, if one exists, report on the remote SSRCs the leaving SSRC reported on, (b) choose a new reporting source, or (c) disband the RTCP reporting group and begin sending reception quality reports following <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/> and <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="I-D.ietf-avtcore-rtp-multi-stream" "RTP-STREAMS" format="default"/>.
            • </t>
          • <t>
            • The RTCP timing rules assign different bandwidth fractions to senders and receivers. This lets senders transmit RTCP reception quality reports more often than receivers. If a reporting source in an RTCP reporting group is a receiver, but one or more non-reporting SSRCs in the RTCP reporting group are senders, then the endpoint MAY <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14> treat the reporting source as a sender for the purpose of RTCP bandwidth allocation, increasing its RTCP bandwidth allocation, provided it also treats one of the senders as if it were a receiver and makes the corresponding reduction in RTCP bandwidth for that SSRC. However, the application needs to consider the impact on the frequency of transmitting of the synchronization information included in RTCP Sender Reports.
            • </t>
          • </section>
        • <section numbered="true" toc="default">
          • <name>
            • Identifying Members of an RTCP Reporting Group
            • </name>
          • <t>
            • When RTCP Reporting Groups are in use, the other SSRCs in the RTP session need to be able to identify which SSRCs are members of an RTCP reporting group. Two RTCP extensions are defined to support this: the RTCP RGRP SDES item is used by the reporting source(s) to identify an RTCP reporting group, and the RTCP RGRS packet is used by other members of an RTCP reporting group to identify the reporting source(s).
            • </t>
          • <section anchor="sec-rgrp" numbered="true" toc="default">
            • <name>
              • Definition and Use of the RTCP RGRP SDES Item
              • </name>
            • <t>
              • This document defines a new RTCP SDES item to identify an RTCP reporting group. The motivation for giving a reporting group an identify is to ensure that the RTCP reporting group and its member SSRCs can be correctly associated when there are multiple reporting sources, and to ensure that a reporting SSRC can be associated with the correct reporting group if an SSRC collision occurs.
              • </t>
            • <t>
              • This document defines the RTCP Source Description (SDES) RGRP item. The RTCP SDES RGRP item MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> be sent by the reporting sources in a reporting group, and MUST NOT <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST NOT</bcp14> be sent by other members of the reporting group or by SSRCs that are not members of any RTCP reporting group. Specifically, every reporting source in an RTCP reporting group MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> include an RTCP SDES packet containing an RGRP item in every compound RTCP packet in which it sends an RR or SR packet (i.e., in every RTCP packet it sends, unless <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC5506" format="default">Reduced-Size RTCP</xref> is in use).
              • </t>
            • <t>
              • Syntactically, the format of the RTCP SDES RGRP item is identical to that of the <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC7022" format="default">RTCP SDES CNAME item</xref>, except that the SDES item type field MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> have value RGRP=(TBA) instead of CNAME=1. The value of the RTCP SDES RGRP item MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> be chosen with the same concerns about global uniqueness and the same privacy considerations as the RTCP SDES CNAME. The value of the RTCP SDES RGRP item MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> be stable throughout the lifetime of the reporting group, even if some or all of the reporting sources change their SSRC due to collisions, or if the set of reporting sources changes.
              • </t>
            • <ul empty="true" spacing="normal">
              • <li>
                • Note to RFC Editor: please replace (TBA) in the above paragraph with the RTCP SDES item type number assigned to the RGRP item, then delete this note.
                • </li>
              • </ul>
            • <t>
              • An RTP mixer or translator that forwards RTCP SR or RR packets from members of a reporting group MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> forward the corresponding RTCP SDES RGRP items as well, even if it otherwise strips SDES items other than the CNAME item.
              • </t>
            • </section>
          • <section anchor="sec-rgrs" numbered="true" toc="default">
            • <name>
              • Definition and Use of the RTCP RGRS Packet
              • </name>
            • <t>
              • A new RTCP packet type is defined to allow the members of an RTCP reporting group to identify the reporting sources for that group. This allows participants in an RTP session to distinguish an SSRC that is sending empty RTCP reception reports because it is a member of an RTCP reporting group, from an SSRC that is sending empty RTCP reception reports because it is not receiving any traffic. It also explicitly identifies the reporting sources, allowing other members of the RTP session to know which SSRCs are acting as the reporting sources for an RTCP reporting group, and allowing them to detect if RTCP packets from any of the reporting sources are being lost.
              • </t>
            • <t>
              • The format of the RTCP RGRS packet is defined below. It comprises the fixed RTCP header that indicates the packet type and length, the SSRC of the packet sender, and a list of reporting sources for the RTCP reporting group of which the packet sender is a member.
              • </t>
            • <artwork name="" type="" align="left" alt="">

              •  0                   1                   2                   3   
                 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                |V=2|P|    SC   | PT=RGRS(TBA)  |             length            |
                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                |                     SSRC of packet sender                     |
                +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
                :          List of SSRC(s) for the Reporting Source(s)          :
                :                              ...                              :
                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              • </artwork>
            • <t>
              • The fields in the RTCP RGRS packet have the following definition:
              • </t>
            • <dl newline="false" spacing="normal">
              • <dt>
                • version (V):
                • </dt>
              • <dd>
                • 2 bits unsigned integer. This field identifies the RTP version. The current RTP version is 2.
                • </dd>
              • <dt>
                • padding (P):
                • </dt>
              • <dd>
                • 1 bit. If set, the padding bit indicates that the RTCP packet contains additional padding octets at the end that are not part of the control information but are included in the length field. See <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/>.
                • </dd>
              • <dt>
                • Source Count (SC):
                • </dt>
              • <dd>
                • 5 bits unsigned integer. Indicates the number of reporting source SSRCs that are included in this RTCP packet. As the RTCP RGRS packet MUST NOT <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST NOT</bcp14> be not sent by reporting sources, all the SSRCs in the list of reporting sources will be different from the SSRC of the packet sender. Every RTCP RGRS packet MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> contain at least one reporting source SSRC.
                • </dd>
              • <dt>
                • Payload type (PT):
                • </dt>
              • <dd>
                • <t>
                  • 8 bits unsigned integer. The RTCP packet type number that identifies the packet as being an RTCP RGRS packet. The RGRS RTCP packet has the value [TBA].
                  • </t>
                • <ul empty="true" spacing="normal">
                  • <li>
                    • Note to RFC Editor: please replace [TBA] here, and in the packet format diagram above, with the RTCP packet type that IANA assigns to the RTCP RGRS packet.
                    • </li>
                  • </ul>
                • </dd>
              • <dt>
                • Length:
                • </dt>
              • <dd>
                • 16 bits unsigned integer. The length of this packet in 32-bit words minus one, including the header and any padding. This is in line with the definition of the length field used in RTCP sender and receiver reports <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/>. Since all RTCP RGRS packets include at least one reporting source SSRC, the length will always be 2 or greater.
                • </dd>
              • <dt>
                • SSRC of packet sender:
                • </dt>
              • <dd>
                • 32 bits. The SSRC of the sender of this packet.
                • </dd>
              • <dt>
                • List of SSRCs for the Reporting Source(s):
                • </dt>
              • <dd>
                • A variable length size (as indicated by SC header field) of the 32 bit SSRC values of the reporting sources for the RTCP Reporting Group of which the packet sender is a member.
                • </dd>
              • </dl>
            • <t>
              • Every source that belongs to an RTCP reporting group but is not a reporting source MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> include an RTCP RGRS packet in every compound RTCP packet in which it sends an RR or SR packet (i.e., in every RTCP packet it sends, unless <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC5506" format="default">Reduced-Size RTCP</xref> is in use). Each RTCP RGRS packet MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> contain the SSRC identifier of at least one reporting source. If there are more reporting sources in an RTCP reporting group than can fit into an RTCP RGRS packet, the members of that reporting group MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> send the SSRCs of the reporting sources in a round-robin fashion in consecutive RTCP RGRS packets, such that all the SSRCs of the reporting sources are included over the course of several RTCP reporting intervals.
              • </t>
            • <t>
              • An RTP mixer or translator that forwards RTCP SR or RR packets from members of a reporting group MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> also forward the corresponding RGRS RTCP packets. If the RTP mixer or translator rewrites SSRC values of the packets it forwards, it MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> make the corresponding changes to the RTCP RGRS packets.
              • </t>
            • </section>
          • </section>
        • <section numbered="true" toc="default">
          • <name>
            • Interactions with the RTP/AVPF Feedback Profile
            • </name>
          • <t>
            • Use of the RTP/AVPF Feedback Profile <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC4585" format="default"/> allows SSRCs to send rapid RTCP feedback requests and codec control messages. If use of the RTP/AVPF profile has been negotiated in an RTP session, members of an RTCP reporting group can send rapid RTCP feedback and codec control messages following <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC4585" format="default"/> and <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC5104" format="default"/>, as updated by Section 5.4 of <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RTP-STREAMS" sectionFormat="of" section ="I-D.ietf-avtcore-rtp-multi-stream" format="default"/>, "5.4"/>, and by the following considerations.
            • </t>
          • <t>
            • The members of an RTCP reporting group will all see identical network conditions. Accordingly, one might therefore think that it doesn't matter which SSRC in the reporting group sends the RTP/AVPF feedback or codec control messages. There might be, however, cases where the sender of the feedback/codec control message has semantic importance, or when only a subset of the members of an RTCP reporting group might want to send RTP/AVPF feedback or a codec control message in response to a particular event. For example, an RTP video sender might choose to treat packet loss feedback received from SSRCs known to be audio receivers with less urgency than feedback that it receives from video receivers when deciding what packets to retransmit, and a multimedia receiver using reporting groups might want to choose the outgoing SSRC for feedback packets to reflect this.
            • </t>
          • <t>
            • Each member of an RTCP reporting group SHOULD <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">SHOULD</bcp14> therefore send RTP/AVPF feedback/codec control messages independently of the other members of the reporting group, to respect the semantic meaning of the message sender. The suppression rules of <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC4585" format="default"/> will ensure that only a single copy of each feedback packet is (typically) generated, even if several members of a reporting group send the same feedback. When an endpoint knows that several members of its RTCP reporting group will be sending identical feedback, and that the sender of the feedback is not semantically important, then that endpoint MAY <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14> choose to send all its feedback from the reporting source and deterministically suppress feedback packets generated by the other sources in the reporting group.
            • </t>
          • <t>
            • It is important to note that the RTP/AVPF timing rules operate on a per-SSRC basis. Using a single reporting source to send all feedback for a reporting group will hence limit the amount of feedback that can be sent to that which can be sent by one SSRC. If this limit is a problem, then the reporting group can allow each of its members to send its own feedback, using its own SSRC.
            • </t>
          • <t>
            • If the RTP/AVPF feedback messages or codec control requests are sent as compound RTCP packets, then those compound RTCP packets MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> include either an RTCP RGRS packet or an RTCP SDES RGRP item, depending on whether they are sent by the reporting source or a non-reporting source in the RTCP reporting group respectively. The contents of non-compound RTCP feedback or codec control messages are not affected by the use of RTCP reporting groups.
            • </t>
          • </section>
        • <section numbered="true" toc="default">
          • <name>
            • Interactions with RTCP Extended Report (XR) Packets
            • </name>
          • <t>
            • When using RTCP Extended Reports (XR) <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3611" format="default"/> with RTCP reporting groups, it is RECOMMENDED <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">RECOMMENDED</bcp14> that the reporting source is used to send the RTCP XR packets. If multiple reporting sources are in use, the reporting source that sends the SR/RR packets that relate to a particular remote SSRC SHOULD <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">SHOULD</bcp14> send the RTCP XR reports about that SSRC. This is motivated as one commonly combine the RTCP XR metrics with the regular report block to more fully understand the situation. Receiving these blocks in different compound packets reduces their value as the measuring intervals are not synchronized in those cases.
            • </t>
          • <t>
            • Some RTCP XR report blocks are specific to particular types of media, and might be relevant to only some members of a reporting group. For example, it would make no sense for an SSRC that is receiving video to send a VoIP metric RTCP XR report block. Such media specific RTCP XR report blocks MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> be sent by the SSRC to which they are relevant, and MUST NOT <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST NOT</bcp14> be included in the common report sent by the reporting source. This might mean that some SSRCs send RTCP XR packets in compound RTCP packets that contain an empty RTCP SR/RR packet, and that the time period covered by the RTCP XR packet is different to that covered by the RTCP SR/RR packet. If it is important that the RTCP XR packet and RTCP SR/RR packet cover the same time period, then that source SHOULD <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">SHOULD</bcp14> be removed from the RTCP reporting group, and send standard RTCP packets instead.
            • </t>
          • </section>
        • <section numbered="true" toc="default">
          • <name>
            • Middlebox Considerations
            • </name>
          • <t>
            • Many different types of middlebox are used with RTP. RTCP reporting groups are potentially relevant to those types of RTP middlebox that have their own SSRCs and generate RTCP reports for the traffic they receive. RTP middleboxes that do not have their own SSRC, and that don't send RTCP reports on the traffic they receive, cannot use the RTCP reporting groups extension, since they generate no RTCP reports to group.
            • </t>
          • <t>
            • An RTP middlebox that has several SSRCs of its own can use the RTCP reporting groups extension to group the RTCP reports it generates. This can occur, for example, if a middlebox is acting as an RTP mixer for both audio and video flows that are multiplexed onto a single RTP session, where the middlebox has one SSRC for the audio mixer and one for the video mixer part, and when the middlebox wants to avoid cross reporting between audio and video.
            • </t>
          • <t>
            • A middlebox cannot use the RTCP reporting groups extension to group RTCP packets from the SSRCs that it is forwarding. It can, however, group the RTCP packets from the SSRCs it is forwarding into compound RTCP packets following the rules in Section 6.1 of <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/> sectionFormat="of" section="6.1"/> and Section 5.3 of <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="I-D.ietf-avtcore-rtp-multi-stream" format="default"/>. "RTP-STREAMS"/>. If the middlebox is using RTCP reporting groups for its own SSRCs, it MAY <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14> include RTCP packets from the SSRCs that it is forwarding as part of the compound RTCP packets its reporting source generates.
            • </t>
          • <t>
            • A middlebox that forwards RTCP SR or RR packets sent by members of a reporting group MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> forward the corresponding RTCP SDES RGRP items, as described in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="sec-rgrp" format="default"/>. A middlebox that forwards RTCP SR or RR packets sent by member of a reporting group MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> also forward the corresponding RTCP RGRS packets, as described in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="sec-rgrs" format="default"/>. Failure to forward these packets can cause compatibility problems, as described in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="compat" format="default"/>.
            • </t>
          • <t>
            • If a middlebox rewrites SSRC values in the RTP and RTCP packets that it is forwarding, then it MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> make the corresponding changes in RTCP SDES packets containing RGRP items and in RTCP RGRS packets, to allow them to be associated with the rewritten SSRCs.
            • </t>
          • </section>
        • <section anchor="sdp" numbered="true" toc="default">
          • <name>
            • SDP Signalling for Reporting Groups
            • </name>
          • <t>
            • This document defines the "a=rtcp-rgrp" <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC4566" format="default">Session Description Protocol (SDP)</xref> attribute to indicate if the session participant is capable of supporting RTCP Reporting Groups for applications that use SDP for configuration of RTP sessions. It is a property attribute, and hence takes no value. The <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="I-D.ietf-mmusic-sdp-mux-attributes" "SDP-ATTRIBUTES" format="default">multiplexing category</xref> is IDENTICAL, as the functionality applies on RTP session level. A participant that proposes the use of RTCP Reporting Groups SHALL <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">SHALL</bcp14> itself support the reception of RTCP Reporting Groups. The formal definition of this attribute is:
            • </t>
          • <artwork name="" type="" align="left" alt="">
            • <dl>
              • <dt>

                •    Name: rtcp-rgrp
                     Value: 
                     Usage Level: session, media
                     Charset Dependent: no
                     Example:
                        a=
                  rtcp-rgrp*The formal definition of this attribute is:
                • </dt>
              • <dd>
                • <t/>
                • <dl>
                  • <dt>
                    • Name:
                    • </dt>
                  • <dd>
                    • rtcp-rgrp
                    • </dd>
                  • <dt>
                    • Value:
                    • </dt>
                  • <dd/>
                  • <dt>
                    • Usage Level:
                    • </dt>
                  • <dd>
                    • session, media
                    • </dd>
                  • <dt>
                    • Type of attribute:
                    • </dt>
                  • <dd>
                    • Media or session level
                    • </dd>
                  • <dt>
                    • Charset Dependent:
                    • </dt>
                  • <dd>
                    • no
                    • </dd>
                  • <dt>
                    • Example:
                    • </dt>
                  • <dd>
                    • a=rtcp-rgrp
                    • </dd>
                  • </dl>
                • </dd>
              • </dl>
            • </artwork>
          • <t>
            • When using SDP Offer/Answer <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3264" format="default"/>, the following procedures are to be used:
            • </t>
          • <ul spacing="normal">
            • <li>
              • Generating the initial SDP offer: If the offerer supports the RTCP reporting group extensions, and is willing to accept RTCP packets containing those extensions, then it MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> include an "a=rtcp-rgrp" attribute in the initial offer. If the offerer does not support RTCP reporting groups extensions, or is not willing to accept RTCP packets containing those extensions, then it MUST NOT <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST NOT</bcp14> include the "a=rtcp-rgrp" attribute in the offer.
              • </li>
            • <li>
              • Generating the SDP answer: If the SDP offer contains an "a=rtcp-rgrp" attribute, and if the answerer supports RTCP reporting groups and is willing to receive RTCP packets using the RTCP reporting groups extensions, then the answerer MAY <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14> include an "a=rtcp-rgrp" attribute in the answer and MAY <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14> send RTCP packets containing the RTCP reporting groups extensions. If the offer does not contain an "a=rtcp-rgrp" attribute, or if the offer does contain such an attribute but the answerer does not wish to accept RTCP packets using the RTCP reporting groups extensions, then the answer MUST NOT <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST NOT</bcp14> include an "a=rtcp-rgrp" attribute.
              • </li>
            • <li>
              • Offerer Processing of the SDP Answer: If the SDP answer contains an "a=rtcp-rgrp" attribute, and the corresponding offer also contained an "a=rtcp-rgrp" attribute, then the offerer MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> be prepared to accept and process RTCP packets that contain the reporting groups extension, and MAY <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14> send RTCP packets that contain the reporting groups extension. If the SDP answer contains an "a=rtcp-rgrp" attribute, but the corresponding offer did not contain the "a=rtcp-rgrp" attribute, then the offerer MUST <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST</bcp14> reject the call. If the SDP answer does not contain an "a=rtcp-rgrp" attribute, then the offerer MUST NOT <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MUST NOT</bcp14> send packets containing the RTCP reporting groups extensions, and does not need to process packet containing the RTCP reporting groups extensions.
              • </li>
            • </ul>
          • <t>
            • In declarative usage of SDP, such as the <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC2326" format="default">Real Time Streaming Protocol (RTSP)</xref> and the <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC2974" format="default">Session Announcement Protocol (SAP)</xref>, the presence of the attribute indicates that the session participant MAY <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14> use RTCP Reporting Groups in its RTCP transmissions. An implementation that doesn't explicitly support RTCP Reporting Groups MAY <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">MAY</bcp14> join a RTP session as long as it has been verified that the implementation doesn't suffer from the problems discussed in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="compat" format="default"/>.
            • </t>
          • </section>
        • </section>
      • <section numbered="true" toc="default">
        • <name>
          • Properties of RTCP Reporting Groups
          • </name>
        • <t>
          • This section provides additional information on what the resulting properties are with the design specified in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="reportgroups" format="default"/>. The content of this section is non-normative.
          • </t>
        • <section anchor="reportgroups-bw" numbered="true" toc="default">
          • <name>
            • Bandwidth Benefits of RTCP Reporting Groups
            • </name>
          • <t>
            • To understand the benefits of RTCP reporting groups, consider a scenario in which the two endpoints in a session each have a hundred sources, of which eight each are sending within any given reporting interval.
            • </t>
          • <t>
            • For ease of analysis, we can make the simplifying approximation that the duration of the RTCP reporting interval is equal to the total size of the RTCP packets sent during an RTCP interval, divided by the RTCP bandwidth. (This will be approximately true in scenarios where the bandwidth is not so high that the minimum RTCP interval is reached.) For further simplification, we can assume RTCP senders are following the recommendations regarding Compound RTCP Packets in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="I-D.ietf-avtcore-rtp-multi-stream" "RTP-STREAMS" format="default"/>; thus, the per-packet transport-layer overhead will be small relative to the RTCP data. Thus, only the actual RTCP data itself need be considered.
            • </t>
          • <t>
            • In a report interval in this scenario, there will, as a baseline, be 200 SDES packets, 184 RR packets, and 16 SR packets. This amounts to approximately 6.5 kB of RTCP per report interval, assuming 16-byte CNAMEs and no other SDES information.
            • </t>
          • <t>
            • Using the original <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/> everyone-reports-on-every-sender feedback rules, each of the 184 receivers will send 16 report blocks, and each of the 16 senders will send 15. This amounts to approximately 76 kB of report block traffic per interval; 92% of RTCP traffic consists of report blocks.
            • </t>
          • <t>
            • If reporting groups are used, however, there is only 0.4 kB of reports per interval, with no loss of useful information. Additionally, there will be (assuming 16-byte RGRPs, and a single reporting source per reporting group) an additional 2.4 kB per cycle of RGRP SDES items and RGRS packets. Put another way, the unmodified <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/> reporting interval is approximately 9 times longer than if reporting groups are in use.
            • </t>
          • </section>
        • <section anchor="compat" numbered="true" toc="default">
          • <name>
            • Compatibility of RTCP Reporting Groups
            • </name>
          • <t>
            • The RTCP traffic generated by receivers using RTCP Reporting Groups might appear, to observers unaware of these semantics, to be generated by receivers who are experiencing a network disconnection, as the non-reporting sources appear not to be receiving a given sender at all.
            • </t>
          • <t>
            • This could be a potentially critical problem for such a sender using RTCP for congestion control, as such a sender might think that it is sending so much traffic that it is causing complete congestion collapse.
            • </t>
          • <t>
            • However, such an interpretation of the session statistics would require a fairly sophisticated RTCP analysis. Any receiver of RTCP statistics which is just interested in information about itself needs to be prepared that any given reception report might not contain information about a specific media source, because reception reports in large conferences can be round-robined.
            • </t>
          • <t>
            • Thus, it is unclear to what extent such backward compatibility issues would actually cause trouble in practice.
            • </t>
          • </section>
        • </section>
      • <section numbered="true" toc="default">
        • <name>
          • Security Considerations
          • </name>
        • <t>
          • The security considerations of <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/> and <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="I-D.ietf-avtcore-rtp-multi-stream" "RTP-STREAMS" format="default"/> apply. If the RTP/AVPF profile is in use, then the security considerations of <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC4585" format="default"/> (and <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC5104" format="default"/>, if used) also apply. If RTCP XR is used, the security consideration of <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3611" format="default"/> and any XR report blocks used also apply.
          • </t>
        • <t>
          • The RTCP SDES RGRP item is vulnerable to malicious modifications unless integrity protected is used. A modification of this item's length field cause the parsing of the RTCP packet in which it is contained to fail. Depending on the implementation, parsing of the full compound RTCP packet can also fail causing the whole packet to be discarded. A modification to the value of this SDES item would make the receiver of the report think that the sender of the report was a member of a different RTCP reporting group. This will potentially create an inconsistency, when the RGRS reports the source as being in the same reporting group as another source with another reporting group identifier. What impact on a receiver implementation such inconsistencies would have are difficult to fully predict. One case is when congestion control or other adaptation mechanisms are used, an inconsistent report can result in a media sender to reduce its bit-rate. However, a direct modification of the receiver report or a feedback message itself would be a more efficient attack, and equally costly to perform.
          • </t>
        • <t>
          • The new RGRS RTCP Packet type is very simple. The common RTCP packet type header shares the security risks with previous RTCP packet types. Errors or modification of the length field can cause the full compound packet to fail header validation (see Appendix A.2 in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3550" format="default"/>) sectionFormat="of" section="A.2"/>) resulting in the whole compound RTCP packet being discarded. Modification of the SC or P fields would cause inconsistency when processing the RTCP packet, likely resulting it being classified as invalid. A modification of the PT field would cause the packet being interpreted under some other packet type's rules. In such case the result might be more or less predictable but packet type specific. Modification of the SSRC of packet sender would attribute this packet to another sender. Resulting in a receiver believing the reporting group applies also for this SSRC, if it exists. If it doesn't exist, unless also corresponding modifications are done on a SR/RR packet and a SDES packet the RTCP packet SHOULD <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">SHOULD</bcp14> be discarded. If consistent changes are done, that could be part of a resource exhaustion attack on a receiver implementation. Modification of the "List of SSRCs for the Reporting Source(s)" would change the SSRC the receiver expect to report on behalf of this SSRC. If that SSRC exist, that could potentially change the report group used for this SSRC. A change to another reporting group belonging to another endpoint is likely detectable as there would be a mismatch between the SSRC of the packet sender's endpoint information, transport addresses, SDES CNAME etc and the corresponding information from the reporting group indicated.
          • </t>
        • <t>
          • In general the reporting group is providing limited impacts attacks. The most significant result from an deliberate attack would be to cause the information to be discarded or be inconsistent, including discard of all RTCP packets that are modified. This causes a lack of information at any receiver entity, possibly disregarding the endpoints participation in the session.
          • </t>
        • <t>
          • To protect against this type of attacks from external non trusted entities, integrity and source authentication SHOULD <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">SHOULD</bcp14> be applied. This can be done, for example, by using <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3711" format="default">SRTP</xref> with appropriate key-management, other options exist as discussed in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC7201" format="default">RTP Security Options</xref>.
          • </t>
        • <t>
          • The Report Group Identifier has a potential privacy impacting properties. If this would be generated by an implementation in such a way that is long term stable or predictable, it could be used for tracking a particular end-point. Therefore it is RECOMMENDED <bcp14 xmlns:xi="http://www.w3.org/2001/XInclude">RECOMMENDED</bcp14> that it be generated as a short-term persistent RGRP, following the rules for short-term persistent CNAMEs in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC7022" format="default"/>. The rest of the information revealed, i.e. the SSRCs, the size of reporting group and the number of reporting sources in a reporting group is of less sensitive nature, considering that the SSRCs and the communication would anyway be revealed without this extension. By encrypting the report group extensions the SSRC values would preserved confidential, but can still be revealed if <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="RFC3711" format="default">SRTP</xref> is used. The size of the reporting groups and number of reporting sources are likely determinable from analysis of the packet pattern and sizes. However, this information appears to have limited value.
          • </t>
        • </section>
      • <section numbered="true" toc="default">
        • <name>
          • IANA Considerations
          • </name>
        • <t>
          • (Note to the RFC-Editor: in the following, please replace "TBA" with the IANA-assigned value, and "XXXX" with the number of this document, then delete this note)
          • </t>
        • <t>
          • The IANA is requested to register one new RTCP SDES items in the "RTCP SDES Item Types" registry, as follows:
          • </t>
        • <artwork name="" type="" align="left" alt="">
          • <table anchor="table_ex_1">
            • <name>
              • IANA "RTCP SDES Item Types" Registry
              • </name>
            • <thead>
              • <tr>
                • <th align="left">
                  • Value
                  • </th>
                • <th align="left">
                  • Abbrev
                  • </th>
                • <th align="left">
                  • Name
                  • </th>
                • <th align="left">
                  • Reference
                  • </th>
                • </tr>
              • </thead>
            • <tbody>
              • <tr>
                • <td align="left">
                  • TBA
                  • </td>
                • <td align="left">
                  • RGRP
                  • </td>
                • <td align="left">

                  •    Value  Abbrev  Name                         Reference
                       TBA    RGRP    
                    Reporting Group  Group Identifier   [RFCXXXX]
                          
                  • </td>
                • <td align="left">
                  • RFC XXXX
                  • </td>
                • </tr>
              • </tbody>
            • </table>
          • </artwork>
        • <t>
          • The definition of the RTCP SDES RGRP item is given in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="sec-rgrp" format="default"/> of this memo.
          • </t>
        • <t>
          • The IANA is also requested to register one new RTCP packet type in the "RTCP Control Packet Types (PT)" Registry as follows:
          • </t>
        • <artwork name="" type="" align="left" alt="">
          • <table anchor="table_ex_2">
            • <name>
              • IANA "RTCP Control Packet Types (PT)" Registry
              • </name>
            • <thead>
              • <tr>
                • <th align="left">
                  • Value
                  • </th>
                • <th align="left">
                  • Abbrev
                  • </th>
                • <th align="left">
                  • Name
                  • </th>
                • <th align="left">
                  • Reference
                  • </th>
                • </tr>
              • </thead>
            • <tbody>
              • <tr>
                • <td align="left">
                  • TBA
                  • </td>
                • <td align="left">
                  • RGRS
                  • </td>
                • <td align="left">

                  •    Value  Abbrev  Name                               Reference
                       TBA    RGRS    Reporting Group 
                    Reporting  Group Reporting Sources  [RFCXXXX]
                          
                  • </td>
                • <td align="left">
                  • RFC XXXX
                  • </td>
                • </tr>
              • </tbody>
            • </table>
          • </artwork>
        • <t>
          • The definition of the RTCP RGRS packet type is given in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="sec-rgrs" format="default"/> of this memo.
          • </t>
        • <t>
          • The IANA is also requested to register one new SDP attribute:
          • </t>
        • <artwork name="" type="" align="left" alt="">
          • <dl>
            • <dt>
              • SDP Attribute ("att-field"):
              • </dt>
            • <dd>
              • <t/>
              • <dl>
                • <dt>
                  • Attribute name:
                  • </dt>
                • <dd>
                  • rtcp-rgrp
                  • </dd>
                • <dt>
                  • Long form:
                  • </dt>
                • <dd>
                  • RTCP Reporting Groups
                  • </dd>
                • <dt>
                  • Long form:
                  • </dt>
                • <dd>
                  • RTCP Reporting Groups
                  • </dd>
                • <dt>
                  • Type of name:
                  • </dt>
                • <dd>
                  • att-field
                  • </dd>
                • <dt>
                  • Type of attribute:
                  • </dt>
                • <dd>
                  • Media or session level
                  • </dd>
                • <dt>
                  • Subject to charset:
                  • </dt>
                • <dd>
                  • No
                  • </dd>
                • <dt>
                  • Purpose:
                  • </dt>
                • <dd>

                  •    SDP Attribute ("att-field"):
                          Attribute name:     rtcp-rgrp
                          Long form:          RTCP Reporting Groups
                          Type of name:       att-field
                          Type of attribute:  Media or session level
                          Subject to charset: No
                          Purpose:            Negotiate or configure the use of the RTCP 
                                              Reporting Group Extension. 
                          Reference:          [RFCXXXX]
                          Values:             None
                           
                    Negotiate or configure the use of the RTCP Reporting Group Extension.
                  • </dd>
                • <dt>
                  • Reference:
                  • </dt>
                • <dd>
                  • RFC XXXX
                  • </dd>
                • <dt>
                  • Values:
                  • </dt>
                • <dd>
                  • None
                  • </dd>
                • </dl>
              • </dd>
            • </dl>
          • </artwork>
        • <t>
          • The definition of the "a=rtcp-rgrp" SDES attribute is given in <xref xmlns:xi="http://www.w3.org/2001/XInclude" target="sdp" format="default"/> of this memo.
          • </t>
        • </section>
      • </middle>
    • <back>
      • <references>
        • <name>
          • References
          • </name>
        • <references>
          • <name>
            • Normative References
            • </name>
          • <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
            • <front>
              • <title>
                • Key words for use in RFCs to Indicate Requirement Levels
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC2119"/>
              • <seriesInfo name="RFC" value="2119"/>
              • <seriesInfo name="BCP" value="14"/>
              • <author initials="S." surname="Bradner" fullname="S. Bradner">
                • <organization/>
                • </author>
              • <date year="1997" month="March"/>
              • <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="RFC3264" target="https://www.rfc-editor.org/info/rfc3264" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3264.xml">
            • <front>
              • <title>
                • An Offer/Answer Model with Session Description Protocol (SDP)
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC3264"/>
              • <seriesInfo name="RFC" value="3264"/>
              • <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
                • <organization/>
                • </author>
              • <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
                • <organization/>
                • </author>
              • <date year="2002" month="June"/>
              • <abstract>
                • <t>
                  • This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them. In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective. This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session. The offer/answer model is used by protocols like the Session Initiation Protocol (SIP). [STANDARDS-TRACK]
                  • </t>
                • </abstract>
              • </front>
            • <seriesInfo name="RFC" value="3264"/>
            • <seriesInfo name="DOI" value="10.17487/RFC3264"/>
            • </reference>
          • <reference anchor="RFC3550" target="https://www.rfc-editor.org/info/rfc3550" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3550.xml">
            • <front>
              • <title>
                • RTP: A Transport Protocol for Real-Time Applications
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC3550"/>
              • <seriesInfo name="RFC" value="3550"/>
              • <seriesInfo name="STD" value="64"/>
              • <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
                • <organization/>
                • </author>
              • <author initials="S." surname="Casner" fullname="S. Casner">
                • <organization/>
                • </author>
              • <author initials="R." surname="Frederick" fullname="R. Frederick">
                • <organization/>
                • </author>
              • <author initials="V." surname="Jacobson" fullname="V. Jacobson">
                • <organization/>
                • </author>
              • <date year="2003" month="July"/>
              • <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="RFC4566" target="https://www.rfc-editor.org/info/rfc4566" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4566.xml">
            • <front>
              • <title>
                • SDP: Session Description Protocol
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC4566"/>
              • <seriesInfo name="RFC" value="4566"/>
              • <author initials="M." surname="Handley" fullname="M. Handley">
                • <organization/>
                • </author>
              • <author initials="V." surname="Jacobson" fullname="V. Jacobson">
                • <organization/>
                • </author>
              • <author initials="C." surname="Perkins" fullname="C. Perkins">
                • <organization/>
                • </author>
              • <date year="2006" month="July"/>
              • <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. [STANDARDS-TRACK]
                  • </t>
                • </abstract>
              • </front>
            • <seriesInfo name="RFC" value="4566"/>
            • <seriesInfo name="DOI" value="10.17487/RFC4566"/>
            • </reference>
          • <reference anchor="RFC7022" target="https://www.rfc-editor.org/info/rfc7022" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7022.xml">
            • <front>
              • <title>
                • Guidelines for Choosing RTP Control Protocol (RTCP) Canonical Names (CNAMEs)
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC7022"/>
              • <seriesInfo name="RFC" value="7022"/>
              • <author initials="A." surname="Begen" fullname="A. Begen">
                • <organization/>
                • </author>
              • <author initials="C." surname="Perkins" fullname="C. Perkins">
                • <organization/>
                • </author>
              • <author initials="D." surname="Wing" fullname="D. Wing">
                • <organization/>
                • </author>
              • <author initials="E." surname="Rescorla" fullname="E. Rescorla">
                • <organization/>
                • </author>
              • <date year="2013" month="September"/>
              • <abstract>
                • <t>
                  • The RTP Control Protocol (RTCP) Canonical Name (CNAME) is a persistent transport-level identifier for an RTP endpoint. While the Synchronization Source (SSRC) identifier of an RTP endpoint may change if a collision is detected or when the RTP application is restarted, its RTCP CNAME is meant to stay unchanged, so that RTP endpoints can be uniquely identified and associated with their RTP media streams.
                  • </t>
                • <t>
                  • For proper functionality, RTCP CNAMEs should be unique within the participants of an RTP session. However, the existing guidelines for choosing the RTCP CNAME provided in the RTP standard (RFC 3550) are insufficient to achieve this uniqueness. RFC 6222 was published to update those guidelines to allow endpoints to choose unique RTCP CNAMEs. Unfortunately, later investigations showed that some parts of the new algorithms were unnecessarily complicated and/or ineffective. This document addresses these concerns and replaces RFC 6222.
                  • </t>
                • </abstract>
              • </front>
            • <seriesInfo name="RFC" value="7022"/>
            • <seriesInfo name="DOI" value="10.17487/RFC7022"/>
            • </reference>
          • <reference anchor="I-D.ietf-avtcore-rtp-multi-stream" "RTP-STREAMS" target="http://www.ietf.org/internet-drafts/draft-ietf-avtcore-rtp-multi-stream-11.txt">
            • <front>
              • <title>
                • Sending Multiple RTP Streams in a Single RTP Session
                • </title>
              • <seriesInfo name="Internet-Draft" "Work in Progress," value="draft-ietf-avtcore-rtp-multi-stream-11"/>
              • <author initials="J" surname="Lennox" fullname="Jonathan Lennox">
                • <organization/>
                • </author>
              • <author initials="M" surname="Westerlund" fullname="Magnus Westerlund">
                • <organization/>
                • </author>
              • <author initials="Q" surname="Wu" fullname="Qin Wu">
                • <organization/>
                • </author>
              • <author initials="C" surname="Perkins" fullname="Colin Perkins">
                • <organization/>
                • </author>
              • <date month="December" day="11" year="2015"/>
              • <abstract>
                • <t>
                  • This memo expands and clarifies the behaviour of Real-time Transport Protocol (RTP) endpoints that use multiple synchronization sources (SSRCs). This occurs, for example, when an endpoint sends multiple RTP streams in a single RTP session. This memo updates RFC 3550 with regards to handling multiple SSRCs per endpoint in RTP sessions, with a particular focus on RTCP behaviour. It also updates RFC 4585 to update and clarify the calculation of the timeout of SSRCs and the inclusion of feedback messages.
                  • </t>
                • </abstract>
              • </front>
            • </reference>
          • <reference anchor="I-D.ietf-mmusic-sdp-mux-attributes" "SDP-ATTRIBUTES" target="http://www.ietf.org/internet-drafts/draft-ietf-mmusic-sdp-mux-attributes-17.txt">
            • <front>
              • <title>
                • A Framework for SDP Attributes when Multiplexing
                • </title>
              • <seriesInfo name="Internet-Draft" "Work in Progress," value="draft-ietf-mmusic-sdp-mux-attributes-17"/>
              • <author initials="S" surname="Nandakumar" fullname="Suhas Nandakumar">
                • <organization/>
                • </author>
              • <date month="February" day="28" year="2018"/>
              • <abstract>
                • <t>
                  • The purpose of this specification is to provide a framework for analyzing the multiplexing characteristics of Session Description Protocol (SDP) attributes when SDP is used to negotiate the usage of single 5-tuple for sending and receiving media associated with multiple media descriptions. This specification also categorizes the existing SDP attributes based on the framework described herein.
                  • </t>
                • </abstract>
              • </front>
            • </reference>
          • </references>
        • <references>
          • <name>
            • Informative References
            • </name>
          • <reference anchor="RFC2326" target="https://www.rfc-editor.org/info/rfc2326" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2326.xml">
            • <front>
              • <title>
                • Real Time Streaming Protocol (RTSP)
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC2326"/>
              • <seriesInfo name="RFC" value="2326"/>
              • <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
                • <organization/>
                • </author>
              • <author initials="A." surname="Rao" fullname="A. Rao">
                • <organization/>
                • </author>
              • <author initials="R." surname="Lanphier" fullname="R. Lanphier">
                • <organization/>
                • </author>
              • <date year="1998" month="April"/>
              • <abstract>
                • <t>
                  • The Real Time Streaming Protocol, or RTSP, is an application-level protocol for control over 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. [STANDARDS-TRACK]
                  • </t>
                • </abstract>
              • </front>
            • <seriesInfo name="RFC" value="2326"/>
            • <seriesInfo name="DOI" value="10.17487/RFC2326"/>
            • </reference>
          • <reference anchor="RFC2974" target="https://www.rfc-editor.org/info/rfc2974" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2974.xml">
            • <front>
              • <title>
                • Session Announcement Protocol
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC2974"/>
              • <seriesInfo name="RFC" value="2974"/>
              • <author initials="M." surname="Handley" fullname="M. Handley">
                • <organization/>
                • </author>
              • <author initials="C." surname="Perkins" fullname="C. Perkins">
                • <organization/>
                • </author>
              • <author initials="E." surname="Whelan" fullname="E. Whelan">
                • <organization/>
                • </author>
              • <date year="2000" month="October"/>
              • <abstract>
                • <t>
                  • This document describes version 2 of the multicast session directory announcement protocol, Session Announcement Protocol (SAP), and the related issues affecting security and scalability that should be taken into account by implementors. This memo defines an Experimental Protocol for the Internet community.
                  • </t>
                • </abstract>
              • </front>
            • <seriesInfo name="RFC" value="2974"/>
            • <seriesInfo name="DOI" value="10.17487/RFC2974"/>
            • </reference>
          • <reference anchor="RFC3611" target="https://www.rfc-editor.org/info/rfc3611" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3611.xml">
            • <front>
              • <title>
                • RTP Control Protocol Extended Reports (RTCP XR)
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC3611"/>
              • <seriesInfo name="RFC" value="3611"/>
              • <author initials="T." surname="Friedman" fullname="T. Friedman" role="editor">
                • <organization/>
                • </author>
              • <author initials="R." surname="Caceres" fullname="R. Caceres" role="editor">
                • <organization/>
                • </author>
              • <author initials="A." surname="Clark" fullname="A. Clark" role="editor">
                • <organization/>
                • </author>
              • <date year="2003" month="November"/>
              • <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="RFC3711" target="https://www.rfc-editor.org/info/rfc3711" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3711.xml">
            • <front>
              • <title>
                • The Secure Real-time Transport Protocol (SRTP)
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC3711"/>
              • <seriesInfo name="RFC" value="3711"/>
              • <author initials="M." surname="Baugher" fullname="M. Baugher">
                • <organization/>
                • </author>
              • <author initials="D." surname="McGrew" fullname="D. McGrew">
                • <organization/>
                • </author>
              • <author initials="M." surname="Naslund" fullname="M. Naslund">
                • <organization/>
                • </author>
              • <author initials="E." surname="Carrara" fullname="E. Carrara">
                • <organization/>
                • </author>
              • <author initials="K." surname="Norrman" fullname="K. Norrman">
                • <organization/>
                • </author>
              • <date year="2004" month="March"/>
              • <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="RFC4585" target="https://www.rfc-editor.org/info/rfc4585" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4585.xml">
            • <front>
              • <title>
                • Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC4585"/>
              • <seriesInfo name="RFC" value="4585"/>
              • <author initials="J." surname="Ott" fullname="J. Ott">
                • <organization/>
                • </author>
              • <author initials="S." surname="Wenger" fullname="S. Wenger">
                • <organization/>
                • </author>
              • <author initials="N." surname="Sato" fullname="N. Sato">
                • <organization/>
                • </author>
              • <author initials="C." surname="Burmeister" fullname="C. Burmeister">
                • <organization/>
                • </author>
              • <author initials="J." surname="Rey" fullname="J. Rey">
                • <organization/>
                • </author>
              • <date year="2006" month="July"/>
              • <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="RFC4588" target="https://www.rfc-editor.org/info/rfc4588" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4588.xml">
            • <front>
              • <title>
                • RTP Retransmission Payload Format
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC4588"/>
              • <seriesInfo name="RFC" value="4588"/>
              • <author initials="J." surname="Rey" fullname="J. Rey">
                • <organization/>
                • </author>
              • <author initials="D." surname="Leon" fullname="D. Leon">
                • <organization/>
                • </author>
              • <author initials="A." surname="Miyazaki" fullname="A. Miyazaki">
                • <organization/>
                • </author>
              • <author initials="V." surname="Varsa" fullname="V. Varsa">
                • <organization/>
                • </author>
              • <author initials="R." surname="Hakenberg" fullname="R. Hakenberg">
                • <organization/>
                • </author>
              • <date year="2006" month="July"/>
              • <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="RFC5104" target="https://www.rfc-editor.org/info/rfc5104" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5104.xml">
            • <front>
              • <title>
                • Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF)
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC5104"/>
              • <seriesInfo name="RFC" value="5104"/>
              • <author initials="S." surname="Wenger" fullname="S. Wenger">
                • <organization/>
                • </author>
              • <author initials="U." surname="Chandra" fullname="U. Chandra">
                • <organization/>
                • </author>
              • <author initials="M." surname="Westerlund" fullname="M. Westerlund">
                • <organization/>
                • </author>
              • <author initials="B." surname="Burman" fullname="B. Burman">
                • <organization/>
                • </author>
              • <date year="2008" month="February"/>
              • <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="RFC5506" target="https://www.rfc-editor.org/info/rfc5506" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5506.xml">
            • <front>
              • <title>
                • Support for Reduced-Size Real-Time Transport Control Protocol (RTCP): Opportunities and Consequences
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC5506"/>
              • <seriesInfo name="RFC" value="5506"/>
              • <author initials="I." surname="Johansson" fullname="I. Johansson">
                • <organization/>
                • </author>
              • <author initials="M." surname="Westerlund" fullname="M. Westerlund">
                • <organization/>
                • </author>
              • <date year="2009" month="April"/>
              • <abstract>
                • <t>
                  • This memo discusses benefits and issues that arise when allowing Real-time Transport Protocol (RTCP) packets to be transmitted with reduced size. The size can be reduced if the rules on how to create compound packets outlined in RFC 3550 are removed or changed. Based on that analysis, this memo defines certain changes to the rules to allow feedback messages to be sent as Reduced-Size RTCP packets under certain conditions when using the RTP/AVPF (Real-time Transport Protocol / Audio-Visual Profile with Feedback) profile (RFC 4585). This document updates RFC 3550, RFC 3711, and RFC 4585. [STANDARDS-TRACK]
                  • </t>
                • </abstract>
              • </front>
            • <seriesInfo name="RFC" value="5506"/>
            • <seriesInfo name="DOI" value="10.17487/RFC5506"/>
            • </reference>
          • <reference anchor="RFC6190" target="https://www.rfc-editor.org/info/rfc6190" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6190.xml">
            • <front>
              • <title>
                • RTP Payload Format for Scalable Video Coding
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC6190"/>
              • <seriesInfo name="RFC" value="6190"/>
              • <author initials="S." surname="Wenger" fullname="S. Wenger">
                • <organization/>
                • </author>
              • <author initials="Y.-K." surname="Wang" fullname="Y.-K. Wang">
                • <organization/>
                • </author>
              • <author initials="T." surname="Schierl" fullname="T. Schierl">
                • <organization/>
                • </author>
              • <author initials="A." surname="Eleftheriadis" fullname="A. Eleftheriadis">
                • <organization/>
                • </author>
              • <date year="2011" month="May"/>
              • <abstract>
                • <t>
                  • This memo describes an RTP payload format for Scalable Video Coding (SVC) as defined in Annex G of ITU-T Recommendation H.264, which is technically identical to Amendment 3 of ISO/IEC International Standard 14496-10. The RTP payload format allows for packetization of one or more Network Abstraction Layer (NAL) units in each RTP packet payload, as well as fragmentation of a NAL unit in multiple RTP packets. Furthermore, it supports transmission of an SVC stream over a single as well as multiple RTP sessions. The payload format defines a new media subtype name "H264-SVC", but is still backward compatible to RFC 6184 since the base layer, when encapsulated in its own RTP stream, must use the H.264 media subtype name ("H264") and the packetization method specified in RFC 6184. The payload format has wide applicability in videoconferencing, Internet video streaming, and high-bitrate entertainment-quality video, among others. [STANDARDS-TRACK]
                  • </t>
                • </abstract>
              • </front>
            • <seriesInfo name="RFC" value="6190"/>
            • <seriesInfo name="DOI" value="10.17487/RFC6190"/>
            • </reference>
          • <reference anchor="RFC7201" target="https://www.rfc-editor.org/info/rfc7201" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7201.xml">
            • <front>
              • <title>
                • Options for Securing RTP Sessions
                • </title>
              • <seriesInfo name="DOI" value="10.17487/RFC7201"/>
              • <seriesInfo name="RFC" value="7201"/>
              • <author initials="M." surname="Westerlund" fullname="M. Westerlund">
                • <organization/>
                • </author>
              • <author initials="C." surname="Perkins" fullname="C. Perkins">
                • <organization/>
                • </author>
              • <date year="2014" month="April"/>
              • <abstract>
                • <t>
                  • The Real-time Transport Protocol (RTP) is used in a large number of different application domains and environments. This heterogeneity implies that different security mechanisms are needed to provide services such as confidentiality, integrity, and source authentication of RTP and RTP Control Protocol (RTCP) packets suitable for the various environments. The range of solutions makes it difficult for RTP-based application developers to pick the most suitable mechanism. This document provides an overview of a number of security solutions for RTP and gives guidance for developers on how to choose the appropriate security mechanism.
                  • </t>
                • </abstract>
              • </front>
            • <seriesInfo name="RFC" value="7201"/>
            • <seriesInfo name="DOI" value="10.17487/RFC7201"/>
            • </reference>
          • <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
            • <front>
              • <title>
                • Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
                • </title>
              • <author initials="B." surname="Leiba" fullname="B. Leiba">
                • <organization/>
                • </author>
              • <date year="2017" month="May"/>
              • <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>
          • </references>
        • </references>
      • </back>
    • </rfc>
1<?xml version='1.0' encoding='utf-8'?>
2
3<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" number="0000" ipr="trust200902" updates="" obsoletes="" submissionType="IETF" consensus="true" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
4  <!-- xml2rfc v2v3 conversion 2.23.0 -->
5
6<!--Note: received errors for the China and Sweden addresses when parsing the doc.-->
7
8  <front>
9    <title abbrev="Grouping RTCP Reception Statistics">Sending Multiple RTP
10    Streams in a Single RTP Session: Grouping RTCP Reception Statistics and
11    Other Feedback</title>
12    <seriesInfo name="RFC" value="0000"/>
13
14    <author fullname="Jonathan Lennox" initials="J." surname="Lennox">
15      <organization abbrev="Vidyo">Vidyo, Inc.</organization>
16      <address>
17        <postal>
18          <street>433 Hackensack Avenue</street>
19          <street>Seventh Floor</street>
20          <city>Hackensack</city>
21          <region>NJ</region>
22          <code>07601</code>
23          <country>US</country>
24        </postal>
25        <email>jonathan@vidyo.com</email>
26      </address>
27    </author>
28
29     <author fullname="Magnus Westerlund" initials="M." surname="Westerlund">
30      <organization>Ericsson</organization>
31      <address>
32        <postal>
33          <street>Farogatan 2</street>
34          <city>Kista</city>
35          <code>164 80</code>
36          <country>Sweden</country>
37        </postal>
38        <phone>+46 10 714 82 87</phone>
39        <email>magnus.westerlund@ericsson.com</email>
40      </address>
41    </author>
42
43    <author fullname="Qin Wu" initials="Q." surname="Wu">
44      <organization>Huawei</organization>
45      <address>
46        <postal>    
47         <street>101 Software Avenue, Yuhua District</street>
48          <city>Nanjing,</city>
49          <region>Jiangsu</region>
50          <code>210012</code>
51          <country>China</country>
52        </postal>
53        <email>bill.wu@huawei.com</email>
54      </address>
55    </author>
56
57    <author fullname="Colin Perkins" initials="C." surname="Perkins">
58      <organization>University of Glasgow</organization>
59      <address>
60        <postal>
61          <street>School of Computing Science</street>
62          <city>Glasgow</city>
63          <code>G12 8QQ</code>
64          <country>United Kingdom</country>
65        </postal>
66        <email>csp@csperkins.org</email>
67      </address>
68    </author>
69    <date month="August" year="2019"/>
70    <workgroup>AVTCORE WG</workgroup>
71    <abstract>
72      <t>RTP allows multiple RTP streams to be sent in a single session, but
73      requires each Synchronisation Source (SSRC) to send RTCP reception
74      quality reports for every other SSRC visible in the session. This causes
75      the number of RTCP reception reports to grow with the number of SSRCs,
76      rather than the number of endpoints. In many cases most of these RTCP
77      reception reports are unnecessary, since all SSRCs of an endpoint are
78      normally co-located and see the same reception quality. This memo
79      defines a Reporting Group extension to RTCP to reduce the reporting
80      overhead in such scenarios.</t>
81    </abstract>
82  </front>
83  <middle>
84    <section anchor="introduction" numbered="true" toc="default">
85      <name>Introduction</name>
86      <t>The Real-time Transport Protocol (RTP) <xref target="RFC3550" format="default"/> is a
87      protocol for group communication, supporting multiparty multimedia
88      sessions. A single RTP session can support multiple participants sending
89      at once, and can also support participants sending multiple simultaneous
90      RTP streams. Examples of the latter might include a participant with
91      multiple cameras who chooses to send multiple views of a scene, or a
92      participant that sends audio and video flows multiplexed in a single RTP
93      session. Rules for handling RTP sessions containing multiple RTP streams
94      are described in <xref target="RFC3550" format="default"/> with some clarifications in
95      <xref target="RTP-STREAMS" format="default"/>.</t>
96      <t>An RTP endpoint will have one or more synchronisation sources
97      (SSRCs). It will have at least one RTP Stream, and thus SSRC, for each
98      media source it sends, and might use multiple SSRCs per media source
99      when using <xref target="RFC6190" format="default">media scalability features</xref>,
100      forward error correction, <xref target="RFC4588" format="default">RTP
101      retransmission</xref>, or similar mechanisms. An endpoint that is not
102      sending any RTP stream, will have at least one SSRC to use for reporting
103      and any feedback messages. Each SSRC has to send RTCP sender reports
104      corresponding to the RTP packets it sends, and receiver reports for
105      traffic it receives. That is, every SSRC will send RTCP packets to
106      report on every other SSRC. This rule is simple, but can be quite
107      inefficient for endpoints that send large numbers of RTP streams in a
108      single RTP session. Consider a session comprising ten participants, each
109      sending three media sources, each with their own RTP stream. There will
110      be 30 SSRCs in such an RTP session, and each of those 30 SSRCs will send
111      an RTCP Sender Report/Receiver Report packet (containing several report
112      blocks) per reporting interval as each SSRC reports on all the others.
113      However, the three SSRCs comprising each participant are commonly
114      co-located such that they see identical reception quality. If there was
115      a way to indicate that several SSRCs are co-located, and see the same
116      reception quality, then two-thirds of those RTCP reports could be
117      suppressed. This would allow the remaining RTCP reports to be sent more
118      often, while keeping within the same RTCP bandwidth fraction.</t>
119      <t>This memo defines such an RTCP extension, RTCP Reporting Groups. This
120      extension is used to indicate the SSRCs that originate from the same
121      endpoint, and therefore have identical reception quality, hence allowing
122      the endpoints to suppress unnecessary RTCP reception quality
123      reports.</t>
124    </section>
125    <section numbered="true" toc="default">
126      <name>Terminology</name>
127      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
128    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
129    NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
130    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
131    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
132    to be interpreted as described in BCP 14 <xref target="RFC2119"/>
133    <xref target="RFC8174"/> when, and only when, they appear in all capitals,
134    as shown here.</t>
135    </section>
136    <section anchor="reportgroups" numbered="true" toc="default">
137      <name>RTCP Reporting Groups</name>
138      <t>An RTCP Reporting Group is a set of synchronization sources (SSRCs)
139      that are co-located at a single endpoint (which could be an end host or
140      a middlebox) in an RTP session. Since they are co-located, every SSRC in
141      the RTCP reporting group will have an identical view of the network
142      conditions, and see the same lost packets, jitter, etc. This allows a
143      single representative to send RTCP reception quality reports on behalf
144      of the rest of the reporting group, reducing the number of RTCP packets
145      that need to be sent without loss of information.</t>
146      <section numbered="true" toc="default">
147        <name>Semantics and Behaviour of RTCP Reporting Groups</name>
148        <t>A group of co-located SSRCs that see identical network conditions
149        can form an RTCP reporting group. If reporting groups are in use, an
150        RTP endpoint with multiple SSRCs <bcp14>MAY</bcp14> put those SSRCs into a reporting
151        group if their view of the network is identical; i.e., if they report
152        on traffic received at the same interface of an RTP endpoint. SSRCs
153        with different views of the network <bcp14>MUST NOT</bcp14> be put into the same
154        reporting group.</t>
155        <t>An endpoint that has combined its SSRCs into an RTCP reporting
156        group will choose one (or a subset) of those SSRCs to act as
157        "reporting source(s)" for that RTCP reporting group. A reporting
158        source will send RTCP SR/RR reception quality reports on behalf of the
159        other members of the RTCP reporting group. A reporting source <bcp14>MUST</bcp14>
160        suppress the RTCP SR/RR reports that relate to other members of the
161        reporting group, and only report on remote SSRCs. The other members
162        (non reporting sources) of the RTCP reporting group will suppress
163        their RTCP reception quality reports, and instead send an RTCP RGRS
164        packet (see <xref target="sec-rgrs" format="default"/>) to indicate that they are part
165        of an RTCP reporting group and give the SSRCs of the reporting
166        sources.</t>
167        <t>If there are large numbers of remote SSRCs in the RTP session, then
168        the reception quality reports generated by the reporting source might
169        grow too large to fit into a single compound RTCP packet, forcing the
170        reporting source to use a round-robin policy to determine what remote
171        SSRCs it includes in each compound RTCP packet, and so reducing the
172        frequency of reports on each SSRC. To avoid this, in sessions with
173        large numbers of remote SSRCs, an RTCP reporting group <bcp14>MAY</bcp14> use more
174        than one reporting source. If several SSRCs are acting as reporting
175        sources for an RTCP reporting group, then each reporting source <bcp14>MUST</bcp14>
176        have non-overlapping sets of remote SSRCs it reports on.</t>
177        <t>An endpoint <bcp14>MUST NOT</bcp14> create an RTCP reporting group that comprises
178        only a single local SSRC (i.e., an RTCP reporting group where the
179        reporting source is the only member of the group), unless it is
180        anticipated that the group might have additional SSRCs added to it in
181        the future.</t>
182        <t>If a reporting source leaves the RTP session (i.e., if it sends a
183        RTCP BYE packet, or leaves the session without sending BYE under the
184        rules of <xref target="RFC3550" sectionFormat="comma" section="6.3.7"/>), the remaining
185        members of the RTCP reporting group <bcp14>MUST</bcp14> either (a) have another
186        reporting source, if one exists, report on the remote SSRCs the
187        leaving SSRC reported on, (b) choose a new reporting source, or (c)
188        disband the RTCP reporting group and begin sending reception quality
189        reports following <xref target="RFC3550" format="default"/> and <xref target="RTP-STREAMS" format="default"/>.</t>
190        <t>The RTCP timing rules assign different bandwidth fractions to
191        senders and receivers. This lets senders transmit RTCP reception
192        quality reports more often than receivers. If a reporting source in an
193        RTCP reporting group is a receiver, but one or more non-reporting
194        SSRCs in the RTCP reporting group are senders, then the endpoint <bcp14>MAY</bcp14>
195        treat the reporting source as a sender for the purpose of RTCP
196        bandwidth allocation, increasing its RTCP bandwidth allocation,
197        provided it also treats one of the senders as if it were a receiver
198        and makes the corresponding reduction in RTCP bandwidth for that SSRC.
199        However, the application needs to consider the impact on the frequency
200        of transmitting of the synchronization information included in RTCP
201        Sender Reports.</t>
202      </section>
203      <section numbered="true" toc="default">
204        <name>Identifying Members of an RTCP Reporting Group</name>
205        <t>When RTCP Reporting Groups are in use, the other SSRCs in the RTP
206        session need to be able to identify which SSRCs are members of an RTCP
207        reporting group. Two RTCP extensions are defined to support this: the
208        RTCP RGRP SDES item is used by the reporting source(s) to identify an
209        RTCP reporting group, and the RTCP RGRS packet is used by other
210        members of an RTCP reporting group to identify the reporting
211        source(s).</t>
212        <section anchor="sec-rgrp" numbered="true" toc="default">
213          <name>Definition and Use of the RTCP RGRP SDES Item</name>
214          <t>This document defines a new RTCP SDES item to identify an RTCP
215          reporting group. The motivation for giving a reporting group an
216          identify is to ensure that the RTCP reporting group and its member
217          SSRCs can be correctly associated when there are multiple reporting
218          sources, and to ensure that a reporting SSRC can be associated with
219          the correct reporting group if an SSRC collision occurs.</t>
220          <t>This document defines the RTCP Source Description (SDES) RGRP
221          item. The RTCP SDES RGRP item <bcp14>MUST</bcp14> be sent by the reporting sources
222          in a reporting group, and <bcp14>MUST NOT</bcp14> be sent by other members of the
223          reporting group or by SSRCs that are not members of any RTCP
224          reporting group. Specifically, every reporting source in an RTCP
225          reporting group <bcp14>MUST</bcp14> include an RTCP SDES packet containing an RGRP
226          item in every compound RTCP packet in which it sends an RR or SR
227          packet (i.e., in every RTCP packet it sends, unless <xref target="RFC5506" format="default">Reduced-Size RTCP</xref> is in use).</t>
228          <t>Syntactically, the format of the RTCP SDES RGRP item is identical
229          to that of the <xref target="RFC7022" format="default">RTCP SDES CNAME item</xref>,
230          except that the SDES item type field <bcp14>MUST</bcp14> have value RGRP=(TBA)
231          instead of CNAME=1. The value of the RTCP SDES RGRP item <bcp14>MUST</bcp14> be
232          chosen with the same concerns about global uniqueness and the same
233          privacy considerations as the RTCP SDES CNAME. The value of the RTCP
234          SDES RGRP item <bcp14>MUST</bcp14> be stable throughout the lifetime of the
235          reporting group, even if some or all of the reporting sources change
236          their SSRC due to collisions, or if the set of reporting sources
237          changes.</t>
238          <ul empty="true" spacing="normal">
239            <li>Note to RFC Editor: please replace (TBA) in the above
240              paragraph with the RTCP SDES item type number assigned to the
241              RGRP item, then delete this note.</li>
242          </ul>
243          <t>An RTP mixer or translator that forwards RTCP SR or RR packets
244          from members of a reporting group <bcp14>MUST</bcp14> forward the corresponding
245          RTCP SDES RGRP items as well, even if it otherwise strips SDES items
246          other than the CNAME item.</t>
247        </section>
248        <section anchor="sec-rgrs" numbered="true" toc="default">
249          <name>Definition and Use of the RTCP RGRS Packet</name>
250          <t>A new RTCP packet type is defined to allow the members of an RTCP
251          reporting group to identify the reporting sources for that group.
252          This allows participants in an RTP session to distinguish an SSRC
253          that is sending empty RTCP reception reports because it is a member
254          of an RTCP reporting group, from an SSRC that is sending empty RTCP
255          reception reports because it is not receiving any traffic. It also
256          explicitly identifies the reporting sources, allowing other members
257          of the RTP session to know which SSRCs are acting as the reporting
258          sources for an RTCP reporting group, and allowing them to detect if
259          RTCP packets from any of the reporting sources are being lost.</t>
260          <t>The format of the RTCP RGRS packet is defined below. It comprises
261          the fixed RTCP header that indicates the packet type and length, the
262          SSRC of the packet sender, and a list of reporting sources for the
263          RTCP reporting group of which the packet sender is a member.</t>
264          <artwork name="" type="" align="left" alt=""><![CDATA[
265 0                   1                   2                   3   
266 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
267+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
268|V=2|P|    SC   | PT=RGRS(TBA)  |             length            |
269+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
270|                     SSRC of packet sender                     |
271+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
272:          List of SSRC(s) for the Reporting Source(s)          :
273:                              ...                              :
274+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
275          <t>The fields in the RTCP RGRS packet have the following definition:
276          </t>
277          <dl newline="false" spacing="normal">
278            <dt>version (V):</dt>
279            <dd>2 bits unsigned integer. This field
280              identifies the RTP version. The current RTP version is 2.</dd>
281            <dt>padding (P):</dt>
282            <dd>1 bit. If set, the padding bit
283              indicates that the RTCP packet contains additional padding
284              octets at the end that are not part of the control information
285              but are included in the length field. See <xref target="RFC3550" format="default"/>.</dd>
286            <dt>Source Count (SC):</dt>
287            <dd>5 bits unsigned integer.
288              Indicates the number of reporting source SSRCs that are included
289              in this RTCP packet. As the RTCP RGRS packet <bcp14>MUST NOT</bcp14> be not
290              sent by reporting sources, all the SSRCs in the list of
291              reporting sources will be different from the SSRC of the packet
292              sender. Every RTCP RGRS packet <bcp14>MUST</bcp14> contain at least one
293              reporting source SSRC.</dd>
294            <dt>Payload type (PT):</dt>
295            <dd>
296              <t>8 bits unsigned integer. The
297              RTCP packet type number that identifies the packet as being an
298              RTCP RGRS packet. The RGRS RTCP packet has the value [TBA].
299              </t>
300              <ul empty="true" spacing="normal">
301                <li>Note to RFC Editor: please replace [TBA] here, and in the
302                  packet format diagram above, with the RTCP packet type that
303                  IANA assigns to the RTCP RGRS packet.</li>
304              </ul>
305            </dd>
306            <dt>Length:</dt>
307            <dd>16 bits unsigned integer. The length of
308              this packet in 32-bit words minus one, including the header and
309              any padding. This is in line with the definition of the length
310              field used in RTCP sender and receiver reports <xref target="RFC3550" format="default"/>. Since all RTCP RGRS packets include at least
311              one reporting source SSRC, the length will always be 2 or
312              greater.</dd>
313            <dt>SSRC of packet sender:</dt>
314            <dd>32 bits. The SSRC of the
315              sender of this packet.</dd>
316            <dt>List of SSRCs for the Reporting Source(s):</dt>
317            <dd>A
318              variable length size (as indicated by SC header field) of the 32
319              bit SSRC values of the reporting sources for the RTCP Reporting
320              Group of which the packet sender is a member.</dd>
321          </dl>
322          <t>Every source that belongs to an RTCP reporting group but is not a
323          reporting source <bcp14>MUST</bcp14> include an RTCP RGRS packet in every compound
324          RTCP packet in which it sends an RR or SR packet (i.e., in every
325          RTCP packet it sends, unless <xref target="RFC5506" format="default"> Reduced-Size
326          RTCP</xref> is in use). Each RTCP RGRS packet <bcp14>MUST</bcp14> contain the SSRC
327          identifier of at least one reporting source. If there are more
328          reporting sources in an RTCP reporting group than can fit into an
329          RTCP RGRS packet, the members of that reporting group <bcp14>MUST</bcp14> send the
330          SSRCs of the reporting sources in a round-robin fashion in
331          consecutive RTCP RGRS packets, such that all the SSRCs of the
332          reporting sources are included over the course of several RTCP
333          reporting intervals.</t>
334          <t>An RTP mixer or translator that forwards RTCP SR or RR packets
335          from members of a reporting group <bcp14>MUST</bcp14> also forward the
336          corresponding RGRS RTCP packets. If the RTP mixer or translator
337          rewrites SSRC values of the packets it forwards, it <bcp14>MUST</bcp14> make the
338          corresponding changes to the RTCP RGRS packets.</t>
339        </section>
340      </section>
341      <section numbered="true" toc="default">
342        <name>Interactions with the RTP/AVPF Feedback Profile</name>
343        <t>Use of the RTP/AVPF Feedback Profile <xref target="RFC4585" format="default"/>
344        allows SSRCs to send rapid RTCP feedback requests and codec control
345        messages. If use of the RTP/AVPF profile has been negotiated in an RTP
346        session, members of an RTCP reporting group can send rapid RTCP
347        feedback and codec control messages following <xref target="RFC4585" format="default"/>
348        and <xref target="RFC5104" format="default"/>, as updated by <xref
349 target="RTP-STREAMS" sectionFormat="of" section="5.4"/>, and by the following
350        considerations.</t>
351        <t>The members of an RTCP reporting group will all see identical
352        network conditions. Accordingly, one might therefore think that it
353        doesn't matter which SSRC in the reporting group sends the RTP/AVPF
354        feedback or codec control messages. There might be, however, cases
355        where the sender of the feedback/codec control message has semantic
356        importance, or when only a subset of the members of an RTCP reporting
357        group might want to send RTP/AVPF feedback or a codec control message
358        in response to a particular event. For example, an RTP video sender
359        might choose to treat packet loss feedback received from SSRCs known
360        to be audio receivers with less urgency than feedback that it receives
361        from video receivers when deciding what packets to retransmit, and a
362        multimedia receiver using reporting groups might want to choose the
363        outgoing SSRC for feedback packets to reflect this.</t>
364        <t>Each member of an RTCP reporting group <bcp14>SHOULD</bcp14> therefore send
365        RTP/AVPF feedback/codec control messages independently of the other
366        members of the reporting group, to respect the semantic meaning of the
367        message sender. The suppression rules of <xref target="RFC4585" format="default"/> will
368        ensure that only a single copy of each feedback packet is (typically)
369        generated, even if several members of a reporting group send the same
370        feedback. When an endpoint knows that several members of its RTCP
371        reporting group will be sending identical feedback, and that the
372        sender of the feedback is not semantically important, then that
373        endpoint <bcp14>MAY</bcp14> choose to send all its feedback from the reporting source
374        and deterministically suppress feedback packets generated by the other
375        sources in the reporting group.</t>
376        <t>It is important to note that the RTP/AVPF timing rules operate on a
377        per-SSRC basis. Using a single reporting source to send all feedback
378        for a reporting group will hence limit the amount of feedback that can
379        be sent to that which can be sent by one SSRC. If this limit is a
380        problem, then the reporting group can allow each of its members to
381        send its own feedback, using its own SSRC.</t>
382        <t>If the RTP/AVPF feedback messages or codec control requests are
383        sent as compound RTCP packets, then those compound RTCP packets <bcp14>MUST</bcp14>
384        include either an RTCP RGRS packet or an RTCP SDES RGRP item,
385        depending on whether they are sent by the reporting source or a
386        non-reporting source in the RTCP reporting group respectively. The
387        contents of non-compound RTCP feedback or codec control messages are
388        not affected by the use of RTCP reporting groups.</t>
389      </section>
390      <section numbered="true" toc="default">
391        <name>Interactions with RTCP Extended Report (XR) Packets</name>
392        <t>When using RTCP Extended Reports (XR) <xref target="RFC3611" format="default"/> with
393        RTCP reporting groups, it is <bcp14>RECOMMENDED</bcp14> that the reporting source is
394        used to send the RTCP XR packets. If multiple reporting sources are in
395        use, the reporting source that sends the SR/RR packets that relate to
396        a particular remote SSRC  <bcp14>SHOULD</bcp14> send the RTCP XR reports about that
397        SSRC. This is motivated as one commonly combine the RTCP XR metrics
398        with the regular report block to more fully understand the situation.
399        Receiving these blocks in different compound packets reduces their
400        value as the measuring intervals are not synchronized in those
401        cases.</t>
402        <t>Some RTCP XR report blocks are specific to particular types of
403        media, and might be relevant to only some members of a reporting
404        group. For example, it would make no sense for an SSRC that is
405        receiving video to send a VoIP metric RTCP XR report block. Such media
406        specific RTCP XR report blocks <bcp14>MUST</bcp14> be sent by the SSRC to which they
407        are relevant, and <bcp14>MUST NOT</bcp14> be included in the common report sent by
408        the reporting source. This might mean that some SSRCs send RTCP XR
409        packets in compound RTCP packets that contain an empty RTCP SR/RR
410        packet, and that the time period covered by the RTCP XR packet is
411        different to that covered by the RTCP SR/RR packet. If it is important
412        that the RTCP XR packet and RTCP SR/RR packet cover the same time
413        period, then that source  <bcp14>SHOULD</bcp14> be removed from the RTCP reporting
414        group, and send standard RTCP packets instead.</t>
415      </section>
416      <section numbered="true" toc="default">
417        <name>Middlebox Considerations</name>
418        <t>Many different types of middlebox are used with RTP. RTCP reporting
419        groups are potentially relevant to those types of RTP middlebox that
420        have their own SSRCs and generate RTCP reports for the traffic they
421        receive. RTP middleboxes that do not have their own SSRC, and that
422        don't send RTCP reports on the traffic they receive, cannot use the
423        RTCP reporting groups extension, since they generate no RTCP reports
424        to group.</t>
425        <t>An RTP middlebox that has several SSRCs of its own can use the RTCP
426        reporting groups extension to group the RTCP reports it generates.
427        This can occur, for example, if a middlebox is acting as an RTP mixer
428        for both audio and video flows that are multiplexed onto a single RTP
429        session, where the middlebox has one SSRC for the audio mixer and one
430        for the video mixer part, and when the middlebox wants to avoid cross
431        reporting between audio and video.</t>
432        <t>A middlebox cannot use the RTCP reporting groups extension to group
433        RTCP packets from the SSRCs that it is forwarding. It can, however,
434        group the RTCP packets from the SSRCs it is forwarding into compound
435        RTCP packets following the rules in <xref target="RFC3550"
436 sectionFormat="of" section= "6.1"/> and Section 5.3 of <xref target="RTP-STREAMS"/>. If the middlebox is
437        using RTCP reporting groups for its own SSRCs, it <bcp14>MAY</bcp14> include RTCP
438        packets from the SSRCs that it is forwarding as part of the compound
439        RTCP packets its reporting source generates.</t>
440        <t>A middlebox that forwards RTCP SR or RR packets sent by members of
441        a reporting group <bcp14>MUST</bcp14> forward the corresponding RTCP SDES RGRP items,
442        as described in <xref target="sec-rgrp" format="default"/>. A middlebox that forwards
443        RTCP SR or RR packets sent by member of a reporting group <bcp14>MUST</bcp14> also
444        forward the corresponding RTCP RGRS packets, as described in <xref target="sec-rgrs" format="default"/>. Failure to forward these packets can cause
445        compatibility problems, as described in <xref target="compat" format="default"/>.</t>
446        <t>If a middlebox rewrites SSRC values in the RTP and RTCP packets
447        that it is forwarding, then it <bcp14>MUST</bcp14> make the corresponding changes in
448        RTCP SDES packets containing RGRP items and in RTCP RGRS packets, to
449        allow them to be associated with the rewritten SSRCs.</t>
450      </section>
451      <section anchor="sdp" numbered="true" toc="default">
452        <name>SDP Signalling for Reporting Groups</name>
453        <t>This document defines the "a=rtcp-rgrp" <xref target="RFC4566" format="default">Session Description Protocol (SDP)</xref> attribute
454        to indicate if the session participant is capable of supporting RTCP
455        Reporting Groups for applications that use SDP for configuration of
456        RTP sessions. It is a property attribute, and hence takes no value.
457        The <xref target="SDP-ATTRIBUTES" format="default">multiplexing
458        category</xref> is IDENTICAL, as the functionality applies on RTP
459        session level. A participant that proposes the use of RTCP Reporting
460        Groups <bcp14>SHALL</bcp14> itself support the reception of RTCP Reporting Groups.</t>
461<dl>
462<dt>The formal definition of this attribute is:</dt>
463<dd><t></t>
464    <dl>
465      <dt>Name:</dt><dd>rtcp-rgrp</dd>
466      <dt>Value:</dt><dd></dd>
467      <dt>Usage Level:</dt><dd>session, media</dd>
468      <dt>Type of attribute:</dt><dd>Media or session level</dd>
469      <dt>Charset Dependent:</dt><dd>no</dd>
470      <dt>Example:</dt><dd>a=rtcp-rgrp</dd>
471    </dl>
472</dd>
473</dl>
474
475        <t>When using SDP Offer/Answer <xref target="RFC3264" format="default"/>, the following
476        procedures are to be used: </t>
477        <ul spacing="normal">
478          <li>Generating the initial SDP offer: If the offerer supports the
479            RTCP reporting group extensions, and is willing to accept RTCP
480            packets containing those extensions, then it <bcp14>MUST</bcp14> include an
481            "a=rtcp-rgrp" attribute in the initial offer. If the offerer does
482            not support RTCP reporting groups extensions, or is not willing to
483            accept RTCP packets containing those extensions, then it <bcp14>MUST NOT</bcp14>
484            include the "a=rtcp-rgrp" attribute in the offer.</li>
485          <li>Generating the SDP answer: If the SDP offer contains an
486            "a=rtcp-rgrp" attribute, and if the answerer supports RTCP
487            reporting groups and is willing to receive RTCP packets using the
488            RTCP reporting groups extensions, then the answerer <bcp14>MAY</bcp14> include an
489            "a=rtcp-rgrp" attribute in the answer and <bcp14>MAY</bcp14> send RTCP packets
490            containing the RTCP reporting groups extensions. If the offer does
491            not contain an "a=rtcp-rgrp" attribute, or if the offer does
492            contain such an attribute but the answerer does not wish to accept
493            RTCP packets using the RTCP reporting groups extensions, then the
494            answer <bcp14>MUST NOT</bcp14> include an "a=rtcp-rgrp" attribute.</li>
495          <li>Offerer Processing of the SDP Answer: If the SDP answer
496            contains an "a=rtcp-rgrp" attribute, and the corresponding offer
497            also contained an "a=rtcp-rgrp" attribute, then the offerer <bcp14>MUST</bcp14>
498            be prepared to accept and process RTCP packets that contain the
499            reporting groups extension, and <bcp14>MAY</bcp14> send RTCP packets that contain
500            the reporting groups extension. If the SDP answer contains an
501            "a=rtcp-rgrp" attribute, but the corresponding offer did not
502            contain the "a=rtcp-rgrp" attribute, then the offerer <bcp14>MUST</bcp14> reject
503            the call. If the SDP answer does not contain an "a=rtcp-rgrp"
504            attribute, then the offerer <bcp14>MUST NOT</bcp14> send packets containing the
505            RTCP reporting groups extensions, and does not need to process
506            packet containing the RTCP reporting groups extensions.</li>
507        </ul>
508        <t>In declarative usage of SDP, such as the <xref target="RFC2326" format="default">Real Time Streaming Protocol (RTSP)</xref> and the
509        <xref target="RFC2974" format="default">Session Announcement Protocol (SAP)</xref>, the
510        presence of the attribute indicates that the session participant <bcp14>MAY</bcp14>
511        use RTCP Reporting Groups in its RTCP transmissions. An implementation
512        that doesn't explicitly support RTCP Reporting Groups <bcp14>MAY</bcp14> join a RTP
513        session as long as it has been verified that the implementation
514        doesn't suffer from the problems discussed in <xref target="compat" format="default"/>.</t>
515      </section>
516    </section>
517    <section numbered="true" toc="default">
518      <name>Properties of RTCP Reporting Groups</name>
519      <t>This section provides additional information on what the resulting
520      properties are with the design specified in <xref target="reportgroups" format="default"/>. The content of this section is
521      non-normative.</t>
522      <section anchor="reportgroups-bw" numbered="true" toc="default">
523        <name>Bandwidth Benefits of RTCP Reporting Groups</name>
524        <t>To understand the benefits of RTCP reporting groups, consider a
525        scenario in which the two endpoints in a session each have a hundred
526        sources, of which eight each are sending within any given reporting
527        interval.</t>
528        <t>For ease of analysis, we can make the simplifying approximation
529        that the duration of the RTCP reporting interval is equal to the total
530        size of the RTCP packets sent during an RTCP interval, divided by the
531        RTCP bandwidth. (This will be approximately true in scenarios where
532        the bandwidth is not so high that the minimum RTCP interval is
533        reached.) For further simplification, we can assume RTCP senders are
534        following the recommendations regarding Compound RTCP Packets in <xref target="RTP-STREAMS" format="default"/>; thus, the per-packet
535        transport-layer overhead will be small relative to the RTCP data.
536        Thus, only the actual RTCP data itself need be considered.</t>
537        <t>In a report interval in this scenario, there will, as a baseline,
538        be 200 SDES packets, 184 RR packets, and 16 SR packets. This amounts
539        to approximately 6.5 kB of RTCP per report interval, assuming 16-byte
540        CNAMEs and no other SDES information.</t>
541        <t>Using the original <xref target="RFC3550" format="default"/>
542        everyone-reports-on-every-sender feedback rules, each of the 184
543        receivers will send 16 report blocks, and each of the 16 senders will
544        send 15. This amounts to approximately 76 kB of report block traffic
545        per interval; 92% of RTCP traffic consists of report blocks.</t>
546        <t>If reporting groups are used, however, there is only 0.4 kB of
547        reports per interval, with no loss of useful information.
548        Additionally, there will be (assuming 16-byte RGRPs, and a single
549        reporting source per reporting group) an additional 2.4 kB per cycle
550        of RGRP SDES items and RGRS packets. Put another way, the unmodified
551        <xref target="RFC3550" format="default"/> reporting interval is approximately 9 times
552        longer than if reporting groups are in use.</t>
553      </section>
554      <section anchor="compat" numbered="true" toc="default">
555        <name>Compatibility of RTCP Reporting Groups</name>
556        <t>The RTCP traffic generated by receivers using RTCP Reporting Groups
557        might appear, to observers unaware of these semantics, to be generated
558        by receivers who are experiencing a network disconnection, as the
559        non-reporting sources appear not to be receiving a given sender at
560        all.</t>
561        <t>This could be a potentially critical problem for such a sender
562        using RTCP for congestion control, as such a sender might think that
563        it is sending so much traffic that it is causing complete congestion
564        collapse.</t>
565        <t>However, such an interpretation of the session statistics would
566        require a fairly sophisticated RTCP analysis. Any receiver of RTCP
567        statistics which is just interested in information about itself needs
568        to be prepared that any given reception report might not contain
569        information about a specific media source, because reception reports
570        in large conferences can be round-robined.</t>
571        <t>Thus, it is unclear to what extent such backward compatibility
572        issues would actually cause trouble in practice.</t>
573      </section>
574    </section>
575    <section numbered="true" toc="default">
576      <name>Security Considerations</name>
577      <t>The security considerations of <xref target="RFC3550" format="default"/> and <xref target="RTP-STREAMS" format="default"/> apply. If the RTP/AVPF
578      profile is in use, then the security considerations of <xref target="RFC4585" format="default"/> (and <xref target="RFC5104" format="default"/>, if used) also apply.
579      If RTCP XR is used, the security consideration of <xref target="RFC3611" format="default"/> and any XR report blocks used also apply.</t>
580      <t>The RTCP SDES RGRP item is vulnerable to malicious modifications
581      unless integrity protected is used. A modification of this item's length
582      field cause the parsing of the RTCP packet in which it is contained to
583      fail. Depending on the implementation, parsing of the full compound RTCP
584      packet can also fail causing the whole packet to be discarded. A
585      modification to the value of this SDES item would make the receiver of
586      the report think that the sender of the report was a member of a
587      different RTCP reporting group. This will potentially create an
588      inconsistency, when the RGRS reports the source as being in the same
589      reporting group as another source with another reporting group
590      identifier. What impact on a receiver implementation such
591      inconsistencies would have are difficult to fully predict. One case is
592      when congestion control or other adaptation mechanisms are used, an
593      inconsistent report can result in a media sender to reduce its bit-rate.
594      However, a direct modification of the receiver report or a feedback
595      message itself would be a more efficient attack, and equally costly to
596      perform.</t>
597      <t>The new RGRS RTCP Packet type is very simple. The common RTCP packet
598      type header shares the security risks with previous RTCP packet types.
599      Errors or modification of the length field can cause the full compound
600      packet to fail header validation (see <xref target="RFC3550"
601      sectionFormat="of" section="A.2"/>) resulting in the whole compound RTCP packet being
602      discarded. Modification of the SC or P fields would cause inconsistency
603      when processing the RTCP packet, likely resulting it being classified as
604      invalid. A modification of the PT field would cause the packet being
605      interpreted under some other packet type's rules. In such case the
606      result might be more or less predictable but packet type specific.
607      Modification of the SSRC of packet sender would attribute this packet to
608      another sender. Resulting in a receiver believing the reporting group
609      applies also for this SSRC, if it exists. If it doesn't exist, unless
610      also corresponding modifications are done on a SR/RR packet and a SDES
611      packet the RTCP packet <bcp14>SHOULD</bcp14> be discarded. If consistent changes are
612      done, that could be part of a resource exhaustion attack on a receiver
613      implementation. Modification of the "List of SSRCs for the Reporting
614      Source(s)" would change the SSRC the receiver expect to report on behalf
615      of this SSRC. If that SSRC exist, that could potentially change the
616      report group used for this SSRC. A change to another reporting group
617      belonging to another endpoint is likely detectable as there would be a
618      mismatch between the SSRC of the packet sender's endpoint information,
619      transport addresses, SDES CNAME etc and the corresponding information
620      from the reporting group indicated.</t>
621      <t>In general the reporting group is providing limited impacts attacks.
622      The most significant result from an deliberate attack would be to cause
623      the information to be discarded or be inconsistent, including discard of
624      all RTCP packets that are modified. This causes a lack of information at
625      any receiver entity, possibly disregarding the endpoints participation
626      in the session.</t>
627      <t>To protect against this type of attacks from external non trusted
628      entities, integrity and source authentication <bcp14>SHOULD</bcp14> be applied. This
629      can be done, for example, by using <xref target="RFC3711" format="default">SRTP</xref>
630      with appropriate key-management, other options exist as discussed in
631      <xref target="RFC7201" format="default">RTP Security Options</xref>.</t>
632      <t>The Report Group Identifier has a potential privacy impacting
633      properties. If this would be generated by an implementation in such a
634      way that is long term stable or predictable, it could be used for
635      tracking a particular end-point. Therefore it is <bcp14>RECOMMENDED</bcp14> that it be
636      generated as a short-term persistent RGRP, following the rules for
637      short-term persistent CNAMEs in <xref target="RFC7022" format="default"/>. The rest of
638      the information revealed, i.e. the SSRCs, the size of reporting group
639      and the number of reporting sources in a reporting group is of less
640      sensitive nature, considering that the SSRCs and the communication would
641      anyway be revealed without this extension. By encrypting the report
642      group extensions the SSRC values would preserved confidential, but can
643      still be revealed if <xref target="RFC3711" format="default">SRTP</xref> is used. The
644      size of the reporting groups and number of reporting sources are likely
645      determinable from analysis of the packet pattern and sizes. However,
646      this information appears to have limited value.</t>
647    </section>
648    <section numbered="true" toc="default">
649      <name>IANA Considerations</name>
650      <t>(Note to the RFC-Editor: in the following, please replace "TBA" with
651      the IANA-assigned value, and "XXXX" with the number of this document,
652      then delete this note)</t>
653      <t>The IANA is requested to register one new RTCP SDES items in the
654      "RTCP SDES Item Types" registry, as follows:</t>
655
656
657<table anchor="table_ex_1">
658<name>IANA "RTCP SDES Item Types" Registry</name>
659  <thead>
660    <tr>
661      <th align='left'>Value</th>
662      <th align='left'>Abbrev</th>
663      <th align='left'>Name</th>
664      <th align='left'>Reference</th>
665    </tr>
666  </thead>
667  <tbody>
668    <tr>
669      <td align="left">TBA</td>
670      <td align="left">RGRP</td>
671      <td align="left">Reporting Group Identifier</td>
672      <td align="left">RFC XXXX</td>
673    </tr>
674  </tbody>
675</table>
676      <t>The definition of the RTCP SDES RGRP item is given in <xref target="sec-rgrp" format="default"/> of this memo.</t>
677      <t>The IANA is also requested to register one new RTCP packet type in
678      the "RTCP Control Packet Types (PT)" Registry as follows:</t>
679
680<table anchor="table_ex_2">
681<name>IANA "RTCP Control Packet Types (PT)" Registry</name>
682  <thead>
683    <tr>
684      <th align='left'>Value</th>
685      <th align='left'>Abbrev</th>
686      <th align='left'>Name</th>
687      <th align='left'>Reference</th>
688    </tr>
689  </thead>
690  <tbody>
691    <tr>
692      <td align="left">TBA</td>
693      <td align="left">RGRS</td>
694      <td align="left">Reporting Group Reporting Sources</td>
695      <td align="left">RFC XXXX</td>
696    </tr>
697  </tbody>
698</table>
699      <t>The definition of the RTCP RGRS packet type is given in <xref target="sec-rgrs" format="default"/> of this memo.</t>
700      <t>The IANA is also requested to register one new SDP attribute:</t>
701
702       <dl>
703        <dt>SDP Attribute ("att-field"):</dt>
704        <dd><t></t>
705        <dl>
706          <dt>Attribute name:</dt><dd>rtcp-rgrp</dd>
707          <dt>Long form:</dt><dd>RTCP Reporting Groups</dd>
708          <dt>Long form:</dt><dd>RTCP Reporting Groups</dd>
709          <dt>Type of name:</dt><dd>att-field</dd>
710          <dt>Type of attribute:</dt><dd>Media or session level</dd>
711          <dt>Subject to charset:</dt><dd>No</dd>
712          <dt>Purpose:</dt><dd>Negotiate or configure the use of the RTCP 
713                          Reporting Group Extension.</dd>
714          <dt>Reference:</dt><dd>RFC XXXX</dd>
715          <dt>Values:</dt><dd>None</dd>
716        </dl>
717        </dd>
718      </dl>
719
720      <t>The definition of the "a=rtcp-rgrp" SDES attribute is given in <xref target="sdp" format="default"/> of this memo.</t>
721    </section>
722  </middle>
723  <back>
724    <references>
725      <name>References</name>
726      <references>
727        <name>Normative References</name>
728
729<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
730<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3264.xml"/>
731<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3550.xml"/>
732<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4566.xml"/>
733<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7022.xml"/>
734
735
736        <reference anchor="RTP-STREAMS">
737          <front>
738            <title>Sending Multiple RTP Streams in a Single RTP Session</title>
739            <seriesInfo name="Work in Progress," value="draft-ietf-avtcore-rtp-multi-stream-11"/>
740            <author initials="J" surname="Lennox" fullname="Jonathan Lennox">
741              <organization/>
742            </author>
743            <author initials="M" surname="Westerlund" fullname="Magnus Westerlund">
744              <organization/>
745            </author>
746            <author initials="Q" surname="Wu" fullname="Qin Wu">
747              <organization/>
748            </author>
749            <author initials="C" surname="Perkins" fullname="Colin Perkins">
750              <organization/>
751            </author>
752            <date month="December" year="2015"/>
753            <abstract>
754              <t>This memo expands and clarifies the behaviour of Real-time Transport Protocol (RTP) endpoints that use multiple synchronization sources (SSRCs).  This occurs, for example, when an endpoint sends multiple RTP streams in a single RTP session.  This memo updates RFC 3550 with regards to handling multiple SSRCs per endpoint in RTP sessions, with a particular focus on RTCP behaviour.  It also updates RFC 4585 to update and clarify the calculation of the timeout of SSRCs and the inclusion of feedback messages.</t>
755            </abstract>
756          </front>
757        </reference>
758
759        <reference anchor="SDP-ATTRIBUTES" target="http://www.ietf.org/internet-drafts/draft-ietf-mmusic-sdp-mux-attributes-17.txt">
760          <front>
761            <title>A Framework for SDP Attributes when Multiplexing</title>
762            <seriesInfo name="Work in Progress," value="draft-ietf-mmusic-sdp-mux-attributes-17"/>
763            <author initials="S" surname="Nandakumar" fullname="Suhas Nandakumar">
764              <organization/>
765            </author>
766            <date month="February" year="2018"/>
767            <abstract>
768              <t>The purpose of this specification is to provide a framework for analyzing the multiplexing characteristics of Session Description Protocol (SDP) attributes when SDP is used to negotiate the usage of single 5-tuple for sending and receiving media associated with multiple media descriptions.  This specification also categorizes the existing SDP attributes based on the framework described herein.</t>
769            </abstract>
770          </front>
771        </reference>
772      </references>
773      <references>
774        <name>Informative References</name>
775
776<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2326.xml"/>
777<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2974.xml"/>
778<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3611.xml"/>
779<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3711.xml"/>
780<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4585.xml"/>
781<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4588.xml"/>
782<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5104.xml"/>
783<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5506.xml"/>
784<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6190.xml"/>
785<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7201.xml"/>
786<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
787
788
789
790      </references>
791    </references>
792  </back>
793</rfc>
1<reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
2<front>
3<title>Key words for use in RFCs to Indicate Requirement Levels</title>
4<author initials="S." surname="Bradner" fullname="S. Bradner"><organization/></author>
5<date year="1997" month="March"/>
6<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>
7</front>
8<seriesInfo name="BCP" value="14"/>
9<seriesInfo name="RFC" value="2119"/>
10<seriesInfo name="DOI" value="10.17487/RFC2119"/>
11</reference>
1<reference anchor="RFC3264" target="https://www.rfc-editor.org/info/rfc3264" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3264.xml">
2<front>
3<title>An Offer/Answer Model with Session Description Protocol (SDP)</title>
4<author initials="J." surname="Rosenberg" fullname="J. Rosenberg"><organization/></author>
5<author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne"><organization/></author>
6<date year="2002" month="June"/>
7<abstract><t>This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them.  In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective.  This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session.  The offer/answer model is used by protocols like the Session Initiation Protocol (SIP).  [STANDARDS-TRACK]</t></abstract>
8</front>
9<seriesInfo name="RFC" value="3264"/>
10<seriesInfo name="DOI" value="10.17487/RFC3264"/>
11</reference>
1<reference anchor="RFC3550" target="https://www.rfc-editor.org/info/rfc3550" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3550.xml">
2<front>
3<title>RTP: A Transport Protocol for Real-Time Applications</title>
4<author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne"><organization/></author>
5<author initials="S." surname="Casner" fullname="S. Casner"><organization/></author>
6<author initials="R." surname="Frederick" fullname="R. Frederick"><organization/></author>
7<author initials="V." surname="Jacobson" fullname="V. Jacobson"><organization/></author>
8<date year="2003" month="July"/>
9<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>
10</front>
11<seriesInfo name="STD" value="64"/>
12<seriesInfo name="RFC" value="3550"/>
13<seriesInfo name="DOI" value="10.17487/RFC3550"/>
14</reference>
1<reference anchor="RFC4566" target="https://www.rfc-editor.org/info/rfc4566" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4566.xml">
2<front>
3<title>SDP: Session Description Protocol</title>
4<author initials="M." surname="Handley" fullname="M. Handley"><organization/></author>
5<author initials="V." surname="Jacobson" fullname="V. Jacobson"><organization/></author>
6<author initials="C." surname="Perkins" fullname="C. Perkins"><organization/></author>
7<date year="2006" month="July"/>
8<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.  [STANDARDS-TRACK]</t></abstract>
9</front>
10<seriesInfo name="RFC" value="4566"/>
11<seriesInfo name="DOI" value="10.17487/RFC4566"/>
12</reference>
1<reference anchor="RFC7022" target="https://www.rfc-editor.org/info/rfc7022" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7022.xml">
2<front>
3<title>Guidelines for Choosing RTP Control Protocol (RTCP) Canonical Names (CNAMEs)</title>
4<author initials="A." surname="Begen" fullname="A. Begen"><organization/></author>
5<author initials="C." surname="Perkins" fullname="C. Perkins"><organization/></author>
6<author initials="D." surname="Wing" fullname="D. Wing"><organization/></author>
7<author initials="E." surname="Rescorla" fullname="E. Rescorla"><organization/></author>
8<date year="2013" month="September"/>
9<abstract><t>The RTP Control Protocol (RTCP) Canonical Name (CNAME) is a persistent transport-level identifier for an RTP endpoint.  While the Synchronization Source (SSRC) identifier of an RTP endpoint may change if a collision is detected or when the RTP application is restarted, its RTCP CNAME is meant to stay unchanged, so that RTP endpoints can be uniquely identified and associated with their RTP media streams.</t><t>For proper functionality, RTCP CNAMEs should be unique within the participants of an RTP session.  However, the existing guidelines for choosing the RTCP CNAME provided in the RTP standard (RFC 3550) are insufficient to achieve this uniqueness.  RFC 6222 was published to update those guidelines to allow endpoints to choose unique RTCP CNAMEs.  Unfortunately, later investigations showed that some parts of the new algorithms were unnecessarily complicated and/or ineffective.  This document addresses these concerns and replaces RFC 6222.</t></abstract>
10</front>
11<seriesInfo name="RFC" value="7022"/>
12<seriesInfo name="DOI" value="10.17487/RFC7022"/>
13</reference>
1<reference anchor="RFC2326" target="https://www.rfc-editor.org/info/rfc2326" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2326.xml">
2<front>
3<title>Real Time Streaming Protocol (RTSP)</title>
4<author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne"><organization/></author>
5<author initials="A." surname="Rao" fullname="A. Rao"><organization/></author>
6<author initials="R." surname="Lanphier" fullname="R. Lanphier"><organization/></author>
7<date year="1998" month="April"/>
8<abstract><t>The Real Time Streaming Protocol, or RTSP, is an application-level protocol for control over 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. [STANDARDS-TRACK]</t></abstract>
9</front>
10<seriesInfo name="RFC" value="2326"/>
11<seriesInfo name="DOI" value="10.17487/RFC2326"/>
12</reference>
1<reference anchor="RFC2974" target="https://www.rfc-editor.org/info/rfc2974" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2974.xml">
2<front>
3<title>Session Announcement Protocol</title>
4<author initials="M." surname="Handley" fullname="M. Handley"><organization/></author>
5<author initials="C." surname="Perkins" fullname="C. Perkins"><organization/></author>
6<author initials="E." surname="Whelan" fullname="E. Whelan"><organization/></author>
7<date year="2000" month="October"/>
8<abstract><t>This document describes version 2 of the multicast session directory announcement protocol, Session Announcement Protocol (SAP), and the related issues affecting security and scalability that should be taken into account by implementors.  This memo defines an Experimental Protocol for the Internet community.</t></abstract>
9</front>
10<seriesInfo name="RFC" value="2974"/>
11<seriesInfo name="DOI" value="10.17487/RFC2974"/>
12</reference>
1<reference anchor="RFC3611" target="https://www.rfc-editor.org/info/rfc3611" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3611.xml">
2<front>
3<title>RTP Control Protocol Extended Reports (RTCP XR)</title>
4<author initials="T." surname="Friedman" fullname="T. Friedman" role="editor"><organization/></author>
5<author initials="R." surname="Caceres" fullname="R. Caceres" role="editor"><organization/></author>
6<author initials="A." surname="Clark" fullname="A. Clark" role="editor"><organization/></author>
7<date year="2003" month="November"/>
8<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>
9</front>
10<seriesInfo name="RFC" value="3611"/>
11<seriesInfo name="DOI" value="10.17487/RFC3611"/>
12</reference>
1<reference anchor="RFC3711" target="https://www.rfc-editor.org/info/rfc3711" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3711.xml">
2<front>
3<title>The Secure Real-time Transport Protocol (SRTP)</title>
4<author initials="M." surname="Baugher" fullname="M. Baugher"><organization/></author>
5<author initials="D." surname="McGrew" fullname="D. McGrew"><organization/></author>
6<author initials="M." surname="Naslund" fullname="M. Naslund"><organization/></author>
7<author initials="E." surname="Carrara" fullname="E. Carrara"><organization/></author>
8<author initials="K." surname="Norrman" fullname="K. Norrman"><organization/></author>
9<date year="2004" month="March"/>
10<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>
11</front>
12<seriesInfo name="RFC" value="3711"/>
13<seriesInfo name="DOI" value="10.17487/RFC3711"/>
14</reference>
1<reference anchor="RFC4585" target="https://www.rfc-editor.org/info/rfc4585" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4585.xml">
2<front>
3<title>Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)</title>
4<author initials="J." surname="Ott" fullname="J. Ott"><organization/></author>
5<author initials="S." surname="Wenger" fullname="S. Wenger"><organization/></author>
6<author initials="N." surname="Sato" fullname="N. Sato"><organization/></author>
7<author initials="C." surname="Burmeister" fullname="C. Burmeister"><organization/></author>
8<author initials="J." surname="Rey" fullname="J. Rey"><organization/></author>
9<date year="2006" month="July"/>
10<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>
11</front>
12<seriesInfo name="RFC" value="4585"/>
13<seriesInfo name="DOI" value="10.17487/RFC4585"/>
14</reference>
1<reference anchor="RFC4588" target="https://www.rfc-editor.org/info/rfc4588" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4588.xml">
2<front>
3<title>RTP Retransmission Payload Format</title>
4<author initials="J." surname="Rey" fullname="J. Rey"><organization/></author>
5<author initials="D." surname="Leon" fullname="D. Leon"><organization/></author>
6<author initials="A." surname="Miyazaki" fullname="A. Miyazaki"><organization/></author>
7<author initials="V." surname="Varsa" fullname="V. Varsa"><organization/></author>
8<author initials="R." surname="Hakenberg" fullname="R. Hakenberg"><organization/></author>
9<date year="2006" month="July"/>
10<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>
11</front>
12<seriesInfo name="RFC" value="4588"/>
13<seriesInfo name="DOI" value="10.17487/RFC4588"/>
14</reference>
1<reference anchor="RFC5104" target="https://www.rfc-editor.org/info/rfc5104" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5104.xml">
2<front>
3<title>Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF)</title>
4<author initials="S." surname="Wenger" fullname="S. Wenger"><organization/></author>
5<author initials="U." surname="Chandra" fullname="U. Chandra"><organization/></author>
6<author initials="M." surname="Westerlund" fullname="M. Westerlund"><organization/></author>
7<author initials="B." surname="Burman" fullname="B. Burman"><organization/></author>
8<date year="2008" month="February"/>
9<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>
10</front>
11<seriesInfo name="RFC" value="5104"/>
12<seriesInfo name="DOI" value="10.17487/RFC5104"/>
13</reference>
1<reference anchor="RFC5506" target="https://www.rfc-editor.org/info/rfc5506" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5506.xml">
2<front>
3<title>Support for Reduced-Size Real-Time Transport Control Protocol (RTCP): Opportunities and Consequences</title>
4<author initials="I." surname="Johansson" fullname="I. Johansson"><organization/></author>
5<author initials="M." surname="Westerlund" fullname="M. Westerlund"><organization/></author>
6<date year="2009" month="April"/>
7<abstract><t>This memo discusses benefits and issues that arise when allowing Real-time Transport Protocol (RTCP) packets to be transmitted with reduced size.  The size can be reduced if the rules on how to create compound packets outlined in RFC 3550 are removed or changed.  Based on that analysis, this memo defines certain changes to the rules to allow feedback messages to be sent as Reduced-Size RTCP packets under certain conditions when using the RTP/AVPF (Real-time Transport Protocol / Audio-Visual Profile with Feedback) profile (RFC 4585). This document updates RFC 3550, RFC 3711, and RFC 4585.  [STANDARDS-TRACK]</t></abstract>
8</front>
9<seriesInfo name="RFC" value="5506"/>
10<seriesInfo name="DOI" value="10.17487/RFC5506"/>
11</reference>
1<reference anchor="RFC6190" target="https://www.rfc-editor.org/info/rfc6190" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6190.xml">
2<front>
3<title>RTP Payload Format for Scalable Video Coding</title>
4<author initials="S." surname="Wenger" fullname="S. Wenger"><organization/></author>
5<author initials="Y.-K." surname="Wang" fullname="Y.-K. Wang"><organization/></author>
6<author initials="T." surname="Schierl" fullname="T. Schierl"><organization/></author>
7<author initials="A." surname="Eleftheriadis" fullname="A. Eleftheriadis"><organization/></author>
8<date year="2011" month="May"/>
9<abstract><t>This memo describes an RTP payload format for Scalable Video Coding (SVC) as defined in Annex G of ITU-T Recommendation H.264, which is technically identical to Amendment 3 of ISO/IEC International Standard 14496-10.  The RTP payload format allows for packetization of one or more Network Abstraction Layer (NAL) units in each RTP packet payload, as well as fragmentation of a NAL unit in multiple RTP packets. Furthermore, it supports transmission of an SVC stream over a single as well as multiple RTP sessions.  The payload format defines a new media subtype name "H264-SVC", but is still backward compatible to RFC 6184 since the base layer, when encapsulated in its own RTP stream, must use the H.264 media subtype name ("H264") and the packetization method specified in RFC 6184.  The payload format has wide applicability in videoconferencing, Internet video streaming, and high-bitrate entertainment-quality video, among others.  [STANDARDS-TRACK]</t></abstract>
10</front>
11<seriesInfo name="RFC" value="6190"/>
12<seriesInfo name="DOI" value="10.17487/RFC6190"/>
13</reference>
1<reference anchor="RFC7201" target="https://www.rfc-editor.org/info/rfc7201" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7201.xml">
2<front>
3<title>Options for Securing RTP Sessions</title>
4<author initials="M." surname="Westerlund" fullname="M. Westerlund"><organization/></author>
5<author initials="C." surname="Perkins" fullname="C. Perkins"><organization/></author>
6<date year="2014" month="April"/>
7<abstract><t>The Real-time Transport Protocol (RTP) is used in a large number of different application domains and environments.  This heterogeneity implies that different security mechanisms are needed to provide services such as confidentiality, integrity, and source authentication of RTP and RTP Control Protocol (RTCP) packets suitable for the various environments.  The range of solutions makes it difficult for RTP-based application developers to pick the most suitable mechanism.  This document provides an overview of a number of security solutions for RTP and gives guidance for developers on how to choose the appropriate security mechanism.</t></abstract>
8</front>
9<seriesInfo name="RFC" value="7201"/>
10<seriesInfo name="DOI" value="10.17487/RFC7201"/>
11</reference>
1<reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
2<front>
3<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
4<author initials="B." surname="Leiba" fullname="B. Leiba"><organization/></author>
5<date year="2017" month="May"/>
6<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>
7</front>
8<seriesInfo name="BCP" value="14"/>
9<seriesInfo name="RFC" value="8174"/>
10<seriesInfo name="DOI" value="10.17487/RFC8174"/>
11</reference>