draft-ietf-avtcore-feedback-supression-rtp-07.txt   draft-ietf-avtcore-feedback-supression-rtp-08.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: March 29, 2012 Huawei Expires: April 27, 2012 Huawei
September 26, 2011 October 25, 2011
RTCP Extension for Third-party Loss Report RTCP Extension for Third-party Loss Report
draft-ietf-avtcore-feedback-supression-rtp-07 draft-ietf-avtcore-feedback-supression-rtp-08
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
implosion. This memo discusses these cases and defines a new RTCP implosion. This memo discusses these cases and defines a new RTCP
third-party loss report that can be used to inform receivers that the third-party loss report that can be used to inform receivers that the
network is aware of some loss event, allowing them to suppress feedback target is aware of some loss event, allowing them to
feedback. Associated SDP signalling is also defined. suppress feedback. Associated SDP signalling is also defined.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 March 29, 2012. This Internet-Draft will expire on April 27, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 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
skipping to change at page 2, line 18 skipping to change at page 2, line 18
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 . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
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 . . . . 6
4.2. Payload Specific Feedback: Third-party Loss Report . . . . 6 4.2. Payload Specific Feedback: Third-party Loss Report . . . . 7
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 . . . . . . . . . . . . . . . . . . . . . 9 (RAMS) use case . . . . . . . . . . . . . . . . . . . . . 9
6.3. RTP transport translator use case . . . . . . . . . . . . 9 6.3. RTP Transport Translator use case . . . . . . . . . . . . 9
6.4. Multipoint Control Unit (MCU) use case . . . . . . . . . . 9 6.4. Multipoint Control Unit (MCU) use case . . . . . . . . . . 10
6.5. Mixer use Case . . . . . . . . . . . . . . . . . . . . . . 10 6.5. Mixer use case . . . . . . . . . . . . . . . . . . . . . . 10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10
8. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 11 8. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 11
9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 12 9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 12
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
10.1. Normative References . . . . . . . . . . . . . . . . . . . 12 10.1. Normative References . . . . . . . . . . . . . . . . . . . 12
10.2. Informative References . . . . . . . . . . . . . . . . . . 13 10.2. Informative References . . . . . . . . . . . . . . . . . . 13
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 . . . . . . 14
A.2. draft-ietf-avtcore-feedback-suppression-rtp-02 . . . . . . 14 A.2. draft-ietf-avtcore-feedback-suppression-rtp-02 . . . . . . 14
A.3. draft-ietf-avtcore-feedback-suppression-rtp-03 . . . . . . 14 A.3. draft-ietf-avtcore-feedback-suppression-rtp-03 . . . . . . 14
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 . . . . . . 15 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 . . . . . . 15
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 . . . . . . 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. the same, or an equivalent message towards the same media source.
When the receiver count is large, this behavior may cause transient When the receiver count is large, this behavior may cause transient
overload of the media source, the network or both. This is known as overload of the media source, the network or both. This is known as
a "feedback storm" or a "NACK storm". One common cause of such a a "feedback storm" or a "NACK storm". One common cause of such a
feedback storm is receivers utilizing RTP retransmission [RFC4588] as feedback storm is receivers utilizing RTP retransmission [RFC4588] as
a packet loss recovery technique based, sending feedback using RTCP a packet loss recovery technique, sending feedback using RTCP NACK
NACK messages [RFC4585] without proper dithering of the messages [RFC4585] without proper dithering of the retransmission
retransmission requests (e.g., implementing the RFC 4585 dithering requests (e.g., not implementing the RFC 4585 dithering rules or
rules or sending NACKs to a middlebox that doesn't redistribute them sending NACKs to a middlebox that doesn't redistribute them to other
to other receivers). 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]), can cause an
implosion of FIR requests from receivers to the same media source. 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. feedback.
One approach to this, suggested in [DVB-IPTV], involves sending a One approach to this, suggested in [DVB-IPTV], involves sending a
NACK message to the other clients (or receiver) in the same group as NACK message to the other clients (or receiver) in the same group as
the sender of NACK. However NACK is defined as a receiver report the sender of NACK. However NACK is defined as a receiver report
sent from a receiver observing a packet loss, therefore it only sent from a receiver observing a packet loss, therefore it only
inform others that sender of NACK detected loss while the case the inform others that sender of NACK detected loss while the case where
sender of the feedback has received reports that the indicated the sender of the feedback has received reports that the indicated
packets were lost is not covered. This document specifies a new packets were lost is not covered. This document specifies a new
third-party loss report for this function. It supplements the third-party loss report for this function. It supplements the
existing the use of RTCP NACK packet and further is more precise in existing the use of RTCP NACK packet and further is more precise in
the uses where the network is active to suppress feedback. It tells the uses where the network is active to suppress feedback. It tells
receivers explicitly that feedback for a particular packet or frame receivers explicitly that feedback for a particular packet or frame
loss is not needed for a period of time and can provide an early loss is not needed for a period of time and can provide an early
indication before the receiver reacts to the loss and invokes its indication before the receiver reacts to the loss and invokes its
packet loss repair machinery. Section 6 provides some examples of packet loss repair machinery. Section 6 provides some examples of
when to send the Third Party Loss Report message. Section 6 provides when to send the Third Party Loss Report message.
some examples of when to send the Third Party Loss Report message.
2. Terminology 2. Terminology
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The keywords "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].
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
skipping to change at page 4, line 27 skipping to change at page 4, line 27
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. feedback to it regarding these packets.
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
message is generated by a RTP system that has not seen the actual (TPLR) message is generated by a RTP system that may not seen the
packet loss and sent following the same timing rule as sending NACK actual packet loss. It is sent following the same timing rule as
defined in [RFC4585], e.g., The TPLR message may be sent in a regular sending NACK defined in [RFC4585]. The TPLR feedback message may be
full compound RTCP packet or in an early RTCP packet, as per AVPF. sent in a regular full compound RTCP packet or in an early RTCP
RTP Systems in the network that receive a Third Party Loss Report packet, as per the RTP/AVPF rules. RTP Systems in the network that
SHOULD NOT initiate their own additional Third Party Loss Report receive a Third Party Loss Report SHOULD NOT send their own
messages for the same packet sequence numbers. They should simply additional Third Party Loss Report messages for the same packet
forward the Third Party Loss Report message received from upstream sequence numbers. They should simply forward the Third Party Loss
direction, additionally, they may generate their own Third Party Loss Report message received from upstream direction, additionally, they
Report that reports a set of the losses they see, which are different may generate their own Third Party Loss Report that reports a set of
from ones reported in the Third Party Loss report they received. The the losses they see, which are different from ones reported in the
Third Party Loss Report does not have the retransmission request Third Party Loss report they received. The Third Party Loss Report
[RFC4588] semantics. does not have the retransmission request [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 should
start a timer for this message and refrain from sending a feedback start a timer for the retransmitted data packet and this message and
request (e.g., NACK or FIR) for the missing packets reported in the refrain from sending a feedback request (e.g., NACK or FIR) for the
message during the lifetime of the timer. The timer value shall be missing packets reported in the message during the lifetime of the
based on the observed round-trip time. A receiver should compute an timer. If the sender of retransmitted packet is the media source,
estimate of the round-trip time (RTT) to the sender of TPLR from RTCP the timer value shall be based on the observed time difference
report round-trip time if available, or its reception time of the between the round-trip time from the receiver to the original media
reflected RTCP FB message (e.g.,NACK), or any other means. source and the round-trip time from the receiver to the sender of the
TPLR. A receiver should compute an estimate of the round-trip time
(RTT) to the original media source or the sender of retransmitted
data packet from Sender Report (SR) packets for the original stream,
or any other means. The round-trip time from the receiver to the
sender of the TPLR can be calculated from RTCP report round-trip time
if available, or any other means.
To increase the robustness to the loss of a TPLR or of a transmission To increase the robustness to the loss of a TPLR or of a transmission
packet, a receiver is allowed to receive additional TPLR for the same RTP data packet, TPLR for the same Packet may be generated and sent
packet. In the case the first TPLR is lost and the additional TPLR out. The receiver should view the TPLR as a retransmission if this
arrives at the receiver, the receiver should immediately refresh the TPLR is received from the same media source after the timer set
timer. When the timer for this message expires and there is no previously expires. In the case where the first TPLR is lost and the
retransmitted packet or a new Third Party Loss Report message, the additional TPLR arrives at the receiver, the receiver should
receiver should take its normal behavior as if there is no current immediately refresh the timer to the same value as the previous timer
retransmission suppression. it set for the the retransmitted data packet. When the timer expires
and there is no retransmitted packet or a new Third Party Loss Report
message, the receiver should take its normal behavior as if there is
no current feedback suppression.
A receiver may still have sent a Feedback message according to the A receiver may still have sent a Feedback message according to the
RTP/AVPF scheduling algorithm of [RFC4585] before receiving a Third RTP/AVPF scheduling algorithm of [RFC4585] before receiving a Third
Party Loss Report message, but further feedback messages for those Party Loss Report message, but further feedback messages for those
sequence numbers will be suppressed by this technique for a certain sequence numbers SHOULD be suppressed for a period of time after
period of time. Nodes that do not understand the Third Party Loss receiving the TPLR. Nodes that do not understand the Third Party
Report message will ignore it, and might therefore still send Loss Report message will ignore it, and might therefore still send
feedback according to the AVPF scheduling algorithm of [RFC4585]. feedback according to the AVPF scheduling algorithm of [RFC4585].
The media source or intermediate nodes cannot assume that the use of The media source or intermediate nodes cannot be certain that the use
a Third Party Loss Report message actually reduces the amount of of a Third Party Loss Report message actually reduces the amount of
feedback it receives. feedback it receives.
Since Third Party Loss Report interacts strongly with repair timing, Since Third Party Loss Report interacts strongly with repair timing,
it has to work together with feedback to not adversely impact the it has to work together with feedback to not adversely impact the
repair of lost source packets. In order not to incur a lot of NACK repair of lost source packets. In order not to incur a lot of NACK
requests due to additional TPLR described above, it is recommended requests due to additional TPLR described above, it is recommended
that the RTP system sending TPLR should be implemented more closer to that the RTP system sending TPLR should be implemented more closer to
the source. Also when the loss was detected and repair initiated the media source. When the loss was detected and repair initiated
much closer to the source, the delay for the receiver to recover from much closer to the media source, the delay for the receiver to
packet loss can be reduced through the combination of intermediary recover from packet loss can be reduced through the combination of
feedback to the source and Third Party Loss Report downstream. intermediary feedback to the source and Third Party Loss Report
downstream.
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
skipping to change at page 6, line 6 skipping to change at page 6, line 16
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]), 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. denotes the media sender of the flow for which the indicated losses
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. 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
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. 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: Message Format for the Third Party Loss Report Figure 1: Syntax of an FCI Entry in the TLLEI Feedback Message
Packet ID (PID): 16 bits Packet ID (PID): 16 bits
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 proceeding lost packets (BLP): 16 bits bitmask of proceeding 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
skipping to change at page 6, line 48 skipping to change at page 7, line 17
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]or PLI [RFC4585]. which is used to suppress FIR [RFC5104]or 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]), 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 FCI field MUST contain a Payload Specific Third Party Loss Early The Feedback Control Information (FCI) for a Payload Specific Third
Indication (PSLEI) entry. Each entry applies to a different media Party Loss Early Indication (PSLEI) consists one or more FCI entries.
Source that is requested to send a decoder refresh point or that is Each entry applies to a different media Source, identified by its
indicated that it lost synchronization with the video stream, SSRC. the content of which is depicted in Figure 2. The length of
identified by its SSRC. the PSLEI feedback message MUST be set to 2+1*N, where N is the
number of FCI entries.
The Feedback Control Information (FCI) for PSLEI uses the similar
format of message Types defined in the section 4.3.1.1 of [RFC5104].
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seq nr. | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Message Format for the Third Party Loss Report Figure 2: Syntax of an FCI Entry in the PSLEI Feedback Message
SSRC (32 bits): Synchronization source (SSRC):32 bits
The SSRC value of the media source that is requested to send a The SSRC value of the media source that is requested to send a
decoder refresh point or that is indicated that it lost decoder refresh point or that is indicated that it lost
synchronization with the video stream. synchronization with the video stream.
Seq nr:8bits Command sequence number. It is used by the Command
receiver to check if the Command is repeated. The sequence number
space is unique for each pairing of the SSRC of command sender and
the SSRC of the command receiver. The sequence number SHALL
increase by 1 modulo 256 for each new Command. A repetition SHALL
NOT increase the sequence number. The initial value is arbitrary.
Reserved: 24 bits
All bits SHALL be set to 0 by the media source and SHALL be
ignored on reception.
5. SDP Signaling 5. SDP Signaling
A new feedback value "tplr" needs to be defined for the Third Party A new feedback value "tplr" needs to be defined for the Third Party
Loss Report message to be used with Session Description Protocol Loss Report message to be used with Session Description Protocol
(SDP) [RFC4566] using the Augmented Backus-Naur Form (ABNF) (SDP) [RFC4566] using the Augmented Backus-Naur Form (ABNF)
[RFC4585]. [RFC4585].
The "tplr" feedback value SHOULD be used with parameters that The "tplr" feedback value SHOULD be used with parameters that
indicate the third party loss supported. In this document, we define indicate the third party loss supported. In this document, we define
two such parameter, namely: two such parameter, 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.
In the ABNF for rtcp-fb-val defined in [RFC4585], there is a In the ABNF [RFC5234] for rtcp-fb-val defined in [RFC4585], there is
placeholder called rtcp-fb-id to define new feedback types. "tplr" is a placeholder called rtcp-fb-id to define new feedback types. "tplr"
defined as a new feedback type in this document, and the ABNF for the is defined as a new feedback type in this document, and the ABNF for
parameters for tplr is defined here (please refer to section 4.2 of the parameters for tplr is defined here (please refer to section 4.2
[RFC4585] for complete ABNF syntax). of [RFC4585] for complete ABNF syntax).
rtcp-fb-val =/ "tplr" rtcp-fb-tplr-param rtcp-fb-val =/ "tplr" rtcp-fb-tplr-param
rtcp-fb-tplr-param = SP "tllei";transport layer third party loss early indication rtcp-fb-tplr-param = SP "tllei"
/ SP "pslei";payload specific third party loss early indication ;transport layer third party
/ SP token [SP byte-string] ; loss early indication
; for future commands/indications / SP "pslei"
byte-string = <as defined in section 4.2 of [RFC4585] > ;payload specific third party
; loss early indication
/ SP token [SP byte-string]
; for future commands/indications
token = <as defined in section 9 of [RFC4566]>
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] for a detailed description and the
full syntax of the "rtcp-fb" attribute. 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
skipping to change at page 9, line 24 skipping to change at page 9, line 29
packet loss. packet 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 one or more BRSes. one of the BRSes all the BRSs or the downstream of BRSes. One of the BRSes or all the
or all the BRSes may send a NACK or TPLR message to the DS, where the BRSes may send a NACK or TPLR message to the DS, where the SSRC in
SSRC in this NACK or TPLR message is the one of the BRS. The DS this NACK or TPLR message is the BRS that is sending the message.
forwards/reflects this message down on the primary SSM. The details The DS forwards/reflects this message down on the primary SSM. The
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, is typically forwarding the RTP and RTCP traffic between RTP clients,
for example converting between multicast and unicast for domains that for example converting from multicast to unicast for domains that do
do not support multicast. The translator acting as quality not support multicast. The translator may suffer a loss of important
monitoring [Monarch] may suffer a loss of important video packets. video packets. In this case, the translator may forward TPLR message
In this case, the translator may trigger repair by the media sender received from upstream in the same way as forwarding other RTCP
and at the same time,use it's own SSRC as packet sender SSRC to traffic. If the translator acting as quality monitor [Monarch]is
create a new Third Party Loss Report message and send it to the aware of packet loss, it may use the SSRC of monitor as packet sender
receivers that is not aware of packet loss. SSRC to create NACK message and send it to 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], aggregates multiple RTP
streams from other session participants and generates a new 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 initiates 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 Another possible way for may or are expected to send a PLI or FIR. Alternatively, when the
mixer to deal with, is when the mixer starts to receive FIR or PLI mixer starts to receive FIR or PLI from some participants and like to
from some participants and like to suppress the remaining session suppress the remaining session participants from sending FIR or PLI
participants from sending FIR or PLI by sending out a Third party by forwarding the FIR/PLI from one session participant to others.
Loss report message.
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 (e.g., the Third Party
Loss Report with the wrong sequence number of lost packet) that makes Loss Report with the wrong sequence number of lost packet) that
missing RTP packets can not be compensated. causes missing RTP packets to not be repaired in a timely fashion.
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 middleboxes that are not visible at the RTP layer that wish Note that middleboxes that are not visible at the RTP layer that wish
to send the Third Party Loss Reports on behalf of the media source 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. This is can only do so if they spoof the SSRC of the media source. This is
skipping to change at page 11, line 27 skipping to change at page 11, line 34
Value name: tplr Value name: tplr
Long Name: Third Party Loss Reports Long Name: Third Party Loss Reports
Reference: This document Reference: This document
A new registry " Third Party Loss Report Messages" has been created A new registry " Third Party Loss Report Messages" has been created
to hold "tplr" parameters located at time of publication at: to hold "tplr" parameters located at time of publication at:
http://www.iana.org/assignments/sdp-parameters http://www.iana.org/assignments/sdp-parameters
New registration in this registry follows the "Specification New registration in this registry follows the "Specification
required" policy as defined by [RFC2434]. In addition, they are required" policy as defined by [RFC5226]. In addition, they are
required to indicate any additional RTCP feedback types, such as required to indicate any additional RTCP feedback types, such as
"nack" and "ack". "nack" and "ack".
The following values have been registered as FMT values 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 X [RFCXXXX] TLLEI Transport Layer Third Party TBA1 [RFCXXXX]
Loss Early Indication Loss Early Indication
The following values have been registered as FMT values 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 X [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
[RFC5760] Ott, J., Chesterfield, J., and E. Schooler, "RTP Control [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
Protocol (RTCP) Extensions for Single-Source Multicast IANA Considerations Section in RFCs", BCP 26, RFC 5226,
Sessions with Unicast Feedback", RFC 5760, February 2010. 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", BCP 14, RFC 2119, 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.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[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.
[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
[RFC5740] Adamson, B., Bormann, C., Handley, M., and J. Macker, [RFC5740] Adamson, B., Bormann, C., Handley, M., and J. Macker,
"NACK-Oriented Reliable Multicast (NORM) Transport "NACK-Oriented Reliable Multicast (NORM) Transport
Protocol", November 2009. Protocol", November 2009.
[DVB-IPTV] [DVB-IPTV]
ETSI Standard, "Digital Video Broadcasting(DVB); Transport ETSI Standard, "Digital Video Broadcasting(DVB); Transport
of MPEG-2 TS Based DVB Services over IP Based Networks", of MPEG-2 TS Based DVB Services over IP Based Networks",
ETSI TS 102 034, V1.4.1 , August 2009. ETSI TS 102 034, V1.4.1 , August 2009.
skipping to change at page 13, line 34 skipping to change at page 13, line 33
[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.
[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
Protocol (RTCP) Extensions for Single-Source Multicast
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 10 skipping to change at page 16, line 21
TPLR. 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
The following are the major changes compared to previous version:
o Clarify which RTT is used and how timer is refreshed in the
section 3.
o Editorial changes to the Introduction, Protocol Overview, SDP
Signaling, Message Format, Use case,Security Consideration and
IANA sections.
o Remove Seq Nr field in the figure 2 for payload specific feedback.
o References reorganizing.
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. 48 change blocks. 
140 lines changed or deleted 156 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/