One document matched: draft-singh-xrblock-webrtc-additional-stats-02.xml


<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc3550 PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3550.xml">
<!ENTITY rfc3611 PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3611.xml">
<!ENTITY rfc4588 PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.4588.xml">
<!ENTITY rfc6798 PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.6798.xml">
<!ENTITY rfc6958 PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.6958.xml">
<!ENTITY rfc7002 PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.7002.xml">
<!ENTITY rfc7003 PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.7003.xml">
<!ENTITY rfc7004 PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.7004.xml">
<!ENTITY I-D.ietf-rtcweb-use-cases-and-requirements PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-rtcweb-use-cases-and-requirements.xml">
<!ENTITY I-D.ietf-rtcweb-rtp-usage PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-rtcweb-rtp-usage.xml">
<!ENTITY I-D.alvestrand-rtcweb-stats-registry PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml3/reference.I-D.alvestrand-rtcweb-stats-registry.xml">
<!ENTITY I-D.huang-xrblock-post-repair-loss-count PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml3/reference.I-D.huang-xrblock-post-repair-loss-count.xml">
<!ENTITY I-D.huang-xrblock-rtcweb-rtcp-xr-metrics PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml3/reference.I-D.huang-xrblock-rtcweb-rtcp-xr-metrics.xml">
<!ENTITY I-D.ietf-xrblock-rtcp-xr-bytes-discarded-metric PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-xrblock-rtcp-xr-bytes-discarded-metric.xml">
<!ENTITY W3C.WD-webrtc-20130910 PUBLIC "" 
"http://xml.resource.org/public/rfc/bibxml-w3c/reference.W3C.WD-webrtc-20130910.xml">
]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc symrefs="yes" ?>
<rfc ipr="trust200902"
docName="draft-singh-xrblock-webrtc-additional-stats-02"
category="std">
<!-- What is the category field value-->
<front>
    <title abbrev="Additional RTCP XR Metrics for WebRTC">
      Additional RTP Control Protocol (RTCP) Extended Report (XR) Metrics for
      WebRTC Statistics API
    </title>
    
    <author fullname="Varun Singh" initials="V" surname="Singh">
      <organization>Aalto University</organization>
      <address>
        <postal>
          <street>School of Electrical Engineering</street>
          <street>Otakaari 5 A</street>
          <city>Espoo</city>
          <region>FIN</region>
          <code>02150</code>
          <country>Finland</country>
        </postal>
        <email>varun@comnet.tkk.fi</email>
        <uri>http://www.netlab.tkk.fi/~varun/</uri>
      </address>
    </author>
    
    
    <author initials="R." surname="Huang" fullname="Rachel Huang">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>
          <city>Nanjing</city> <region>CN</region><code>210012</code>
          <country>China</country>
        </postal>
        <email>rachel.huang@huawei.com</email>
      </address>
    </author>

    <author initials="R." surname="Even" fullname="Roni Even">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>14 David Hamelech</street>
          <city>Tel Aviv</city> <region></region><code>64953</code>
          <country>Israel</country>
        </postal>
        <email>roni.even@mail01.huawei.com</email>
      </address>
    </author>

    <date />
    <area>RAI</area>
    <workgroup>XR Block Working Group</workgroup>
    <keyword>WebRTC</keyword>
    <keyword>RTCP</keyword>
    <keyword>statistics</keyword>
    <abstract>
      <t>
      This document describes a list of additional identifiers used in
      WebRTC's Javascript statistics API. These identifiers are a set of RTCP
      XR metrics related to the transport of multimedia flows.
      </t>
    </abstract>
</front>

<middle>
  <section title="Introduction">
  <t>
    Web-based real-time communication (WebRTC) deployments are emerging and
    applications need to be able to estimate the service quality. If
    sufficient information (metrics or statistics) are provided to the
    applications, it can attempt to improve the media quality. <xref
    target="I-D.ietf-rtcweb-use-cases-and-requirements" /> specifies a
    requirement for statistics:
  </t>
    <figure align="left" alt="" height="" suppress-title="false" title=""
            width="">
      <artwork align="left" alt="" height="" name="" type="" width=""
               xml:space="preserve"><![CDATA[  
F38   The browser must be able to collect statistics, related to the
      transport of audio and video between peers, needed to estimate 
      quality of experience.
]]></artwork></figure>
  <t>
    The <xref target="I-D.alvestrand-rtcweb-stats-registry" />
    describes a registration procedure for metrics reported by the Javascript
    API. It currently lists basic metrics reported in the RTCP Sender and
    Receiver Report (SR/RR) to fulfill this requirement. However, the basic
    metrics from RTCP SR/RR are not sufficient for precise quality monitoring
    or troubleshooting. This document proposes to expose the RTCP XR metrics
    to complement the identifiers already in the 
    <xref target="I-D.alvestrand-rtcweb-stats-registry" >statistics registry</xref>.
    In depth discussion about the XR metrics candidates is carried out in
    <xref target="I-D.huang-xrblock-rtcweb-rtcp-xr-metrics" />.
  </t>
  <t>
    The WebRTC application has two options to extract the statistics: 1)
    the browser monitors the local (outgoing) and remote (incoming) RTP stream
    and exposes metrics to the application via the 
    <xref target="W3C.WD-webrtc-20130910">Stats API</xref>, or 2) the browser 
    measures the remote (incoming) RTP stream and exposes the metrics to
    the other participant by sending the appropriate RTCP XR. At the moment
    <xref target="I-D.ietf-rtcweb-rtp-usage" /> does not specify the use of any 
    RTCP XRs and since their usage is optional, the exchange of statistics 
    between participants or a monitoring server is outside the scope of 
    this document.
  </t>
  </section>
  
  
  <section anchor="add-stats" title="Candidate XR Block Metrics for WebRTC
  Statistics API">
    <t>
      This document describes a list of additional identifiers to complement
      the identifiers in Section 4.1 of <xref
      target="I-D.alvestrand-rtcweb-stats-registry" /> and these group of
      identifiers are defined on a ReportGroup corresponding to an SSRC.
      In practice the application MUST be able to query the statistic
      identifiers on both an incoming (remote) and outgoing (local)  media 
      stream. Depending on the support of the corresponding XR report the 
      endpoint MAY be able to query the reception statistics for  its 
      outgoing (local) media stream.
    </t>
    
     <t>The following contact information is used for all registrations in
     this document:
<figure>
<artwork><![CDATA[
    Contact:    Varun Singh
                mailto:varun.singh@iki.fi
                tel:+358-9-470-24785
]]></artwork>
</figure></t>


    <section title="Variables from XR Blocks">
      <t></t>
      <!-- -      
      <section title="Cumulative Number of Packets Lost">
        <t>Name: LostPacketCount</t>
        <t>Definition: section 6.4.1 in <xref target="RFC3550" /></t>
      </section> 
      -->
      
      <section title="Packets and Octets Discarded">
        <!-- ######## -->
        <t>Name: PacketsDiscarded</t>
        <t>Definition: Cumulative Number of RTP packets discarded due 
          to late or early-arrival, Appendix A (a) of <xref target="RFC7002" />.</t>
        
        <!-- ######## -->
        <t>Name: OctetsDiscarded</t>
        <t>Definition: Cumulative Number of octets discarded due to late or
          early-arrival, Appendix A of
        <xref target="I-D.ietf-xrblock-rtcp-xr-bytes-discarded-metric" /></t>
        
      </section>
      
      <!-- VS: Missing ref to retx packet count RFC4588? -->
        
      <!-- <section title="Cumulative Number of Retransmitted Packets">
        <t>Name: PacketsRetxReceived</t>
        <t>Definition: See Appendix A of this document, [RFCXXXX].</t>
        <t> RFC EDITOR NOTE: please change XXXX in [RFCXXXX] by the new RFC
        number, when assigned and remove this note.</t>

        <t>Name: PacketsRetxSent</t>
        <t>Definition: See Appendix B of this document, [RFCXXXX].</t>
        <t> RFC EDITOR NOTE: please change XXXX in [RFCXXXX] by the new RFC
        number, when assigned and remove this note.</t>
        
      </section> -->

      <section title="Cumulative Number of Packets Repaired">
        <!-- ######## -->
        <t>Name: PacketsRepaired</t>
        <t>Definition: The cumulative number of lost RTP packets repaired
        after applying a error-resilience mechanism, Appendix A (b) of <xref
        target="I-D.huang-xrblock-post-repair-loss-count" />. To clarify,
        the value is upper bound to the cumulative number of lost packets.</t>
      </section>

      <section title="Burst Packet Loss or Discarded">
        <!-- ######## -->
        <t>Name: BurstPacketDiscarded</t>
        <t>Definition: The total number of RTP packets discarded during discard 
          bursts, Appendix A (b) of <xref target="RFC7003" />.</t>

        <!-- ######## -->  
        <t>Name: BurstPacketLost</t>
        <t>Definition: The total number of RTP packets lost during loss bursts, 
          Appendix A (c) of <xref target="RFC6958" />.</t>

        <t>Name: BurstCount</t>
        <t>Definition: The cumulative number of bursts of lost RTP
          packets, Appendix A (e) of  <xref target="RFC6958" />.</t>

        <t><xref target="RFC3611" /> recommends a Gmin value of 16.</t>
          
      </section>


      <section title="Frame Impairment Metrics">
        <!-- ######## -->
        <t>Name: FullFramesLostCount</t>
        <t>Definition: Number of full frames lost, Appendix A (i) of <xref
        target="RFC7004" /></t>

        
        <!-- VS: Partial frames lost? -->
        <!-- ######## -->
        <t>Name: PartialFramesLostCount</t>
        <t>Definition: Number of frames partially lost, Appendix A (j) of
        <xref target="RFC7004" /></t>

        <!-- ######## -->  
        <t>Name: FramesDiscardedCount</t>
        <t>Definition: Number of full frames discarded, Appendix A (g) of
        <xref target="RFC7004" /></t>
          
      </section>

    </section>

  </section>

  
  <section anchor="IANA" title="IANA Considerations">
    <t>
      This document requests IANA to update the registry described in <xref
      target="I-D.alvestrand-rtcweb-stats-registry" /> with the identifiers
      defined in <xref target="add-stats"></xref>.
    </t>

    <t></t>
  </section>

  <section anchor="Security" title="Security Considerations">
    <t>
      The security considerations of <xref
      target="I-D.alvestrand-rtcweb-stats-registry" />, apply.
    </t>
      
    <!-- <t>
      In some situations, returning very detailed error information (e.g.,
      over-range measurement or measurement unavailable) exposed by the
      statistics API can provide an attacker with insight into the media
      processing.
    </t> -->
  </section>
  
  <section anchor="Acknowledgements" title="Acknowledgements">
    <t>
      This document is a product of discussion in XRBLOCK WG, initial
      motivation for this documented is discussed in <xref
      target="I-D.huang-xrblock-rtcweb-rtcp-xr-metrics" />
    </t>
    <t>
      The authors would like to thank 
      Al Morton, 
      Colin Perkins,
      Dan Romascanu, and 
      Shida Schubert, 
      for their valuable comments and suggestions on earlier version of this
      document.</t>
  </section>
  
</middle>

<back>

  <references title="Normative References">
    &rfc2119; <!-- keywords -->
    &I-D.alvestrand-rtcweb-stats-registry;
    &rfc3550;
    &rfc3611;
    &rfc4588;
    &rfc6958;
    &rfc7002;
    &rfc7003;
    &I-D.ietf-xrblock-rtcp-xr-bytes-discarded-metric;
    &I-D.huang-xrblock-post-repair-loss-count;
    &rfc7004;
    <!-- &rfc6798; -->
  </references>

  <references title="Informative References">  
    &I-D.ietf-rtcweb-use-cases-and-requirements;
    &I-D.huang-xrblock-rtcweb-rtcp-xr-metrics;
    &W3C.WD-webrtc-20130910;
    &I-D.ietf-rtcweb-rtp-usage;
  </references>
  
  <!-- <section title="Metrics represented using RFC6390 Template">
  <t> RFC EDITOR NOTE: please change XXXX in [RFCXXXX] by the new RFC
  number, when assigned and remove this note.</t>
  <t> <list style="letters">
      <t> Number of Packets Retransmitted Metric
      <list style="symbols"> 
      <t> Metric Name: Cumulative number of RTP Packets retransmitted </t>
      <t> Metric Description: Total number of packets retransmitted from the
      beginning of the session. </t>
      <t> Method of Measurement or Calculation: 
        Cumulative number of retransmitted packets received from the beginning
        of the session. The measured value is an unsigned value. If the
        measured value exceeds 0xFFFFFFFD, the value 0xFFFFFFFE MUST be
        reported to indicate an over-range measurement. If the measurement is
        unavailable, the value 0xFFFFFFFF MUST be reported.
      </t>
      <t> Units of Measurement: The counter is increased by one for every
      retransmitted RTP packet that is received. </t>
      <t> Measurement Point(s) with Potential Measurement Domain: 
        This metric reports the number of retransmitted RTP packets received
        by the receiver. The measurement of these metrics are made at the
        receiving end of the retransmission stream and the association of the
        retransmission and original streams should refer to section 5.3 of
        <xref target="RFC4588" />.
      </t>
      <t> Measurement Timing: This metric is applicable to cumulative
      measurements, which may be the duration of the ongoing RTP session.
      </t>
      <t>Use and applications: See section 1 of [RFCXXXX].</t>
      <t>Reporting model: Queried periodically by the WebRTC Statistics API.
      </t>
      </list> </t>
  </list> </t>
  </section> -->
  <section anchor="App-a" title="Change Log"> 
    <t>Note to the RFC-Editor: please remove this section prior to
       publication as an RFC.</t> 
	   <section title="changes in draft-singh-xrblock-webrtc-additional-stats-01"> 
	       <t><list style="symbols">
	           <t>Addressed comments from the Vancouver IETF meeting.</t>
			   <t>Added Burst discard/loss metric.</t>
			   <t>Removed retransmission metric.</t>
	       </list></t>
	   </section>
	    <section title="changes in draft-singh-xrblock-webrtc-additional-stats-00"> 
	        <t><list style="symbols">
	            <t>Clarified measurement points for remote (incoming) media stream
	            and local (outgoing) media stream.</t>
	            <t>Added this section.</t>
	        </list></t>
	    </section>
  </section>
    <!-- Change Log v00 2013-10-01 Varun Initial version -->
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 16:25:10