draft-ietf-avtcore-monarch-00.txt   draft-ietf-avtcore-monarch-01.txt 
Audio/Video Transport Working Group Q. Wu, Ed. Audio/Video Transport Working Group Q. Wu
Internet-Draft Huawei Internet-Draft Huawei
Intended status: Informational April 23, 2011 Intended status: Informational May 5, 2011
Expires: October 25, 2011 Expires: November 6, 2011
Monitoring Architectures for RTP Monitoring Architectures for RTP
draft-ietf-avtcore-monarch-00.txt draft-ietf-avtcore-monarch-01.txt
Abstract Abstract
This memo proposes an architecture for extending RTCP with a new RTCP This memo proposes an architecture for extending RTCP with a new RTCP
XR (RFC3611) block type to report new metrics regarding media XR (RFC3611) block type to report new metrics regarding media
transmission or reception quality, as proposed in RFC5968. This memo transmission or reception quality, as proposed in RFC5968. This memo
suggests that a new block should contain a single metric or a small suggests that a new block should contain a single metric or a small
number of metrics relevant to a single parameter of interest or number of metrics relevant to a single parameter of interest or
concern, rather than containing a number of metrics which attempt to concern, rather than containing a number of metrics which attempt to
provide full coverage of all those parameters of concern to a provide full coverage of all those parameters of concern to a
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 25, 2011. This Internet-Draft will expire on November 6, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 17 skipping to change at page 2, line 17
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements notation . . . . . . . . . . . . . . . . . . . . 4 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 4
3. RTP monitoring architecture . . . . . . . . . . . . . . . . . 5 3. RTP monitoring architecture . . . . . . . . . . . . . . . . . 5
4. RTCP Metric Block Report and associated parameters . . . . . . 8 3.1. Interaction with Management Application . . . . . . . . . 7
4.1. Classification of RTCP Metric Block parameters . . . . . . 9 3.2. RTCP Metric Block Report and associated parameters . . . . 7
4.1.1. Application level parameters . . . . . . . . . . . . . 9 4. Issues with reporting metric block using RTCP XR extension . . 9
4.1.2. Transport level parameters . . . . . . . . . . . . . . 9 5. Guideline for reporting block format using RTCP XR . . . . . . 10
4.1.3. End system parameters . . . . . . . . . . . . . . . . 10 5.1. Using small blocks . . . . . . . . . . . . . . . . . . . . 10
5. Monitoring Methodology . . . . . . . . . . . . . . . . . . . . 11 5.2. Sharing the identity block . . . . . . . . . . . . . . . . 10
5.1. Option 1 - Monitoring every packet . . . . . . . . . . . . 11 6. An example of a metric block . . . . . . . . . . . . . . . . . 15
5.2. Option 2 - Real-time histogram methods . . . . . . . . . . 11 7. Application to RFC 5117 topologies . . . . . . . . . . . . . . 16
5.3. Option 3 - Monitoring by exception . . . . . . . . . . . . 11 7.1. Applicability to MCU . . . . . . . . . . . . . . . . . . . 16
5.4. Option 4 - Application-specific monitoring . . . . . . . . 12 7.2. Applicability to Translators . . . . . . . . . . . . . . . 16
6. Issues with RTCP XR extension . . . . . . . . . . . . . . . . 13 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18
7. Guideline for reporting block format using RTCP XR . . . . . . 14 9. Security Considerations . . . . . . . . . . . . . . . . . . . 19
7.1. Using small blocks . . . . . . . . . . . . . . . . . . . . 14 10. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 20
7.2. Sharing the identity block . . . . . . . . . . . . . . . . 14 11. Informative References . . . . . . . . . . . . . . . . . . . . 21
7.3. Expanding the RTCP XR block namespace . . . . . . . . . . 18 Appendix A. Appendix A. Change Log . . . . . . . . . . . . . . . 22
8. An example of a metric block . . . . . . . . . . . . . . . . . 19 A.1. draft-ietf-avtcore-monarch-00 . . . . . . . . . . . . . . 22
9. Application to RFC 5117 topologies . . . . . . . . . . . . . . 20 A.2. draft-ietf-avtcore-monarch-01 . . . . . . . . . . . . . . 22
9.1. Applicability to MCU . . . . . . . . . . . . . . . . . . . 20 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 23
9.2. Application to translators . . . . . . . . . . . . . . . . 20
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
11. Security Considerations . . . . . . . . . . . . . . . . . . . 23
12. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 24
13. Informative References . . . . . . . . . . . . . . . . . . . . 25
Appendix A. Appendix A. Change Log . . . . . . . . . . . . . . . 26
A.1. draft-ietf-avtcore-monarch-00 . . . . . . . . . . . . . . 26
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 27
1. Introduction 1. Introduction
Service providers and network providers today suffer from lack of Service providers and network providers today suffer from lack of
good service that can monitor the performance at the user's home, good service that can monitor the performance at the user's home,
handset or remote office. Without service performance metrics, it is handset or remote office. Without service performance metrics, it is
difficult for network operators to properly locate the problem and difficult for network operators to properly locate the problem and
solve service issues before problems impact subscriber/end user. The solve service issues before problems impact subscriber/end user. The
resolution generally involves deploying costly field network resolution generally involves deploying costly field network
technician to conduct on-site troubleshooting and diagnostics. By technician to conduct on-site troubleshooting and diagnostics. By
reducing the expensive deployments with more automated remote reducing the expensive deployments with more automated remote
monitoring capabilities, network operators can save significant monitoring capabilities, network operators can save significant
costs, reduce mean time to repair and provider a better service costs, reduce mean time to repair and provide a better service
offering. offering.
As more users and subscribers rely on real time application services, As more users and subscribers rely on real time application services,
uncertainties in the performance and availability of these services uncertainties in the performance and availability of these services
are driving the need to support new standard methods for gathering are driving the need to support new standard methods for gathering
performance metrics from RTP applications. These rapidly emerging performance metrics from RTP applications. These rapidly emerging
standards, such as RTCP XR [RFC3611]and other RTCP extension to standards, such as RTCP XR [RFC3611]and other RTCP extension to
Sender Reports(SR), Receiver Reports (RR) [RFC3550]are being Sender Reports(SR), Receiver Reports (RR) [RFC3550]are being
developed for the purpose of collecting and reporting performance developed for the purpose of collecting and reporting performance
metrics from endpoint devices that can be used to correlate the metrics from endpoint devices that can be used to correlate the
skipping to change at page 5, line 5 skipping to change at page 4, line 10
to be extended with a new metric, the preferred mechanism is by the to be extended with a new metric, the preferred mechanism is by the
addition of a new RTCP XR [RFC3611] block. This memo assumes that addition of a new RTCP XR [RFC3611] block. This memo assumes that
any requirement for a new metric to be transported in RTCP will use a any requirement for a new metric to be transported in RTCP will use a
new RTCP XR block. new RTCP XR block.
2. Requirements notation 2. Requirements notation
This memo is informative and as such contains no normative This memo is informative and as such contains no normative
requirements. requirements.
In addition, the following terms are defined:
Transport level metrics
A set of metrics which characterise the three transport
impairments of packet loss, packet delay, and packet delay
variation. These metrics should be usable by any application
which uses RTP transport.
Application level metrics
Metrics relating to QoE related parameters. These metrics are
measured at the application level and focus on quality of content
rather than network parameters.
End System metrics
Metrics relating to the way a terminal deals with transport
impairments affecting the incident RTP stream. These may include
de-jitter buffering, packet loss concealment, and the use of
redundant streams (if any) for correction of error or loss.
3. RTP monitoring architecture 3. RTP monitoring architecture
The RTP monitoring architecture comprises the following two The RTP monitoring architecture comprises the following two key
functional components shown below: functional components shown below:
o Monitor o Monitor
o Metric Block Structure o Metric Block Structure
Monitor is a functional component that acts as a source of Monitor is a functional component defined in RFC3550 that acts as a
information gathered for monitoring purposes. It may also collects source of information gathered for monitoring purposes. It may also
statistics from multiple source, stores such information reported by collect statistics from multiple source, stores such information
RTCP XR or other RTCP extension appropriately as base metric or reported by RTCP XR or other RTCP extension appropriately as base
calculates composite metric. The end system that source RTP streams, metric or calculates composite metric. According to the definition
or an intermediate-system that forwards RTP packets to End-devices of monitor in RFC3550, the end system that source RTP streams, an
that send or receive metric block can be envisioned to act as Monitor intermediate-system that forwards RTP packets to End-devices or a
within the RTP monitoring architecture. third party that does not participate RTP session (i.e., the third
party monitor depicted in figure 1) can be envisioned to act as
Monitor within the RTP monitoring architecture.
The Metric Block exposes real time Application Quality information in The Metric Block exposes real time Application Quality information in
the report block format to monitor within the Network Management the appropriate report block format to monitor within the RTP
System. The RTCP or RTCP XR can be extended to convey such monitoring architecture. Both the RTCP or RTCP XR can be extended to
information. convey such information. The details on transport protocol for
metric block is described in Section 3.2.
+-------------------+ |---------------+
| RTP Sender | | Management |
| +-----------+ | +-------------------+ | System |
| | Monitor | --- --------| | RTP Sender | | +----------+ |
| | | | | | +-----------+ | | | | |
| +-----------+ | | ---------------->| Monitor |---------5------->| Monitor | |
|+-----------------+| | +--------------+ | | | | | | | | |
||Application || | |Management | | | +-----------+ | | +----\-----+ |
||-streaming video || | | System | | |+-----------------+| | | |
|---|-VOIP || | | | | ||Application || --------|-------+
| ||-video conference|| 5 | | +----------+ | | ||-Streaming video || |
| ||-telepresence || --------->| | | | |---------|-VOIP || 5
| ||-ad insertion || | | Monitor | | | | ||-Video conference|| |
| |+-----------------+| |--------->| | | | | ||-Telepresence || +---------------+
| +-------------------+ | | +-------\--+ | | | ||-Ad insertion || | Third Party |
| Report Block | +---------|----+ 5 | |+-----------------+| | Monitor |
| transported over | Report Block | | | +-------------------+ +---------------+
| RTCP extension | transported over|5 | 1
| 1 | RTCP XR | | | +Intermediate------------+ |-------------- ---- ----+
| +------ -----------------+ | +--------------|---- ----+ | | | RTP System Report Block | RTP Receiver >--4-| |
| | RTP System | | | RTP Receiver >--4-|--- | | | | +---------- transported over| +-----------+ | |
| | +----------+ | 5 | | +-----------+ | | | | | | RTCP extension | | Monitor |<-- |
| | | |------------| | | Monitor |<-- | |------------- Monitor |<--------5------|----| |<------|
| | | Monitor | | | | |<------| | | | | Report Block +----/------+ ||
| | | | | | +----/------+ || | | +----------+ transported over | ||
| | +----------+ | | | || | | RTCP XR | |2 ||
| | | | |2 || | | +-----------------+ | | +-------/---------+ ||
| | +-----------------+ | | +-------/---------+ || | | |Application | | | |Application | ||
| | |Application | | | |Application | || | | |-Streaming video | | | |-Streaming video | ||
| | |-streaming video | | | |-streaming video | || | | |-VOIP | | 1 | |-VOIP | 3|
| | |-VOIP | | 1 | |-VOIP | 3| ---->-Video conference|--------------->|-Video conference ||
---->-Video conference|--------------->|-Video conference || | |-Telepresence | | | |-Telepresence | ||
| |-Telepresence | | | |-Telepresence | || | |-Ad insertion | | | |-Ad insertion | ||
| |-Ad insertion | | | |-Ad insertion | || | +-----------------+ | | +-----------------+ ||
| +-----------------+ | | +-----------------+ || | +-----------------+ | | +-----------------+ ||
| +-----------------+ | | +-----------------+ || | |Transport | | | |Transport | ||
| |Transport | | | |Transport | || | |-IP/UDP/RTP | | | |-IP/UDP/RTP >---||
| |-IP/UDP/RTP | | | |-IP/UDP/RTP >---|| | |-IP/TCP/RTP | | | | -IP/TCP/RTP | |
| |-IP/TCP/RTP | | | | -IP/TCP/RTP | | | |-IP/TCP/RTSP/RTP | | | |-IP/TCP/RTSP/RTP | |
| |-IP/TCP/RTSP/RTP | | | |-IP/TCP/RTSP/RTP | | | +-----------------+ | | +-----------------+ |
| +-----------------+ | | +-----------------+ | +------------------------+ +------------------------+
+------------------------+ +------------------------+
Figure 1: RTP Monitoring Architecture Figure 1: RTP Monitoring Architecture
1. RTP communication between real time applications 1. RTP communication between real time applications
2. Application level metrics
2. Application layer metrics 3. Transport level metrics
3. Transport layer metrics
4. End System metrics 4. End System metrics
5. Reporting Session- metrics transmitted over specified interfaces 5. Reporting Session- metrics transmitted over specified interfaces
6. Management application- monitor interaction using northbound 3.1. Interaction with Management Application
interface. - Monitor outputs reports to the management
application. The management application collects raw data from
monitor, organizes database, conducts data analysis and creates
alerts to the users. Note that Management application
interaction with Monitor is out of scope of this document.
4. RTCP Metric Block Report and associated parameters The full solution may include Management application which interacts
with monitor. The Monitor outputs reports to the management
application. The management application collects raw data from
monitor, organizes database, conducts data analysis and creates
alerts to the users. However Management application interaction with
Monitor is out of scope of this document.
3.2. RTCP Metric Block Report and associated parameters
The basic RTCP Reception Report (RR) conveys reception statistics in The basic RTCP Reception Report (RR) conveys reception statistics in
metric block report format for multiple RTP media streams including metric block report format for multiple RTP media streams including
o transport level statistics o transport level statistics
o the fraction of packet lost since the last report o the fraction of packet lost since the last report
o the cumulative number of packets lost o the cumulative number of packets lost
skipping to change at page 9, line 8 skipping to change at page 9, line 5
o RTCP XR is extended to provide feedback on multicast acquisition o RTCP XR is extended to provide feedback on multicast acquisition
statistics information and parameters. statistics information and parameters.
o RTCP is extended to convey requests for full intra-coded frames or o RTCP is extended to convey requests for full intra-coded frames or
select the reference picture, and signalchanges in the desired select the reference picture, and signalchanges in the desired
temporal/spatial trade-off and maximum media bit rate. temporal/spatial trade-off and maximum media bit rate.
o RTCP or RTCP XR is extended to provide feedback on ECN statistics o RTCP or RTCP XR is extended to provide feedback on ECN statistics
information. information.
4.1. Classification of RTCP Metric Block parameters 4. Issues with reporting metric block using RTCP XR extension
4.1.1. Application level parameters
Measured data at the application level, i.e., QoE related parameters
which focus on quality of content rather than network parameters.
These include but are not limited to:
o Sound/Noise Level
o Echo return lost
o Statistics Summary Info, e.g.,key frame lost key frame lost rate/
discard rate, key frame burst severity
o Codec Control
o Estimated Mean Opinion Score (MOS)
4.1.2. Transport level parameters
Measured data at the transport level. These include but are not
limited to:
o Lost packets
o Round trip delay
o Jitter
o Congestion info
o FEC
o Codec Control
o Media Synchronization info
o Retransmission Info
o RAMS info
4.1.3. End system parameters
Measured data from application residing in that device. These
include but are not limited to:
o Error Concealment
o FEC
o Media Synchronization info
o Jitter Buffer Lost
o Jitter Buffer Delay
5. Monitoring Methodology
5.1. Option 1 - Monitoring every packet
The aim of "monitoring every packet" is to ensure that the
information reported is not dependent on the application. In this
scheme, RTP systems will report arrival data for each individual RTP
packet. RTP (or other) systems receiving this "raw" data may use it
to calculate any preferred heuristic metrics, but such calculations
and the reporting of the results (e.g. to a session control layer or
a management layer) are outside the scope of RTP and RTCP.
5.2. Option 2 - Real-time histogram methods
There are several potentially useful metrics which rely on the
accumulation of a histogram in real time, so that a packet arrival
results in a counter being incremented rather than in the creation of
a new data item. These metrics may be gathered with a low and
predictable storage requirement. Each counter corresponds to a
single class interval or "bin" of the histogram. Examples of metrics
which may be accumulated in this way include the observed
distribution of packet delay variation, and the number of packets
lost per unit time interval.
Different networks may have very different expected and achieved
levels of performance, but it may be useful to fix the number of
class intervals in the reported histogram to give a predictable
volume of data. This can be achieved by starting with small class
intervals ("bin widths") and automatically increasing the width (e.g.
by factors of two) if outliers are seen beyond the current upper
limit of the histogram. Data already accumulated may be assigned
unambiguously to the new set of bins, given some simple conditions on
the relationship between the old and new origins and bin widths.
A significant disadvantage of the histogram method is the loss of any
information about time-domain correlations between the samples which
build the histogram. For example, a histogram of packet delay
variation provides no indication of whether successive samples of
packet delay variation were uncorrelated, or alternatively that the
packet delay variation showed a highly-correlated low-frequency
wander.
5.3. Option 3 - Monitoring by exception
An entity which both monitors the packet stream, and has sufficient
knowledge of the application to know when transport impairments may
have degraded the application's performance, may choose to send
exception reports containing details of the transport impairments to
a receiving system. The crossing of a transport impairment
threshold, or some application-layer event, would trigger such
reports. RTP end systems and mixers are likely to contain
application implementations which may, in principle, identify this
type of exception.
It is likely that RTP translators will not contain suitable
implementations which could identify such exceptions.
On-path devices such as routers and switches are not likely to be
aware of RTP at all. Even if they are aware of RTP, they are
unlikely to be aware of the RTP-level performance required by
specific applications, and hence they are unlikely to be able to
identify the level of impairment at which exceptional transport
conditions may start to affect application performance.
This type of monitoring typically requires the storage of recent data
in a FIFO (e.g. a circular buffer) so that data relevant to the
period just before and just after the exception may be reported. It
is not usually helpful to report transport data only from the period
following an exception event detected by an application. This
imposes some storage requirement (though less than needed for Option
1). It also implies the existence of additional cross-layer
primitives or APIs to trigger the transport layer to generate and
send its exception report. Such a capability might be considered
architecturally undesirable, in that it complicates one or more
interfaces above the RTP layer.
5.4. Option 4 - Application-specific monitoring
This is a business-as-usual option which suggests that the current
approach should not be changed, based on the idea that previous
application-specific approaches such as that of [RFC3611] were valid.
If a large category of RTP applications (such as VoIP) has a
requirement for a unique set of transport metrics, arising from its
different requirements of the transport, then it seems reasonable for
each application category to define its preferred set of metrics to
describe transport impairments. We expect that there will be few
such categories, probably less than 10.
It may be easier to achieve interworking for a well-defined set of
application-specific metrics than it would be in the case that
applications select a profile from a palette of many independent re-
usable metrics.
6. Issues with RTCP XR extension
Issues that have come up in the past with extensions to RTCP or RTCP
XR include (but are probably not limited to) the following:
o Repeating this information in a number of metrics blocks within Issues that have come up in the past with reporting metric block
the same RTCP packet may bring inefficiency when multiple small using RTCP XR extensions include (but are probably not limited to)
blocks in the same RTCP XR packet contain measurement data for the the following:
same stream and period.
o RFC 3611 [RFC3611] defines seven report block formats for network o Using large block. A single report block or metric is designed to
management and quality monitoring. However some of these block contain a large number of parameters in different classes for a
types defined in [RFC3611]are only specifically designed for specific application. For example, RFC 3611 [RFC3611] defines
conveying multicast inference of network characteristics(MINC) or seven report block formats for network management and quality
voice over IP (VoIP) monitoring. monitoring. However some of these block types defined in
[RFC3611] are only specifically designed for conveying multicast
inference of network characteristics(MINC) or voice over IP (VoIP)
monitoring. However different applications layered on RTP may
have some monitoring requirements in common, design large block
only for specific applications may increase implementation cost
and minimize interoperability.
o Designing a single report block or metric containing a large o Identity Information duplication. When multiple small blocks in
number of parameters in different classes for a specific the same RTCP XR packet contain measurement data for the same
application may increase implementation cost and minimize stream and period, it bring inefficiency to Repeat the information
interoperability. in a number of metrics blocks within the same RTCP packet.
o The RTCP XR block namespace is limited by the 8-bit block type o Metric Blocks association. When an RTCP XR packet containing four
field in the RTCP XR header Under current allocation pressure, we metrics blocks, reporting on streams from two sources, two
expect that the RTCP XR Block Type space will be exhausted soon. identity blocks need to be added into the RTCP XR packet to
We therefore need a way to extend the block type space, so that correlate two sources if identity information is allowed separate
new specifications may continue to be developed. from each metric block as one independent block. However how to
associate identity block with relevant metric block is a problem,
e.g., all identity blocks are following all the metric block or
vice versa make one receiving RTCP XR packet hard to distinguish
from which metric block belong to which source.
7. Guideline for reporting block format using RTCP XR 5. Guideline for reporting block format using RTCP XR
7.1. Using small blocks 5.1. Using small blocks
Different applications using RTP for media transport certainly have Different applications using RTP for media transport certainly have
differing requirements for metrics transported in RTCP to support differing requirements for metrics transported in RTCP to support
their operation. For many applications, the basic metrics for their operation. For many applications, the basic metrics for
transport impairments provided in RTCP SR and RR packets [RFC3550] transport impairments provided in RTCP SR and RR packets [RFC3550]
(together with source identification provided in RTCP SDES packets) (together with source identification provided in RTCP SDES packets)
are sufficient. For other applications additional metrics may be are sufficient. For other applications additional metrics may be
required or at least sufficiently useful to justify the overheads, required or at least sufficiently useful to justify the overheads,
both of processing in endpoints and of increased session bandwidth. both of processing in endpoints and of increased session bandwidth.
For example an IPTV application using Forward Error Correction (FEC) For example an IPTV application using Forward Error Correction (FEC)
skipping to change at page 14, line 33 skipping to change at page 10, line 33
use different metrics. Any one application is likely to require use different metrics. Any one application is likely to require
metrics for more than one parameter but if this is the case, metrics for more than one parameter but if this is the case,
different applications will almost certainly require different different applications will almost certainly require different
combinations of metrics. If larger blocks are defined containing combinations of metrics. If larger blocks are defined containing
multiple metrics to address the needs of each application, it becomes multiple metrics to address the needs of each application, it becomes
likely that many different such larger blocks are defined, which likely that many different such larger blocks are defined, which
becomes a danger to interoperability. becomes a danger to interoperability.
To avoid this pitfall, this memo proposes the use of small RTCP XR To avoid this pitfall, this memo proposes the use of small RTCP XR
metrics blocks each containing a very small number of individual metrics blocks each containing a very small number of individual
metrics characterising only one parameter of interest to an metrics characterizing only one parameter of interest to an
application running over RTP. For example, at the RTP transport application running over RTP. For example, at the RTP transport
layer, the parameter of interest might be packet delay variation, and layer, the parameter of interest might be packet delay variation, and
specifically the metric "IPDV" defined by [Y1540]. See Section 8 for specifically the metric "IPDV" defined by [Y1540]. See Section 6 for
architectural considerations for a metrics block, using as an example architectural considerations for a metrics block, using as an example
a metrics block to report packet delay variation. a metrics block to report packet delay variation.
7.2. Sharing the identity block 5.2. Sharing the identity block
Any measurement must be identified. However if metrics are delivered Any measurement must be identified. However if metrics are delivered
in small blocks there is a danger of inefficiency arising from in small blocks there is a danger of inefficiency arising from
repeating this information in a number of metrics blocks within the repeating this information in a number of metrics blocks within the
same RTCP packet, in cases where the same identification information same RTCP packet, in cases where the same identification information
applies to multiple metrics blocks. applies to multiple metrics blocks.
An instance of a metric must be identified using information which is An instance of a metric must be identified using information which is
likely to include most of the following: likely to include most of the following:
skipping to change at page 15, line 32 skipping to change at page 11, line 32
Note that this set of information may overlap with, but is more Note that this set of information may overlap with, but is more
extensive than, that in the union of similar information in RTCP RR extensive than, that in the union of similar information in RTCP RR
packets. However we can not assume that RR information is always packets. However we can not assume that RR information is always
present when XR is sent, since they may have different measurement present when XR is sent, since they may have different measurement
intervals. Also the reason for the additional information carried in intervals. Also the reason for the additional information carried in
the XR is the perceived difficulty of "locating" the *start* of the the XR is the perceived difficulty of "locating" the *start* of the
RTP session (sequence number of 1st packet, duration of interval RTP session (sequence number of 1st packet, duration of interval
applicable to cumulative measurements) using only RR. However when applicable to cumulative measurements) using only RR. However when
an RTCP XR packet containing more than two metrics blocks, reporting an RTCP XR packet containing more than two metrics blocks, reporting
on the same streams from the same source, each metric block should on the same streams from the same source, each metric block should
have the same measurement identify, if each metric block carry the have the same measurement identity, if each metric block carry the
duplicated data for the measurement identity ,it leads to redundant duplicated data for the measurement identity ,it leads to redundant
information in this design since equivalent information is provided information in this design since equivalent information is provided
multiple times, once in *every* identification packet. Though this multiple times, once in *every* identification packet. Though this
ensures immunity to packet loss, the design bring more complexity and ensures immunity to packet loss, the design bring more complexity and
the overhead is not completely trivial. the overhead is not completely trivial.
This section proposes an approach to minimise the inefficiency of This section proposes an approach to minimise the inefficiency of
providing this identification information, assuming that an providing this identification information, assuming that an
architecture based on small blocks means that a typical RTCP packet architecture based on small blocks means that a typical RTCP packet
will contain more than one metrics block needing the same will contain more than one metrics block needing the same
identification. The choice of identification information to be identification. The choice of identification information to be
provided is discussed in [IDENTITY] (work in progress). provided is discussed in [IDENTITY] .
The approach is to define a stand-alone block containing only The approach is to define a stand-alone block containing only
identification information, and to tag this identification block with identification information, and to tag this identification block with
a number which is unique within the scope of the containing RTCP XR a number which is unique within the scope of the containing RTCP XR
packet. The "containing RTCP XR packet" is defined here as the RTCP packet. The "containing RTCP XR packet" is defined here as the RTCP
XR header with PT=XR=207 defined in Section 2 of [RFC3611] and the XR header with PT=XR=207 defined in Section 2 of [RFC3611] and the
associated payload defined by the length field of this RTCP XR associated payload defined by the length field of this RTCP XR
header. The RTCP XR header itself includes the SSRC of the node at header. The RTCP XR header itself includes the SSRC of the node at
which all of the contained metrics were measured, hence this SSRC which all of the contained metrics were measured, hence this SSRC
need not be repeated in the stand-alone identification block. A need not be repeated in the stand-alone identification block. A
skipping to change at page 16, line 25 skipping to change at page 12, line 25
block's having the same numeric value of the tag field as its block's having the same numeric value of the tag field as its
identification block (in the same containing RTCP XR packet). identification block (in the same containing RTCP XR packet).
Figure 2 below illustrates this principle using as an example an RTCP Figure 2 below illustrates this principle using as an example an RTCP
XR packet containing four metrics blocks, reporting on streams from XR packet containing four metrics blocks, reporting on streams from
two sources. The measurement identity information is provided in two two sources. The measurement identity information is provided in two
blocks with Block Type NMI, and tag values 0 and 1 respectively. blocks with Block Type NMI, and tag values 0 and 1 respectively.
Note: in this example, RTCP XR block type values for four proposed Note: in this example, RTCP XR block type values for four proposed
new block types (work in progress) are given as NMI, NPDV, NBGL and new block types (work in progress) are given as NMI, NPDV, NBGL and
NDEL. These represent numeric block type codepoints to be allocated NDEL.
by IANA at the conclusion of the work.
Each of these two identity blocks will specify the SSRC of one of the Each of these two identity blocks will specify the SSRC of one of the
monitored streams, as well as information about the span of the monitored streams, as well as information about the span of the
measurement. There are two metrics blocks with tag=0 indicating measurement. There are two metrics blocks with tag=0 indicating
their association with the measurement identity block which also has their association with the measurement identity block which also has
tag=0. These are the two blocks following the identity block with tag=0. These are the two blocks following the identity block with
tag=0, though this positioning is not mandatory. There are also two tag=0, though this positioning is not mandatory. There are also two
metrics blocks with tag=1 indicating their association with the metrics blocks with tag=1 indicating their association with the
measurement identity block which also has tag=1, and these are the measurement identity block which also has tag=1, and these are the
two blocks following the identity block with tag=1. two blocks following the identity block with tag=1.
Note that if metrics blocks associated with an identity block must Note that if metrics blocks associated with an identity block must
always follow the identity block, we could save the tag field and always follow the identity block, we could save the tag field and
possibly simplify processing. However depending on ordering of possibly simplify processing. However depending on ordering of
metric block and identity block may bring inefficiency since you do metric block and identity block may bring inefficiency since you do
not know which block is the last metric block associated with not know which block is the last metric block associated with
identity block. Hence it is more desirable to to cross-referencing identity block unless you identify the next identity block. Hence it
with a numeric tag,i.e., using tag field to associated metric block is more desirable to to do cross-referencing with a numeric tag,i.e.,
with identity block. using tag field to associated metric block with identity block.
In the example, the block types of the metrics blocks associated with In the example, the block types of the metrics blocks associated with
tag=0 are BT=NPDV (a PDV metrics block) and BT=NBGL (a burst and gap tag=0 are BT=NPDV (a PDV metrics block) and BT=NBGL (a burst and gap
loss metrics block). The block types of the metrics blocks loss metrics block). The block types of the metrics blocks
associated with tag=1 are BT=NPDV (a second PDV metrics block) and associated with tag=1 are BT=NPDV (a second PDV metrics block) and
BT=NDEL (a delay metrics block). This illustrates that: BT=NDEL (a delay metrics block). This illustrates that:
o multiple instances of the same metrics block may occur within a o multiple instances of the same metrics block may occur within a
containing RTCP XR packet, associated with different containing RTCP XR packet, associated with different
identification information, and identification information, and
skipping to change at page 18, line 8 skipping to change at page 15, line 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: RTCP XR block with identity blocks Figure 2: RTCP XR block with identity blocks
This approach of separating the identification information is more This approach of separating the identification information is more
costly than providing identification in each metrics block if only a costly than providing identification in each metrics block if only a
single metrics block is sent in an RTCP packet, but becomes single metrics block is sent in an RTCP packet, but becomes
beneficial as soon as more than one metrics block shares common beneficial as soon as more than one metrics block shares common
identification. identification.
7.3. Expanding the RTCP XR block namespace 6. An example of a metric block
The RTCP XR block namespace is limited by the 8-bit block type field
in the RTCP XR header (Section 3 of [RFC3611]). IESG have noted that
this is potentially restrictive. It would be possible to standardize
an expansion mechanism, probably based on use of a new field near the
start of the variable-length "type-specific block contents" field.
Clearly this could apply only to new block types, so might be
standardized to apply to some subrange of the current 8-bit range,
for example the range 128 through 191 might be used. At time of
writing, block types 12 to 254 are unassigned and 255 is reserved for
future expansion. One potential use is through hierarchical control,
where one or a few codepoints at the top level are given to other
SDOs who may then define a number of metrics distinguished by values
in the (so far hypothetical) new field.
8. An example of a metric block
This section uses the example of an existing proposed metrics block This section uses the example of an existing proposed metrics block
to illustrate the application of the principles set out in to illustrate the application of the principles set out in
Section 7.1. Section 5.1.
The example [PDV] (work in progress) is a block to convey information The example [PDV] (work in progress) is a block to convey information
about packet delay variation (PDV) only, consistent with the about packet delay variation (PDV) only, consistent with the
principle that a metrics block should address only one parameter of principle that a metrics block should address only one parameter of
interest. One simple metric of PDV is available in the RTCP RR interest. One simple metric of PDV is available in the RTCP RR
packet as the "jit" field. There are other PDV metrics which may be packet as the "jit" field. There are other PDV metrics which may be
more useful to certain applications. Two such metrics are the IPDV more useful to certain applications. Two such metrics are the IPDV
metric ([Y1540], [RFC3393]) and the MAPDV2 metric [G1020]. Use of metric ([Y1540], [RFC3393]) and the MAPDV2 metric [G1020]. Use of
these metrics is consistent with the principle in Section 5 of these metrics is consistent with the principle in Section 5 of
[RFC5968] that metrics should usually be defined elsewhere, so that [RFC5968] that metrics should usually be defined elsewhere, so that
skipping to change at page 19, line 38 skipping to change at page 15, line 38
o provide an RTCP XR block per metric o provide an RTCP XR block per metric
o provide a single RTCP XR block which contains all three metrics o provide a single RTCP XR block which contains all three metrics
o provide a single RTCP block to convey any one of the three o provide a single RTCP block to convey any one of the three
metrics, together with a identifier to inform the receiving RTP metrics, together with a identifier to inform the receiving RTP
system of the specific metric being conveyed system of the specific metric being conveyed
In choosing between these options, extensibility is important, In choosing between these options, extensibility is important,
because additional metrics of PDV may well be standardised and because additional metrics of PDV may well be standardized and
require inclusion in this framework. The first option is extensible require inclusion in this framework. The first option is extensible
but only by use of additional RTCP XR blocks, which may consume the but only by use of additional RTCP XR blocks, which may consume the
limited namespace for RTCP XR blocks at an unacceptable rate. The limited namespace for RTCP XR blocks at an unacceptable rate. The
second option is not extensible, so could be rejected on that basis, second option is not extensible, so could be rejected on that basis,
but in any case a single application is quite unlikely to require but in any case a single application is quite unlikely to require
transport of more than one metric for PDV. Hence the third option transport of more than one metric for PDV. Hence the third option
was chosen. This implies the creation of a subsidiary namespace to was chosen. This implies the creation of a subsidiary namespace to
enumerate the PDV metrics which may be transported by this block, as enumerate the PDV metrics which may be transported by this block, as
discussed further in [PDV] (work in progress). discussed further in [PDV] (work in progress).
9. Application to RFC 5117 topologies 7. Application to RFC 5117 topologies
An RTP system (end system, mixer or translator) which originates, The topologies specified in [RFC5117] fall into two categories. The
first category relates to the RTP system model utilizing multicast
and/or unicast. The topologies in this category are specifically
Topo-Point-to-Point, Topo- Multicast, Topo-Translator (both variants,
Topo-Trn-Translator and Topo-Media-Translator, and combinations of
the two), and Topo-Mixer. These topologies use RTP end systems, RTP
mixers and RTP translators defined in [RFC3550]. The second category
relates to deployed system models used in many H.323 [H323] video
conferences. The topologies in this category are Topo-Video-Switch-
MCU and Topo-RTCP-terminating-MCU. Such topologies based on systems
do not behave according to [RFC3550]. As for the first category, the
RTP system (end system, mixer or translator) which originates,
terminates or forwards RTCP XR blocks is expected to handle RTCP, terminates or forwards RTCP XR blocks is expected to handle RTCP,
including RTCP XR, as specified in [RFC3550] for that class of RTP including RTCP XR, according to [RFC3550]. Provided this expectation
systems. Provided this expectation is met, an RTP system using RTCP is met, an RTP system using RTCP XR is architecturally no different
XR is architecturally no different from an RTP system of the same from an RTP system of the same class (end system, mixer, or
class (end system, mixer, or translator) which does not use RTCP XR. translator) which does not use RTCP XR. Considering the translator
This statement applies to the topologies investigated in [RFC5117], and MCU are two typical topologies in thetwo categories mentioned
where they use RTP end systems, RTP mixers and RTP translators as above, this document will take them as two typical examples to
these classes are defined in [RFC3550]. explain how RTCP XR report works in different RFC5117 topologies.
These topologies are specifically Topo-Point-to-Point, Topo-
Multicast, Topo-Translator (both variants, Topo-Trn-Translator and
Topo-Media-Translator, and combinations of the two), and Topo-Mixer.
9.1. Applicability to MCU 7.1. Applicability to MCU
The topologies based on systems which do not behave according to Topo-Video-Switch-MCU and Topo-RTCP-terminating-MCU, suffer from the
[RFC3550], that is Topo-Video-Switch-MCU and Topo-RTCP-terminating- difficulties described in [RFC5117]. These difficulties apply to
MCU, suffer from the difficulties described in [RFC5117]. These systems sending, and expecting to receive, RTCP XR blocks as much as
difficulties apply to systems sending, and expecting to receive, RTCP to systems using other RTCP packet types. For example, a participant
XR blocks as much as to systems using other RTCP packet types. For RTP end system may send media to a video switch MCU. If the media
example, a participant RTP end system may send media to a video stream is not selected for forwarding by the switch, neither RTCP RR
switch MCU. If the media stream is not selected for forwarding by packets nor RTCP XR blocks referring to the end system's generated
the switch, neither RTCP RR packets nor RTCP XR blocks referring to stream will be received at the RTP end system. Strictly the RTP end
the end system's generated stream will be received at the RTP end system can only conclude that its RTP has been lost in the network,
system. Strictly the RTP end system can only conclude that its RTP though an RTP end system complying with the robustness principle of
has been lost in the network, though an RTP end system complying with [RFC1122] should survive with essential functions unimpaired.
the robustness principle of [RFC1122] should survive with essential
functions unimpaired.
9.2. Application to translators 7.2. Applicability to Translators
Section 7.2 of [RFC3550] describes processing of RTCP by translators. Section 7.2 of [RFC3550] describes processing of RTCP by translators.
RTCP XR is within the scope of the recommendations of [RFC3550]. RTCP XR is within the scope of the recommendations of [RFC3550].
Some RTCP XR metrics blocks may usefully be measured at, and reported Some RTCP XR metrics blocks may usefully be measured at, and reported
by, translators. As described in [RFC3550] this creates a by, translators. As described in [RFC3550] this creates a
requirement for the translator to allocate an SSRC for itself so that requirement for the translator to allocate an SSRC for the monitor
it may populate the SSRC in the RTCP XR packet header (although the within itself so that it may populate the SSRC in the RTCP XR packet
translator is not a Synchronisation Source in the sense of header (although the translator is not a Synchronisation Source in
originating RTP media packets). It must also supply this SSRC and the sense of originating RTP media packets). It must also supply
the corresponding CNAME in RTCP SDES packets. this SSRC and the corresponding CNAME in RTCP SDES packets.
In RTP sessions where one or more translators generate any RTCP In RTP sessions where one or more translators generate any RTCP
traffic towards their next-neighbour RTP system, other translators in traffic towards their next-neighbour RTP system, other translators in
the session have a choice as to whether they forward a translator's the session have a choice as to whether they forward a translator's
RTCP packets. Forwarding may provide additional information to other RTCP packets. Forwarding may provide additional information to other
RTP systems in the connection but increases RTCP bandwidth and may in RTP systems in the connection but increases RTCP bandwidth and may in
some cases present a security risk. RTP translators may have some cases present a security risk. RTP translators may have
forwarding behaviour based on local policy, which might differ forwarding behaviour based on local policy, which might differ
between different interfaces of the same translator. between different interfaces of the same translator.
For bidirectional unicast, an RTP system may usually detect RTCP XR For bidirectional unicast, an RTP system may usually detect RTCP XR
from a translator by noting that the sending SSRC is not present in from a translator by noting that the sending SSRC is not present in
any RTP media packet. However even for bidirectional unicast there any RTP media packet. However even for bidirectional unicast there
is a possibility of a source sending RTCP XR before it has sent any is a possibility of a source sending RTCP XR before it has sent any
RTP media (leading to transient mis-categorisation of an RTP end RTP media (leading to transient mis-categorisation of an RTP end
system or RTP mixer as a translator), and for multicast sessions - or system or RTP mixer as a translator), and for multicast sessions - or
unidirectional/streaming unicast - there is a possibility of a unidirectional/streaming unicast - there is a possibility of a
receive-only end system being permanently mis-categorised as a receive-only end system being permanently mis-categorised as a
translator. Hence it is desirable for a translator that send XR to translator sending XR report, i.e.,monitor collocated with
transaltor. Hence it is desirable for a translator that send XR to
have a way to declare itself explicitly. have a way to declare itself explicitly.
10. IANA Considerations 8. IANA Considerations
None. None.
11. Security Considerations 9. Security Considerations
This document itself contains no normative text and hence should not This document itself contains no normative text and hence should not
give rise to any new security considerations, to be confirmed. give rise to any new security considerations, to be confirmed.
12. Acknowledgement 10. Acknowledgement
Geoff Hunt and Philip Arden wrote the initial draft for this document Geoff Hunt and Philip Arden wrote the initial draft for this document
and provided useful reviews. Many thanks to them. The authors would and provided useful reviews. Many thanks to them. The authors would
also like to thank Colin Perkins, Graeme Gibbs, Debbie Greenstreet, also like to thank Colin Perkins, Graeme Gibbs, Debbie Greenstreet,
Keith Drage,Dan Romascanu, Ali C. Begen, Roni Even for their valuable Keith Drage,Dan Romascanu, Ali C. Begen, Roni Even for their valuable
comments and suggestions on the early version of this document. comments and suggestions on the early version of this document.
13. Informative References 11. Informative References
[G1020] ITU-T, "ITU-T Rec. G.1020, Performance parameter [G1020] ITU-T, "ITU-T Rec. G.1020, Performance parameter
definitions for quality of speech and other voiceband definitions for quality of speech and other voiceband
applications utilizing IP networks", July 2006. applications utilizing IP networks", July 2006.
[H323] ITU-T, "ITU-T Rec. H.323, Packet-based multimedia [H323] ITU-T, "ITU-T Rec. H.323, Packet-based multimedia
communications systems", June 2006. communications systems", June 2006.
[IDENTITY] [IDENTITY]
Hunt, G., "RTCP XR Report Block for Measurement Identity", Hunt, G., "RTCP XR Report Block for Measurement Identity",
skipping to change at page 26, line 15 skipping to change at page 22, line 15
Appendix A. Appendix A. Change Log Appendix A. Appendix A. Change Log
Note to the RFC-Editor: please remove this section prior to Note to the RFC-Editor: please remove this section prior to
publication as an RFC. publication as an RFC.
A.1. draft-ietf-avtcore-monarch-00 A.1. draft-ietf-avtcore-monarch-00
The following are the major changes compared to The following are the major changes compared to
draft-hunt-avtcore-monarch-02: draft-hunt-avtcore-monarch-02:
o Move Geoff Hunt and Philip Arden from author list to o Move Geoff Hunt and Philip Arden to acknowledgement section.
acknowledgement section.
A.2. draft-ietf-avtcore-monarch-01
The following are the major changes compared to 00:
o Restructure the document by merging section 4 into section 3.
o Remove section 4.1,section 5 that is out of scope of this
document.
o Remove the last bullet in section 6 and section 7.3 based on
conclusion of last meeting.
o Update figure 1 and related text in section 3 according to the
monitor definition in RFC3550.
o Revise section 9 to address monitor declaration issue.
o Merge the first two bullet in section 6.
o Add one new bullet to discuss metric block association in section
6.
Author's Address Author's Address
Qin Wu (editor) Qin Wu
Huawei Huawei
101 Software Avenue, Yuhua District 101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012 Nanjing, Jiangsu 210012
China China
Email: sunseawq@huawei.com Email: sunseawq@huawei.com
 End of changes. 46 change blocks. 
340 lines changed or deleted 223 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/