idnits 2.17.1 draft-ietf-avtcore-monarch-00.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 23, 2011) is 4744 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'H323' is defined on line 789, but no explicit reference was found in the text -- Obsolete informational reference (is this intentional?): RFC 5117 (Obsoleted by RFC 7667) Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Audio/Video Transport Working Group Q. Wu, Ed. 3 Internet-Draft Huawei 4 Intended status: Informational April 23, 2011 5 Expires: October 25, 2011 7 Monitoring Architectures for RTP 8 draft-ietf-avtcore-monarch-00.txt 10 Abstract 12 This memo proposes an architecture for extending RTCP with a new RTCP 13 XR (RFC3611) block type to report new metrics regarding media 14 transmission or reception quality, as proposed in RFC5968. This memo 15 suggests that a new block should contain a single metric or a small 16 number of metrics relevant to a single parameter of interest or 17 concern, rather than containing a number of metrics which attempt to 18 provide full coverage of all those parameters of concern to a 19 specific application. Applications may then "mix and match" to 20 create a set of blocks which covers their set of concerns. Where 21 possible, a specific block should be designed to be re-usable across 22 more than one application, for example, for all of voice, streaming 23 audio and video. 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 October 25, 2011. 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 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 60 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 4 61 3. RTP monitoring architecture . . . . . . . . . . . . . . . . . 5 62 4. RTCP Metric Block Report and associated parameters . . . . . . 8 63 4.1. Classification of RTCP Metric Block parameters . . . . . . 9 64 4.1.1. Application level parameters . . . . . . . . . . . . . 9 65 4.1.2. Transport level parameters . . . . . . . . . . . . . . 9 66 4.1.3. End system parameters . . . . . . . . . . . . . . . . 10 67 5. Monitoring Methodology . . . . . . . . . . . . . . . . . . . . 11 68 5.1. Option 1 - Monitoring every packet . . . . . . . . . . . . 11 69 5.2. Option 2 - Real-time histogram methods . . . . . . . . . . 11 70 5.3. Option 3 - Monitoring by exception . . . . . . . . . . . . 11 71 5.4. Option 4 - Application-specific monitoring . . . . . . . . 12 72 6. Issues with RTCP XR extension . . . . . . . . . . . . . . . . 13 73 7. Guideline for reporting block format using RTCP XR . . . . . . 14 74 7.1. Using small blocks . . . . . . . . . . . . . . . . . . . . 14 75 7.2. Sharing the identity block . . . . . . . . . . . . . . . . 14 76 7.3. Expanding the RTCP XR block namespace . . . . . . . . . . 18 77 8. An example of a metric block . . . . . . . . . . . . . . . . . 19 78 9. Application to RFC 5117 topologies . . . . . . . . . . . . . . 20 79 9.1. Applicability to MCU . . . . . . . . . . . . . . . . . . . 20 80 9.2. Application to translators . . . . . . . . . . . . . . . . 20 81 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 82 11. Security Considerations . . . . . . . . . . . . . . . . . . . 23 83 12. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 24 84 13. Informative References . . . . . . . . . . . . . . . . . . . . 25 85 Appendix A. Appendix A. Change Log . . . . . . . . . . . . . . . 26 86 A.1. draft-ietf-avtcore-monarch-00 . . . . . . . . . . . . . . 26 87 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 27 89 1. Introduction 91 Service providers and network providers today suffer from lack of 92 good service that can monitor the performance at the user's home, 93 handset or remote office. Without service performance metrics, it is 94 difficult for network operators to properly locate the problem and 95 solve service issues before problems impact subscriber/end user. The 96 resolution generally involves deploying costly field network 97 technician to conduct on-site troubleshooting and diagnostics. By 98 reducing the expensive deployments with more automated remote 99 monitoring capabilities, network operators can save significant 100 costs, reduce mean time to repair and provider a better service 101 offering. 103 As more users and subscribers rely on real time application services, 104 uncertainties in the performance and availability of these services 105 are driving the need to support new standard methods for gathering 106 performance metrics from RTP applications. These rapidly emerging 107 standards, such as RTCP XR [RFC3611]and other RTCP extension to 108 Sender Reports(SR), Receiver Reports (RR) [RFC3550]are being 109 developed for the purpose of collecting and reporting performance 110 metrics from endpoint devices that can be used to correlate the 111 metrics, provide end to end service visibility and measure and 112 monitor QoE. 114 However the proliferation of RTP/RTCP specific metrics for transport 115 and application quality monitoring has been identified as a potential 116 problem for RTP/RTCP interoperability, which attempt to provide full 117 coverage of all those parameters of concern to a specific 118 application. Since different applications layered on RTP may have 119 some monitoring requirements in common, therefore these metrics 120 should be satisfied by a common design. 122 The objective of this document is to define an extensible RTP 123 monitoring framework to provide a small number of re-usable QoS/QoE 124 metrics which facilitate reduced implementation costs and help 125 maximize inter-operability. [RFC5968] has stated that, where RTCP is 126 to be extended with a new metric, the preferred mechanism is by the 127 addition of a new RTCP XR [RFC3611] block. This memo assumes that 128 any requirement for a new metric to be transported in RTCP will use a 129 new RTCP XR block. 131 2. Requirements notation 133 This memo is informative and as such contains no normative 134 requirements. 136 3. RTP monitoring architecture 138 The RTP monitoring architecture comprises the following two 139 functional components shown below: 141 o Monitor 143 o Metric Block Structure 145 Monitor is a functional component that acts as a source of 146 information gathered for monitoring purposes. It may also collects 147 statistics from multiple source, stores such information reported by 148 RTCP XR or other RTCP extension appropriately as base metric or 149 calculates composite metric. The end system that source RTP streams, 150 or an intermediate-system that forwards RTP packets to End-devices 151 that send or receive metric block can be envisioned to act as Monitor 152 within the RTP monitoring architecture. 154 The Metric Block exposes real time Application Quality information in 155 the report block format to monitor within the Network Management 156 System. The RTCP or RTCP XR can be extended to convey such 157 information. 159 +-------------------+ 160 | RTP Sender | 161 | +-----------+ | 162 | | Monitor | --- --------| 163 | | | | | 164 | +-----------+ | | 165 |+-----------------+| | +--------------+ 166 ||Application || | |Management | 167 ||-streaming video || | | System | 168 |---|-VOIP || | | | 169 | ||-video conference|| 5 | | +----------+ | 170 | ||-telepresence || --------->| | | 171 | ||-ad insertion || | | Monitor | | 172 | |+-----------------+| |--------->| | | 173 | +-------------------+ | | +-------\--+ | 174 | Report Block | +---------|----+ 175 | transported over | Report Block | 176 | RTCP extension | transported over|5 177 | 1 | RTCP XR | 178 | +------ -----------------+ | +--------------|---- ----+ 179 | | RTP System | | | RTP Receiver >--4-|--- | 180 | | +----------+ | 5 | | +-----------+ | | 181 | | | |------------| | | Monitor |<-- | 182 | | | Monitor | | | | |<------| 183 | | | | | | +----/------+ || 184 | | +----------+ | | | || 185 | | | | |2 || 186 | | +-----------------+ | | +-------/---------+ || 187 | | |Application | | | |Application | || 188 | | |-streaming video | | | |-streaming video | || 189 | | |-VOIP | | 1 | |-VOIP | 3| 190 ---->-Video conference|--------------->|-Video conference || 191 | |-Telepresence | | | |-Telepresence | || 192 | |-Ad insertion | | | |-Ad insertion | || 193 | +-----------------+ | | +-----------------+ || 194 | +-----------------+ | | +-----------------+ || 195 | |Transport | | | |Transport | || 196 | |-IP/UDP/RTP | | | |-IP/UDP/RTP >---|| 197 | |-IP/TCP/RTP | | | | -IP/TCP/RTP | | 198 | |-IP/TCP/RTSP/RTP | | | |-IP/TCP/RTSP/RTP | | 199 | +-----------------+ | | +-----------------+ | 200 +------------------------+ +------------------------+ 202 Figure 1: RTP Monitoring Architecture 204 1. RTP communication between real time applications 206 2. Application layer metrics 208 3. Transport layer metrics 210 4. End System metrics 212 5. Reporting Session- metrics transmitted over specified interfaces 214 6. Management application- monitor interaction using northbound 215 interface. - Monitor outputs reports to the management 216 application. The management application collects raw data from 217 monitor, organizes database, conducts data analysis and creates 218 alerts to the users. Note that Management application 219 interaction with Monitor is out of scope of this document. 221 4. RTCP Metric Block Report and associated parameters 223 The basic RTCP Reception Report (RR) conveys reception statistics in 224 metric block report format for multiple RTP media streams including 226 o transport level statistics 228 o the fraction of packet lost since the last report 230 o the cumulative number of packets lost 232 o the highest sequence number received 234 o an estimate of the inter-arrival jitter 236 o and information to allow senders to calculate the network round 237 trip time. 239 The RTCP XRs [RFC3611] supplement the existing RTCP packets and 240 provide more detailed feedback on reception quality in several 241 categories: 243 o Loss and duplicate RLE reports 245 o Packet-receipt times reports 247 o Round-trip time reports 249 o Statistics Summary Reports 251 There are also various other scenarios in which it is desirable to 252 send RTCP Metric reports more frequently. The Audio/Video Profile 253 with Feedback [RFC4585]extends the standard A/V Profile[RFC3551] to 254 allow RTCP reports to be sent early provided RTCP bandwidth 255 allocation is respected. There are four use cases but are not 256 limited to: 258 o RTCP NACK is used to provide feedback on the RTP sequence number 259 of the lost packets. 261 o RTCP XR is extended to provide feedback on multicast acquisition 262 statistics information and parameters. 264 o RTCP is extended to convey requests for full intra-coded frames or 265 select the reference picture, and signalchanges in the desired 266 temporal/spatial trade-off and maximum media bit rate. 268 o RTCP or RTCP XR is extended to provide feedback on ECN statistics 269 information. 271 4.1. Classification of RTCP Metric Block parameters 273 4.1.1. Application level parameters 275 Measured data at the application level, i.e., QoE related parameters 276 which focus on quality of content rather than network parameters. 277 These include but are not limited to: 279 o Sound/Noise Level 281 o Echo return lost 283 o Statistics Summary Info, e.g.,key frame lost key frame lost rate/ 284 discard rate, key frame burst severity 286 o Codec Control 288 o Estimated Mean Opinion Score (MOS) 290 4.1.2. Transport level parameters 292 Measured data at the transport level. These include but are not 293 limited to: 295 o Lost packets 297 o Round trip delay 299 o Jitter 301 o Congestion info 303 o FEC 305 o Codec Control 307 o Media Synchronization info 309 o Retransmission Info 311 o RAMS info 313 4.1.3. End system parameters 315 Measured data from application residing in that device. These 316 include but are not limited to: 318 o Error Concealment 320 o FEC 322 o Media Synchronization info 324 o Jitter Buffer Lost 326 o Jitter Buffer Delay 328 5. Monitoring Methodology 330 5.1. Option 1 - Monitoring every packet 332 The aim of "monitoring every packet" is to ensure that the 333 information reported is not dependent on the application. In this 334 scheme, RTP systems will report arrival data for each individual RTP 335 packet. RTP (or other) systems receiving this "raw" data may use it 336 to calculate any preferred heuristic metrics, but such calculations 337 and the reporting of the results (e.g. to a session control layer or 338 a management layer) are outside the scope of RTP and RTCP. 340 5.2. Option 2 - Real-time histogram methods 342 There are several potentially useful metrics which rely on the 343 accumulation of a histogram in real time, so that a packet arrival 344 results in a counter being incremented rather than in the creation of 345 a new data item. These metrics may be gathered with a low and 346 predictable storage requirement. Each counter corresponds to a 347 single class interval or "bin" of the histogram. Examples of metrics 348 which may be accumulated in this way include the observed 349 distribution of packet delay variation, and the number of packets 350 lost per unit time interval. 352 Different networks may have very different expected and achieved 353 levels of performance, but it may be useful to fix the number of 354 class intervals in the reported histogram to give a predictable 355 volume of data. This can be achieved by starting with small class 356 intervals ("bin widths") and automatically increasing the width (e.g. 357 by factors of two) if outliers are seen beyond the current upper 358 limit of the histogram. Data already accumulated may be assigned 359 unambiguously to the new set of bins, given some simple conditions on 360 the relationship between the old and new origins and bin widths. 362 A significant disadvantage of the histogram method is the loss of any 363 information about time-domain correlations between the samples which 364 build the histogram. For example, a histogram of packet delay 365 variation provides no indication of whether successive samples of 366 packet delay variation were uncorrelated, or alternatively that the 367 packet delay variation showed a highly-correlated low-frequency 368 wander. 370 5.3. Option 3 - Monitoring by exception 372 An entity which both monitors the packet stream, and has sufficient 373 knowledge of the application to know when transport impairments may 374 have degraded the application's performance, may choose to send 375 exception reports containing details of the transport impairments to 376 a receiving system. The crossing of a transport impairment 377 threshold, or some application-layer event, would trigger such 378 reports. RTP end systems and mixers are likely to contain 379 application implementations which may, in principle, identify this 380 type of exception. 382 It is likely that RTP translators will not contain suitable 383 implementations which could identify such exceptions. 385 On-path devices such as routers and switches are not likely to be 386 aware of RTP at all. Even if they are aware of RTP, they are 387 unlikely to be aware of the RTP-level performance required by 388 specific applications, and hence they are unlikely to be able to 389 identify the level of impairment at which exceptional transport 390 conditions may start to affect application performance. 392 This type of monitoring typically requires the storage of recent data 393 in a FIFO (e.g. a circular buffer) so that data relevant to the 394 period just before and just after the exception may be reported. It 395 is not usually helpful to report transport data only from the period 396 following an exception event detected by an application. This 397 imposes some storage requirement (though less than needed for Option 398 1). It also implies the existence of additional cross-layer 399 primitives or APIs to trigger the transport layer to generate and 400 send its exception report. Such a capability might be considered 401 architecturally undesirable, in that it complicates one or more 402 interfaces above the RTP layer. 404 5.4. Option 4 - Application-specific monitoring 406 This is a business-as-usual option which suggests that the current 407 approach should not be changed, based on the idea that previous 408 application-specific approaches such as that of [RFC3611] were valid. 409 If a large category of RTP applications (such as VoIP) has a 410 requirement for a unique set of transport metrics, arising from its 411 different requirements of the transport, then it seems reasonable for 412 each application category to define its preferred set of metrics to 413 describe transport impairments. We expect that there will be few 414 such categories, probably less than 10. 416 It may be easier to achieve interworking for a well-defined set of 417 application-specific metrics than it would be in the case that 418 applications select a profile from a palette of many independent re- 419 usable metrics. 421 6. Issues with RTCP XR extension 423 Issues that have come up in the past with extensions to RTCP or RTCP 424 XR include (but are probably not limited to) the following: 426 o Repeating this information in a number of metrics blocks within 427 the same RTCP packet may bring inefficiency when multiple small 428 blocks in the same RTCP XR packet contain measurement data for the 429 same stream and period. 431 o RFC 3611 [RFC3611] defines seven report block formats for network 432 management and quality monitoring. However some of these block 433 types defined in [RFC3611]are only specifically designed for 434 conveying multicast inference of network characteristics(MINC) or 435 voice over IP (VoIP) monitoring. 437 o Designing a single report block or metric containing a large 438 number of parameters in different classes for a specific 439 application may increase implementation cost and minimize 440 interoperability. 442 o The RTCP XR block namespace is limited by the 8-bit block type 443 field in the RTCP XR header Under current allocation pressure, we 444 expect that the RTCP XR Block Type space will be exhausted soon. 445 We therefore need a way to extend the block type space, so that 446 new specifications may continue to be developed. 448 7. Guideline for reporting block format using RTCP XR 450 7.1. Using small blocks 452 Different applications using RTP for media transport certainly have 453 differing requirements for metrics transported in RTCP to support 454 their operation. For many applications, the basic metrics for 455 transport impairments provided in RTCP SR and RR packets [RFC3550] 456 (together with source identification provided in RTCP SDES packets) 457 are sufficient. For other applications additional metrics may be 458 required or at least sufficiently useful to justify the overheads, 459 both of processing in endpoints and of increased session bandwidth. 460 For example an IPTV application using Forward Error Correction (FEC) 461 might use either a metric of post-repair loss or a metric giving 462 detailed information about pre-repair loss bursts to optimise payload 463 bandwidth and the strength of FEC required for changing network 464 conditions. However there are many metrics available. It is likely 465 that different applications or classes of applications will wish to 466 use different metrics. Any one application is likely to require 467 metrics for more than one parameter but if this is the case, 468 different applications will almost certainly require different 469 combinations of metrics. If larger blocks are defined containing 470 multiple metrics to address the needs of each application, it becomes 471 likely that many different such larger blocks are defined, which 472 becomes a danger to interoperability. 474 To avoid this pitfall, this memo proposes the use of small RTCP XR 475 metrics blocks each containing a very small number of individual 476 metrics characterising only one parameter of interest to an 477 application running over RTP. For example, at the RTP transport 478 layer, the parameter of interest might be packet delay variation, and 479 specifically the metric "IPDV" defined by [Y1540]. See Section 8 for 480 architectural considerations for a metrics block, using as an example 481 a metrics block to report packet delay variation. 483 7.2. Sharing the identity block 485 Any measurement must be identified. However if metrics are delivered 486 in small blocks there is a danger of inefficiency arising from 487 repeating this information in a number of metrics blocks within the 488 same RTCP packet, in cases where the same identification information 489 applies to multiple metrics blocks. 491 An instance of a metric must be identified using information which is 492 likely to include most of the following: 494 o the node at which it was measured, 496 o the source of the measured stream (for example, its CNAME), 498 o the SSRC of the measured stream, 500 o the sequence number of the first packet of the RTP session, 502 o the extended sequence numbers of the first packet of the current 503 measurement interval, and the last packet included in the 504 measurement, 506 o the duration of the most recent measurement interval and 508 o the duration of the interval applicable to cumulative measurements 509 (which may be the duration of the RTP session to date). 511 Note that this set of information may overlap with, but is more 512 extensive than, that in the union of similar information in RTCP RR 513 packets. However we can not assume that RR information is always 514 present when XR is sent, since they may have different measurement 515 intervals. Also the reason for the additional information carried in 516 the XR is the perceived difficulty of "locating" the *start* of the 517 RTP session (sequence number of 1st packet, duration of interval 518 applicable to cumulative measurements) using only RR. However when 519 an RTCP XR packet containing more than two metrics blocks, reporting 520 on the same streams from the same source, each metric block should 521 have the same measurement identify, if each metric block carry the 522 duplicated data for the measurement identity ,it leads to redundant 523 information in this design since equivalent information is provided 524 multiple times, once in *every* identification packet. Though this 525 ensures immunity to packet loss, the design bring more complexity and 526 the overhead is not completely trivial. 528 This section proposes an approach to minimise the inefficiency of 529 providing this identification information, assuming that an 530 architecture based on small blocks means that a typical RTCP packet 531 will contain more than one metrics block needing the same 532 identification. The choice of identification information to be 533 provided is discussed in [IDENTITY] (work in progress). 535 The approach is to define a stand-alone block containing only 536 identification information, and to tag this identification block with 537 a number which is unique within the scope of the containing RTCP XR 538 packet. The "containing RTCP XR packet" is defined here as the RTCP 539 XR header with PT=XR=207 defined in Section 2 of [RFC3611] and the 540 associated payload defined by the length field of this RTCP XR 541 header. The RTCP XR header itself includes the SSRC of the node at 542 which all of the contained metrics were measured, hence this SSRC 543 need not be repeated in the stand-alone identification block. A 544 single containing RTCP XR packet may contain multiple identification 545 blocks limited by the range of the tag field. Typically there will 546 be one identification block per monitored source SSRC, but the use of 547 more than one identification block for a single monitored source SSRC 548 within a single containing RTCP XR packet is not ruled out. 550 There will be zero or more metrics blocks dependent on each 551 identification block. The dependence of an instance of a metrics 552 block on an identification block is established by the metrics 553 block's having the same numeric value of the tag field as its 554 identification block (in the same containing RTCP XR packet). 556 Figure 2 below illustrates this principle using as an example an RTCP 557 XR packet containing four metrics blocks, reporting on streams from 558 two sources. The measurement identity information is provided in two 559 blocks with Block Type NMI, and tag values 0 and 1 respectively. 561 Note: in this example, RTCP XR block type values for four proposed 562 new block types (work in progress) are given as NMI, NPDV, NBGL and 563 NDEL. These represent numeric block type codepoints to be allocated 564 by IANA at the conclusion of the work. 566 Each of these two identity blocks will specify the SSRC of one of the 567 monitored streams, as well as information about the span of the 568 measurement. There are two metrics blocks with tag=0 indicating 569 their association with the measurement identity block which also has 570 tag=0. These are the two blocks following the identity block with 571 tag=0, though this positioning is not mandatory. There are also two 572 metrics blocks with tag=1 indicating their association with the 573 measurement identity block which also has tag=1, and these are the 574 two blocks following the identity block with tag=1. 576 Note that if metrics blocks associated with an identity block must 577 always follow the identity block, we could save the tag field and 578 possibly simplify processing. However depending on ordering of 579 metric block and identity block may bring inefficiency since you do 580 not know which block is the last metric block associated with 581 identity block. Hence it is more desirable to to cross-referencing 582 with a numeric tag,i.e., using tag field to associated metric block 583 with identity block. 585 In the example, the block types of the metrics blocks associated with 586 tag=0 are BT=NPDV (a PDV metrics block) and BT=NBGL (a burst and gap 587 loss metrics block). The block types of the metrics blocks 588 associated with tag=1 are BT=NPDV (a second PDV metrics block) and 589 BT=NDEL (a delay metrics block). This illustrates that: 591 o multiple instances of the same metrics block may occur within a 592 containing RTCP XR packet, associated with different 593 identification information, and 595 o differing measurements may be made, and reported, for the 596 different streams arriving at an RTP system. 598 0 1 2 3 599 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 600 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 601 |V=2|P|reserved | PT=XR=207 | length | 602 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 603 | SSRC of RTCP XR packet sender | 604 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 605 | BT=NMI |0|tag=0| resv | block length | 606 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 607 | SSRC of stream source 1 | 608 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 609 . ...measurement identity information, source 1... . 610 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 611 | BT=NPDV |I|tag=0|pdvtyp | block length | 612 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 613 . ...PDV information for source 1... . 614 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 615 | BT=NBGL |I|tag=0| resv | block length | 616 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 617 . ...burst-gap-loss information for source 1... . 618 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 619 | BT=NMI |0|tag=1| resv | block length | 620 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 621 | SSRC of stream source 2 | 622 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 623 . ...measurement identity information, source 2... . 624 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 625 | BT=NPDV |I|tag=1|pdvtyp | block length | 626 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 627 . ...PDV information for source 2... . 628 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 629 | BT=NDEL |I|tag=1| resv | block length | 630 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 631 . ...delay information for source 2... . 632 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 634 Figure 2: RTCP XR block with identity blocks 636 This approach of separating the identification information is more 637 costly than providing identification in each metrics block if only a 638 single metrics block is sent in an RTCP packet, but becomes 639 beneficial as soon as more than one metrics block shares common 640 identification. 642 7.3. Expanding the RTCP XR block namespace 644 The RTCP XR block namespace is limited by the 8-bit block type field 645 in the RTCP XR header (Section 3 of [RFC3611]). IESG have noted that 646 this is potentially restrictive. It would be possible to standardize 647 an expansion mechanism, probably based on use of a new field near the 648 start of the variable-length "type-specific block contents" field. 649 Clearly this could apply only to new block types, so might be 650 standardized to apply to some subrange of the current 8-bit range, 651 for example the range 128 through 191 might be used. At time of 652 writing, block types 12 to 254 are unassigned and 255 is reserved for 653 future expansion. One potential use is through hierarchical control, 654 where one or a few codepoints at the top level are given to other 655 SDOs who may then define a number of metrics distinguished by values 656 in the (so far hypothetical) new field. 658 8. An example of a metric block 660 This section uses the example of an existing proposed metrics block 661 to illustrate the application of the principles set out in 662 Section 7.1. 664 The example [PDV] (work in progress) is a block to convey information 665 about packet delay variation (PDV) only, consistent with the 666 principle that a metrics block should address only one parameter of 667 interest. One simple metric of PDV is available in the RTCP RR 668 packet as the "jit" field. There are other PDV metrics which may be 669 more useful to certain applications. Two such metrics are the IPDV 670 metric ([Y1540], [RFC3393]) and the MAPDV2 metric [G1020]. Use of 671 these metrics is consistent with the principle in Section 5 of 672 [RFC5968] that metrics should usually be defined elsewhere, so that 673 RTCP standards define only the transport of the metric rather than 674 its nature. The purpose of this section is to illustrate the 675 architecure using the example of [PDV] (work in progress) rather than 676 to document the design of the PDV metrics block or to provide a 677 tutorial on PDV in general. 679 Given the availability of at least three metrics for PDV, there are 680 design options for the allocation of metrics to RTCP XR blocks: 682 o provide an RTCP XR block per metric 684 o provide a single RTCP XR block which contains all three metrics 686 o provide a single RTCP block to convey any one of the three 687 metrics, together with a identifier to inform the receiving RTP 688 system of the specific metric being conveyed 690 In choosing between these options, extensibility is important, 691 because additional metrics of PDV may well be standardised and 692 require inclusion in this framework. The first option is extensible 693 but only by use of additional RTCP XR blocks, which may consume the 694 limited namespace for RTCP XR blocks at an unacceptable rate. The 695 second option is not extensible, so could be rejected on that basis, 696 but in any case a single application is quite unlikely to require 697 transport of more than one metric for PDV. Hence the third option 698 was chosen. This implies the creation of a subsidiary namespace to 699 enumerate the PDV metrics which may be transported by this block, as 700 discussed further in [PDV] (work in progress). 702 9. Application to RFC 5117 topologies 704 An RTP system (end system, mixer or translator) which originates, 705 terminates or forwards RTCP XR blocks is expected to handle RTCP, 706 including RTCP XR, as specified in [RFC3550] for that class of RTP 707 systems. Provided this expectation is met, an RTP system using RTCP 708 XR is architecturally no different from an RTP system of the same 709 class (end system, mixer, or translator) which does not use RTCP XR. 710 This statement applies to the topologies investigated in [RFC5117], 711 where they use RTP end systems, RTP mixers and RTP translators as 712 these classes are defined in [RFC3550]. 714 These topologies are specifically Topo-Point-to-Point, Topo- 715 Multicast, Topo-Translator (both variants, Topo-Trn-Translator and 716 Topo-Media-Translator, and combinations of the two), and Topo-Mixer. 718 9.1. Applicability to MCU 720 The topologies based on systems which do not behave according to 721 [RFC3550], that is Topo-Video-Switch-MCU and Topo-RTCP-terminating- 722 MCU, suffer from the difficulties described in [RFC5117]. These 723 difficulties apply to systems sending, and expecting to receive, RTCP 724 XR blocks as much as to systems using other RTCP packet types. For 725 example, a participant RTP end system may send media to a video 726 switch MCU. If the media stream is not selected for forwarding by 727 the switch, neither RTCP RR packets nor RTCP XR blocks referring to 728 the end system's generated stream will be received at the RTP end 729 system. Strictly the RTP end system can only conclude that its RTP 730 has been lost in the network, though an RTP end system complying with 731 the robustness principle of [RFC1122] should survive with essential 732 functions unimpaired. 734 9.2. Application to translators 736 Section 7.2 of [RFC3550] describes processing of RTCP by translators. 737 RTCP XR is within the scope of the recommendations of [RFC3550]. 738 Some RTCP XR metrics blocks may usefully be measured at, and reported 739 by, translators. As described in [RFC3550] this creates a 740 requirement for the translator to allocate an SSRC for itself so that 741 it may populate the SSRC in the RTCP XR packet header (although the 742 translator is not a Synchronisation Source in the sense of 743 originating RTP media packets). It must also supply this SSRC and 744 the corresponding CNAME in RTCP SDES packets. 746 In RTP sessions where one or more translators generate any RTCP 747 traffic towards their next-neighbour RTP system, other translators in 748 the session have a choice as to whether they forward a translator's 749 RTCP packets. Forwarding may provide additional information to other 750 RTP systems in the connection but increases RTCP bandwidth and may in 751 some cases present a security risk. RTP translators may have 752 forwarding behaviour based on local policy, which might differ 753 between different interfaces of the same translator. 755 For bidirectional unicast, an RTP system may usually detect RTCP XR 756 from a translator by noting that the sending SSRC is not present in 757 any RTP media packet. However even for bidirectional unicast there 758 is a possibility of a source sending RTCP XR before it has sent any 759 RTP media (leading to transient mis-categorisation of an RTP end 760 system or RTP mixer as a translator), and for multicast sessions - or 761 unidirectional/streaming unicast - there is a possibility of a 762 receive-only end system being permanently mis-categorised as a 763 translator. Hence it is desirable for a translator that send XR to 764 have a way to declare itself explicitly. 766 10. IANA Considerations 768 None. 770 11. Security Considerations 772 This document itself contains no normative text and hence should not 773 give rise to any new security considerations, to be confirmed. 775 12. Acknowledgement 777 Geoff Hunt and Philip Arden wrote the initial draft for this document 778 and provided useful reviews. Many thanks to them. The authors would 779 also like to thank Colin Perkins, Graeme Gibbs, Debbie Greenstreet, 780 Keith Drage,Dan Romascanu, Ali C. Begen, Roni Even for their valuable 781 comments and suggestions on the early version of this document. 783 13. Informative References 785 [G1020] ITU-T, "ITU-T Rec. G.1020, Performance parameter 786 definitions for quality of speech and other voiceband 787 applications utilizing IP networks", July 2006. 789 [H323] ITU-T, "ITU-T Rec. H.323, Packet-based multimedia 790 communications systems", June 2006. 792 [IDENTITY] 793 Hunt, G., "RTCP XR Report Block for Measurement Identity", 794 ID draft-ietf-avt-rtcp-xr-meas-identity-02, May 2009. 796 [PDV] Hunt, G., "RTCP XR Report Block for Packet Delay Variation 797 Metric Reporting", ID draft-ietf-avt-rtcp-xr-pdv-03, 798 May 2009. 800 [RFC1122] Braden, R., "Requirements for Internet Hosts -- 801 Communication Layers", RFC 1122, October 1989. 803 [RFC3393] Demichelis, C., "IP Packet Delay Variation Metric for IP 804 Performance Metrics (IPPM)", RFC 3393, November 2002. 806 [RFC3550] Schulzrinne, H., "RTP: A Transport Protocol for Real-Time 807 Applications", RFC 3550, July 2003. 809 [RFC3551] Schulzrinne , H. and S. Casner, "Extended RTP Profile for 810 Real-time Transport Control Protocol (RTCP)-Based Feedback 811 (RTP/AVPF)", RFC 3551, July 2003. 813 [RFC3611] Friedman, T., "RTP Control Protocol Extended Reports (RTCP 814 XR)", RFC 3611, November 2003. 816 [RFC4585] Ott, J. and S. Wenger, "Extended RTP Profile for Real-time 817 Transport Control Protocol (RTCP)-Based Feedback (RTP/ 818 AVPF)", RFC 4585, July 2006. 820 [RFC5117] Westerlund, M., "RTP Topologies", RFC 5117, January 2008. 822 [RFC5968] Ott, J. and C. Perkins, "Guidelines for Extending the RTP 823 Control Protocol (RTCP)", RFC 5968, September 2010. 825 [Y1540] ITU-T, "ITU-T Rec. Y.1540, IP packet transfer and 826 availability performance parameters", November 2007. 828 Appendix A. Appendix A. Change Log 830 Note to the RFC-Editor: please remove this section prior to 831 publication as an RFC. 833 A.1. draft-ietf-avtcore-monarch-00 835 The following are the major changes compared to 836 draft-hunt-avtcore-monarch-02: 838 o Move Geoff Hunt and Philip Arden from author list to 839 acknowledgement section. 841 Author's Address 843 Qin Wu (editor) 844 Huawei 845 101 Software Avenue, Yuhua District 846 Nanjing, Jiangsu 210012 847 China 849 Email: sunseawq@huawei.com