draft-ietf-avtcore-feedback-supression-rtp-12.txt   draft-ietf-avtcore-feedback-supression-rtp-13.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 20, 2012 Huawei Expires: August 26, 2012 Huawei
February 17, 2012 February 23, 2012
RTCP Extension for Third-party Loss Report RTCP Extension for Third-party Loss Report
draft-ietf-avtcore-feedback-supression-rtp-12 draft-ietf-avtcore-feedback-supression-rtp-13
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 20, 2012. This Internet-Draft will expire on August 26, 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 3
3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 4 3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 4
4. Format of RTCP Feedback Messages . . . . . . . . . . . . . . . 5 4. Format of RTCP Feedback Messages . . . . . . . . . . . . . . . 5
4.1. Transport Layer Feedback: Third-party Loss Report . . . . 5 4.1. Transport Layer Feedback: Third-party Loss Report . . . . 5
4.2. Payload Specific Feedback: Third-party Loss Report . . . . 6 4.2. Payload Specific Feedback: Third-party Loss Report . . . . 6
5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 7 5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 7
6. Example Use Cases . . . . . . . . . . . . . . . . . . . . . . 8 6. Example Use Cases . . . . . . . . . . . . . . . . . . . . . . 8
6.1. Source Specific Multicast (SSM) use case . . . . . . . . . 8 6.1. Source Specific Multicast (SSM) use case . . . . . . . . . 8
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 . . . . . . . . . . . . . . . . . . . . . 8
6.3. RTP Transport Translator use case . . . . . . . . . . . . 9 6.3. RTP Transport Translator use case . . . . . . . . . . . . 9
skipping to change at page 2, line 37 skipping to change at page 2, line 37
6.5. Mixer use case . . . . . . . . . . . . . . . . . . . . . . 9 6.5. Mixer use case . . . . . . . . . . . . . . . . . . . . . . 9
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10
8. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 10 8. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 10
9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 11 9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 11
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
10.1. Normative References . . . . . . . . . . . . . . . . . . . 11 10.1. Normative References . . . . . . . . . . . . . . . . . . . 11
10.2. Informative References . . . . . . . . . . . . . . . . . . 12 10.2. Informative References . . . . . . . . . . . . . . . . . . 12
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 13 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 13
A.1. draft-ietf-avtcore-feedback-suppression-rtp-01 . . . . . . 13 A.1. draft-ietf-avtcore-feedback-suppression-rtp-01 . . . . . . 13
A.2. draft-ietf-avtcore-feedback-suppression-rtp-02 . . . . . . 13 A.2. draft-ietf-avtcore-feedback-suppression-rtp-02 . . . . . . 13
A.3. draft-ietf-avtcore-feedback-suppression-rtp-03 . . . . . . 14 A.3. draft-ietf-avtcore-feedback-suppression-rtp-03 . . . . . . 13
A.4. draft-ietf-avtcore-feedback-suppression-rtp-04 . . . . . . 14 A.4. draft-ietf-avtcore-feedback-suppression-rtp-04 . . . . . . 14
A.5. draft-ietf-avtcore-feedback-suppression-rtp-05 . . . . . . 14 A.5. draft-ietf-avtcore-feedback-suppression-rtp-05 . . . . . . 14
A.6. draft-ietf-avtcore-feedback-suppression-rtp-06 . . . . . . 15 A.6. draft-ietf-avtcore-feedback-suppression-rtp-06 . . . . . . 15
A.7. draft-ietf-avtcore-feedback-suppression-rtp-07 . . . . . . 15 A.7. draft-ietf-avtcore-feedback-suppression-rtp-07 . . . . . . 15
A.8. draft-ietf-avtcore-feedback-suppression-rtp-08 . . . . . . 15 A.8. draft-ietf-avtcore-feedback-suppression-rtp-08 . . . . . . 15
A.9. draft-ietf-avtcore-feedback-suppression-rtp-09 . . . . . . 16 A.9. draft-ietf-avtcore-feedback-suppression-rtp-09 . . . . . . 15
A.10. draft-ietf-avtcore-feedback-suppression-rtp-10 . . . . . . 16 A.10. draft-ietf-avtcore-feedback-suppression-rtp-10 . . . . . . 16
A.11. draft-ietf-avtcore-feedback-suppression-rtp-11 . . . . . . 16 A.11. draft-ietf-avtcore-feedback-suppression-rtp-11 . . . . . . 16
A.12. draft-ietf-avtcore-feedback-suppression-rtp-12 . . . . . . 16
A.13. draft-ietf-avtcore-feedback-suppression-rtp-13 . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16
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
skipping to change at page 3, line 28 skipping to change at page 3, line 28
without proper dithering of the retransmission requests (e.g., not without proper dithering of the retransmission requests (e.g., not
implementing the RFC 4585 dithering rules or sending NACKs to a implementing the RFC 4585 dithering rules or sending NACKs to a
feedback target that doesn't redistribute them to other receivers). feedback target that doesn't redistribute them to other receivers).
Another use case involves video Fast Update requests. A storm of Another use case involves video Fast Update requests. A storm of
these feedback messages can occur in conversational multimedia these feedback messages can occur in conversational multimedia
scenarios like multipoint video switching conference [RFC4587]. In scenarios like multipoint video switching conference [RFC4587]. In
this scenario, the receiver may lose synchronization with the video this scenario, the receiver may lose synchronization with the video
stream when speaker is changed in the middle of session. Poorly stream when speaker is changed in the middle of session. Poorly
designed receivers that blindly issue fast update requests (i.e., designed receivers that blindly issue fast update requests (i.e.,
Full Intra Request (FIR) described in [RFC5104]), can cause an Full Intra Request (FIR) described in RFC5104 [RFC5104]), can cause
implosion of FIR requests from receivers to the same media source. an implosion of FIR requests from receivers to the same media source.
RTCP feedback storms may cause short term overload, and in extreme RTCP feedback storms may cause short term overload, and in extreme
cases to pose a possible risk of increasing network congestion on the cases to pose a possible risk of increasing network congestion on the
control channel (e.g. RTCP feedback), the data channel, or both. It control channel (e.g. RTCP feedback), the data channel, or both. It
is therefore desirable to provide a way of suppressing unneeded is therefore desirable to provide a way of suppressing unneeded
feedback. This document specifies a new third-party loss report for feedback. This document specifies a new third-party loss report for
this function. It supplements the existing the use of RTCP NACK this function. It supplements the existing the use of RTCP NACK
packet and further is more precise in the uses where the network is packet and further is more precise in the uses where the network is
active to suppress feedback. It tells receivers explicitly that active to suppress feedback. It tells receivers explicitly that
feedback for a particular packet or frame loss is not needed for a feedback for a particular packet or frame loss is not needed for a
period of time and can provide an early indication before the period of time and can provide an early indication before the
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. Terminology 2. Requirements Notation
The keywords "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]. document are to be interpreted as described in RFC2119 [RFC2119].
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
Audio-Visual Profile with feedback (RTP/AVPF) [RFC4585] defining a Audio-Visual Profile with feedback (RTP/AVPF) [RFC4585] defining a
Third Party Loss Report message. The Third Party Loss Report message Third Party Loss Report message. The Third Party Loss Report message
can be used by the intermediaries to inform the receiver that the can be used by the intermediaries to inform the receiver that the
sender of the Third Party Loss Report has received reports that the sender of the Third Party Loss Report has received reports that the
indicated packets were lost, and asks the receiver not to send indicated packets were lost, and asks the receiver not to send
feedback to it regarding these packets. Intermediaries are variously feedback to it regarding these packets. Intermediaries are variously
skipping to change at page 4, line 26 skipping to change at page 4, line 26
use case described in section 6. use case described in section 6.
RTCP Third Party Loss Report follows the similar format of message RTCP Third Party Loss Report follows the similar format of message
type as RTCP NACK or Full Intra Request Command. However, the Third type as RTCP NACK or Full Intra Request Command. However, the Third
Party Loss Report is defined as an indication that the sender of the Party Loss Report is defined as an indication that the sender of the
feedback has received reports that the indicated packets were lost, feedback has received reports that the indicated packets were lost,
while NACK [RFC4585] just indicates that the sender of the NACK while NACK [RFC4585] just indicates that the sender of the NACK
observed that these packets were lost. The Third Party Loss Report observed that these packets were lost. The Third Party Loss Report
(TPLR) message is generated by an intermediary that may not seen the (TPLR) message is generated by an intermediary that may not seen the
actual packet loss. It is sent following the same timing rule as actual packet loss. It is sent following the same timing rule as
sending NACK defined in [RFC4585]. The TPLR feedback message may be sending NACK defined in RFC4585 [RFC4585]. The TPLR feedback message
sent in a regular full compound RTCP packet or in an early RTCP may be sent in a regular full compound RTCP packet or in an early
packet, as per the RTP/AVPF rules. Intermediaries in the network RTCP packet, as per the RTP/AVPF rules. Intermediaries in the
that receive a Third Party Loss Report 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 Third Party Loss sequence numbers. They SHOULD simply forward the Third Party Loss
Report message received from upstream direction to the receiver(s), Report message received from upstream direction to the receiver(s),
additionally, they may generate their own Third Party Loss Report additionally, they may generate their own Third Party Loss Report
that reports a set of the losses they see, which are different from that reports a set of the losses they see, which are different from
ones reported in the Third Party Loss report they received. The ones reported in the Third Party Loss report they received. The
Third Party Loss Report does not have the retransmission request Third Party Loss Report does not have the retransmission request
[RFC4588] semantics. [RFC4588] semantics.
When a receiver gets a Third Party Loss Report message, it should When a receiver gets a Third Party Loss Report message, it MUST
follow the rules for NACK suppression in RFC 4585 and refrain from follow the rules for NACK suppression in RFC 4585 and refrain from
sending a feedback request (e.g., NACK or FIR) for the missing sending a feedback request (e.g., NACK or FIR) for the missing
packets reported in the message,which is dealt with in the same way packets reported in the message,which is dealt with in the same way
as receiving NACK. 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, TPLR may be
retransmitted. If the additional TPLR arrives at receiver, the 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] before receiving a Third Party Loss scheduling algorithm of RFC4585 [RFC4585] before receiving a Third
Report message, but further feedback messages for those sequence Party Loss Report message, but further feedback messages for those
numbers SHOULD be suppressed for a period of time after receiving the sequence numbers SHOULD be suppressed for a period of time after
TPLR. Nodes that do not understand the Third Party Loss Report receiving the TPLR. Nodes that do not understand the Third Party
message will ignore it, and might therefore still send feedback Loss Report message will ignore it, and might therefore still send
according to the AVPF scheduling algorithm of [RFC4585]. The media feedback according to the AVPF scheduling algorithm of RFC4585
source or intermediate nodes cannot be certain that the use of a [RFC4585]. The media source or intermediate nodes cannot be certain
Third Party Loss Report message actually reduces the amount of that the use of a Third Party Loss Report message actually reduces
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 registers 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 Third Party Loss Report together with
their existing loss-repair methods either for every packet they their existing loss-repair methods either for every packet they
expect to receive, or for an application-specific subset of the RTP expect to receive, or for an application-specific subset of the RTP
packets in a session. In other words, receivers MAY ignore Third packets in a session. In other words, receivers MAY ignore Third
Party Loss Report messages, but SHOULD react to them unless they have Party Loss Report messages, but SHOULD react to them unless they have
good reason to still send feedback messages despite having been good reason to still send feedback messages despite having been
requested to suppress them. requested to suppress them.
4.1. Transport Layer Feedback: Third-party Loss Report 4.1. Transport Layer Feedback: Third-party Loss Report
This Third Party Loss Report message is an extension to the RTCP This Third Party Loss Report message is an extension to the RTCP
Transport Layer Feedback Report and identified by RTCP packet type Transport Layer Feedback Report and identified by RTCP packet type
value PT=RTPFB and FMT=TBD. value PT=RTPFB and FMT=TBD.
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]), 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 FCI field MUST contain one or more entries of transport layer
third party loss Early Indication (TLLEI). Each entry applies to the third party loss Early Indication (TLLEI). Each entry applies to the
same media source identified by the SSRC contained in the SSRC of same media source identified by the SSRC contained in the SSRC of
media source field of Feedback header. The length of the TLLEI media source field of Feedback header. The length of the TLLEI
feedback message MUST be set to 2+1*N, where N is the number of FCI feedback message MUST be set to 2+1*N, where N is the number of FCI
entries. entries.
The Feedback Control Information (FCI) for TLLEI uses the similar The Feedback Control Information (FCI) for TLLEI uses the similar
format of message Types defined in the section 6.2.1 of [RFC4585]. format of message Types defined in the section 6.2.1 of RFC4585
The format is shown in Figure 1. [RFC4585]. The format is 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 29 skipping to change at page 6, line 29
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
This message is an extension to the RTCP Payload Specific Feedback This message is an extension to the RTCP Payload Specific Feedback
report and identified by RTCP packet type value PT=PSFB and FMT=TBD, report and identified by RTCP packet type value PT=PSFB and FMT=TBD,
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]), 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 Feedback Control Information (FCI) for a Payload Specific Third
Party Loss Early Indication (PSLEI) consists one or more FCI entries. Party Loss Early Indication (PSLEI) consists one or more FCI entries.
Each entry applies to a different media Source, identified by its Each entry applies to a different media Source, identified by its
SSRC. the content of which is depicted in Figure 2. The length of SSRC. the content of which is depicted in Figure 2. The length of
the PSLEI feedback message MUST be set to 2+1*N, where N is the the PSLEI feedback message MUST be set to 2+1*N, where N is the
number of FCI entries. number of FCI entries.
skipping to change at page 7, line 17 skipping to change at page 7, line 17
Synchronization source (SSRC):32 bits Synchronization source (SSRC):32 bits
The SSRC value of the media source that is already aware, or in The SSRC value of the media source that is already aware, or in
the process of being made aware, that some receiver lost the process of being made aware, that some receiver lost
synchronization with the media stream and for which the PSLEI synchronization with the media stream and for which the PSLEI
receiver's own response to any such error is suppressed. receiver's own response to any such error is suppressed.
5. SDP Signaling 5. SDP Signaling
The Session Description Protocol (SDP) [RFC4566] attribute, rtcp-fb, The Session Description Protocol (SDP) [RFC4566] attribute, rtcp-fb,
is defined in the Section 4 of [RFC4585] and may be used to negotiate is defined in the Section 4 of RFC4585 [RFC4585] and may be used to
the capability to handle specific AVPF commands and indications. The negotiate the capability to handle specific AVPF commands and
ABNF for rtcp-fb is described in section 4.2 of [RFC4585]. In this indications. The ABNF for rtcp-fb is described in section 4.2 of
section, we extend the rtcp-fb attribute to include the commands and RFC4585 [RFC4585]. In this section, we extend the rtcp-fb attribute
indications that are described for third party loss report in the to include the commands and indications that are described for third
present document. party loss report in the present document.
In the ABNF [RFC5234] for rtcp-fb-val defined in [RFC4585], the In the ABNF [RFC5234] for rtcp-fb-val defined in RFC4585 [RFC4585],
feedback type "nack", without parameters, indicates use of the the feedback type "nack", without parameters, indicates use of the
Generic NACK feedback format as defined in Section 6.2.1of [RFC4585]. Generic NACK feedback format as defined in Section 6.2.1of RFC4585
In this document, we define two parameters that indicate the third [RFC4585]. In this document, we define two parameters that indicate
party loss supported for use with "nack", namely: the third party loss supported for use with "nack", namely:
o "tllei" denotes support of transport layer third party loss early o "tllei" denotes support of transport layer third party loss early
indication. indication.
o "pslei" denotes support of payload specific third party loss early o "pslei" denotes support of payload specific third party loss early
indication. indication.
The ABNF for these two parameters for "nack" is defined here (please The ABNF for these two parameters for "nack" is defined here (please
refer to section 4.2 of [RFC4585] for complete ABNF syntax). refer to section 4.2 of RFC4585 [RFC4585] for complete ABNF syntax).
rtcp-fb-val =/ "nack" rtcp-fb-nack-param rtcp-fb-val =/ "nack" rtcp-fb-nack-param
rtcp-fb-nack-param = SP "tllei" rtcp-fb-nack-param = SP "tllei"
;transport layer third party ;transport layer third party
; loss early indication ; loss early indication
/ SP "pslei" / SP "pslei"
;payload specific third party ;payload specific third party
; loss early indication ; loss early indication
/ SP token [SP byte-string] / SP token [SP byte-string]
; for future commands/indications ; for future commands/indications
token = <as defined in section 9 of [RFC4566]> token = <as defined in section 9 of [RFC4566]>
byte-string = <as defined in section 4.2 of [RFC4585] > byte-string = <as defined in section 4.2 of [RFC4585] >
Refer to Section 4.2 of [RFC4585] for a detailed description and the Refer to Section 4.2 of RFC4585 [RFC4585] for a detailed description
full syntax of the "rtcp-fb" attribute. and the full syntax of the "rtcp-fb" attribute.
6. Example Use Cases 6. Example Use Cases
The operation of feedback suppression is similar for all types of RTP The operation of feedback suppression is similar for all types of RTP
sessions and topologies [RFC5117], however the exact messages used sessions and topologies [RFC5117], however the exact messages used
and the scenarios in which suppression is employed differ for various and the scenarios in which suppression is employed differ for various
use cases. The following sections outline some of the intended use use cases. The following sections outline some of the intended use
cases for using the Third Party Loss Report for feedback suppression cases for using the Third Party Loss Report for feedback suppression
and give an overview of the particular mechanisms. and give an overview of the particular mechanisms.
6.1. Source Specific Multicast (SSM) use case 6.1. Source Specific Multicast (SSM) use case
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], there are two Unicast Feedback models As outlined in the RFC5760 [RFC5760], there are two Unicast Feedback
that may be used for reporting, the Simple Feedback model and the models that may be used for reporting, the Simple Feedback model and
Distribution Source Feedback Summary Model. In the simple Feedback the Distribution Source Feedback Summary Model. In the simple
Model, there's no need for distribution source to create the Third Feedback Model, there's no need for distribution source to create the
Party Loss Report, instead, NACKs are reflected by the distribution Third Party Loss Report, instead, NACKs are reflected by the
source to the other Receivers. However in the Distribution Source distribution source to the other Receivers. However in the
Feedback Summary model, the distribution source will not redistribute Distribution Source Feedback Summary model, the distribution source
the NACK for some reason(e.g., to prevent revealing the identity or will not redistribute the NACK for some reason(e.g., to prevent
existence of a system sending NACK)and may send a Third Party Loss revealing the identity or existence of a system sending NACK)and may
Report to the systems that were unable to receive the NACK, and won't send a Third Party Loss Report to the systems that were unable to
receive the NACK via other means. Since the summary feedback does receive the NACK, and won't receive the NACK via other means. The
not mandate the forwarding of NACK downstream. The Third Party Loss Third Party Loss Report can be generated at the distribution source
Report can be generated at the distribution source when downstream when downstream loss is told (e.g., downstream loss report is
loss is told (e.g., downstream loss report is received), which received), which indicates to the receivers that they should not
indicates to the receivers that they should not transmit feedback transmit feedback messages for the same loss event for a certain
messages for the same loss event for a certain time. Therefore the time. Therefore the distribution source in the feedback summary
distribution source in the feedback summary model can be reasonably model can be reasonably certain that it will help the situation
certain that it will help the situation by sending this Third Party (i.e., unable receive the NACK) by sending this Third Party Loss
Loss Report message to all the relevant receivers impacted by the Report message to all the relevant receivers impacted by the packet
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 NACK or TPLR message to the DS, where the SSRC in
this NACK or TPLR message is the BRS that is sending the message. this NACK or TPLR message is the BRS that is sending the message.
The DS forwards/reflects this message down on the primary SSM. The The DS forwards/reflects this message down on the primary SSM. The
details on how DS deal with this message is specified in details on how DS deal with this message is specified in
[RETRANSMISSION-FOR-SSM]. [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
is typically forwarding the RTP and RTCP traffic between RTP clients, [RFC5117] is typically forwarding the RTP and RTCP traffic between
for example converting from multicast to unicast for domains that do RTP clients, for example converting from multicast to unicast for
not support multicast. The translator may suffer a loss of important domains that do not support multicast. The translator may suffer a
video packets. In this case, the translator may forward TPLR message loss of important video packets. In this case, the translator may
received from upstream in the same way as forwarding other RTCP forward TPLR message received from upstream in the same way as
traffic. If the translator acting as the monitor [MONARCH]is aware forwarding other RTCP traffic. If the translator acting as the
of packet loss, it may use the SSRC of monitor as packet sender SSRC monitor [MONARCH] is aware of packet loss, it may use the SSRC of
to create NACK message and send it to the receivers that is not aware monitor as packet sender SSRC to create NACK message and send it to
of packet loss. the receivers that is 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 Third party
Loss report message. Loss report message.
6.5. Mixer use case 6.5. Mixer use case
A Mixer, in accordance with [RFC5117], aggregates multiple RTP A Mixer, in accordance with RFC5117 [RFC5117], aggregates multiple
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 Third party Loss report message to these session participants that
may or are expected to send a PLI or FIR. Alternatively, when the may or are expected to send a PLI or FIR. Alternatively, when the
mixer starts to receive FIR or PLI from some participants and like to mixer starts to receive FIR or PLI from some participants and like to
suppress the remaining session participants from sending FIR or PLI suppress the remaining session participants from sending FIR or PLI
skipping to change at page 11, line 21 skipping to change at page 11, line 21
Value name: pslei Value name: pslei
Long name: Payload Specific Third Party Long name: Payload Specific Third Party
Usable with: nack Usable with: nack
Reference: RFC 4585. Reference: RFC 4585.
The following value have been registered as one FMT value in the "FMT The following value have been registered as one FMT value in the "FMT
Values for RTPFB Payload Types" registry located at the time of Values for RTPFB Payload Types" registry located at the time of
publication at: http://www.iana.org/assignments/rtp-parameters publication at: http://www.iana.org/assignments/rtp-parameters
RTPFB range RTPFB range
Name Long Name Value Reference Name Long Name Value Reference
-------------- --------------------------------- ----- --------- -------------- --------------------------------- ----- ---------
TLLEI Transport Layer Third Party TBA1 [RFCXXXX] TLLEI Transport Layer Third Party TBA1 [RFCXXXX]
Loss Early Indication Loss Early Indication
The following value have been registered as one FMT value in the "FMT The following value have been registered as one FMT value in the "FMT
Values for PSFB Payload Types" registry located at the time of Values for PSFB Payload Types" registry located at the time of
publication at: http://www.iana.org/assignments/rtp-parameters publication at: http://www.iana.org/assignments/rtp-parameters
PSFB range PSFB range
Name Long Name Value Reference Name Long Name Value Reference
-------------- --------------------------------- ----- --------- -------------- --------------------------------- ----- --------
PSLEI Payload Specific Third Party TBA2 [RFCXXXX] PSLEI Payload Specific Third Party TBA2 [RFCXXXX]
Loss Early Indication Loss Early Indication
9. Acknowledgement 9. Acknowledgement
The authors would like to thank David R Oran, Magnus Westerlund, The authors would like to thank David R Oran, Magnus Westerlund,
Colin Perkins, Ali C. Begen, Tom VAN CAENEGEM, Ingemar Johansson S, Colin Perkins, Ali C. Begen, Tom VAN CAENEGEM, Ingemar Johansson S,
Bill Ver Steeg, Jonathan Lennox, WeeSan Lee for their valuable Bill Ver Steeg, Jonathan Lennox, WeeSan Lee for their valuable
comments and suggestions on this document. comments and suggestions on this document.
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", March 1997.
[RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
"Extended RTP Profile for Real-time Transport Control "Extended RTP Profile for Real-time Transport Control
Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,
July 2006. July 2006.
[RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R. [RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R.
Hakenberg, "RTP Retransmission Payload Format", RFC 4588, Hakenberg, "RTP Retransmission Payload Format", RFC 4588,
July 2006. July 2006.
skipping to change at page 12, line 29 skipping to change at page 12, line 26
[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.
10.2. Informative References 10.2. Informative References
[RFC5740] Adamson, B., Bormann, C., Handley, M., and J. Macker,
"NACK-Oriented Reliable Multicast (NORM) Transport
Protocol", November 2009.
[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]
Caenegem, T., Steeg, B., and A. Begen, "Retransmission for Caenegem, T., Steeg, B., and A. Begen, "Retransmission for
Source-Specific Multicast (SSM) Sessions", May 2011. Source-Specific Multicast (SSM) Sessions", May 2011.
skipping to change at page 13, line 36 skipping to change at page 13, line 29
and Leave how to repair packet loss beyond the scope. and Leave how to repair packet loss beyond the scope.
o Modify the SSM use case and RAMS use case to focus on uses. o Modify the SSM use case and RAMS use case to focus on uses.
o Other Editorial changes. o Other Editorial changes.
A.2. draft-ietf-avtcore-feedback-suppression-rtp-02 A.2. draft-ietf-avtcore-feedback-suppression-rtp-02
The following are the major changes compared to previous version: The following are the major changes compared to previous version:
o In Section 4.1, fix typo: Section 4.3.1.1 of section [RFC5104]-> o In Section 4.1, fix typo: change Section 4.3.1.1 of section
section 6.2.1 of [RFC4585]. [RFC5104] to section 6.2.1 of [RFC4585].
o In Section 3: Clarify how to deal with downstream loss using Third o In Section 3: Clarify how to deal with downstream loss using Third
party loss report and upstream loss using NACK. party loss report and upstream loss using NACK.
o Update title and abstract to focus on third party loss report. o Update title and abstract to focus on third party loss report.
o In Section 6.1: Update this section to explain how third party o In Section 6.1: Update this section to explain how third party
loss report is used to deal with downstream loss. loss report is used to deal with downstream loss.
o In section 6.1.2: Update this section to explain how third party o In section 6.1.2: Update this section to explain how third party
skipping to change at page 15, line 25 skipping to change at page 15, line 18
The following are the major changes compared to previous version: The following are the major changes compared to previous version:
o A few Editorial changes to the whole document. o A few Editorial changes to the whole document.
A.7. draft-ietf-avtcore-feedback-suppression-rtp-07 A.7. draft-ietf-avtcore-feedback-suppression-rtp-07
The following are the major changes compared to previous version: The following are the major changes compared to previous version:
o Restructuring the protocol overview section to clarify the round o Restructuring the protocol overview section to clarify the round
trip time calculation and receiver behavior to the additional trip
TPLR.
time calculation and receiver behavior to the additional TPLR.
o Restructuring the SSM use case section to focus on the use of o Restructuring the SSM use case section to focus on the use of
TPLR. TPLR.
o Editorial changes to the abstract, introduction, message format, o Editorial changes to the abstract, introduction, message format,
use cases and IANA sections. use cases and IANA sections.
o References update o References update
A.8. draft-ietf-avtcore-feedback-suppression-rtp-08 A.8. draft-ietf-avtcore-feedback-suppression-rtp-08
skipping to change at page 16, line 10 skipping to change at page 15, line 51
o Remove Seq Nr field in the figure 2 for payload specific feedback. o Remove Seq Nr field in the figure 2 for payload specific feedback.
o References reorganizing. o References reorganizing.
A.9. draft-ietf-avtcore-feedback-suppression-rtp-09 A.9. draft-ietf-avtcore-feedback-suppression-rtp-09
The following are the major changes compared to previous version: The following are the major changes compared to previous version:
o Clarify to suppression interval with regard to how long to receive o Clarify to suppression interval with regard to how long to receive
the retransmitted packet. Treating TPLR in the same way as the
receiving NACK .Replace timer based approach with timeless based retransmitted packet. Treating TPLR in the same way as receiving
approach NACK.
o Replace timer based approach with timeless based approach.
A.10. draft-ietf-avtcore-feedback-suppression-rtp-10 A.10. draft-ietf-avtcore-feedback-suppression-rtp-10
The following are the major changes compared to previous version: The following are the major changes compared to previous version:
o Fix the definition of Synchronization source for TPLR in section o Fix the definition of Synchronization source for TPLR in section
4.2. 4.2.
o Associate SDP parameters tllei and pslei with "nack". o Associate SDP parameters tllei and pslei with "nack".
o Remove the packet loss recovery from TPLR loss handling part. o Remove the packet loss recovery from TPLR loss handling part.
o Other typo fixed. o Other typo fixed.
A.11. draft-ietf-avtcore-feedback-suppression-rtp-11 A.11. draft-ietf-avtcore-feedback-suppression-rtp-11
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.12. draft-ietf-avtcore-feedback-suppression-rtp-12
The following are the major changes compared to previous version:
o Additional Editorial changes.
A.13. draft-ietf-avtcore-feedback-suppression-rtp-13
The following are the major changes compared to previous version:
o Additional 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
Huawei Huawei
14 David Hamelech 14 David Hamelech
Tel Aviv 64953 Tel Aviv 64953
Israel Israel
Email: even.roni@huawei.com Email: even.roni@huawei.com
 End of changes. 40 change blocks. 
107 lines changed or deleted 119 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/