<?xml version="1.0" ?>
<node name="/Call_Content_Media_Description_Interface_RTCP_Extended_Reports" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <tp:copyright> Copyright © 2005-2010 Nokia Corporation </tp:copyright>
  <tp:copyright> Copyright © 2005-2010 Collabora Ltd </tp:copyright>
  <tp:license xmlns="http://www.w3.org/1999/xhtml">
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  </tp:license>

  <interface name="org.freedesktop.Telepathy.Call1.Content.MediaDescription.Interface.RTCPExtendedReports">
    <tp:added version="0.25.2">(as stable API)</tp:added>
    <tp:requires
    interface="org.freedesktop.Telepathy.Call1.Content.MediaDescription"/>

    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
      <p>This codec offer interface provides a method of signalling for
        RTCP extended reports, documented by <em>RTP Control Protocol
        Extended Reports (RTCP XR)</em> (RFC 3611). CMs should ignore
        all RTCP Extended Report parameters that are not listed
        in this spec at the time of implementation. More parameters can be
        added to the spec as required.</p>

      <p>For more details on what RTCP extended reports can do and how
        to use them, one should refer to
        <a href="http://www.faqs.org/rfcs/rfc3611.html">RFC 3611</a>.</p>

    </tp:docstring>

    <property access="read" type="u" name="LossRLEMaxSize" tp:name-for-bindings="Loss_RLE_Max_Size">
      <tp:docstring>
        If non-zero, enable Loss Run Length Encoded Report Blocks. The value
        of this integer represents the max-size of report blocks, as specified
        in RFC 3611 section 5.1. MAXUINT32 is used to indicate that there is
        no limit.
      </tp:docstring>
    </property>
    <property access="read" type="u" name="DuplicateRLEMaxSize" tp:name-for-bindings="Duplicate_RLE_Max_Size">
      <tp:docstring>
        If non-zero, enable Duplicate Run-Length-Encoded Report Blocks. The
        value of this integer represents the max-size of report blocks, as
        specified in RFC 3611 section 5.1. MAXUINT32 is used to indicate that
        there is no limit.
      </tp:docstring>
    </property>
    <property access="read" type="u" name="PacketReceiptTimesMaxSize" tp:name-for-bindings="Packet_Receipt_Times_Max_Size">
      <tp:docstring>
        If non-zero, enable Packet Receipt Times Report Blocks. The
        value of this integer represents the max-size of report blocks, as
        specified in RFC 3611 section 5.1. MAXUINT32 is used to indicate that
        there is no limit.
      </tp:docstring>
    </property>
    <property access="read" type="u" name="DLRRMaxSize" tp:name-for-bindings="DLRR_Max_Size">
      <tp:docstring>
        If non-zero, enable Receiver Reference Time and Delay since Last
        Receiver Report Blocks (for estimating Round Trip Times between
        non-senders and other parties in the call. The value of this integer
        represents the max-size of report blocks, as specified in RFC 3611
        section 5.1. MAXUINT32 is used to indicate that there is no limit.
      </tp:docstring>
    </property>
    <property access="read" type="u" tp:type="RCPT_XR_RTT_Mode"
      name="RTTMode" tp:name-for-bindings="RTT_Mode">
      <tp:docstring>
        Who is allowed to send Delay since Last Receiver Reports.
      </tp:docstring>
    </property>

    <property access="read" type="u" tp:type="RTCP_XR_Statistics_Flags"
      name="StatisticsFlags" tp:name-for-bindings="Statistics_Flags">
      <tp:docstring>
        Which fields SHOULD be included in the statistics summary
        report blocks that are sent, and whether to send VoIP Metrics Report
        Blocks. There can be zero or more flags
        set.
      </tp:docstring>
    </property>

    <property access="read" type="b" name="EnableMetrics" tp:name-for-bindings="Enable_Metrics">
      <tp:docstring>
        Whether to enable VoIP Metrics Report Blocks. These blocks are of a
        fixed size.
      </tp:docstring>
    </property>

    <tp:flags name="RTCP_XR_Statistics_Flags" type="u">
      <tp:flag suffix="Loss" value="1">
        <tp:docstring>
          Loss report flag, as defined in RFC3611 section 4.6.
        </tp:docstring>
      </tp:flag>
      <tp:flag suffix="Duplicate" value="2">
        <tp:docstring>
          Duplicate report flag, as defined in RFC3611 section 4.6.
        </tp:docstring>
      </tp:flag>
      <tp:flag suffix="Jitter" value="4">
        <tp:docstring>
          Jitter flag, as defined in RFC3611 section 4.6.
        </tp:docstring>
      </tp:flag>
      <tp:flag suffix="TTL" value="8">
        <tp:docstring>
          First bit of TTL or Hop Limit flag, as defined in RFC3611 section
          4.6.
        </tp:docstring>
      </tp:flag>
      <tp:flag suffix="HL" value="16">
        <tp:docstring>
          Second bit of TTL or Hop Limit flag, as defined in RFC3611 section
          4.6.
        </tp:docstring>
      </tp:flag>
    </tp:flags>

    <tp:enum name="RCPT_XR_RTT_Mode" type="u">
      <tp:enumvalue suffix="All" value="0">
        <tp:docstring>
          Both RTP data senders and data receivers MAY send DLRR
          blocks.
        </tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="Sender" value="1">
        <tp:docstring>
          Only active RTP senders MAY send DLRR blocks, i.e., non RTP
          senders SHALL NOT send DLRR blocks.
        </tp:docstring>
      </tp:enumvalue>
    </tp:enum>

  </interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->
