draft-ietf-avtcore-feedback-supression-rtp-13.txt   draft-ietf-avtcore-feedback-supression-rtp-14.txt 
Network Working Group Q. Wu Network Working Group Q. Wu
Internet-Draft F. Xia Internet-Draft F. Xia
Intended status: Standards Track R. Even Intended status: Standards Track R. Even
Expires: August 26, 2012 Huawei Expires: September 3, 2012 Huawei
February 23, 2012 March 2, 2012
RTCP Extension for Third-party Loss Report RTCP Extension for Third-party Loss Report
draft-ietf-avtcore-feedback-supression-rtp-13 draft-ietf-avtcore-feedback-supression-rtp-14
Abstract Abstract
In a large RTP session using the RTCP feedback mechanism defined in In a large RTP session using the RTCP feedback mechanism defined in
RFC 4585, a feedback target may experience transient overload if some RFC 4585, a feedback target may experience transient overload if some
event causes a large number of receivers to send feedback at once. event causes a large number of receivers to send feedback at once.
This overload is usually avoided by ensuring that feedback reports This overload is usually avoided by ensuring that feedback reports
are forwarded to all receivers, allowing them to avoid sending are forwarded to all receivers, allowing them to avoid sending
duplicate feedback reports. However, there are cases where it is not duplicate feedback reports. However, there are cases where it is not
recommended to forward feedback reports, and this may allow feedback recommended to forward feedback reports, and this may allow feedback
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 26, 2012. This Internet-Draft will expire on September 3, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 4
3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Format of RTCP Feedback Messages . . . . . . . . . . . . . . . 5 3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 5
4.1. Transport Layer Feedback: Third-party Loss Report . . . . 5 4. Format of RTCP Feedback Messages . . . . . . . . . . . . . . . 6
4.2. Payload Specific Feedback: Third-party Loss Report . . . . 6 4.1. Transport Layer Feedback: Third Party Loss Report
5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 7 (TPLR) . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6. Example Use Cases . . . . . . . . . . . . . . . . . . . . . . 8 4.2. Payload Specific Feedback: Third Party Loss Report
6.1. Source Specific Multicast (SSM) use case . . . . . . . . . 8 (TPLR) . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 8
6. Example Use Cases . . . . . . . . . . . . . . . . . . . . . . 9
6.1. Source Specific Multicast (SSM) use case . . . . . . . . . 9
6.2. Unicast based Rapid Acquisition of Multicast Stream 6.2. Unicast based Rapid Acquisition of Multicast Stream
(RAMS) use case . . . . . . . . . . . . . . . . . . . . . 8 (RAMS) use case . . . . . . . . . . . . . . . . . . . . . 10
6.3. RTP Transport Translator use case . . . . . . . . . . . . 9 6.3. RTP Transport Translator use case . . . . . . . . . . . . 10
6.4. Multipoint Control Unit (MCU) use case . . . . . . . . . . 9 6.4. Multipoint Control Unit (MCU) use case . . . . . . . . . . 10
6.5. Mixer use case . . . . . . . . . . . . . . . . . . . . . . 9 6.5. Mixer use case . . . . . . . . . . . . . . . . . . . . . . 11
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11
8. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 10 8. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 12
9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 11 9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 13
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
10.1. Normative References . . . . . . . . . . . . . . . . . . . 11 10.1. Normative References . . . . . . . . . . . . . . . . . . . 13
10.2. Informative References . . . . . . . . . . . . . . . . . . 12 10.2. Informative References . . . . . . . . . . . . . . . . . . 13
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 13 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 14
A.1. draft-ietf-avtcore-feedback-suppression-rtp-01 . . . . . . 13 A.1. draft-ietf-avtcore-feedback-suppression-rtp-01 . . . . . . 14
A.2. draft-ietf-avtcore-feedback-suppression-rtp-02 . . . . . . 13 A.2. draft-ietf-avtcore-feedback-suppression-rtp-02 . . . . . . 14
A.3. draft-ietf-avtcore-feedback-suppression-rtp-03 . . . . . . 13 A.3. draft-ietf-avtcore-feedback-suppression-rtp-03 . . . . . . 15
A.4. draft-ietf-avtcore-feedback-suppression-rtp-04 . . . . . . 14 A.4. draft-ietf-avtcore-feedback-suppression-rtp-04 . . . . . . 15
A.5. draft-ietf-avtcore-feedback-suppression-rtp-05 . . . . . . 14 A.5. draft-ietf-avtcore-feedback-suppression-rtp-05 . . . . . . 15
A.6. draft-ietf-avtcore-feedback-suppression-rtp-06 . . . . . . 15 A.6. draft-ietf-avtcore-feedback-suppression-rtp-06 . . . . . . 16
A.7. draft-ietf-avtcore-feedback-suppression-rtp-07 . . . . . . 15 A.7. draft-ietf-avtcore-feedback-suppression-rtp-07 . . . . . . 16
A.8. draft-ietf-avtcore-feedback-suppression-rtp-08 . . . . . . 15 A.8. draft-ietf-avtcore-feedback-suppression-rtp-08 . . . . . . 16
A.9. draft-ietf-avtcore-feedback-suppression-rtp-09 . . . . . . 15 A.9. draft-ietf-avtcore-feedback-suppression-rtp-09 . . . . . . 17
A.10. draft-ietf-avtcore-feedback-suppression-rtp-10 . . . . . . 16 A.10. draft-ietf-avtcore-feedback-suppression-rtp-10 . . . . . . 17
A.11. draft-ietf-avtcore-feedback-suppression-rtp-11 . . . . . . 16 A.11. draft-ietf-avtcore-feedback-suppression-rtp-11 . . . . . . 17
A.12. draft-ietf-avtcore-feedback-suppression-rtp-12 . . . . . . 16 A.12. draft-ietf-avtcore-feedback-suppression-rtp-12 . . . . . . 17
A.13. draft-ietf-avtcore-feedback-suppression-rtp-13 . . . . . . 16 A.13. draft-ietf-avtcore-feedback-suppression-rtp-13 . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 A.14. draft-ietf-avtcore-feedback-suppression-rtp-14 . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18
1. Introduction 1. Introduction
RTCP feedback messages [RFC4585] allow the receivers in an RTP RTCP feedback messages [RFC4585] allow the receivers in an RTP
session to report events and ask for action from the media source (or session to report events and ask for action from the media source (or
a delegated feedback target when using unicast RTCP feedback with SSM a delegated feedback target when using unicast RTCP feedback with SSM
[RFC5760]). There are cases where multiple receivers may initiate [RFC5760]). There are cases where multiple receivers may initiate
the same, or an equivalent message towards the same media source or the same, or an equivalent message towards the same media source or
the same feedback target. When the receiver count is large, this the same feedback target. When the receiver count is large, this
behavior may cause transient overload of the media source, the behavior may cause transient overload of the media source, the
skipping to change at page 4, line 5 skipping to change at page 5, line 5
receiver reacts to the loss and invokes its packet loss repair receiver reacts to the loss and invokes its packet loss repair
machinery. Section 6 provides some examples of when to send the machinery. Section 6 provides some examples of when to send the
Third Party Loss Report message. Third Party Loss Report message.
2. Requirements Notation 2. Requirements Notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 [RFC2119]. document are to be interpreted as described in RFC2119 [RFC2119].
2.1. Glossary
TPLR - Third Party Loss Report
TLLEI - Transport layer third party loss Early Indication
PSLEI - Third Party Loss Early Indication
FCI - Feedback Control Information [RFC4585]
AVPF - The Audio-Visual Profile with RTCP-based feedback [RFC4585]
SSRC - Synchronization Source
BRS - Burst/Retransmission Sources [RFC6285]
FIR - Full Intra Request [RFC5104]
PLI - Picture Loss Indication [RFC4585]
SSM - Source Specific Multicast [RFC5760]
RAMS - Unicast based Rapid Acquisition of Multicast Stream
[RFC6285]
MCU - Multipoint Control Unit [RFC5117]
3. Protocol Overview 3. Protocol Overview
This document extends the RTCP feedback messages defined in the This document extends the RTCP feedback messages defined in the RTP/
Audio-Visual Profile with feedback (RTP/AVPF) [RFC4585] defining a AVPF [RFC4585] defining a RTCP Third Party Loss Report (TPLR)
Third Party Loss Report message. The Third Party Loss Report message message. The RTCP TPLR message can be used by the intermediaries to
can be used by the intermediaries to inform the receiver that the inform the receiver that the sender of the RTCP TPLR has received
sender of the Third Party Loss Report has received reports that the reports that the indicated packets were lost, and asks the receiver
indicated packets were lost, and asks the receiver not to send not to send feedback to it regarding these packets. Intermediaries
feedback to it regarding these packets. Intermediaries are variously are variously referred to as Distribution source, Burst/
referred to as Distribution source, Burst/Retransmission Sources Retransmission Sources (BRS), MCUs, RTP translator, or RTP mixers,
(BRS), MCUs, RTP translator, or RTP mixers, depending on the precise depending on the precise use case described Section 6.
use case described in section 6.
RTCP Third Party Loss Report follows the similar format of message RTCP TPLR follows the similar format of message type as RTCP NACK or
type as RTCP NACK or Full Intra Request Command. However, the Third Full Intra Request Command. However, the RTCP TPLR is defined as an
Party Loss Report is defined as an indication that the sender of the indication that the sender of the feedback has received reports that
feedback has received reports that the indicated packets were lost, the indicated packets were lost, while NACK [RFC4585] just indicates
while NACK [RFC4585] just indicates that the sender of the NACK that the sender of the NACK observed that these packets were lost.
observed that these packets were lost. The Third Party Loss Report The RTCP TPLR message is generated by an intermediary that may not
(TPLR) message is generated by an intermediary that may not seen the have seen the actual packet loss. It is sent following the same
actual packet loss. It is sent following the same timing rule as timing rule as sending NACK defined in RFC4585 [RFC4585]. The RTCP
sending NACK defined in RFC4585 [RFC4585]. The TPLR feedback message TPLR message may be sent in a regular full compound RTCP packet or in
may be sent in a regular full compound RTCP packet or in an early an early RTCP packet, as per the RTP/AVPF rules. Intermediaries in
RTCP packet, as per the RTP/AVPF rules. Intermediaries in the the network that receive a RTCP TPLR SHOULD NOT send their own
network that receive a Third Party Loss Report SHOULD NOT send their additional Third Party Loss Report messages for the same packet
own additional Third Party Loss Report messages for the same packet sequence numbers. They SHOULD simply forward the RTCP TPLR message
sequence numbers. They SHOULD simply forward the Third Party Loss received from upstream direction to the receiver(s), additionally,
Report message received from upstream direction to the receiver(s), they may generate their own RTCP TPLR that reports a set of the
additionally, they may generate their own Third Party Loss Report losses they see, which are different from ones reported in the RTCP
that reports a set of the losses they see, which are different from TPLR they received. The RTCP TPLR does not have the retransmission
ones reported in the Third Party Loss report they received. The request [RFC4588] semantics.
Third Party Loss Report does not have the retransmission request
[RFC4588] semantics.
When a receiver gets a Third Party Loss Report message, it MUST When a receiver gets a RTCP TPLR message, it MUST follow the rules
follow the rules for NACK suppression in RFC 4585 and refrain from for NACK suppression in RFC 4585 if the message is integrity
sending a feedback request (e.g., NACK or FIR) for the missing protected and authenticated and refrain from sending a feedback
packets reported in the message,which is dealt with in the same way request (e.g., NACK or FIR) for the missing packets reported in the
as receiving NACK. message,which is dealt with in the same way as receiving NACK.
To increase the robustness to the loss of a TPLR, TPLR may be To increase the robustness to the loss of a TPLR, The RTCP TPLR may
retransmitted. If the additional TPLR arrives at receiver, the be retransmitted. If the additional TPLR arrives at receiver, the
receiver SHOULD deal with the additional TPLR in the same way as receiver SHOULD deal with the additional TPLR in the same way as
receiving the first TPLR for the same packet and no additional receiving the first TPLR for the same packet and no additional
behavior for receiver is required. behavior for receiver is required.
A receiver may have sent a Feedback message according to the RTP/AVPF A receiver may have sent a Feedback message according to the RTP/AVPF
scheduling algorithm of RFC4585 [RFC4585] before receiving a Third scheduling algorithm of RFC4585 [RFC4585] before receiving a RTCP
Party Loss Report message, but further feedback messages for those TPLR message, but further feedback messages for those sequence
sequence numbers SHOULD be suppressed for a period of time after numbers SHOULD be suppressed for a period of time after receiving the
receiving the TPLR. Nodes that do not understand the Third Party RTCP TPLR. Nodes that do not understand the RTCP TPLR message will
Loss Report message will ignore it, and might therefore still send ignore it, and might therefore still send feedback according to the
feedback according to the AVPF scheduling algorithm of RFC4585 AVPF scheduling algorithm of RFC4585 [RFC4585]. The media source or
[RFC4585]. The media source or intermediate nodes cannot be certain intermediate nodes cannot be certain that the use of a RTCP TPLR
that the use of a Third Party Loss Report message actually reduces message actually reduces the amount of feedback it receives.
the amount of feedback it receives.
4. Format of RTCP Feedback Messages 4. Format of RTCP Feedback Messages
This document registers two new RTCP Feedback messages for Third This document introduces two new RTCP Feedback messages for Third
Party Loss Report. Applications that are employing one or more loss- Party Loss Report. Applications that are employing one or more loss-
repair methods MAY use the Third Party Loss Report together with repair methods MAY use the RTCP TPLR together with their existing
their existing loss-repair methods either for every packet they loss-repair methods either for every packet they expect to receive,
expect to receive, or for an application-specific subset of the RTP or for an application-specific subset of the RTP packets in a
packets in a session. In other words, receivers MAY ignore Third session. In other words, receivers MAY ignore RTCP TPLR messages,
Party Loss Report messages, but SHOULD react to them unless they have but SHOULD react to them unless they have good reason to still send
good reason to still send feedback messages despite having been feedback messages despite having been requested to suppress them.
requested to suppress them.
4.1. Transport Layer Feedback: Third-party Loss Report The following two sections each define a RTCP TPLR message. Both
messages are feedback messages as defined in section 6.1 of RFC4585
[RFC4585], and use the header format defined there. Each section
defines how to populate the PT, FMT,length SSRC of packet sender,
SSRC of media source, and FCI fields in that header.
This Third Party Loss Report message is an extension to the RTCP 4.1. Transport Layer Feedback: Third Party Loss Report (TPLR)
Transport Layer Feedback Report and identified by RTCP packet type
value PT=RTPFB and FMT=TBD. This TPLR message is identified by RTCP packet type value PT=RTPFB
and FMT=TBA1.
Within the common packet header for feedback messages (as defined in Within the common packet header for feedback messages (as defined in
section 6.1 of RFC4585 [RFC4585]), the "SSRC of packet sender" field section 6.1 of RFC4585 [RFC4585]), the "SSRC of packet sender" field
indicates the source of the request, and the "SSRC of media source" indicates the source of the request, and the "SSRC of media source"
denotes the media sender of the flow for which the indicated losses denotes the media sender of the flow for which the indicated losses
are being suppressed. are being suppressed.
The FCI field MUST contain one or more entries of transport layer The Feedback Control Information (FCI) field MUST contain one or more
third party loss Early Indication (TLLEI). Each entry applies to the entries of transport layer third party loss Early Indication (TLLEI).
same media source identified by the SSRC contained in the SSRC of Each entry applies to the same media source identified by the SSRC
media source field of Feedback header. The length of the TLLEI contained in the SSRC of media source field of Feedback header. The
feedback message MUST be set to 2+1*N, where N is the number of FCI length field in the TLLEI feedback message MUST be set to 2+1*N,
entries. where N is the number of FCI entries.
The Feedback Control Information (FCI) for TLLEI uses the similar The FCI field for TLLEI uses the similar format of message Types
format of message Types defined in the section 6.2.1 of RFC4585 defined in the section 6.2.1 of RFC4585 [RFC4585]. The format is
[RFC4585]. The format is shown in Figure 1. shown in Figure 1.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID | BLP | | PID | BLP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Syntax of an FCI Entry in the TLLEI Feedback Message Figure 1: Syntax of an FCI Entry in the TLLEI Feedback Message
Packet ID (PID): 16 bits Packet ID (PID): 16 bits
skipping to change at page 6, line 25 skipping to change at page 7, line 38
The PID field is used to specify a lost packet. The PID field The PID field is used to specify a lost packet. The PID field
refers to the RTP sequence number of the lost packet. refers to the RTP sequence number of the lost packet.
bitmask of lost packets (BLP): 16 bits bitmask of lost packets (BLP): 16 bits
The BLP allows for reporting losses of any of the 16 RTP packets The BLP allows for reporting losses of any of the 16 RTP packets
immediately following the RTP packet indicated by the PID. The immediately following the RTP packet indicated by the PID. The
BLP's definition is identical to that given in the section 6.2.1 BLP's definition is identical to that given in the section 6.2.1
of [RFC4585]. of [RFC4585].
4.2. Payload Specific Feedback: Third-party Loss Report 4.2. Payload Specific Feedback: Third Party Loss Report (TPLR)
This message is an extension to the RTCP Payload Specific Feedback This TPLR message is identified by RTCP packet type value PT=PSFB and
report and identified by RTCP packet type value PT=PSFB and FMT=TBD, FMT=TBA2, which is used to suppress FIR [RFC5104] and PLI [RFC4585].
which is used to suppress FIR [RFC5104] and PLI [RFC4585].
Within the common packet header for feedback messages (as defined in Within the common packet header for feedback messages (as defined in
section 6.1 of RFC4585 [RFC4585]), the "SSRC of packet sender" field section 6.1 of RFC4585 [RFC4585]), the "SSRC of packet sender" field
indicates the source of the request, and the "SSRC of media source" indicates the source of the request, and the "SSRC of media source"
is not used and SHALL be set to 0. The SSRCs of the media senders to is not used and SHALL be set to 0. The SSRCs of the media senders to
which this message applies are in the corresponding FCI entries. which this message applies are in the corresponding FCI entries.
The Feedback Control Information (FCI) for a Payload Specific Third The FCI field for a Payload Specific Third Party Loss Early
Party Loss Early Indication (PSLEI) consists one or more FCI entries. Indication (PSLEI) consists one or more FCI entries. Each entry
Each entry applies to a different media Source, identified by its applies to a different media Source, identified by its SSRC. the
SSRC. the content of which is depicted in Figure 2. The length of content of which is depicted in Figure 2. The length field in the
the PSLEI feedback message MUST be set to 2+1*N, where N is the PSLEI feedback message MUST be set to 2+1*N, where N is the number of
number of FCI entries. FCI entries.
The format is shown in Figure 2. The format is shown in Figure 2.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC | | SSRC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Syntax of an FCI Entry in the PSLEI Feedback Message Figure 2: Syntax of an FCI Entry in the PSLEI Feedback Message
skipping to change at page 8, line 29 skipping to change at page 9, line 41
In SSM RTP sessions as described in "RTP Control Protocol (RTCP) In SSM RTP sessions as described in "RTP Control Protocol (RTCP)
Extensions for Single-Source Multicast Sessions with Unicast Extensions for Single-Source Multicast Sessions with Unicast
Feedback" [RFC5760], one or more Media Sources send RTP packets to a Feedback" [RFC5760], one or more Media Sources send RTP packets to a
Distribution Source. The Distribution Source relays the RTP packets Distribution Source. The Distribution Source relays the RTP packets
to the receivers using a source- specific multicast group. to the receivers using a source- specific multicast group.
As outlined in the RFC5760 [RFC5760], there are two Unicast Feedback As outlined in the RFC5760 [RFC5760], there are two Unicast Feedback
models that may be used for reporting, the Simple Feedback model and models that may be used for reporting, the Simple Feedback model and
the Distribution Source Feedback Summary Model. In the simple the Distribution Source Feedback Summary Model. In the simple
Feedback Model, there's no need for distribution source to create the Feedback Model, there's no need for distribution source to create the
Third Party Loss Report, instead, NACKs are reflected by the RTCP TPLRs, instead, RTCP NACKs are reflected by the distribution
distribution source to the other Receivers. However in the source to the other Receivers. However in the Distribution Source
Distribution Source Feedback Summary model, the distribution source Feedback Summary model, the distribution source will not redistribute
will not redistribute the NACK for some reason(e.g., to prevent the NACK for some reason(e.g., to prevent revealing the identity or
revealing the identity or existence of a system sending NACK)and may existence of a system sending NACK)and may send a RTCP TPLR message
send a Third Party Loss Report to the systems that were unable to to the systems that were unable to receive the NACK, and won't
receive the NACK, and won't receive the NACK via other means. The receive the NACK via other means. The RTCP TPLR can be generated at
Third Party Loss Report can be generated at the distribution source the distribution source when downstream loss is reported (e.g.,
when downstream loss is told (e.g., downstream loss report is downstream loss report is received), which indicates to the receivers
received), which indicates to the receivers that they should not that they should not transmit feedback messages for the same loss
transmit feedback messages for the same loss event for a certain event for a certain time. Therefore the distribution source in the
time. Therefore the distribution source in the feedback summary feedback summary model can be reasonably certain that it will help
model can be reasonably certain that it will help the situation the situation (i.e., unable receive the NACK) by sending this RTCP
(i.e., unable receive the NACK) by sending this Third Party Loss TPLR message to all the relevant receivers impacted by the packet
Report message to all the relevant receivers impacted by the packet
loss. loss.
6.2. Unicast based Rapid Acquisition of Multicast Stream (RAMS) use 6.2. Unicast based Rapid Acquisition of Multicast Stream (RAMS) use
case case
The typical RAMS architecture [RFC6285] may have several Burst/ The typical RAMS architecture [RFC6285] may have several Burst/
Retransmission Sources(BRS) behind the multicast source (MS) placed Retransmission Sources(BRS) behind the multicast source (MS) placed
at the same level. These BRSes will receive the primary multicast at the same level. These BRSes will receive the primary multicast
RTP stream from the media source and cache most recent packets after RTP stream from the media source and cache most recent packets after
joining multicast session. If packet loss happens at the upstream of joining multicast session. If packet loss happens at the upstream of
all the BRSs or the downstream of BRSes. One of the BRSes or all the all the BRSs or the downstream of BRSes. One of the BRSes or all the
BRSes may send a NACK or TPLR message to the DS, where the SSRC in BRSes may send a RTCP NACK or RTCP TPLR message to the DS, where the
this NACK or TPLR message is the BRS that is sending the message. SSRC in this RTCP NACK or RTCP TPLR message is the BRS that is
The DS forwards/reflects this message down on the primary SSM. The sending the message. The DS forwards/reflects this message down on
details on how DS deal with this message is specified in the primary SSM. The details on how DS deal with this message is
[RETRANSMISSION-FOR-SSM]. specified in [RETRANSMISSION-FOR-SSM].
6.3. RTP Transport Translator use case 6.3. RTP Transport Translator use case
A Transport Translator (Topo-Trn-Translator), as defined in RFC5117 A Transport Translator (Topo-Trn-Translator), as defined in RFC5117
[RFC5117] is typically forwarding the RTP and RTCP traffic between [RFC5117] is typically forwarding the RTP and RTCP traffic between
RTP clients, for example converting from multicast to unicast for RTP clients, for example converting from multicast to unicast for
domains that do not support multicast. The translator may suffer a domains that do not support multicast. The translator may suffer a
loss of important video packets. In this case, the translator may loss of important video packets. In this case, the translator may
forward TPLR message received from upstream in the same way as forward RTCP TPLR message received from upstream in the same way as
forwarding other RTCP traffic. If the translator acting as the forwarding other RTCP traffic. If the translator acting as the
monitor [MONARCH] is aware of packet loss, it may use the SSRC of monitor [MONARCH] is aware of packet loss, it may use the SSRC of
monitor as packet sender SSRC to create NACK message and send it to monitor as packet sender SSRC to create NACK message and send it to
the receivers that is not aware of packet loss. the receivers that are not aware of packet loss.
6.4. Multipoint Control Unit (MCU) use case 6.4. Multipoint Control Unit (MCU) use case
When the speaker is changed in a voice-activated multipoint video When the speaker is changed in a voice-activated multipoint video
switching conference [RFC4587], an RTP mixer can be used to select switching conference [RFC4587], an RTP mixer can be used to select
the available input streams and forward them to each participants. the available input streams and forward them to each participants.
If the MCU is doing a blind switch without waiting for a If the MCU is doing a blind switch without waiting for a
synchronization point on the new stream it can send a FIR to the new synchronization point on the new stream it can send a FIR to the new
video source. In this case the MCU should send a FIR suppression video source. In this case the MCU should send a FIR suppression
message to the new receivers. e.g., when the RTP Mixer starts to message to the new receivers. e.g., when the RTP Mixer starts to
receive FIR from some participants it can suppress the remaining receive FIR from some participants it can suppress the remaining
session participants from sending FIR by sending out a Third party session participants from sending FIR by sending out a RTCP TPLR
Loss report message. message.
6.5. Mixer use case 6.5. Mixer use case
A Mixer, in accordance with RFC5117 [RFC5117], aggregates multiple A Mixer, in accordance with RFC5117 [RFC5117], aggregates multiple
RTP streams from other session participants and generates a new RTP RTP streams from other session participants and generates a new RTP
stream sent to the session participants. In some cases, the video stream sent to the session participants. In some cases, the video
frames may get badly screwed up between media source and the mixer. frames may get badly screwed up between media source and the mixer.
In such case, the mixer need to check if the packet loss will result In such case, the mixer need to check if the packet loss will result
in PLI or FIR transmissions from most of the group by analyzing the in PLI or FIR transmissions from most of the group by analyzing the
received video. If so the mixer may initiate FIR or PLI towards the received video. If so the mixer may initiate FIR or PLI towards the
media source on behalf of all the session participants and send out a media source on behalf of all the session participants and send out a
Third party Loss report message to these session participants that RTCP TPLR message to these session participants that may or are
may or are expected to send a PLI or FIR. Alternatively, when the expected to send a PLI or FIR. Alternatively, when the mixer starts
mixer starts to receive FIR or PLI from some participants and like to to receive FIR or PLI from some participants and like to suppress the
suppress the remaining session participants from sending FIR or PLI remaining session participants from sending FIR or PLI by forwarding
by forwarding the FIR/PLI from one session participant to others. the FIR/PLI from one session participant to others.
7. Security Considerations 7. Security Considerations
The defined messages have certain properties that have security The defined messages have certain properties that have security
implications. These must be addressed and taken into account by implications. These must be addressed and taken into account by
users of this protocol. users of this protocol.
Spoofed or maliciously created feedback messages of the type defined Spoofed or maliciously created feedback messages of the type defined
in this specification can have the following implications: in this specification can have the following implications:
Sending the spurious Third Party Loss Report (e.g., the Third Party Sending the spurious Third Party Loss Report packet(e.g., the RTCP
Loss Report with the wrong sequence number of lost packet) that TPLR with the wrong sequence number of lost packet) that causes
causes missing RTP packets to not be repaired in a timely fashion. missing RTP packets to not be repaired in a timely fashion. If a
receiver accepts such unauthenticated packet, an attacker could cause
packet loss disrupting an important part of a session, preemptively
sending feedback suppression. An attacker that is also a receiver
has enough information to suppress all the feedbacks from any other
listeners that don't accept unauthenticated packets.
To prevent these attacks, there is a need to apply authentication and To prevent these attacks, there is a need to apply authentication and
integrity protection of the feedback messages. This can be integrity protection of the feedback messages. This can be
accomplished against threats external to the current RTP session accomplished against threats external to the current RTP session
using the RTP profile that combines Secure RTP [RFC3711] and AVPF using the RTP profile that combines Secure RTP [RFC3711] and AVPF
into SAVPF [RFC5124]. into SAVPF [RFC5124].
Note that intermediaries that are not visible at the RTP layer that Note that intermediaries that are not visible at the RTP layer that
wish to send the Third Party Loss Reports on behalf of the media wish to send the Third Party Loss Reports on behalf of the media
source can only do so if they spoof the SSRC of the media source. source can only do so if they spoof the SSRC of the media source.
skipping to change at page 10, line 42 skipping to change at page 12, line 14
Also note that endpoints that receive a Third Party Loss Report would Also note that endpoints that receive a Third Party Loss Report would
be well-advised to ignore it, unless the security is in place to be well-advised to ignore it, unless the security is in place to
authenticate the sender of the Third Party Loss Report. Accepting authenticate the sender of the Third Party Loss Report. Accepting
Third Party Loss Report from un-authenticated sender can lead to a Third Party Loss Report from un-authenticated sender can lead to a
denial of service attack, where the endpoint accepts poor quality denial of service attack, where the endpoint accepts poor quality
media that could be repaired. media that could be repaired.
8. IANA Consideration 8. IANA Consideration
For use with "nack" [RFC4585], a joint sub-registry has been set up This document instructs IANA to add two values in "ack" and "nack"
that registers the following two values: Attribute Values registry for use with "nack"[RFC4585]:
The value registration for the attribute value "nack": The value registration for the attribute value "nack":
Value name: tllei Value name: tllei
Long name: Transport Layer Third Party Loss Early Indication Long name: Transport Layer Third Party Loss Early Indication
Usable with: nack Usable with: nack
Reference: RFC 4585. Reference: RFC 4585.
Value name: pslei Value name: pslei
Long name: Payload Specific Third Party Long name: Payload Specific Third Party
skipping to change at page 12, line 24 skipping to change at page 13, line 38
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006. Description Protocol", RFC 4566, July 2006.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008. Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman, [RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman,
"Codec Control Messages in the RTP Audio-Visual Profile "Codec Control Messages in the RTP Audio-Visual Profile
with Feedback (AVPF)", RFC 5104, February 2008. with Feedback (AVPF)", RFC 5104, February 2008.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004.
[RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for
Real-time Transport Control Protocol (RTCP)-Based Feedback
(RTP/SAVPF)", RFC 5124, February 2008.
10.2. Informative References 10.2. Informative References
[RFC6285] Steeg, B., Begen, A., Caenegem, T., and Z. Vax, "Unicast- [RFC6285] Steeg, B., Begen, A., Caenegem, T., and Z. Vax, "Unicast-
Based Rapid Acquisition of Multicast RTP Sessions", Based Rapid Acquisition of Multicast RTP Sessions",
June 2011. June 2011.
[MONARCH] Wu, Q., Hunt, G., and P. Arden, "Monitoring Architectures [MONARCH] Wu, Q., Hunt, G., and P. Arden, "Monitoring Architectures
for RTP", June 2011. for RTP", June 2011.
[RETRANSMISSION-FOR-SSM] [RETRANSMISSION-FOR-SSM]
skipping to change at page 12, line 47 skipping to change at page 14, line 22
[RFC5117] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117, [RFC5117] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117,
January 2008. January 2008.
[RFC4587] Even, R., "RTP Payload Format for H.261 Video Streams", [RFC4587] Even, R., "RTP Payload Format for H.261 Video Streams",
RFC 4587, August 2006. RFC 4587, August 2006.
[RFC5760] Ott, J., Chesterfield, J., and E. Schooler, "RTP Control [RFC5760] Ott, J., Chesterfield, J., and E. Schooler, "RTP Control
Protocol (RTCP) Extensions for Single-Source Multicast Protocol (RTCP) Extensions for Single-Source Multicast
Sessions with Unicast Feedback", RFC 5760, February 2010. Sessions with Unicast Feedback", RFC 5760, February 2010.
[RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for
Real-time Transport Control Protocol (RTCP)-Based Feedback
(RTP/SAVPF)", RFC 5124, February 2008.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004.
Appendix A. Change Log Appendix A. Change Log
Note to the RFC-Editor: please remove this section prior to Note to the RFC-Editor: please remove this section prior to
publication as an RFC. publication as an RFC.
A.1. draft-ietf-avtcore-feedback-suppression-rtp-01 A.1. draft-ietf-avtcore-feedback-suppression-rtp-01
The following are the major changes compared to previous version: The following are the major changes compared to previous version:
o Remove the merge report from SSM use case and additional text to o Remove the merge report from SSM use case and additional text to
skipping to change at page 16, line 40 skipping to change at page 18, line 7
The following are the major changes compared to previous version: The following are the major changes compared to previous version:
o Additional Editorial changes. o Additional Editorial changes.
A.13. draft-ietf-avtcore-feedback-suppression-rtp-13 A.13. draft-ietf-avtcore-feedback-suppression-rtp-13
The following are the major changes compared to previous version: The following are the major changes compared to previous version:
o Additional Editorial changes. o Additional Editorial changes.
A.14. draft-ietf-avtcore-feedback-suppression-rtp-14
The following are the major changes compared to previous version:
o Two References moving to normative refereces.
o Revise IANA section to clarify whether to create new registry or
add new value to the existing registry.
o Revise Security section to clarify ill effect of accepting
unauthenticated messages.
o Add a glossary to fix acronym issue.
o Other Editorial changes.
Authors' Addresses Authors' Addresses
Qin Wu Qin Wu
Huawei Huawei
101 Software Avenue, Yuhua District 101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012 Nanjing, Jiangsu 210012
China China
Email: sunseawq@huawei.com Email: sunseawq@huawei.com
Frank Xia Frank Xia
Huawei Huawei
1700 Alma Dr. Suite 500 1700 Alma Dr. Suite 500
Plano, TX 75075 Plano, TX 75075
USA USA
Phone: +1 972-509-5599 Phone: +1 972-509-5599
Email: xiayangsong@huawei.com Email: xiayangsong@huawei.com
Roni Even Roni Even
 End of changes. 32 change blocks. 
157 lines changed or deleted 197 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/