One document matched: draft-ietf-avtcore-monarch-00.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
by Daniel M Kohn (private) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<rfc category="info" docName="draft-ietf-avtcore-monarch-00.txt"
ipr="trust200902">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<front>
<title abbrev="RTP Monitoring Architectures">Monitoring Architectures for
RTP</title>
<author fullname="Qin Wu" initials="Q." role="editor" surname="Wu">
<organization>Huawei</organization>
<address>
<postal>
<street>101 Software Avenue, Yuhua District</street>
<city>Nanjing</city>
<region>Jiangsu</region>
<code>210012</code>
<country>China</country>
</postal>
<email>sunseawq@huawei.com</email>
</address>
</author>
<date month="April" year="2011" />
<area>Real-time Applications and Infrastructure Area</area>
<workgroup>Audio/Video Transport Working Group</workgroup>
<keyword>RFC</keyword>
<keyword>Request for Comments</keyword>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>Real Time Control Protocol</keyword>
<abstract>
<t>This memo proposes an architecture for extending RTCP with a new RTCP
XR (RFC3611) block type to report new metrics regarding media
transmission or reception quality, as proposed in RFC5968. This memo
suggests that a new block should contain a single metric or a small
number of metrics relevant to a single parameter of interest or concern,
rather than containing a number of metrics which attempt to provide full
coverage of all those parameters of concern to a specific application.
Applications may then "mix and match" to create a set of blocks which
covers their set of concerns. Where possible, a specific block should be
designed to be re-usable across more than one application, for example,
for all of voice, streaming audio and video.</t>
</abstract>
</front>
<middle>
<section anchor="intro" title="Introduction">
<t>Service providers and network providers today suffer from lack of
good service that can monitor the performance at the user's home,
handset or remote office. Without service performance metrics, it is
difficult for network operators to properly locate the problem and solve
service issues before problems impact subscriber/end user. The
resolution generally involves deploying costly field network technician
to conduct on-site troubleshooting and diagnostics. By reducing the
expensive deployments with more automated remote monitoring
capabilities, network operators can save significant costs, reduce mean
time to repair and provider a better service offering.</t>
<t>As more users and subscribers rely on real time application services,
uncertainties in the performance and availability of these services are
driving the need to support new standard methods for gathering
performance metrics from RTP applications. These rapidly emerging
standards, such as RTCP XR <xref target="RFC3611"></xref>and other RTCP
extension to Sender Reports(SR), Receiver Reports (RR) <xref
target="RFC3550"></xref>are being developed for the purpose of
collecting and reporting performance metrics from endpoint devices that
can be used to correlate the metrics, provide end to end service
visibility and measure and monitor QoE.</t>
<t>However the proliferation of RTP/RTCP specific metrics for transport
and application quality monitoring has been identified as a potential
problem for RTP/RTCP interoperability, which attempt to provide full
coverage of all those parameters of concern to a specific application.
Since different applications layered on RTP may have some monitoring
requirements in common, therefore these metrics should be satisfied by a
common design.</t>
<t>The objective of this document is to define an extensible RTP
monitoring framework to provide a small number of re-usable QoS/QoE
metrics which facilitate reduced implementation costs and help maximize
inter-operability. <xref target="RFC5968"></xref> has stated that, where
RTCP is to be extended with a new metric, the preferred mechanism is by
the addition of a new RTCP XR <xref target="RFC3611"></xref> block. This
memo assumes that any requirement for a new metric to be transported in
RTCP will use a new RTCP XR block.</t>
</section>
<section title="Requirements notation">
<t>This memo is informative and as such contains no normative
requirements.</t>
</section>
<section title="RTP monitoring architecture">
<t>The RTP monitoring architecture comprises the following two
functional components shown below:<list style="symbols">
<t>Monitor</t>
<t>Metric Block Structure</t>
</list></t>
<t>Monitor is a functional component that acts as a source of
information gathered for monitoring purposes. It may also collects
statistics from multiple source, stores such information reported by
RTCP XR or other RTCP extension appropriately as base metric or
calculates composite metric. The end system that source RTP streams, or
an intermediate-system that forwards RTP packets to End-devices that
send or receive metric block can be envisioned to act as Monitor within
the RTP monitoring architecture.</t>
<t>The Metric Block exposes real time Application Quality information in
the report block format to monitor within the Network Management System.
The RTCP or RTCP XR can be extended to convey such information.</t>
<figure anchor="ARCH" title="RTP Monitoring Architecture">
<artwork>
+-------------------+
| RTP Sender |
| +-----------+ |
| | Monitor | --- --------|
| | | | |
| +-----------+ | |
|+-----------------+| | +--------------+
||Application || | |Management |
||-streaming video || | | System |
|---|-VOIP || | | |
| ||-video conference|| 5 | | +----------+ |
| ||-telepresence || --------->| | |
| ||-ad insertion || | | Monitor | |
| |+-----------------+| |--------->| | |
| +-------------------+ | | +-------\--+ |
| Report Block | +---------|----+
| transported over | Report Block |
| RTCP extension | transported over|5
| 1 | RTCP XR |
| +------ -----------------+ | +--------------|---- ----+
| | RTP System | | | RTP Receiver >--4-|--- |
| | +----------+ | 5 | | +-----------+ | |
| | | |------------| | | Monitor |<-- |
| | | Monitor | | | | |<------|
| | | | | | +----/------+ ||
| | +----------+ | | | ||
| | | | |2 ||
| | +-----------------+ | | +-------/---------+ ||
| | |Application | | | |Application | ||
| | |-streaming video | | | |-streaming video | ||
| | |-VOIP | | 1 | |-VOIP | 3|
---->-Video conference|--------------->|-Video conference ||
| |-Telepresence | | | |-Telepresence | ||
| |-Ad insertion | | | |-Ad insertion | ||
| +-----------------+ | | +-----------------+ ||
| +-----------------+ | | +-----------------+ ||
| |Transport | | | |Transport | ||
| |-IP/UDP/RTP | | | |-IP/UDP/RTP >---||
| |-IP/TCP/RTP | | | | -IP/TCP/RTP | |
| |-IP/TCP/RTSP/RTP | | | |-IP/TCP/RTSP/RTP | |
| +-----------------+ | | +-----------------+ |
+------------------------+ +------------------------+
</artwork>
</figure>
<t><list style="numbers">
<t>RTP communication between real time applications</t>
<t>Application layer metrics</t>
<t>Transport layer metrics</t>
<t>End System metrics</t>
<t>Reporting Session- metrics transmitted over specified
interfaces</t>
<t>Management application- monitor interaction using northbound
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.</t>
</list></t>
</section>
<section title="RTCP Metric Block Report and associated parameters">
<t>The basic RTCP Reception Report (RR) conveys reception statistics in
metric block report format for multiple RTP media streams including
<list style="symbols">
<t>transport level statistics</t>
<t>the fraction of packet lost since the last report</t>
<t>the cumulative number of packets lost</t>
<t>the highest sequence number received</t>
<t>an estimate of the inter-arrival jitter</t>
<t>and information to allow senders to calculate the network round
trip time.</t>
</list>The RTCP XRs <xref target="RFC3611"></xref> supplement the
existing RTCP packets and provide more detailed feedback on reception
quality in several categories:<list style="symbols">
<t>Loss and duplicate RLE reports</t>
<t>Packet-receipt times reports</t>
<t>Round-trip time reports</t>
<t>Statistics Summary Reports</t>
</list></t>
<t>There are also various other scenarios in which it is desirable to
send RTCP Metric reports more frequently. The Audio/Video Profile with
Feedback <xref target="RFC4585"></xref>extends the standard A/V
Profile<xref target="RFC3551"></xref> to allow RTCP reports to be sent
early provided RTCP bandwidth allocation is respected. There are four
use cases but are not limited to:<list style="symbols">
<t hangText="Retransmission">RTCP NACK is used to provide feedback
on the RTP sequence number of the lost packets.</t>
<t hangText="Rapid acquisition of multicast sessions">RTCP XR is
extended to provide feedback on multicast acquisition statistics
information and parameters.</t>
<t hangText="Codec Control">RTCP is extended to convey requests for
full intra-coded frames or select the reference picture, and
signalchanges in the desired temporal/spatial trade-off and maximum
media bit rate.</t>
<t hangText="Congestion Notification">RTCP or RTCP XR is extended to
provide feedback on ECN statistics information.</t>
</list></t>
<section title="Classification of RTCP Metric Block parameters">
<section title="Application level parameters">
<t>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:<list
style="symbols">
<t>Sound/Noise Level</t>
<t>Echo return lost</t>
<t>Statistics Summary Info, e.g.,key frame lost key frame lost
rate/discard rate, key frame burst severity</t>
<t>Codec Control</t>
<t>Estimated Mean Opinion Score (MOS)</t>
</list></t>
</section>
<section title="Transport level parameters">
<t>Measured data at the transport level. These include but are not
limited to:<list style="symbols">
<t>Lost packets</t>
<t>Round trip delay</t>
<t>Jitter</t>
<t>Congestion info</t>
<t>FEC</t>
<t>Codec Control</t>
<t>Media Synchronization info</t>
<t>Retransmission Info</t>
<t>RAMS info</t>
</list></t>
</section>
<section title="End system parameters">
<t>Measured data from application residing in that device. These
include but are not limited to:<list style="symbols">
<t>Error Concealment</t>
<t>FEC</t>
<t>Media Synchronization info</t>
<t>Jitter Buffer Lost</t>
<t>Jitter Buffer Delay</t>
</list></t>
</section>
</section>
</section>
<section title="Monitoring Methodology">
<section title="Option 1 - Monitoring every packet">
<t>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.</t>
</section>
<section title="Option 2 - Real-time histogram methods">
<t>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.</t>
<t>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.</t>
<t>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.</t>
</section>
<section title="Option 3 - Monitoring by exception">
<t>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.</t>
<t>It is likely that RTP translators will not contain suitable
implementations which could identify such exceptions.</t>
<t>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.</t>
<t>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.</t>
</section>
<section title="Option 4 - Application-specific monitoring">
<t>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.</t>
<t>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.</t>
</section>
</section>
<section title="Issues with RTCP XR extension">
<t>Issues that have come up in the past with extensions to RTCP or RTCP
XR include (but are probably not limited to) the following:<list
style="symbols">
<t>Repeating this information in a number of metrics blocks within
the same RTCP packet may bring inefficiency when multiple small
blocks in the same RTCP XR packet contain measurement data for the
same stream and period.</t>
<t>RFC 3611 <xref target="RFC3611"></xref> defines seven report
block formats for network management and quality monitoring. However
some of these block types defined in <xref
target="RFC3611"></xref>are only specifically designed for conveying
multicast inference of network characteristics(MINC) or voice over
IP (VoIP) monitoring.</t>
<t>Designing a single report block or metric containing a large
number of parameters in different classes for a specific application
may increase implementation cost and minimize interoperability.</t>
<t>The RTCP XR block namespace is limited by the 8-bit block type
field in the RTCP XR header Under current allocation pressure, we
expect that the RTCP XR Block Type space will be exhausted soon. We
therefore need a way to extend the block type space, so that new
specifications may continue to be developed.</t>
</list></t>
</section>
<section title=" Guideline for reporting block format using RTCP XR">
<section anchor="smallblock" title="Using small blocks">
<t>Different applications using RTP for media transport certainly have
differing requirements for metrics transported in RTCP to support
their operation. For many applications, the basic metrics for
transport impairments provided in RTCP SR and RR packets <xref
target="RFC3550"></xref> (together with source identification provided
in RTCP SDES packets) are sufficient. For other applications
additional metrics may be required or at least sufficiently useful to
justify the overheads, both of processing in endpoints and of
increased session bandwidth. For example an IPTV application using
Forward Error Correction (FEC) might use either a metric of
post-repair loss or a metric giving detailed information about
pre-repair loss bursts to optimise payload bandwidth and the strength
of FEC required for changing network conditions. However there are
many metrics available. It is likely that different applications or
classes of applications will wish to use different metrics. Any one
application is likely to require metrics for more than one parameter
but if this is the case, different applications will almost certainly
require different combinations of metrics. If larger blocks are
defined containing multiple metrics to address the needs of each
application, it becomes likely that many different such larger blocks
are defined, which becomes a danger to interoperability.</t>
<t>To avoid this pitfall, this memo proposes the use of small RTCP XR
metrics blocks each containing a very small number of individual
metrics characterising only one parameter of interest to an
application running over RTP. For example, at the RTP transport layer,
the parameter of interest might be packet delay variation, and
specifically the metric "IPDV" defined by <xref
target="Y1540"></xref>. See <xref target="example"></xref> for
architectural considerations for a metrics block, using as an example
a metrics block to report packet delay variation.</t>
</section>
<section anchor="identity" title="Sharing the identity block">
<t>Any measurement must be identified. However if metrics are
delivered in small blocks there is a danger of inefficiency arising
from repeating this information in a number of metrics blocks within
the same RTCP packet, in cases where the same identification
information applies to multiple metrics blocks.</t>
<t>An instance of a metric must be identified using information which
is likely to include most of the following:</t>
<t><list style="symbols">
<t>the node at which it was measured,</t>
<t>the source of the measured stream (for example, its CNAME),</t>
<t>the SSRC of the measured stream,</t>
<t>the sequence number of the first packet of the RTP session,</t>
<t>the extended sequence numbers of the first packet of the
current measurement interval, and the last packet included in the
measurement,</t>
<t>the duration of the most recent measurement interval and</t>
<t>the duration of the interval applicable to cumulative
measurements (which may be the duration of the RTP session to
date).</t>
</list></t>
<t>Note that this set of information may overlap with, but is more
extensive than, that in the union of similar information in RTCP RR
packets. However we can not assume that RR information is always
present when XR is sent, since they may have different measurement
intervals. Also the reason for the additional information carried in
the XR is the perceived difficulty of "locating" the *start* of the
RTP session (sequence number of 1st packet, duration of interval
applicable to cumulative measurements) using only RR. However when an
RTCP XR packet containing more than two metrics blocks, reporting on
the same streams from the same source, each metric block should have
the same measurement identify, if each metric block carry the
duplicated data for the measurement identity ,it leads to redundant
information in this design since equivalent information is provided
multiple times, once in *every* identification packet. Though this
ensures immunity to packet loss, the design bring more complexity and
the overhead is not completely trivial.</t>
<t>This section proposes an approach to minimise the inefficiency of
providing this identification information, assuming that an
architecture based on small blocks means that a typical RTCP packet
will contain more than one metrics block needing the same
identification. The choice of identification information to be
provided is discussed in <xref target="IDENTITY"></xref> (work in
progress).</t>
<t>The approach is to define a stand-alone block containing only
identification information, and to tag this identification block with
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 XR
header with PT=XR=207 defined in Section 2 of <xref
target="RFC3611"></xref> and the associated payload defined by the
length field of this RTCP XR header. The RTCP XR header itself
includes the SSRC of the node at which all of the contained metrics
were measured, hence this SSRC need not be repeated in the stand-alone
identification block. A single containing RTCP XR packet may contain
multiple identification blocks limited by the range of the tag field.
Typically there will be one identification block per monitored source
SSRC, but the use of more than one identification block for a single
monitored source SSRC within a single containing RTCP XR packet is not
ruled out.</t>
<t>There will be zero or more metrics blocks dependent on each
identification block. The dependence of an instance of a metrics block
on an identification block is established by the metrics block's
having the same numeric value of the tag field as its identification
block (in the same containing RTCP XR packet).</t>
<t><xref target="identfigure"></xref> below illustrates this principle
using as an example an RTCP XR packet containing four metrics blocks,
reporting on streams from two sources. The measurement identity
information is provided in two blocks with Block Type NMI, and tag
values 0 and 1 respectively.</t>
<t>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
NDEL. These represent numeric block type codepoints to be allocated by
IANA at the conclusion of the work.</t>
<t>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
measurement. There are two metrics blocks with tag=0 indicating their
association with the measurement identity block which also has tag=0.
These are the two blocks following the identity block with tag=0,
though this positioning is not mandatory. There are also two metrics
blocks with tag=1 indicating their association with the measurement
identity block which also has tag=1, and these are the two blocks
following the identity block with tag=1.</t>
<t>Note that if metrics blocks associated with an identity block must
always follow the identity block, we could save the tag field and
possibly simplify processing. However depending on ordering of metric
block and identity block may bring inefficiency since you do not know
which block is the last metric block associated with identity block.
Hence it is more desirable to to cross-referencing with a numeric
tag,i.e., using tag field to associated metric block with identity
block.</t>
<t>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 loss metrics block). The block types of the metrics blocks
associated with tag=1 are BT=NPDV (a second PDV metrics block) and
BT=NDEL (a delay metrics block). This illustrates that:</t>
<t><list style="symbols">
<t>multiple instances of the same metrics block may occur within a
containing RTCP XR packet, associated with different
identification information, and</t>
<t>differing measurements may be made, and reported, for the
different streams arriving at an RTP system.</t>
</list></t>
<figure anchor="identfigure"
title="RTCP XR block with identity blocks">
<artwork>
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|reserved | PT=XR=207 | length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of RTCP XR packet sender |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=NMI |0|tag=0| resv | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of stream source 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. ...measurement identity information, source 1... .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=NPDV |I|tag=0|pdvtyp | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. ...PDV information for source 1... .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=NBGL |I|tag=0| resv | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. ...burst-gap-loss information for source 1... .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=NMI |0|tag=1| resv | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of stream source 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. ...measurement identity information, source 2... .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=NPDV |I|tag=1|pdvtyp | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. ...PDV information for source 2... .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=NDEL |I|tag=1| resv | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. ...delay information for source 2... .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
</figure>
<t>This approach of separating the identification information is more
costly than providing identification in each metrics block if only a
single metrics block is sent in an RTCP packet, but becomes beneficial
as soon as more than one metrics block shares common
identification.</t>
</section>
<section anchor="expansion"
title="Expanding the RTCP XR block namespace">
<t>The RTCP XR block namespace is limited by the 8-bit block type
field in the RTCP XR header (Section 3 of <xref
target="RFC3611"></xref>). 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.</t>
</section>
</section>
<section anchor="example" title="An example of a metric block">
<t>This section uses the example of an existing proposed metrics block
to illustrate the application of the principles set out in <xref
target="smallblock"></xref>.</t>
<t>The example <xref target="PDV"></xref> (work in progress) is a block
to convey information about packet delay variation (PDV) only,
consistent with the principle that a metrics block should address only
one parameter of 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 more useful to certain applications. Two such metrics are the IPDV
metric (<xref target="Y1540"></xref>, <xref target="RFC3393"></xref>)
and the MAPDV2 metric <xref target="G1020"></xref>. Use of these metrics
is consistent with the principle in Section 5 of <xref
target="RFC5968"></xref> that metrics should usually be defined
elsewhere, so that RTCP standards define only the transport of the
metric rather than its nature. The purpose of this section is to
illustrate the architecure using the example of <xref
target="PDV"></xref> (work in progress) rather than to document the
design of the PDV metrics block or to provide a tutorial on PDV in
general.</t>
<t>Given the availability of at least three metrics for PDV, there are
design options for the allocation of metrics to RTCP XR blocks:</t>
<t><list style="symbols">
<t>provide an RTCP XR block per metric</t>
<t>provide a single RTCP XR block which contains all three
metrics</t>
<t>provide a single RTCP block to convey any one of the three
metrics, together with a identifier to inform the receiving RTP
system of the specific metric being conveyed</t>
</list></t>
<t>In choosing between these options, extensibility is important,
because additional metrics of PDV may well be standardised and require
inclusion in this framework. The first option is extensible but only by
use of additional RTCP XR blocks, which may consume the limited
namespace for RTCP XR blocks at an unacceptable rate. The second option
is not extensible, so could be rejected on that basis, but in any case a
single application is quite unlikely to require transport of more than
one metric for PDV. Hence the third option was chosen. This implies the
creation of a subsidiary namespace to enumerate the PDV metrics which
may be transported by this block, as discussed further in <xref
target="PDV"></xref> (work in progress).</t>
</section>
<section anchor="topologies" title="Application to RFC 5117 topologies">
<t>An RTP system (end system, mixer or translator) which originates,
terminates or forwards RTCP XR blocks is expected to handle RTCP,
including RTCP XR, as specified in <xref target="RFC3550"></xref> for
that class of RTP systems. Provided this expectation is met, an RTP
system using RTCP XR is architecturally no different from an RTP system
of the same class (end system, mixer, or translator) which does not use
RTCP XR. This statement applies to the topologies investigated in <xref
target="RFC5117"></xref>, where they use RTP end systems, RTP mixers and
RTP translators as these classes are defined in <xref
target="RFC3550"></xref>.</t>
<t>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.</t>
<section title="Applicability to MCU">
<t>The topologies based on systems which do not behave according to
<xref target="RFC3550"></xref>, that is Topo-Video-Switch-MCU and
Topo-RTCP-terminating-MCU, suffer from the difficulties described in
[RFC5117]. These difficulties apply to systems sending, and expecting
to receive, RTCP XR blocks as much as to systems using other RTCP
packet types. For example, a participant RTP end system may send media
to a video switch MCU. If the media stream is not selected for
forwarding by the switch, neither RTCP RR packets nor RTCP XR blocks
referring to the end system's generated stream will be received at the
RTP end system. Strictly the RTP end system can only conclude that its
RTP has been lost in the network, though an RTP end system complying
with the robustness principle of [RFC1122] should survive with
essential functions unimpaired.</t>
</section>
<section anchor="txlat" title="Application to translators">
<t>Section 7.2 of <xref target="RFC3550"></xref> describes processing
of RTCP by translators. RTCP XR is within the scope of the
recommendations of <xref target="RFC3550"></xref>. Some RTCP XR
metrics blocks may usefully be measured at, and reported by,
translators. As described in <xref target="RFC3550"></xref> this
creates a requirement for the translator to allocate an SSRC for
itself so that it may populate the SSRC in the RTCP XR packet header
(although the translator is not a Synchronisation Source in the sense
of originating RTP media packets). It must also supply this SSRC and
the corresponding CNAME in RTCP SDES packets.</t>
<t>In RTP sessions where one or more translators generate any RTCP
traffic towards their next-neighbour RTP system, other translators in
the session have a choice as to whether they forward a translator's
RTCP packets. Forwarding may provide additional information to other
RTP systems in the connection but increases RTCP bandwidth and may in
some cases present a security risk. RTP translators may have
forwarding behaviour based on local policy, which might differ between
different interfaces of the same translator.</t>
<t>For bidirectional unicast, an RTP system may usually detect RTCP XR
from a translator by noting that the sending SSRC is not present in
any RTP media packet. However even for bidirectional unicast there 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 system or
RTP mixer as a translator), and for multicast sessions - or
unidirectional/streaming unicast - there is a possibility of a
receive-only end system being permanently mis-categorised as a
translator. Hence it is desirable for a translator that send XR to
have a way to declare itself explicitly.</t>
</section>
</section>
<section title="IANA Considerations">
<t>None.</t>
</section>
<section title="Security Considerations">
<t>This document itself contains no normative text and hence should not
give rise to any new security considerations, to be confirmed.</t>
</section>
<section title="Acknowledgement">
<t>Geoff Hunt and Philip Arden wrote the initial draft for this document
and provided useful reviews. Many thanks to them. The authors would also
like to thank Colin Perkins, Graeme Gibbs, Debbie Greenstreet, Keith
Drage,Dan Romascanu, Ali C. Begen, Roni Even for their valuable comments
and suggestions on the early version of this document.</t>
</section>
</middle>
<back>
<references title="Informative References">
<reference anchor="RFC1122">
<front>
<title>Requirements for Internet Hosts -- Communication
Layers</title>
<author initials="R." surname="Braden">
<organization>USC/ISI</organization>
</author>
<date month="October" year="1989" />
</front>
<seriesInfo name="RFC" value="1122" />
<format type="TXT" />
</reference>
<reference anchor="RFC3393">
<front>
<title>IP Packet Delay Variation Metric for IP Performance Metrics
(IPPM)</title>
<author fullname="Carlo Demichelis" initials="C."
surname="Demichelis">
<organization>Telecomitalia Lab</organization>
</author>
<date month="November" year="2002" />
</front>
<seriesInfo name="RFC" value="3393" />
<format type="TXT" />
</reference>
<reference anchor="RFC3550">
<front>
<title>RTP: A Transport Protocol for Real-Time Applications</title>
<author fullname="Henning Schulzrinne" initials="H."
surname="Schulzrinne">
<organization>Columbia University</organization>
</author>
<date month="July" year="2003" />
</front>
<seriesInfo name="RFC" value="3550" />
<format type="TXT" />
</reference>
<reference anchor="RFC3611">
<front>
<title>RTP Control Protocol Extended Reports (RTCP XR)</title>
<author fullname="Timur Friedman" initials="T. (Ed)"
surname="Friedman">
<organization>Paris 6</organization>
</author>
<date month="November" year="2003" />
</front>
<seriesInfo name="RFC" value="3611" />
<format type="TXT" />
</reference>
<reference anchor="RFC5117">
<front>
<title>RTP Topologies</title>
<author fullname="Magnus Westerlund" initials="M."
surname="Westerlund">
<organization>Ericsson Research</organization>
</author>
<date month="January" year="2008" />
</front>
<seriesInfo name="RFC" value="5117" />
<format type="TXT" />
</reference>
<reference anchor="RFC5968">
<front>
<title>Guidelines for Extending the RTP Control Protocol
(RTCP)</title>
<author fullname="Joerg Ott" initials="J." surname="Ott">
<organization>Helsinki University of Technology</organization>
</author>
<author fullname="C. Perkins" initials="C." surname="Perkins">
<organization>University of Glasgow</organization>
</author>
<date month="September" year="2010" />
</front>
<seriesInfo name="RFC" value="5968" />
<format type="TXT" />
</reference>
<reference anchor="RFC4585">
<front>
<title>Extended RTP Profile for Real-time Transport Control Protocol
(RTCP)-Based Feedback (RTP/AVPF)</title>
<author fullname="Joerg Ott" initials="J." surname="Ott">
<organization>Helsinki University of Technology</organization>
</author>
<author fullname="S. Wenger" initials="S." surname="Wenger">
<organization>Nokia</organization>
</author>
<date month="July" year="2006" />
</front>
<seriesInfo name="RFC" value="4585" />
<format type="TXT" />
</reference>
<reference anchor="RFC3551">
<front>
<title>Extended RTP Profile for Real-time Transport Control Protocol
(RTCP)-Based Feedback (RTP/AVPF)</title>
<author fullname="H. Schulzrinne" initials="H."
surname="Schulzrinne ">
<organization>Columbia University</organization>
</author>
<author fullname="S. Casner" initials="S." surname="Casner">
<organization>Packet Design</organization>
</author>
<date month="July" year="2003" />
</front>
<seriesInfo name="RFC" value="3551" />
<format type="TXT" />
</reference>
<reference anchor="IDENTITY">
<front>
<title>RTCP XR Report Block for Measurement Identity</title>
<author fullname="Geoff Hunt" initials="G." surname="Hunt">
<organization>BT</organization>
</author>
<date month="May" year="2009" />
</front>
<seriesInfo name="ID" value="draft-ietf-avt-rtcp-xr-meas-identity-02" />
<format type="TXT" />
</reference>
<reference anchor="PDV">
<front>
<title>RTCP XR Report Block for Packet Delay Variation Metric
Reporting</title>
<author fullname="Geoff Hunt" initials="G." surname="Hunt">
<organization>BT</organization>
</author>
<date month="May" year="2009" />
</front>
<seriesInfo name="ID" value="draft-ietf-avt-rtcp-xr-pdv-03" />
<format type="TXT" />
</reference>
<reference anchor="G1020">
<front>
<title>ITU-T Rec. G.1020, Performance parameter definitions for
quality of speech and other voiceband applications utilizing IP
networks</title>
<author fullname="" initials="" surname="">
<organization>ITU-T</organization>
</author>
<date month="July" year="2006" />
</front>
<format type="TXT" />
</reference>
<reference anchor="Y1540">
<front>
<title>ITU-T Rec. Y.1540, IP packet transfer and availability
performance parameters</title>
<author fullname="" initials="" surname="">
<organization>ITU-T</organization>
</author>
<date month="November" year="2007" />
</front>
<format type="TXT" />
</reference>
<reference anchor="H323">
<front>
<title>ITU-T Rec. H.323, Packet-based multimedia communications
systems</title>
<author fullname="" initials="" surname="">
<organization>ITU-T</organization>
</author>
<date month="June" year="2006" />
</front>
<format type="TXT" />
</reference>
</references>
<section title="Appendix A. Change Log">
<t>Note to the RFC-Editor: please remove this section prior to
publication as an RFC.</t>
<section title="draft-ietf-avtcore-monarch-00">
<t>The following are the major changes compared to
draft-hunt-avtcore-monarch-02: <list style="symbols">
<t>Move Geoff Hunt and Philip Arden from author list to
acknowledgement section.</t>
</list></t>
</section>
</section>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-23 13:38:19 |