RTCP Extension for Third-party
Loss ReportHuawei101 Software Avenue, Yuhua DistrictNanjingJiangsu210012Chinasunseawq@huawei.comHuawei1700 Alma Dr. Suite 500PlanoTX 75075USA+1 972-509-5599xiayangsong@huawei.comHuawei14 David HamelechTel Aviv 64953Israeleven.roni@huawei.comNetwork Working GroupIn a large RTP session using the RTCP feedback mechanism defined in
RFC 4585, a feedback target may experience transient overload if some
event causes a large number of receivers to send feedback at once. This
overload is usually avoided by ensuring that feedback reports are
forwarded to all receivers, allowing them to avoid sending duplicate
feedback reports. However, there are cases where it is not recommended
to forward feedback reports, and this may allow feedback implosion. This
memo discusses these cases and defines a new RTCP third-party loss
report that can be used to inform receivers that the feedback target is
aware of some loss event, allowing them to suppress feedback. Associated
SDP signalling is also defined.RTCP feedback messages allow the
receivers in an RTP session to report events and ask for action from the
media source (or a delegated feedback target when using unicast RTCP
feedback with SSM ). There are cases where
multiple receivers may initiate the same, or an equivalent message
towards the same media source or the same feedback target. When the
receiver count is large, this behavior may cause transient 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 feedback storm is
receivers utilizing RTP retransmission as
a packet loss recovery technique, sending feedback using RTCP NACK
messages without proper dithering of the
retransmission requests (e.g., not implementing the RFC 4585 dithering
rules or sending NACKs to a feedback target that doesn't redistribute
them to other receivers).Another use case involves video Fast Update requests. A storm of
these feedback messages can occur in conversational multimedia scenarios
like multipoint video switching conference . In this scenario, the receiver may lose
synchronization with the video stream when speaker is changed in the
middle of session. Poorly designed receivers that blindly issue fast
update requests (i.e., Full Intra Request (FIR) described in RFC5104), can cause an implosion of FIR requests
from receivers to the same media source.RTCP feedback storms may cause short term overload, and in extreme
cases to pose a possible risk of increasing network congestion on the
control channel (e.g. RTCP feedback), the data channel, or both. It is
therefore desirable to provide a way of suppressing unneeded feedback.
This document specifies a new third-party loss report for this function.
It supplements the 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 receivers explicitly that feedback for a particular
packet or frame 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 packet loss repair machinery. provides
some examples of when to send the Third Party Loss Report message.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119.This document extends the RTCP feedback messages defined in the
Audio-Visual Profile with feedback (RTP/AVPF) defining a Third Party Loss Report message. The
Third Party Loss Report message can be used by the intermediaries to
inform the receiver 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 feedback to it regarding these packets.
Intermediaries are variously referred to as Distribution source,
Burst/Retransmission Sources (BRS), MCUs, RTP translator, or RTP mixers,
depending on the precise use case described in section 6.RTCP Third Party Loss Report follows the similar format of message
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
feedback has received reports that the indicated packets were lost,
while NACK just indicates that the sender
of the NACK observed that these packets were lost. The Third Party Loss
Report (TPLR) message is generated by an intermediary that may not seen
the actual packet loss. It is sent following the same timing rule as
sending NACK defined in RFC4585. The TPLR
feedback message may be sent in a regular full compound RTCP packet or
in an early RTCP packet, as per the RTP/AVPF rules. Intermediaries in
the network that receive a Third Party Loss Report SHOULD NOT send their
own additional Third Party Loss Report messages for the same packet
sequence numbers. They SHOULD simply forward the Third Party Loss Report
message received from upstream direction to the receiver(s),
additionally, they may generate their own Third Party Loss Report that
reports a set of the losses they see, which are different from ones
reported in the Third Party Loss report they received. The Third Party
Loss Report does not have the retransmission request semantics.When a receiver gets a Third Party Loss Report message, it MUST
follow the rules for NACK suppression in RFC 4585 and refrain from
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 as receiving
NACK.To increase the robustness to the loss of a TPLR, TPLR may be
retransmitted. If the additional TPLR arrives at receiver, the receiver
SHOULD deal with the additional TPLR in the same way as receiving the
first TPLR for the same packet and no additional behavior for receiver
is required.A receiver may have sent a Feedback message according to the RTP/AVPF
scheduling algorithm of RFC4585 before
receiving a Third Party Loss Report message, but further feedback
messages for those sequence numbers SHOULD be suppressed for a period of
time after receiving the TPLR. Nodes that do not understand the Third
Party Loss Report message will ignore it, and might therefore still send
feedback according to the AVPF scheduling algorithm of RFC4585. The media source or intermediate nodes
cannot be certain that the use of a Third Party Loss Report message
actually reduces the amount of feedback it receives.This document registers two new RTCP Feedback messages for Third
Party Loss Report. Applications that are employing one or more loss-
repair methods MAY use the Third Party Loss Report together with their
existing loss-repair methods either for every packet they expect to
receive, or for an application-specific subset of the RTP packets in a
session. In other words, receivers MAY ignore Third Party Loss Report
messages, but SHOULD react to them unless they have good reason to still
send feedback messages despite having been requested to suppress
them.This Third Party Loss Report message is an extension to the RTCP
Transport Layer Feedback Report and identified by RTCP packet type
value PT=RTPFB and FMT=TBD.Within the common packet header for feedback messages (as defined
in section 6.1 of RFC4585), the "SSRC of
packet sender" field indicates the source of the request, and the
"SSRC of media source" 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
third party loss Early Indication (TLLEI). Each entry applies to the
same media source identified by the SSRC contained in the SSRC of
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
format of message Types defined in the section 6.2.1 of RFC4585. The format is shown in .
The PID field is used to specify a lost packet. The PID field
refers to the RTP sequence number of the lost packet. The BLP allows for reporting losses of any of
the 16 RTP packets immediately following the RTP packet indicated
by the PID. The BLP's definition is identical to that given in the
section 6.2.1 of .This message is an extension to the RTCP Payload Specific Feedback
report and identified by RTCP packet type value PT=PSFB and FMT=TBD,
which is used to suppress FIR and PLI
.Within the common packet header for feedback messages (as defined
in section 6.1 of RFC4585), the "SSRC of
packet sender" field 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 which this message applies are in the
corresponding FCI entries.The Feedback Control Information (FCI) for a Payload Specific Third
Party Loss Early Indication (PSLEI) consists one or more FCI entries.
Each entry applies to a different media Source, identified by its
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 number of
FCI entries.The format is shown in .The SSRC value of the media source that is
already aware, or in the process of being made aware, that some
receiver lost synchronization with the media stream and for which
the PSLEI receiver's own response to any such error is
suppressed.The Session Description Protocol (SDP)
attribute, rtcp-fb, is defined in the Section 4 of RFC4585 and may be used to negotiate the
capability to handle specific AVPF commands and indications. The ABNF
for rtcp-fb is described in section 4.2 of RFC4585. In this section, we extend the rtcp-fb
attribute to include the commands and indications that are described for
third party loss report in the present document.In the ABNF for rtcp-fb-val defined in
RFC4585, the feedback type "nack", without
parameters, indicates use of the Generic NACK feedback format as defined
in Section 6.2.1of RFC4585. In this
document, we define two parameters that indicate the third party loss
supported for use with "nack", namely: "tllei" denotes support of transport layer third party loss early
indication."pslei" denotes support of payload specific third party loss
early indication.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 for a
detailed description and the full syntax of the "rtcp-fb" attribute.The operation of feedback suppression is similar for all types of RTP
sessions and topologies , however the
exact messages used and the scenarios in which suppression is employed
differ for various use cases. The following sections outline some of the
intended use cases for using the Third Party Loss Report for feedback
suppression and give an overview of the particular mechanisms.In SSM RTP sessions as described in "RTP Control Protocol (RTCP)
Extensions for Single-Source Multicast Sessions with Unicast Feedback"
, one or more Media Sources send RTP
packets to a Distribution Source. The Distribution Source relays the
RTP packets to the receivers using a source- specific multicast
group.As outlined in the RFC5760, there are
two Unicast Feedback models that may be used for reporting, the Simple
Feedback model and the Distribution Source Feedback Summary Model. In
the simple Feedback Model, there's no need for distribution source to
create the Third Party Loss Report, instead, NACKs are reflected by
the distribution source to the other Receivers. However in the
Distribution Source Feedback Summary model, the distribution source
will not redistribute the NACK for some reason(e.g., to prevent
revealing the identity or existence of a system sending NACK)and may
send a Third Party Loss Report to the systems that were unable to
receive the NACK, and won't receive the NACK via other means. The
Third Party Loss Report can be generated at the distribution source
when downstream loss is told (e.g., downstream loss report is
received), which indicates to the receivers that they should not
transmit feedback messages for the same loss event for a certain time.
Therefore the distribution source in the feedback summary model can be
reasonably certain that it will help the situation (i.e., unable
receive the NACK) by sending this Third Party Loss Report message to
all the relevant receivers impacted by the packet loss.The typical RAMS architecture may
have several Burst/ Retransmission Sources(BRS) behind the multicast
source (MS) placed at the same level. These BRSes will receive the
primary multicast RTP stream from the media source and cache most
recent packets after 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 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. The DS forwards/reflects this message down on the primary
SSM. The details on how DS deal with this message is specified in
.A Transport Translator (Topo-Trn-Translator), as defined in RFC5117 is typically forwarding the RTP and
RTCP traffic between RTP clients, for example converting from
multicast to unicast for domains that do not support multicast. The
translator may suffer a loss of important video packets. In this case,
the translator may forward TPLR message received from upstream in the
same way as forwarding other RTCP traffic. If the translator acting as
the monitor is aware of packet loss, it
may use the SSRC of monitor as packet sender SSRC to create NACK
message and send it to the receivers that is not aware of packet
loss.When the speaker is changed in a voice-activated multipoint video
switching conference , an RTP mixer can
be used to select the available input streams and forward them to each
participants. 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
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
receive FIR from some participants it can suppress the remaining
session participants from sending FIR by sending out a Third party
Loss report message.A Mixer, in accordance with RFC5117,
aggregates multiple RTP streams from other session participants and
generates a new RTP stream sent to the session participants. In some
cases, the video 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 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 media source on behalf of all the session participants and
send out a Third party Loss report message to these session
participants that 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 suppress the remaining session participants
from sending FIR or PLI by forwarding the FIR/PLI from one session
participant to others.The defined messages have certain properties that have security
implications. These must be addressed and taken into account by users of
this protocol.Spoofed or maliciously created feedback messages of the type defined
in this specification can have the following implications:Sending the spurious Third Party Loss Report (e.g., the Third Party
Loss Report with the wrong sequence number of lost packet) that causes
missing RTP packets to not be repaired in a timely fashion.To prevent these attacks, there is a need to apply authentication and
integrity protection of the feedback messages. This can be accomplished
against threats external to the current RTP session using the RTP
profile that combines Secure RTP and AVPF
into SAVPF .Note that intermediaries that are not visible at the RTP layer that
wish to send the Third Party Loss Reports on behalf of the media source
can only do so if they spoof the SSRC of the media source. This is
difficult in case SRTP is in use. If the intermediary is visible at the
RTP layer, this is not an issue, provided the intermediary is part of
the security context for the session.Also note that endpoints that receive a Third Party Loss Report would
be well-advised to ignore it, unless the security is in place to
authenticate the sender of the Third Party Loss Report. Accepting Third
Party Loss Report from un-authenticated sender can lead to a denial of
service attack, where the endpoint accepts poor quality media that could
be repaired.For use with "nack" , a joint
sub-registry has been set up that registers the following two
values:The following value have been registered as one FMT value in the "FMT
Values for RTPFB Payload Types" registry located at the time of
publication at: http://www.iana.org/assignments/rtp-parameters The following value have been registered as one FMT value in the "FMT
Values for PSFB Payload Types" registry located at the time of
publication at: http://www.iana.org/assignments/rtp-parameters The authors would like to thank David R Oran, Magnus Westerlund,
Colin Perkins, Ali C. Begen, Tom VAN CAENEGEM, Ingemar Johansson S, Bill
Ver Steeg, Jonathan Lennox, WeeSan Lee for their valuable comments and
suggestions on this document.Key words for use in RFCs to Indicate
Requirement LevelsHarvard University1350 Mass. Ave.CambridgeMA 02138- +1 617 495 3864sob@harvard.edu
General
keywordIn many standards track documents several words are used to
signify the requirements in the specification. These words are
often capitalized. This document defines these words as they
should be interpreted in IETF documents. Authors who follow these
guidelines should incorporate this phrase near the beginning of
their document: The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described
in RFC 2119.Note that the force of these words is modified by the
requirement level of the document in which they are used.Unicast- Based Rapid Acquisition of Multicast RTP
SessionsCiscoCiscoAlcatel-LucentMicrosoftMonitoring Architectures for RTPHuaweinaffiliatedBTRetransmission for Source-Specific Multicast (SSM)
SessionsAlcatel-LucentCiscoCiscoNote to the RFC-Editor: please remove this section prior to
publication as an RFC.The following are the major changes compared to previous version:
Remove the merge report from SSM use case and additional text
to address report merging issue.Revise section 3 and section 6 to address FEC packet dealing
issue and Leave how to repair packet loss beyond the scope.Modify the SSM use case and RAMS use case to focus on
uses.Other Editorial changes.The following are the major changes compared to previous version:
In Section 4.1, fix typo: change Section 4.3.1.1 of section
[RFC5104] to section 6.2.1 of [RFC4585].In Section 3: Clarify how to deal with downstream loss using
Third party loss report and upstream loss using NACK.Update title and abstract to focus on third party loss
report.In Section 6.1: Update this section to explain how third party
loss report is used to deal with downstream loss.In section 6.1.2: Update this section to explain how third
party loss report is used to deal with downstream loss.In section 6.2: Rephrase the text to discuss how BRS deal with
the third party loss report.The following are the major changes compared to previous
version:In Appendix A, fix typo: Appendix A. Appendix A. -> Appendix
A.Update abstract to clarify when third-party loss reports should
be sent instead of NACKs.Update section 3 Paragraph 2 to differentiate when a
third-party loss report should be used compared to a NACK.Update section 3 Paragraph 3 to explain when media source to
send a third-party loss.Move specific rules for section 6.1.1 and section 6.1.2 to
section 6.1 as generic rules and delete section 6.1.1.The following are the major changes compared to previous version:
Reference Update.Clarify the use of the third party loss report in section 3 and
section 6.1.1.The following are the major changes compared to previous version:
Remove 3rd and 4th paragraphs of section 6.1 and replaced them
with 2nd and 3rd paragraphs of section 3.Remove section 6.1.1.1.Revise the last paragraph of section 1 to clarify the rationale
of using new message.Update RTP transport translator case in section 6.3 to correct
the use of the third party loss report.Update MCU case in section 6.4 to correct the use of the third
party loss report.Revise SSM use case to address multiple DS issue.References Update.Move one rationale on preventing sending unicast NACK in
introduction section to SSM case section.Other Editorial changes to section 6.1, 6.1.1, 6.2.The following are the major changes compared to previous version:
A few Editorial changes to the whole document.The following are the major changes compared to previous version:
Restructuring the protocol overview section to clarify the
round trip time calculation and receiver
behavior to the additional TPLR.Restructuring the SSM use case section to focus on the use of
TPLR.Editorial changes to the abstract, introduction, message
format, use cases and IANA sections.References updateThe following are the major changes compared to previous version:
Clarify which RTT is used and how timer is refreshed in the
section 3.Editorial changes to the Introduction, Protocol Overview,
SDPSignaling, Message Format, Use
case,Security Consideration and IANA sections.Remove Seq Nr field in the figure 2 for payload specific
feedback.References reorganizing.The following are the major changes compared to previous version:
Clarify to suppression interval with regard to how long to
receive theretransmitted packet. Treating
TPLR in the same way as receiving NACK.Replace timer based approach with timeless based approach.The following are the major changes compared to previous version:
Fix the definition of Synchronization source for TPLR in
section 4.2.Associate SDP parameters tllei and pslei with "nack".Remove the packet loss recovery from TPLR loss handling
part.Other typo fixed.The following are the major changes compared to previous version:
Additional Editorial changes.The following are the major changes compared to previous version:
Additional Editorial changes.The following are the major changes compared to previous version:
Additional Editorial changes.