idnits 2.17.1 draft-ietf-avtcore-feedback-supression-rtp-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 26 instances of too long lines in the document, the longest one being 20 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). == The document seems to contain a disclaimer for pre-RFC5378 work, but was first submitted on or after 10 November 2008. The disclaimer is usually necessary only for documents that revise or obsolete older RFCs, and that take significant amounts of text from those RFCs. If you can contact all authors of the source material and they are willing to grant the BCP78 rights to the IETF Trust, you can and should remove the disclaimer. Otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 31, 2011) is 4615 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC3550' is defined on line 572, but no explicit reference was found in the text == Unused Reference: 'RFC5234' is defined on line 586, but no explicit reference was found in the text == Unused Reference: 'RFC5740' is defined on line 603, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-pmol-metrics-framework' is defined on line 620, but no explicit reference was found in the text ** Obsolete normative reference: RFC 5117 (Obsoleted by RFC 7667) ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) Summary: 3 errors (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Q. Wu 3 Internet-Draft F. Xia 4 Intended status: Standards Track R. Even 5 Expires: March 3, 2012 Huawei 6 August 31, 2011 8 RTCP Extension for Third-party Loss Report 9 draft-ietf-avtcore-feedback-supression-rtp-06 11 Abstract 13 In a large RTP session using the RTCP feedback mechanism defined in 14 RFC 4585, a feedback target may experience transient overload if some 15 event causes a large number of receivers to send feedback at once. 16 This overload is usually avoided by ensuring that feedback reports 17 are forwarded to all receivers, allowing them to avoid sending 18 duplicate feedback reports. However, there are cases where it is not 19 recommended to forward feedback reports, and this may allow feedback 20 implosion. This memo discusses these cases and defines a new RTCP 21 third-party loss report that can be used to inform receivers that a 22 feedback target is aware of some loss event, allowing them to 23 suppress feedback. Associated SDP signalling is also defined. 25 Status of this Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at http://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on March 3, 2012. 42 Copyright Notice 44 Copyright (c) 2011 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (http://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 This document may contain material from IETF Documents or IETF 58 Contributions published or made publicly available before November 59 10, 2008. The person(s) controlling the copyright in some of this 60 material may not have granted the IETF Trust the right to allow 61 modifications of such material outside the IETF Standards Process. 62 Without obtaining an adequate license from the person(s) controlling 63 the copyright in such materials, this document may not be modified 64 outside the IETF Standards Process, and derivative works of it may 65 not be created outside the IETF Standards Process, except to format 66 it for publication as an RFC or to translate it into languages other 67 than English. 69 Table of Contents 71 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 72 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 73 3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 5 74 4. Format of RTCP Feedback Messages . . . . . . . . . . . . . . . 6 75 4.1. Transport Layer Feedback: Third-party Loss Report . . . . 6 76 4.2. Payload Specific Feedback: Third-party Loss Report . . . . 7 77 5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 8 78 6. Example Use Cases . . . . . . . . . . . . . . . . . . . . . . 8 79 6.1. Source Specific Multicast (SSM) use case . . . . . . . . . 9 80 6.2. Unicast based Rapid Acquisition of Multicast Stream 81 (RAMS) use case . . . . . . . . . . . . . . . . . . . . . 10 82 6.3. RTP transport translator use case . . . . . . . . . . . . 11 83 6.4. Multipoint Control Unit (MCU) use case . . . . . . . . . . 11 84 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 85 8. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 12 86 9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 13 87 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 88 10.1. Normative References . . . . . . . . . . . . . . . . . . . 14 89 10.2. Informative References . . . . . . . . . . . . . . . . . . 14 90 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 15 91 A.1. draft-ietf-avtcore-feedback-suppression-rtp-01 . . . . . . 15 92 A.2. draft-ietf-avtcore-feedback-suppression-rtp-02 . . . . . . 15 93 A.3. draft-ietf-avtcore-feedback-suppression-rtp-03 . . . . . . 16 94 A.4. draft-ietf-avtcore-feedback-suppression-rtp-04 . . . . . . 16 95 A.5. draft-ietf-avtcore-feedback-suppression-rtp-05 . . . . . . 16 96 A.6. draft-ietf-avtcore-feedback-suppression-rtp-06 . . . . . . 17 97 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 99 1. Introduction 101 RTCP feedback messages [RFC4585] allow the receivers in an RTP 102 session to report events and ask for action from the media source (or 103 a delegated feedback target when using unicast RTCP feedback with SSM 104 [RFC5760]). There are cases where multiple receivers may initiate 105 the same, or an equivalent message towards the same media source. 106 When the receiver count is large, this behavior may cause transient 107 overload of the media source, the network or both. This is known as 108 a "feedback storm" or a "NACK storm". One common cause of such a 109 feedback storm is receivers utilizing RTP retransmission [RFC4588] as 110 a packet loss recovery technique based, sending feedback using RTCP 111 NACK messages [RFC4585] without proper dithering of the 112 retransmission requests. 114 Another use case involves video Fast Update requests. A storm of 115 these feedback messages can occur in conversational multimedia 116 scenarios like Topo-Video-switch-MCU [RFC5117]. In this scenario, 117 packet loss may happen on an upstream link of an intermediate network 118 element such as a Multipoint Control Unit(MCU). Poorly designed 119 receivers that blindly issue fast update requests (i.e., Full Intra 120 Request (FIR) described in [RFC5104]), can cause an implosion of FIR 121 requests from receivers to the same media source. 123 RTCP feedback storms may cause short term overload, and in extreme 124 cases to pose a possible risk of increasing network congestion on the 125 control channel (e.g. RTCP feedback), the data channel, or both. It 126 is therefore desirable to provide a way of suppressing unneeded 127 feedback. 129 One approach to this, suggested in [DVB-IPTV], involves sending a 130 NACK message to the other clients (or receiver) in the same group as 131 the sender of NACK. However NACK is defined as a receiver report 132 sent from a receiver observing a packet loss, therefore it only 133 inform others that sender of NACK detected loss while the case the 134 sender of the feedback has received reports that the indicated 135 packets were lost is not covered. This document specifies a new 136 third-party loss report for this function. It further is more 137 precise in the intended uses and less likely to be confusing to 138 receivers. It tells receivers explicitly that feedback for a 139 particular packet or frame loss is not needed for a period of time 140 and can provide an early indication before the receiver reacts to the 141 loss and invokes its packet loss repair machinery. Section 6 142 provides some examples of when to send the Third Party Loss Report 143 message. 145 2. Terminology 147 The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 148 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 149 document are to be interpreted as described in [RFC2119]. 151 3. Protocol Overview 153 This document extends the RTCP feedback messages defined in the 154 Audio-Visual Profile with feedback (RTP/AVPF) [RFC4585] defining a 155 Third Party Loss Report message. The Third Party Loss Report message 156 can be used by the media source or intermediaries to inform the 157 receiver that the sender of the Third Party Loss Report has received 158 reports that the indicated packets were lost, and asks the receiver 159 not to send feedback to it regarding these packets. 161 When a receiver gets a Third Party Loss Report message, it should 162 refrain from sending a feedback request (e.g., NACK or FIR) for the 163 missing packets reported in the message for a certain period of time. 164 A receiver may still have sent a Feedback message according to the 165 RTP/AVPF scheduling algorithm of [RFC4585]before receiving a Third 166 Party Loss Report message, but further feedback messages for those 167 sequence numbers will be suppressed by this technique for a certain 168 period of time. Nodes that do not understand the Third Party Loss 169 Report message will ignore it, and might therefore still send 170 feedback according to the AVPF scheduling algorithm of [RFC4585]. 171 The media source or intermediate nodes cannot assume that the use of 172 a Third Party Loss Report message actually reduces the amount of 173 feedback it receives. 175 RTCP Third Party Loss Report follows the similar format of message 176 type as RTCP NACK. However, the Third Party Loss Report is defined 177 as an indication that the sender of the feedback has received reports 178 that the indicated packets were lost, while NACK [RFC4585] just 179 indicates that the sender of the NACK observed that these packets 180 were lost. The Third Party Loss Report message is generated by a 181 system that has not seen the actual packet loss. Systems that 182 receive a Third Party Loss Report SHOULD NOT initiate their own 183 additional Third Party Loss Report messages for the same packet 184 sequence numbers. They may either simply forward the Third Party 185 Loss Report message, or they may generate their own Third Party Loss 186 Report that reports a set of the losses they see, which are different 187 from ones reported in the Third Party Loss report they received. The 188 Third Party Loss Report does not have the retransmission request 189 [RFC4588] semantics. 191 Since Third Party Loss Report interacts strongly with repair timing, 192 it has to work together with feedback to not adversely impact the 193 repair of lost source packets. One example is the middle box gets 194 the retransmitted packet by sending a NACK upstream and sent it 195 downstream. This retransmitted packet was lost on the downstream 196 link. In order to deal with this, the downstream receiver can start 197 a timeout in which it expected to get a retransmission packet. When 198 this timeout expires and there is no retransmitted packet or a new 199 Third Party Loss Report message, it can take its normal behavior as 200 if there is no current retransmission suppression. In the case when 201 the loss was detected and repair initiated much closer to the source, 202 the delay for the receiver to recover from packet loss can be reduced 203 through the combination of intermediary feedback to the source and 204 Third Party Loss Report downstream. 206 4. Format of RTCP Feedback Messages 208 This document registers two new RTCP Feedback messages for Third 209 Party Loss Report. Applications that are employing one or more loss- 210 repair methods MAY use the Third Party Loss Report together with 211 their existing loss-repair methods either for every packet they 212 expect to receive, or for an application-specific subset of the RTP 213 packets in a session. In other words, receivers MAY ignore Third 214 Party Loss Report messages, but SHOULD react to them unless they have 215 good reason to still send feedback messages despite having been 216 requested to suppress them. 218 4.1. Transport Layer Feedback: Third-party Loss Report 220 This Third Party Loss Report message is an extension to the RTCP 221 Transport Layer Feedback Report and identified by RTCP packet type 222 value PT=RTPFB and FMT=TBD. 224 The FCI field MUST contain one or more entries of transport layer 225 third party loss Early Indication (TLLEI). Each entry applies to a 226 different media source, identified by its SSRC. 228 The Feedback Control Information (FCI) for TLLEI uses the similar 229 format of message Types defined in the section 6.2.1 of [RFC4585]. 230 The format is shown in Figure 1. 232 0 1 2 3 233 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 234 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 235 | PID | BLP | 236 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 238 Figure 1: Message Format for the Third Party Loss Report 240 Packet ID (PID): 16 bits 242 The PID field is used to specify a lost packet. The PID field 243 refers to the RTP sequence number of the lost packet. 245 bitmask of proceeding lost packets (BLP): 16 bits 247 The BLP allows for reporting losses of any of the 16 RTP packets 248 immediately following the RTP packet indicated by the PID. The 249 BLP's definition is identical to that given in [RFC4585]. 251 4.2. Payload Specific Feedback: Third-party Loss Report 253 This message is an extension to the RTCP Payload Specific Feedback 254 report and identified by RTCP packet type value PT=PSFB and FMT=TBD. 256 The FCI field MUST contain a Payload Specific Third Party Loss Early 257 Indication (PSLEI) entry. Each entry applies to a different media 258 source, identified by its SSRC. 260 The Feedback Control Information (FCI) for PSLEI uses the similar 261 format of message Types defined in the section 4.3.1.1 of [RFC5104]. 262 The format is shown in Figure 2. 264 0 1 2 3 265 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 266 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 267 | SSRC | 268 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 269 | Seq nr. | Reserved | 270 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 272 Figure 2: Message Format for the Third Party Loss Report 274 SSRC (32 bits): 276 The SSRC value of the media source that is requested to send a 277 decoder refresh point. 279 Seq nr:8bits Command sequence number. The sequence number space is 280 unique for each pairing of the SSRC of command source and the SSRC 281 of the command target. The sequence number SHALL be increased by 282 1 modulo 256 for each new request. 284 Reserved: 24 bits 286 All bits SHALL be set to 0 by the media source and SHALL be 287 ignored on reception. 289 5. SDP Signaling 291 A new feedback value "tplr" needs to be defined for the Third Party 292 Loss Report message to be used with Session Description Protocol 293 (SDP) [RFC4566] using the Augmented Backus-Naur Form (ABNF) 294 [RFC4585]. 296 The "tplr" feedback value SHOULD be used with parameters that 297 indicate the third party loss supported. In this document, we define 298 two such parameter, namely: 300 o "tllei" denotes support of transport layer third party loss early 301 indication. 303 o "pslei" denotes support of payload specific third party loss early 304 indication. 306 In the ABNF for rtcp-fb-val defined in [RFC4585], there is a 307 placeholder called rtcp-fb-id to define new feedback types. "tplr" is 308 defined as a new feedback type in this document, and the ABNF for the 309 parameters for tplr is defined here (please refer to section 4.2 of 310 [RFC4585] for complete ABNF syntax). 312 rtcp-fb-val =/ "tplr" rtcp-fb-tplr-param 313 rtcp-fb-tplr-param = SP "tllei";transport layer third party loss early indication 314 / SP "pslei";payload specific third party loss early indication 315 / SP token [SP byte-string] 316 ; for future commands/indications 317 byte-string = 319 Refer to Section 4.2 of [RFC4585] for a detailed description and the 320 full syntax of the "rtcp-fb" attribute. 322 6. Example Use Cases 324 The operation of feedback suppression is similar for all types of RTP 325 sessions and topologies [RFC5117], however the exact messages used 326 and the scenarios in which suppression is employed differ for various 327 use cases. The following sections outline some of the intended use 328 cases for using the Third Party Loss Report for feedback suppression 329 and give an overview of the particular mechanisms. 331 6.1. Source Specific Multicast (SSM) use case 333 In SSM RTP sessions as described in [RFC5760], one or more Media 334 Sources send RTP packets to a Distribution Source. The Distribution 335 Source relays the RTP packets to the receivers using a source- 336 specific multicast group. Note that each receiver sending multicast 337 NACK to its group may still need to send unicast NACK addressed to 338 the media source or distribution source for lost packets, this may 339 lead to a NACK storm if feedback suppression is not performed and if 340 the RTCP bandwidth limit is misconfigured. 342 As outlined in the [RFC5760], there are two Unicast Feedback models 343 that may be used for reporting, - the Simple Feedback model and the 344 Distribution Source Feedback Summary Model. In the simple Feedback 345 Model, NACKs are reflected by the distribution source to the other 346 receivers, and there's no need for distribution source to create the 347 Third Party Loss Report. The Third Party Loss Report may be 348 generated at the distribution source when downstream loss report is 349 received in the Distribution Source Feedback Summary model, since 350 this summary feedback does not mandate the forwarding of NACK 351 downstream. 353 In order to observe packet loss before the receivers perceive it, one 354 or more intermediate nodes may be placed between the media source and 355 the receivers. These intermediaries monitor for upstream packet loss 356 . These intermediates may be Distribution source, MCUs, RTP 357 translator, or RTP mixers, depending on the precise implementation. 358 If an intermediary notices the loss itself, then it may send a NACK 359 both downstream towards the receivers and upstream towards the media 360 source, to indicate that it has noticed the loss, and to suppress 361 feedback from other downstream receivers. In the SSM case, If the 362 distribution source ,using the simple feedback model, receives a NACK 363 from another system (e.g.,an intermediary), it should redistribute 364 that NACK to all other systems that would not otherwise receive it. 365 If the distribution source, using the summary feedback model, 366 receives a NACK from another system, but, for some reason(e.g., to 367 prevent revealing the identity or existence of a system sending 368 NACK), cannot redistribute that NACK, then it may send a Third Party 369 Loss Report to the systems that were unable to receive the NACK, and 370 won't receive the NACK via other means. Therefore the intermediate 371 node can be reasonably certain that it will help the situation by 372 sending a Third Party Loss Report message to all the relevant 373 receivers, thereby indicating to the receivers that they should not 374 transmit feedback messages for a certain period of time. The 375 intermediate node needs to take into account such factors as the 376 tolerable application delay, packet loss recovery techniques, the 377 network dynamics, and the media type. Loss-repair methods such as 378 retransmission and Forward Error Correction may be used to recover 379 the missing packet. 381 Alternatively, the media source may directly monitor the amount of 382 feedback reports it receives from downstream. If the media source 383 notices the loss itself, then it may send a NACK downstream towards 384 the receivers to suppress feedback. If the media source receives a 385 NACK from another system, it should redistribute that NACK to all 386 other systems that would not otherwise receive it. If the media 387 source receives a NACK from another system, but, for some reason 388 (e.g., hiding identity or existing a system sending NACK ), cannot 389 redistribute that NACK, then it may send a Third Party Loss Report to 390 the systems that were unable to receive the NACK, and won't receive 391 the NACK via other means. 393 6.2. Unicast based Rapid Acquisition of Multicast Stream (RAMS) use 394 case 396 The typical RAMS architecture [RFC6285] may have several Burst/ 397 Retransmission Sources(BRS) behind the multicast source (MS) placed 398 at the same level. These BRSes will receive the multicast SSM stream 399 from the media source. If one of the BRSes receives downstream loss 400 report (i.e., First loss in Figure 3) on its downstream link, but the 401 others BRSes have not, as the packet loss took place on the SSM tree 402 branch that does not impact the other BRSes. In such case, the BRSes 403 not being impacted are not aware of downstream loss at their 404 downstream link, therefore these BRSes will not create a new Third 405 Party Loss Report message and send it to receivers in their 406 downstream path. If the BRS impacted by packet loss has been told 407 the actual packet loss, the BRS MAY choose to create new Third Party 408 Loss Report message and send it to the receivers in the downstream 409 link. Note that BRS must use its own SSRC as packet sender SSRC for 410 transmitting the feedback suppress message. 412 The BRS may also send a NACK upstream to request the retransmitted 413 packet. Upon receiving the retransmitted packet, the BRS sent it 414 downstream. Note that this retransmitted packet may get lost (i.e., 415 second loss in the Figure 3) on the downstream link. In order to 416 deal with this issue, the downstream receiver can start a timeout 417 clock in which it expected to get a retransmission packet. When this 418 timeout expires and there is no retransmitted packet or a new Third 419 Party Loss Report message, it can take its normal behavior as if 420 there is no current retransmission suppression in place. 422 +------------+ First Loss +----------+ 423 |Burst and |Second Loss | | 424 +-----------| Retrans. |----X--X--->| | 425 | Upstream |Source1(BRS)| Downstream | | 426 Link close | link 1 +------------+ link 1 | | 427 to multicast | | | 428 source | | | 429 | | | | 430 | | +------------+ | RTP | 431 +---------+ | +-----++ |Burst and | | Receiver | 432 |Multicast| V| | +----------| Retrans. |----------->| | 433 | Source +-----|Router|Upstream |Source2(BRS)| Downstream | RTP_Rx | 434 +---------+ | |link 2 +------------+ link 2 | | 435 +-----++ | | 436 | | | 437 | | | 438 | | | 439 | +------------+ | | 440 | |Burst and | | | 441 +-----------+ Retrans. |----------->| | 442 Upstream |Source k(BRS| Downstream | | 443 link k +------------+ link k +----------+ 445 Figure 3: RAMS Use Case 447 6.3. RTP transport translator use case 449 A Transport Translator (Topo-Trn-Translator), as defined in [RFC5117] 450 is typically forwarding the RTP and RTCP traffic between RTP clients, 451 for example converting between multicast and unicast for domains that 452 do not support multicast. The translator can identify packet loss 453 using co-located monitor [I-D.ietf-avtcore-monarch] by receiving a 454 NACK from another system and then the monitor can use it's own SSRC 455 as packet sender SSRC for transmitting the Third Party Loss Report 456 message and send this message to the unicast receivers that is not 457 aware of packet loss. 459 6.4. Multipoint Control Unit (MCU) use case 461 In point to multipoint topologies using video switching MCU (Topo- 462 Video-switch-MCU) [RFC5117], the MCU typically forwards a single 463 media stream to each participant, selected from the available input 464 streams. The selection of the input stream is often based on voice 465 activity in the audio-visual conference, but other conference 466 management mechanisms (like presentation mode or explicit floor 467 control) exist as well. 469 In this case the MCU may identify packet loss by receiving a NACK 470 from another system or may decide to switch to a new source. In both 471 cases the receiver may lose synchronization with the video stream and 472 may send a FIR request. If the MCU itself can detect the mis- 473 synchronization of the video, the MCU can send the FIR suppression 474 message to the receivers and send a FIR request to the video source. 475 As suggested in RFC 5117, this topology is better implemented as an 476 Topo-Mixer, in which case the mixer's SSRC is used as packet sender 477 SSRC for transmitting the Third Party Loss Report message. 479 7. Security Considerations 481 The defined messages have certain properties that have security 482 implications. These must be addressed and taken into account by 483 users of this protocol. 485 Spoofed or maliciously created feedback messages of the type defined 486 in this specification can have the following implications: 488 Sending the Third Party Loss Report with wrong sequence number of 489 lost packet that makes missing RTP packets can not be compensated. 491 To prevent these attacks, there is a need to apply authentication and 492 integrity protection of the feedback messages. This can be 493 accomplished against threats external to the current RTP session 494 using the RTP profile that combines Secure RTP [RFC3711] and AVPF 495 into SAVPF [RFC5124]. 497 Note that middleboxes that are not visible at the RTP layer that wish 498 to send the Third Party Loss Reports on behalf of the media source 499 can only do so if they spoof the SSRC of the media source. This is 500 difficult in case SRTP is in use. If the middlebox is visible at the 501 RTP layer, this is not an issue, provided the middlebox is part of 502 the security context for the session. 504 Also note that endpoints that receive a Third Party Loss Report would 505 be well-advised to ignore it, unless it is authenticated via SRTCP or 506 similar. Accepting un-authenticated Third Party Loss Report can lead 507 to a denial of service attack, where the endpoint accepts poor 508 quality media that could be repaired. 510 8. IANA Consideration 512 New feedback type and New parameters for RTCP Third Party Loss Report 513 are subject to IANA registration. For general guidelines on IANA 514 considerations for RTCP feedback, refer to [RFC4585]. 516 This document assigns one new feedback type value in the RTCP 517 feedback report registry to "Third Party Loss Report" with the 518 following registrations format: 520 Name: TPLR 521 Long Name: Third Party Loss Report 522 Value: TBD 523 Reference: This document. 525 This document also assigns the parameter value in the RTCP TPLR 526 feedback report Registry to " Transport Layer Third Party Loss Early 527 Indication ", with the following registrations format: 529 Name: TLLEI 530 Long name: Transport Layer Third Party Loss Early Indication 531 Value: TBD 532 Reference: this document. 534 This document also assigns the parameter value in the RTCP TPLR 535 feedback report Registry to "Payload Specific Third Party Loss Early 536 Indication ", with the following registrations format: 538 Name: PSLEI 539 Long name: Payload Specific Third Party Loss Early Indication 540 Value: TBD 541 Reference: this document. 543 The contact information for the registrations is: 545 Qin Wu 546 sunseawq@huawei.com 547 101 Software Avenue, Yuhua District 548 Nanjing, Jiangsu 210012, China 550 9. Acknowledgement 552 The authors would like to thank David R Oran, Ali C. Begen, Colin 553 Perkins,Tom VAN CAENEGEM, Ingemar Johansson S, Bill Ver Steeg, 554 Jonathan Lennox, WeeSan Lee for their valuable comments and 555 suggestions on this document. 557 10. References 558 10.1. Normative References 560 [RFC5760] Ott, J., Chesterfield, J., and E. Schooler, "RTP Control 561 Protocol (RTCP) Extensions for Single-Source Multicast 562 Sessions with Unicast Feedback", RFC 5760, February 2010. 564 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 565 Requirement Levels", BCP 14, RFC 2119, March 1997. 567 [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, 568 "Extended RTP Profile for Real-time Transport Control 569 Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, 570 July 2006. 572 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. 573 Jacobson, "RTP: A Transport Protocol for Real-Time 574 Applications", STD 64, RFC 3550, July 2003. 576 [RFC5117] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117, 577 January 2008. 579 [RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R. 580 Hakenberg, "RTP Retransmission Payload Format", RFC 4588, 581 July 2006. 583 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 584 Description Protocol", RFC 4566, July 2006. 586 [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 587 Specifications: ABNF", STD 68, RFC 5234, January 2008. 589 [RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman, 590 "Codec Control Messages in the RTP Audio-Visual Profile 591 with Feedback (AVPF)", RFC 5104, February 2008. 593 [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. 594 Norrman, "The Secure Real-time Transport Protocol (SRTP)", 595 RFC 3711, March 2004. 597 [RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for 598 Real-time Transport Control Protocol (RTCP)-Based Feedback 599 (RTP/SAVPF)", RFC 5124, February 2008. 601 10.2. Informative References 603 [RFC5740] Adamson, B., Bormann, C., Handley, M., and J. Macker, 604 "NACK-Oriented Reliable Multicast (NORM) Transport 605 Protocol", November 2009. 607 [DVB-IPTV] 608 ETSI Standard, "Digital Video Broadcasting(DVB); Transport 609 of MPEG-2 TS Based DVB Services over IP Based Networks", 610 ETSI TS 102 034, V1.4.1 , August 2009. 612 [RFC6285] Steeg, B., Begen, A., Caenegem, T., and Z. Vax, "Unicast- 613 Based Rapid Acquisition of Multicast RTP Sessions", 614 June 2011. 616 [I-D.ietf-avtcore-monarch] 617 Wu, Q., Hunt, G., and P. Arden, "Monitoring Architectures 618 for RTP", June 2011. 620 [I-D.ietf-pmol-metrics-framework] 621 Clark, A. and B. Claise, "Framework for Performance Metric 622 Development", January 2011. 624 Appendix A. Change Log 626 Note to the RFC-Editor: please remove this section prior to 627 publication as an RFC. 629 A.1. draft-ietf-avtcore-feedback-suppression-rtp-01 631 The following are the major changes compared to previous version: 633 o Remove the merge report from SSM use case and additional text to 634 address report merging issue. 636 o Revise section 3 and section 6 to address FEC packet dealing issue 637 and Leave how to repair packet loss beyond the scope. 639 o Modify the SSM use case and RAMS use case to focus on uses. 641 o Other Editorial changes. 643 A.2. draft-ietf-avtcore-feedback-suppression-rtp-02 645 The following are the major changes compared to previous version: 647 o In Section 4.1, fix typo: Section 4.3.1.1 of section [RFC5104]-> 648 section 6.2.1 of [RFC4585]. 650 o In Section 3: Clarify how to deal with downstream loss using Third 651 party loss report and upstream loss using NACK. 653 o Update title and abstract to focus on third party loss report. 655 o In Section 6.1: Update this section to explain how third party 656 loss report is used to deal with downstream loss. 658 o In section 6.1.2: Update this section to explain how third party 659 loss report is used to deal with downstream loss. 661 o In section 6.2: Rephrase the text to discuss how BRS deal with the 662 third party loss report. 664 A.3. draft-ietf-avtcore-feedback-suppression-rtp-03 666 The following are the major changes compared to previous version: 668 o In Appendix A, fix typo: Appendix A. Appendix A. -> Appendix A. 670 o Update abstract to clarify when third-party loss reports should be 671 sent instead of NACKs. 673 o Update section 3 Paragraph 2 to differentiate when a third-party 674 loss report should be used compared to a NACK. 676 o Update section 3 Paragraph 3 to explain when media source to send 677 a third-party loss. 679 o Move specific rules for section 6.1.1 and section 6.1.2 to section 680 6.1 as generic rules and delete section 6.1.1. 682 A.4. draft-ietf-avtcore-feedback-suppression-rtp-04 684 The following are the major changes compared to previous version: 685 o Reference Update. 687 o Clarify the use of the third party loss report in section 3 and 688 section 6.1.1. 690 A.5. draft-ietf-avtcore-feedback-suppression-rtp-05 692 The following are the major changes compared to previous version: 693 o Remove 3rd and 4th paragraphs of section 6.1 and replaced them 694 with 2nd and 3rd paragraphs of section 3. 696 o Remove section 6.1.1.1. 698 o Revise the last paragraph of section 1 to clarify the rationale of 699 using new message. 701 o Update RTP transport translator case in section 6.3 to correct the 702 use of the third party loss report. 704 o Update MCU case in section 6.4 to correct the use of the third 705 party loss report. 707 o Revise SSM use case to address multiple DS issue. 709 o References Update. 711 o Move one rationale on preventing sending unicast NACK in 712 introduction section to SSM case section. 714 o Other Editorial changes to section 6.1, 6.1.1, 6.2. 716 A.6. draft-ietf-avtcore-feedback-suppression-rtp-06 718 The following are the major changes compared to previous version: 719 o A few Editorial changes to the whole document. 721 Authors' Addresses 723 Qin Wu 724 Huawei 725 101 Software Avenue, Yuhua District 726 Nanjing, Jiangsu 210012 727 China 729 Email: sunseawq@huawei.com 731 Frank Xia 732 Huawei 733 1700 Alma Dr. Suite 500 734 Plano, TX 75075 735 USA 737 Phone: +1 972-509-5599 738 Email: xiayangsong@huawei.com 739 Roni Even 740 Huawei 741 14 David Hamelech 742 Tel Aviv 64953 743 Israel 745 Email: even.roni@huawei.com