One document matched: draft-hunt-avtcore-monarch-02.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-hunt-avtcore-monarch-02.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="Geoff Hunt" initials="G." surname="Hunt">
      <organization abbrev="BT">BT</organization>

      <address>
        <postal>
          <street>Orion 1 PP2</street>

          <street>Adastral Park</street>

          <street>Martlesham Heath</street>

          <city>Ipswich</city>

          <region>Suffolk</region>

          <code>IP5 3RE</code>

          <country>United Kingdom</country>
        </postal>

        <phone>+44 1473 651704</phone>

        <email>geoff.hunt@bt.com</email>
      </address>
    </author>

    <author fullname="Philip Arden" initials="P.J." surname="Arden">
      <organization abbrev="BT">BT</organization>

      <address>
        <postal>
          <street>Orion 3/7 PP4</street>

          <street>Adastral Park</street>

          <street>Martlesham Heath</street>

          <city>Ipswich</city>

          <region>Suffolk</region>

          <code>IP5 3RE</code>

          <country>United Kingdom</country>
        </postal>

        <phone>+44 1473 644192</phone>

        <email>philip.arden@bt.com</email>
      </address>
    </author>

    <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="March" 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>The authors would 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>

    <section title="Change Log">
      <section title="draft-hunt-avtcore-monarch-00">
        <t>The following are the major changes compared to previous version:
        <list style="symbols">
            <t>Provide some background texts and related work into
            Introduction section.</t>

            <t>Add a new section 3 to describe RTP monitoring
            architecture.</t>

            <t>Add a new section 4 to describe RTCP Metric Block Report and
            associated parameters.</t>

            <t>Move section 3.1, 3.2,3.3 and 3.4 in draft-hunt-avt-monarch-00
            to this version as section 5 to describe Monitoring
            Methodology.</t>

            <t>Add a new section 6 to describe Issues with RTCP XR
            extension.</t>

            <t>Merge section 3,4, 8 in previous version into one new section 9
            to describe Guideline for reporting block format using RTCP
            XR.</t>

            <t>Merge section 6,7 in previous version into one new section 9 to
            describe Application to RFC 5117 topologies.</t>
          </list></t>
      </section>

      <section title="draft-hunt-avtcore-monarch-01">
        <t>The following are the major changes compared to previous version:
        <list style="symbols">
            <t>Update figure 1 to describe the interface between RTP Sender
            and Report Collector in precise granularity.</t>

            <t>Add some texts to define the role of RRW and RRC.</t>

            <t>Correct the order of the second figure in the document.</t>

            <t>Other editorial changes.</t>
          </list></t>
      </section>

      <section title="draft-hunt-avtcore-monarch-02">
        <t>The following are the major changes compared to previous version:
        <list style="symbols">
            <t>Substitute the two components in the monitoring archtiecture
            with monitor functionality to get alignment with RFC3550
            terminology.</t>

            <t>Clear up all the Editor Notes in the document.</t>

            <t>Add one more issue with RTCP XR extension.</t>

            <t>Add some texts to clarify the RRC interface with Network
            Mangement Application.</t>
          </list></t>
      </section>
    </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>
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 13:31:05