Audio/Video Working Group                                    Alan Clark
Internet-Draft                                                 Telchemy
Expires: April 10, August 20, 2005                                  Amy Pendleton
                                                        Nortel Networks

           Proposed RTP Control Protocol Extended Reports (RTCP XR)
                 VoIP Metrics Management Information Base
                     draft-ietf-avt-rtcp-xr-mib-00.txt
                     draft-ietf-avt-rtcp-xr-mib-01.txt

Status of this Memo

   This document is an Internet-Draft and is subject to all provisions
   of section 3 of RFC 3667.  By submitting this Internet-Draft, each
   author represents that any applicable patent or other IPR claims of
   which he or she is aware have been or will be disclosed, and any of
   which he or she become aware will be disclosed, in accordance with
   RFC 3668.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at http://
   www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on April 10, August 20, 2005.

Copyright Notice

   Copyright (C) The Internet Society (2004).  All Rights Reserved.

   This document is a product of the Audio-Visual Transport (AVT)
   working group of the Internet Engineering Task Force. Comments are
   solicited and should be addressed to the working group's mailing
   list at avt@ietf.org and/or the authors.

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it defines objects for managing Real-Time Transport
   Control Protocol Extended Reports (RTCP XR) VoIP Metrics (RFC3611).

Table of Contents

   1. The Network Management Framework .............................  2
   2. Overview .....................................................  3
   2.1 Components ..................................................  3
   2.2 Applicability of the MIB to RTP System Implementations ......  4  3
   2.3 The Structure of the RTCP XR MIB ............................  4  3
   2.4 Relationship to the RAQMON Architecture......................  4
   3 Definitions ...................................................  4  5
   4. Security Considerations ...................................... 14 41
   5. IANA Considerations .......................................... 41
   5. Acknowledgements ............................................. 14 41
   6. Intellectual Property ........................................ 14 42
   7. Normative References ................................................... 15 ......................................... 42
   9. Informative References ....................................... 42
   8. Authors' Addresses ........................................... 17 43
   9. Full Copyright Statement ..................................... 17 43

1. The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

2. Overview

   An "RTP System" may be a host end-system that runs an application
   program that sends or receives RTP data packets, or it may be an
   intermediate-system that forwards RTP packets.  RTP Control Protocol
   (RTCP) packets are sent by senders and receivers to convey
   information about RTP packet transmission and reception [RFC3550].
   RTP monitors may collect
   RTCP information on senders and Extended Report (XR) [RFC3611] packets are sent by receivers
   to
   and from an convey additional information about certain types of RTP host or intermediate-system. packet
   reception.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119.

2.1 Components

   The RTCP XR MIB is structured around "Session," "Receiver" "Session", "Source",
   "Destination" and
   "Sender" "Receiver" conceptual abstractions.

   2.1.1  An RTP Session is an association of two or more participants
   communicating with RTP.  For each participant, the session is defined
   by a particular pair of destination transport addresses (one network
   address plus a port pair for RTP and RTCP).  The destination
   transport addresses may be common for all participants, as in the
   case of IP multicast, or may be different for each, as in the case of
   individual unicast addresses plus a common port pair," as defined in
   section 3 of [RFC3550].

   2.1.2 A "Sender" is identified within an RTP session by a 32-bit
   numeric "Synchronization Source," or "SSRC", value and is "...the
   source of a stream of RTP packets" as defined in section 3 of
   [RFC3550].  The sender is also a source of RTCP Sender Report packets
   as specified in section 6 of [RFC3550].

   2.1.3 A "Receiver" of a "stream of RTP packets" can be a unicast or
   multicast Receiver as described in 2.1.1, above.  An RTP Receiver has
   an SSRC value that is unique to the session.  An RTP Receiver is a
   source of RTCP Receiver Reports as specified in section 6 of
   [RFC3550].
   [RFC3550] and RTCP XR VoIP Metrics Reports as specified in section
   4.7 of [RFC3611].

2.2 Applicability of the MIB to RTP System Implementations

   The RTCP XR MIB may be used in RTP Host Systems (end systems), see
   section 3 of [RFC3550] [RFC3550], that are supporting Voice over IP (VoIP host
   systems).
   systems) or in intermediate systems.

   2.2.1 VoIP host Systems are end-systems that may use the RTCP XR MIB
   to collect RTP Voice over IP session data that the host is sending or
   receiving; these data may be used by a network manager to detect and
   diagnose faults that occur over the lifetime of a VoIP session as in
   a "help-desk" scenario.

   2.2.2 Monitors of RTP Voice over IP sessions may be third-party or
   may be located in the RTP host.  Monitors may use the RTCP XR MIB to
   collect Voice over IP session statistical data; these data may be
   used by a network manager for planning and other network-management
   purposes.  A Monitor may use the RTCP XR MIB to collect data to
   permit a network manager to diagnose faults in VoIP sessions.

   2.2.3 Many host systems will want to keep track of streams beyond
   what they are sending and receiving.  In a host monitor system, a
   host agent would use RTP data from the host to maintain data about
   streams it is sending and receiving, and RTCP data to collect data
   about other hosts in the session.

2.3  The Structure of the RTCP XR MIB

   There is one table are four tables in the RTCP XR MIB. MIB

   The rtpXrVoipTable rtcpXrSessionIDtable contains
   objects that describe completed sessions at identifying information about each
   session and about the host or monitor.

   rtpXrVoipIndex is a global object that permits a network management
   application to obtain source and destination.

   The rtcpXrBasicParametersTable contains basic packet loss, discard
   and delay related parameters about a unique index for conceptual row creation
   in the rtpSessionTable.  In this way session.

   The rtcpXrVoiceQualityMetricTable contains information about the SNMP Set operation MAY
   be used to configure call
   quality of a session
   The rtcpXrHistoryTable contains aggregate information about a monitor. group
   of sessions.

2.4  Relationship to the RAQMON Architecture

   The Real-time Application QoS monitoring (RAQMON) Framework [xx]
   defines an architecture that extends the Remote Monitoring (RMON)
   family of applications for monitoring of application QoS in real
   time, and an extensible data model with objects carried between
   RAQMON data sources and RAQMON collectors. The RAQMON work is
   more generic, and complementary in concept to RTCP-XR, covering a
   wider range of applications running concurrently, while RTCP-XR
   focuses on in-depth QoS monitoring of media traffic in VoIP.

   The Real-time Application QoS Monitoring (RAQMON) MIB is defined
   by [xx] and runs on RAQMON collectors. A performance monitoring
   application may query (i) RAQMON collectors for RAQMON MIB
   information about the QoS parameters of multiple concurrent
   applications (ii) end-points and gateways for in-depth RTCP-XR
   information about the media QoS of VoIP or (iii) both.

3. Definitions

RTCPXR-MIB DEFINITIONS ::= BEGIN
IMPORTS
       Counter32, Counter64, Gauge32,
       mib-2, Integer32, MODULE-IDENTITY, NOTIFICATION-TYPE,
       OBJECT-TYPE, Unsigned32 Unsigned32, Integer32,
       Gauge32, Counter32                     FROM SNMPv2-SMI
       OBJECT-GROUP, MODULE-COMPLIANCE MODULE-COMPLIANCE,
       NOTIFICATION-GROUP                     FROM SNMPv2-CONF
       InterfaceIndex
       TEXTUAL-CONVENTION, RowPointer, TimeStamp
                                              FROM SNMPv2-TC
       SnmpAdminString                        FROM IF-MIB SNMP-FRAMEWORK-MIB
       InetAddressType, InetAddress,
       InetPortNumber                         FROM INET-ADDRESS-MIB
       ItuPerceivedSeverity                   FROM ITU-ALARM-TC; ITU-ALARM-TC-MIB;

rtcpXrMIB MODULE-IDENTITY
    LAST-UPDATED "200409120000Z" "200502200000Z"
    ORGANIZATION
        "IETF AVT Working Group"
        DESCRIPTION
        "The managed objects of RTCP XR systems.
         Refer to RFC 3611, Real Time Control Protocol
    CONTACT-INFO
        "IETF AVT Working Group
         Chairs: Colin Perkins, Magnus Westerlund
         Working Group Email:  avt@ietf.org

         Editors: Alan Clark
                  Telchemy
                  Email: alan@telchemy.com

                  Amy Pendleton
                  Nortel Networks
                  Email: aspen@nortelnetworks.com"
   DESCRIPTION
                 "RTCP Extended Reports (RTCP XR) Section 4.7 VoIP Metrics" MIB
                 Copyright (c) The Internet Society (2005)
                 This version of the MIB module is part of
                 RFC nnnn and is based on RFC3611."

   REVISION      "200409120000Z"      "200502200000Z"
   DESCRIPTION
                 "Initial version of this MIB.
                 Published version, published as draft-ietf-avt-rtcpxrmib-00.txt."

::= { mib-2 TBD }

-- RFC nnnn"

-- OBJECTS RFC Ed: replace nnnn (2 occurrences) with the actual RFC number and
--
rtcpXrMIBObjects  OBJECT IDENTIFIER ::= { rtcpXrMIB 1 }
rtcpXrConformance OBJECT IDENTIFIER ::= { rtcpXrMIB 2 }
rtcpXrEvents      OBJECT IDENTIFIER remove this notice

::= { rtcpXrMIB 3 mib-2 255 }

-- IANA: need assignment of a mib-2 OID for this MIB
-- RFC Ed: replace mmm with IANA assigned number and remove this note

-- RTCP Extended Reports - Voice over IP Metrics
--
-- Description
--    This MIB module provides basic voice quality monitoring capabilities
--    capabilities for Voice-over-packet systems. The MIB contains 5
--    4 tables of
-- information:-
--         a table with one entry for each voice terminationPoint
--          a table that defines the parameters associated with voice
--          coders
--          a table of call records with call session identifying and quality
-- information
--         a table of extended basic parameters for each session
--         a table of call records with additional quality metrics for each session
--         a table of Termination Point aggregate statistics for groups with one entry per of calls

--          logical group

rtcpXrVoipTable OBJECT-TYPE
    SYNTAX SEQUENCE OF rtcpXrVoipEntry
    ACCESS not-accessible TEXTUAL CONVENTIONS
--

LeveldB ::= TEXTUAL-CONVENTION
STATUS      current
DESCRIPTION
     "Table of information about
      "Represents a receiver or receivers of RTCP XR
       session data. RTP hosts that receive RTCP XR session packets
       MUST create an entry in this table for that receiver/sender
       pair.  RTP hosts that send RTCP XR session packets MAY create
       an entry signal level in this table for each receiver to their stream
       using RTCP XR feedback from the RTP group. "
    ::= { rtcpXrMIBObjects 1 }

rtcpXrVoipEntry OBJECT-TYPE decibels (dB)."
SYNTAX rtcpXrVoipEntry      Integer32 (-120..120|127)

Rfactor ::= TEXTUAL-CONVENTION
STATUS      current
DESCRIPTION
        "An entry
      "Call or transmission quality expressed as an
       R factor in the table of call records. range 0 to 120. A row in this table
         is created for each RTP session endpoint value of
       127 shall be interpreted as NULL or unsupported."
REFERENCE
       "ITU-T G.107"
SYNTAX      Unsigned32 (0..120|127)

ScaledMOSscore ::= TEXTUAL-CONVENTION
STATUS      current
DESCRIPTION
       "Call or transmission quality expressed as a
       MOS score scaled by 10.  MOS is typically represented
       as a 1.0 to 5.0 score with a single decimal place and
       hence in this representation as 10 to 50. A value of
       127 shall be interpreted as NULL or unsupported."
REFERENCE
       "ITU-T P.800"
SYNTAX      Integer32 (10..50|127)

Percentage ::= TEXTUAL-CONVENTION
STATUS       current
DESCRIPTION
       "Percentage expressed as a rounded integer."
SYNTAX      Unsigned32 (0..100)

-- OBJECTS
--

rtcpXrMIBObjects  OBJECT IDENTIFIER ::= { rtcpXrMIB 1 }
rtcpXrConformance OBJECT IDENTIFIER ::= { rtcpXrMIB 2 }
rtcpXrEvents      OBJECT IDENTIFIER ::= { rtcpXrMIB 3 }

--
-- Table of Session Identifying information
--

rtcpXrSessionIDTable OBJECT-TYPE
    SYNTAX SEQUENCE OF RtcpXrSessionIDEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
     "Table of information about RTP Sessions for which RTCP XR
     parameters and metrics are available. "
    ::= { rtcpXrMIBObjects 1 }

rtcpXrSessionIDEntry OBJECT-TYPE
    SYNTAX RtcpXrSessionIDEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry in the table of call records.  A row in this table
         is created for each RTP session endpoint participating."
    INDEX { rtcpXrVoipIndex rtcpXrSessionIDIndex }
    ::= { rtcpXrVoipTable rtcpXrSessionIDTable 1 }

rtcpXrVoipEntry

RtcpXrSessionIDEntry ::= SEQUENCE {
    rtcpXrVoipIndex                          INTEGER,
    rtcpXrVoipCallIdentifier                 OCTET STRING,
    rtcpXrVoipSessionIdentifier
    rtcpXrSessionIDIndex                          Unsigned32,
    rtcpXrSessionIDSessionIdentifier              OCTET STRING,
    rtcpXrVoipSourceIPaddress                OCTET STRING,
    rtcpXrVoipSourceIdentifier               OCTET STRING,
    rtcpXrVoipDestinationIPaddress
    rtcpXrSessionIDCallStartTime                  TimeStamp,
    rtcpXrSessionIDCallStopTime                   TimeStamp,
    rtcpXrSessionIDSourceIPtype                   InetAddressType,
    rtcpXrSessionIDSourceIPaddress                InetAddress,
    rtcpXrSessionIDSourceRTPport                  InetPortNumber,
    rtcpXrSessionIDSourceRTCPport                 InetPortNumber,
    rtcpXrSessionIDDestIPtype                     InetAddressType,
    rtcpXrSessionIDDestIPaddress                  InetAddress,
    rtcpXrSessionIDDestRTPport                    InetPortNumber,
    rtcpXrSessionIDDestRTCPport                   InetPortNumber,
    rtcpXrSessionIDSrceIdenType                   INTEGER,
    rtcpXrSessionIDSrceIdentifier                 OCTET STRING,
    rtcpXrVoipDestinationIdentifier
    rtcpXrSessionIDDestIdenType                   INTEGER,
    rtcpXrSessionIDDestIdentifier                 OCTET STRING,
    rtcpXrVoipVocoderType
    rtcpXrSessionIDMeasurePt                      INTEGER,
    rtcpXrSessionIDMeasurePtID                    OCTET STRING,
    rtcpXrVoipFrameSize                      INTEGER,
    rtcpXrVoipSmapleRate                     INTEGER,
    rtcpXrVoipCallDurationMs                 INTEGER,
    rtcpXrVoipNetworkLossRate                INTEGER,
    rtcpXrVoipAverageDiscardRate             INTEGER,
    rtcpXrVoipBurstLossDensity               INTEGER,
    rtcpXrVoipBurstLenMs                     INTEGER,
    rtcpXrVoipGapLossDensity                 INTEGER,
    rtcpXrVoipGapLenMs                       INTEGER,
    rtcpXrVoipAverageOneWayDelay             INTEGER,
    rtcpXrVoipEndSystemDelay                 INTEGER,
    rtcpXrVoipNoiseLeveldBm                  INTEGER,
    rtcpXrVoipSignalLeveldBm                 INTEGER,
    rtcpXrVoipLocalRERLdB                    INTEGER,
    rtcpXrVoipConversationalR                INTEGER,
    rtcpXrVoipListeningR                     INTEGER,
    rtcpXrVoipListeningMOSLQ                 INTEGER,
    rtcpXrVoipConversationalMOSCQ            INTEGER,
    rtcpXrVoipPlcType                        INTEGER,
    rtcpXrVoipJitterBufferAdaptationMode     INTEGER,
    rtcpXrVoipJitterBufferAdaptationRate     INTEGER,
    rtcpXrVoipJitterBufferAverageDelay       INTEGER,
    rtcpXrVoipJitterBufferMaximumDelay       INTEGER,
    rtcpXrVoipJitterBufferSize               INTEGER
    rtcpXrSessionIDReverseSession                 RowPointer,
    rtcpXrSessionIDAltMeasurePt                   RowPointer
}

rtcpXrVoipIndex

rtcpXrSessionIDIndex OBJECT-TYPE
    SYNTAX INTEGER (0..65535) Unsigned32 (0..4294967295)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index for this call." session within the Session ID table."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 1 }

rtcpXrVoipCallIdentifier OBJECT-TYPE
    SYNTAX OCTET STRING
    STATUS optional
    DESCRIPTION
        "Call identifier for this call."
    ::= { rtcpXrVoipEntry 2 }

rtcpXrVoipSessionIdentifier

rtcpXrSessionIDSessionIdentifier OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS optional current
    DESCRIPTION
        "Unique identifier for this session.  Where a billing record
         correlation identifer is not available for a particular call,
         another identifier such as SSRC can be used."
    ::= { rtcpXrVoipEntry 3 rtcpXrSessionIDEntry 2 }

rtcpXrVoipSourceIPaddress

rtcpXrSessionIDCallStartTime OBJECT-TYPE
    SYNTAX OCTET STRING TimeStamp
    MAX-ACCESS read-only
    STATUS optional current
    DESCRIPTION
        "Source IP address
        "Call start time for this session." call. If the start time is not
         known then this represents the earliest known time associated
         with the call."
    ::= { rtcpXrVoipEntry 4 rtcpXrSessionIDEntry 3 }

rtcpXrVoipSourceIdentifierType

rtcpXrSessionIDCallStopTime OBJECT-TYPE
    SYNTAX INTEGER { dialedNumber(0),
                     urlId (1)       } TimeStamp
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Defines
        "Call stop time for this call. If the type of address in parameter
        rtcpXrVoipSourceIdentifier" call is still active
         then this shall have the value 0.  If the call is complete
         but the time is unknown then this shall have the value of the
         latest time associated with the call."
    ::= { rtcpXrVoipEntry 5 rtcpXrSessionIDEntry 4 }

rtcpXrVoipSourceIdentifier

rtcpXrSessionIDSourceIPtype OBJECT-TYPE
    SYNTAX OCTET STRING InetAddressType
    MAX-ACCESS read-only
    STATUS optional current
    DESCRIPTION
        "Alternate identifier to the
        "Source IP address.  This can be E.164,
         DN,or URL." address type for this session."
    ::= { rtcpXrVoipEntry 6 rtcpXrSessionIDEntry 5 }

rtcpXrVoipDestinationIPaddress

rtcpXrSessionIDSourceIPaddress OBJECT-TYPE
    SYNTAX OCTET STRING InetAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Source IP address for this session."
    ::= { rtcpXrVoipEntry 7 rtcpXrSessionIDEntry 6 }

rtcpXrVoipDestinationIdentifierType

rtcpXrSessionIDSourceRTPport OBJECT-TYPE
    SYNTAX INTEGER InetPortNumber
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Source UDP port for RTP. A value of 0 indicates
         an unknown port number."
    ::= { dialedNumber(0),
                     urlId (1) rtcpXrSessionIDEntry 7 }

rtcpXrSessionIDSourceRTCPport OBJECT-TYPE
    SYNTAX InetPortNumber
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Defines the type
        "Source UDP port for RTCP.A value of address in parameter
        rtcpXrVoipDestinationIdentifier" 0 indicates
         an unknown port number."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 8 }

rtcpXrVoipDestinationIdentifier

rtcpXrSessionIDDestIPtype OBJECT-TYPE
    SYNTAX OCTET STRING InetAddressType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Alternate identifier to the
        "Destination IP address.  This can be E.164,
         DN, or URL." address type for this session."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 9 }

rtcpXrVoipVocoderType

rtcpXrSessionIDDestIPaddress OBJECT-TYPE
    SYNTAX OCTET STRING InetAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Vocoder type used on
        "Destination IP address for this call." session."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 10 }

rtcpXrVoipFrameSize

rtcpXrSessionIDDestRTPport OBJECT-TYPE
    SYNTAX INTEGER InetPortNumber
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Companion information to vocoder type.  This represents the
         size
        "Destination UDP port for RTP. A value of the frames within the RTP packets at the time the
         information is capture." 0 indicates
         an unknown port number."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 11 }

rtcpXrVoipSampleRate

rtcpXrSessionIDDestRTCPport OBJECT-TYPE
    SYNTAX OCTET STRING InetPortNumber
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Companion information to vocoder type.  This represents the
         rate at which the frames where sampled.
        "Destination UDP port for RTCP.A value of 0 indicates
         an unknown port number."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 12 }

rtcpXrVoipCallDurationMs

rtcpXrSessionIDSrceIdenType  OBJECT-TYPE
    SYNTAX INTEGER {dialedNumber (1),
                    urlID (2),
                    other (3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Duration
        "Defines the type of call address in milliseconds." parameter
        rtcpXrSessionIDSourceIdentifier"
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 13 }

rtcpXrVoipStartTimestamp

rtcpXrSessionIDSrceIdentifier OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS OCTET STRING (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS mandatory current
    DESCRIPTION
        "The timestamp captured at the start of
        "Alternate identifier to the session." IP address.  This can be E.164,
         DN, or URL."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 14 }

rtcpXrVoipEndTimestamp

rtcpXrSessionIDDestIdenType  OBJECT-TYPE
    SYNTAX INTEGER {dialedNumber (1),
                    urlID (2),
                    other (3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The timestamp captured at
        "Defines the end type of the session." address in parameter
         rtcpXrSessionIDDestIdentifier."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 15 }

rtcpXrVoipNetworkLossRate

rtcpXrSessionIDDestIdentifier OBJECT-TYPE
    SYNTAX INTEGER OCTET STRING (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average rate of network packet loss (RFC3611 Section 4.7)."
    ::= { rtcpXrVoipEntry
        "Alternate identifier to the IP address.  This can be E.164,
         DN, or URL."
    ::= { rtcpXrSessionIDEntry 16 }

rtcpXrVoipAverageDiscardRate

rtcpXrSessionIDMeasurePt OBJECT-TYPE
    SYNTAX INTEGER {    localEndpoint (1),
                        remoteEndpoint (2),
                        midStream (3)
                    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average rate of discards due
        "Place that these metrics were measured - this endpoint,
         remote endpoint (i.e. reported through XR), or midstream.
         If this MIB is supported in a midstream device (e.g. probe)
         then data from the IP endpoint reported to jitter(RFC3611 Section 4.7)." this device
         using RFC3611 would be described as 'remoteEndpoint' and
         data measured locally would be described as 'midStream'.
         If this MIB is supported in an IP endpoint then the metrics
         obtained from measurement of the incoming stream would be
         'localEndpoint' and those reported via RFC3611 from the
         remote end would be 'remoteEndpoint'.
         This MIB could therefor report both remote and local
         data if located in an IP endpoint or both remote and
         midstream data if located in a probe, router or other
         mid-network device."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 17 }

rtcpXrVoipBurstLossDensity

rtcpXrSessionIDMeasurePtID OBJECT-TYPE
    SYNTAX INTEGER OCTET STRING (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Density
        "Information describing the identity of loss the endpoint that
         measured the data in this row. If the data was measured
         locally then this would be the identity of this system,
         if measured remotely and discarded packets during burst periods.
         (see reported via RFC3611 Section 4.7)" then this
         would be the identity of the remote measurement point,
         if known."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 18 }

rtcpXrVoipBurstLenMs

rtcpXrSessionIDReverseSession OBJECT-TYPE
    SYNTAX INTEGER RowPointer
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average length of bursts
        "A pointer to the corresponding entry in milliseconds (RFC3611
         Section 4.7)." this table for
        the reverse direction of transmission. For example, if
        this row contained locally measured metrics for the A->B
        direction of transmission then the reverse session would
        be the row containing locally measured metrics for the
        B->A direction of transmission."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 19 }

rtcpXrVoipGapLossDensity

rtcpXrSessionIDAltMeasurePt OBJECT-TYPE
    SYNTAX INTEGER RowPointer
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Density of loss
        "A pointer to the corresponding entry in this table for
        alternate measurement point data. For example, if this
        MIB was located in a midstream devices and discarded packets during gap periods
         (see RFC3611 Section 4.7)." this row
        contained metrics measured midstream then the alternate
        measurement point would refer to the metrics reported
        by the remote endpoint, and vice versa."
    ::= { rtcpXrVoipEntry rtcpXrSessionIDEntry 20 }

rtcpXrVoipGapLenMs

--
-- Table of basic call parameters
--

rtcpXrBaseParamTable OBJECT-TYPE
    SYNTAX INTEGER SEQUENCE OF RtcpXrBaseParamEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Average length
     "Table of gaps basic parameters related to RTP sessions in milliseconds (see RFC3611
         Section 4.7)."
      the Session table. "
    ::= { rtcpXrVoipEntry 21 rtcpXrMIBObjects 2 }

rtcpXrVoipAverageOneWayDelay

rtcpXrBaseParamEntry OBJECT-TYPE
    SYNTAX INTEGER RtcpXrBaseParamEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Average (symmetric) one way RTCP delay on call. A value
        "An entry in the table of
         zero may indicate that basic parameters. A row in this value has not yet been determined.
         (see RFC3611 Section 4.7)." table
         is created for each RTP session endpoint participating."
    INDEX { rtcpXrSessionIDIndex }
    ::= { rtcpXrVoipEntry 22 rtcpXrBaseParamTable 1 }

RtcpXrBaseParamEntry ::= SEQUENCE {
    rtcpXrBaseParamVocoderType                    OCTET STRING,
    rtcpXrBaseParamVocoderRate                    Unsigned32,
    rtcpXrBaseParamFrameDuration                  Unsigned32,
    rtcpXrBaseParamSampleRate                     Unsigned32,
    rtcpXrBaseParamDurationMs                     Counter32,
    rtcpXrBaseParamNetworkLossRate                Percentage,
    rtcpXrBaseParamAvgDiscardRate                 Percentage,
    rtcpXrBaseParamBurstLossDensity               Percentage,
    rtcpXrBaseParamBurstLenMs                     Gauge32,
    rtcpXrBaseParamGapLossDensity                 Percentage,
    rtcpXrBaseParamGapLenMs                       Gauge32,
    rtcpXrBaseParamAvgOWDelay                     Gauge32,
    rtcpXrBaseParamAvgEndSysDelay                 Gauge32,
    rtcpXrBaseParamPlcType                        INTEGER,
    rtcpXrBaseParamJBuffAdaptMode                 INTEGER,
    rtcpXrBaseParamJBuffAdaptRate                 Unsigned32,
    rtcpXrBaseParamJBuffAverageDelay              Gauge32,
    rtcpXrBaseParamJBuffMaximumDelay              Gauge32,
    rtcpXrBaseParamJBuffAbsMaxDelay               Gauge32,
    rtcpXrBaseParamJitterLevel                    Gauge32
}

rtcpXrVoipEndSystemDelay

rtcpXrBaseParamVocoderType OBJECT-TYPE
    SYNTAX INTEGER OCTET STRING (SIZE(0..32))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average end system delay
        "Vocoder type used on call. A value of zero may
         indicate that this value has not yet been determined
         (see RFC3611 Section 4.7)." call. The format used shall be
         ITU-T G.7xx, GSM FR, GSM EFR, GSM HR, AMR, AMR WB, iLBC
         or similar.  For example 'ITU G.729A'. "
    ::= { rtcpXrVoipEntry 23 rtcpXrBaseParamEntry 1 }

rtcpXrVoipNoiseLeveldBm

rtcpXrBaseParamVocoderRate OBJECT-TYPE
    SYNTAX INTEGER Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Measured received silent period noise level
        "Vocoder rate in dBm
         (see RFC3611 Section 4.7)." use at the time this data was captured
         expressed in bits per second.  For example G.711 would
         have the rate 64000 and G.729 would have the rate 8000."
    ::= { rtcpXrVoipEntry 24 rtcpXrBaseParamEntry 2 }

rtcpXrVoipSignalLeveldBm

rtcpXrBaseParamFrameDuration OBJECT-TYPE
    SYNTAX INTEGER Unsigned32 (0..16384)
    UNITS "sample clock ticks"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Measured received signal level during talkspurts
        "Companion information to vocoder type.  This represents the
         duration of the time interval represented by a frame, which
         is generally equivalent to the nominal spacing of frames.
         This is expressed in dBm
        (see RFC3611 Section 4.7)." sample clock ticks as defined under
         rtxpXrSampleRate.
         This parameter may be equated to the SDP ptime parameter
         which is expressed in milliseconds (however which cannot
         represent certain vocoder types, e.g. those with 2.5mS
         frames)."
    ::= { rtcpXrVoipEntry 25 rtcpXrBaseParamEntry 3 }

rtcpXrVoipLocalRERLdB

rtcpXrBaseParamSampleRate OBJECT-TYPE
    SYNTAX INTEGER Unsigned32 (0..16777215)
    UNITS "samples per second"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Residual Echo Return Loss measured
        "Companion information to vocoder type.  This represents the
         rate at this endpoint
         (see RFC3611 Section 4.7)." which media was sampled (e.g. 8000 for narrowband
         voice, 16000 for wideband voice)."
    ::= { rtcpXrVoipEntry 26 rtcpXrBaseParamEntry 4 }

rtcpXrVoipConversationalRCQ

rtcpXrBaseParamDurationMs OBJECT-TYPE
    SYNTAX INTEGER Counter32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Conversational quality R factor for this
        "Current duration of call
         (see RFC3611 Section 4.7)."
    ::= { rtcpXrVoipEntry 27 in milliseconds if still active,
         duration of call in milliseconds if complete."
    ::= { rtcpXrBaseParamEntry 5 }

rtcpXrVoipListeningMOSLQ

rtcpXrBaseParamNetworkLossRate OBJECT-TYPE
    SYNTAX INTEGER Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated listening quality MOS for
        "Average rate of network packet loss."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrBaseParamEntry 6 }

rtcpXrBaseParamAvgDiscardRate OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average rate of discards due to jitter."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrBaseParamEntry 7 }

rtcpXrBaseParamBurstLossDensity OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Density of loss and discarded packets during burst periods."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrBaseParamEntry 8 }

rtcpXrBaseParamBurstLenMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average length of bursts in milliseconds."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrBaseParamEntry 9 }

rtcpXrBaseParamGapLossDensity OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Density of loss and discarded packets during gap periods."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrBaseParamEntry 10 }

rtcpXrBaseParamGapLenMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average length of gaps in milliseconds."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrBaseParamEntry 11 }

rtcpXrBaseParamAvgOWDelay OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average (symmetric) one way RTCP delay on call. A value of
         zero may indicate that this call
         (see value has not yet been determined."
    REFERENCE
         "See RFC3611 Section 4.7)." 4.7."
    ::= { rtcpXrVoipEntry 28 rtcpXrBaseParamEntry 12 }

rtcpXrVoipConversationalMOSCQ

rtcpXrBaseParamAvgEndSysDelay OBJECT-TYPE
    SYNTAX INTEGER Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated conversational quality MOS for
        "Average end system delay on call. A value of zero may
         indicate that this call
         (see value has not yet been determined."
    REFERENCE
         "See RFC3611 Section 4.7)." 4.7."
    ::= { rtcpXrVoipEntry 29 rtcpXrBaseParamEntry 13 }

rtcpXrVoipPlcType

rtcpXrBaseParamPlcType OBJECT-TYPE
    SYNTAX INTEGER { disabled(1),
                     enhanced(2),
                     standard(3),
                     unspecified (4)}
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Defines type of packet loss concealment used on this call
         (see call."
    REFERENCE
         "See RFC3611 Section 4.7)." 4.7."
    ::= { rtcpXrVoipEntry 30 rtcpXrBaseParamEntry  14 }

rtcpXrVoipJitterBufferAdaptationMode

rtcpXrBaseParamJBuffAdaptMode OBJECT-TYPE
    SYNTAX INTEGER { reserved (1),
                     nonAdaptive (2),
                     adaptive (3),
                     unknown (4) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Defines if jitter buffer is in fixed or adaptive mode
         (see mode."
    REFERENCE
         "See RFC3611 Section 4.7)." 4.7."
    ::= { rtcpXrVoipEntry 31 rtcpXrBaseParamEntry  15 }

rtcpXrVoipJitterBufferAdaptationRate

rtcpXrBaseParamJBuffAdaptRate OBJECT-TYPE
    SYNTAX INTEGER Unsigned32 (0..15)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated adaptation rate of jitter buffer
         (see buffer."
    REFERENCE
         "See RFC3611 Section 4.7)." 4.7."
    ::= { rtcpXrVoipEntry 32  rtcpXrBaseParamEntry 16 }

rtcpXrVoipJitterBufferAverageDelay

rtcpXrBaseParamJBuffAverageDelay OBJECT-TYPE
    SYNTAX INTEGER Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average size of jitter buffer in mS
         (see mS."
    REFERENCE
         "See RFC3611 Section 4.7)." 4.7."
    ::= { rtcpXrVoipEntry 33 rtcpXrBaseParamEntry 17 }

rtcpXrVoipJitterBufferMaximumDelay

rtcpXrBaseParamJBuffMaximumDelay OBJECT-TYPE
    SYNTAX INTEGER Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Maximum delay through jitter buffer at current size in mS
         (see mS."
    REFERENCE
         "See RFC3611 Section 4.7)." 4.7."
    ::= { rtcpXrVoipEntry 34 rtcpXrBaseParamEntry  18 }

rtcpXrVoipJitterBufferSize

rtcpXrBaseParamJBuffAbsMaxDelay OBJECT-TYPE
    SYNTAX INTEGER Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Absolute maximum size jitter buffer can reach in mS
         (see mS."
    REFERENCE
         "See RFC3611 Section 4.7)."
    ::= { rtcpXrVoipEntry 35 }

-- Notifications

rtcpXrVoipNotifications OBJECT IDENTIFIER 4.7."
    ::= { rtcpXrEvents 0 rtcpXrBaseParamEntry  19 }

rtcpXrBaseParamJitterLevel OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average jitter level measured according to RFC3550 and
         represented in terms of milliseconds."
    REFERENCE
         "See RFC3550 Section 6.4."
    ::= { rtcpXrBaseParamEntry  20 }

--
-- RTCP XR Threshold Violation Notification
--
-- RTCP XR issues event notification when two conditions are met:
--    1) The notification Table of Call Quality Metrics
--

rtcpXrCallQualityTable OBJECT-TYPE
    SYNTAX SEQUENCE OF RtcpXrCallQualityEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
     "Table of voice quality metrics. A row is created
      in this table for each row in the Session table."
    ::= { rtcpXrMIBObjects 3 }

rtcpXrCallQualityEntry OBJECT-TYPE
    SYNTAX RtcpXrCallQualityEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry in the table of voice quality metrics.  A row in
         this table is created for each row in the Session
         table."
    INDEX { rtcpXrSessionIDIndex }
    ::= { rtcpXrCallQualityTable 1 }

RtcpXrCallQualityEntry ::= SEQUENCE {
    rtcpXrCallQualityNoiseLeveldBm                  LeveldB,
    rtcpXrCallQualitySignalLeveldBm                 LeveldB,
    rtcpXrCallQualityLocalRERLdB                    LeveldB,
    rtcpXrCallQualityRemoteRERLdB                   LeveldB,
    rtcpXrCallQualityRCQ                            Rfactor,
    rtcpXrCallQualityRLQ                            Rfactor,
    rtcpXrCallQualityExternalRCQ                    Rfactor,
    rtcpXrCallQualityMOSCQ                          ScaledMOSscore,
    rtcpXrCallQualityMOSLQ                          ScaledMOSscore,
    rtcpXrCallQualityAlgorithm                      OCTET STRING
}

rtcpXrCallQualityNoiseLeveldBm OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm0"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Measured received silent period noise level in dBm.
         A value of 127 indicates that this parameter is not
         available.
         In midpoint applications this parameter may not be
         available.  If this is a midstream device and call
         quality metrics were calculated using the value of
         this parameter reported from the endpoint in an
         RTCP XR payload then the value used in this
         calculation MAY be reported."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrCallQualityEntry 1 }

rtcpXrCallQualitySignalLeveldBm OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm0"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Measured received signal level during talkspurts in dBm.
         A value of 127 indicates that this parameter is not
         available.
         In midpoint applications this parameter may not be
         available. If this is a midstream device and call
         quality metrics were calculated using the value of
         this parameter reported from the endpoint in an
         RTCP XR payload then the value used in this
         calculation MAY be reported."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrCallQualityEntry 2 }

rtcpXrCallQualityLocalRERLdB OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Residual Echo Return Loss measured at this endpoint,
         or at the terminating endpoint of this RTP session.
         This relates to the echo level from the network beyond
         the terminating endpoint and may be interpreted as either
         line echo in the case of a gateway or acoustic echo in the
         case of a handset.
         Note that this echo affects conversational quality as
         perceived by the user at the originating end of this
         RTP session.
         A value of 127 indicates that this parameter is not
         available.
         In midpoint applications this parameter may not be
         available.  If this is a midstream device and call
         quality metrics were calculated using the value of
         this parameter reported from the endpoint in an
         RTCP XR payload then the value used in this
         calculation MAY be reported."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrCallQualityEntry 3 }

rtcpXrCallQualityRemoteRERLdB OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Residual Echo Return Loss measured at originating endpoint
         of this RTP session (i.e. the remote endpoint if this MIB
         is implemented in an endpoint).

         Note that this affects the conversational quality
         metrics reported by the terminating (this) endpoint, hence
         is useful in understanding what has affected the reported
         call quality mertrics
         A value of 127 indicates that this parameter is not
         available.
         In midpoint applications this parameter may not be
         available.  If this is a midstream device and call
         quality metrics were calculated using the value of
         this parameter reported from the endpoint in an
         RTCP XR payload then the value used in this
         calculation MAY be reported."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrCallQualityEntry 4 }

rtcpXrCallQualityRCQ OBJECT-TYPE
    SYNTAX Rfactor
    UNITS "R factor"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Conversational quality R factor for this call. This value
         SHOULD be calculated using ITU G.107 (The E Model) or
         extended versions thereof."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrCallQualityEntry 5 }

rtcpXrCallQualityRLQ OBJECT-TYPE
    SYNTAX Rfactor
    UNITS "R factor"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Listening quality R factor for this call. This value
         SHOULD be calculated using ITU G.107 (The E Model) or
         extended versions thereof."
    ::= { rtcpXrCallQualityEntry 6 }

rtcpXrCallQualityExternalRCQ OBJECT-TYPE
    SYNTAX Rfactor
    UNITS "R factor"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "External R factor for this call. This value
         SHOULD be calculated using ITU G.107 (The E Model) or
         extended versions thereof.
         The External R factor relates to the quality of an
         incoming voice from another network segment.  For example
         if a conference bridge terminates and re-creates voice
         streams then an R factor would be calculated at the bridge
         for the endpoint A to bridge segment and relayed to the
         subsequent bridge to endpoint B as an External R factor.
         This allows endpoint B to estimate the end-to-end call
         quality."
    ::= { rtcpXrCallQualityEntry 7 }

rtcpXrCallQualityMOSCQ OBJECT-TYPE
    SYNTAX ScaledMOSscore
    UNITS "MOS x 10"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated conversational quality MOS for this call
        expressed in MOS x 10 (e.g. 41 = MOS of 4.1). This value
        MAY be calculated by converting the R-CQ value to a MOS."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrCallQualityEntry 8 }

rtcpXrCallQualityMOSLQ OBJECT-TYPE
    SYNTAX ScaledMOSscore
    UNITS "MOS x 10"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated listening quality MOS for this call
       expressed in MOS x 10 (e.g. 41 = MOS of 4.1). This value
        MAY be calculated by converting the R-CQ value to a MOS."
    REFERENCE
         "See RFC3611 Section 4.7."
    ::= { rtcpXrCallQualityEntry 9 }

rtcpXrCallQualityAlgorithm OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Call quality algorithm used to determine R factors
        and MOS scores. For example, 'ITU-T G.107' for the
        E model. If any localized parameter scaling is used
        (for example Japan's TTC MOS scaling) then this
        MUST also be reported."
    ::= { rtcpXrCallQualityEntry 10 }

--
-- History Table
--
--

rtcpXrHistoryTable OBJECT-TYPE
    SYNTAX SEQUENCE OF RtcpXrHistoryEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
     "Table of aggregate measurement data for groups
      of RTP sessions.  A group may be a flow or any
      other logical association of streams."
    ::= { rtcpXrMIBObjects 4 }

rtcpXrHistoryEntry OBJECT-TYPE
    SYNTAX RtcpXrHistoryEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry in the table of call history records."
    INDEX { rtcpXrHistoryIndex }
    ::= { rtcpXrHistoryTable 1 }

RtcpXrHistoryEntry ::= SEQUENCE {
    rtcpXrHistoryIndex                             Unsigned32,
    rtcpXrHistoryGroupName                         OCTET STRING,
    rtcpXrHistoryStartTime                         TimeStamp,
    rtcpXrHistoryStopTime                          TimeStamp,
    rtcpXrHistoryNumOfSessions                     Counter32,
    rtcpXrHistoryMinDurationMs                     Gauge32,
    rtcpXrHistoryMaxDurationMs                     Gauge32,
    rtcpXrHistoryAvgDurationMs                     Gauge32,
    rtcpXrHistoryMaxNetworkLossRate                Percentage,
    rtcpXrHistoryAvgNetworkLossRate                Percentage,
    rtcpXrHistoryMaxDiscardRate                    Percentage,
    rtcpXrHistoryAvgDiscardRate                    Percentage,
    rtcpXrHistoryMaxBurstLossDensity               Percentage,
    rtcpXrHistoryAvgBurstLossDensity               Percentage,
    rtcpXrHistoryMinBurstLenMs                     Gauge32,
    rtcpXrHistoryMaxBurstLenMs                     Gauge32,
    rtcpXrHistoryAvgBurstLenMs                     Gauge32,
    rtcpXrHistoryMaxGapLossDensity                 Percentage,
    rtcpXrHistoryAvgGapLossDensity                 Percentage,
    rtcpXrHistoryMinGapLenMs                       Gauge32,
    rtcpXrHistoryMaxGapLenMs                       Gauge32,
    rtcpXrHistoryAvgGapLenMs                       Gauge32,
    rtcpXrHistoryMinOneWayDelay                    Gauge32,
    rtcpXrHistoryMaxOneWayDelay                    Gauge32,
    rtcpXrHistoryAvgOneWayDelay                    Gauge32,
    rtcpXrHistoryMinEndSystemDelay                 Gauge32,
    rtcpXrHistoryMaxEndSystemDelay                 Gauge32,
    rtcpXrHistoryAvgEndSystemDelay                 Gauge32,
    rtcpXrHistoryMinJitterLevel                    Gauge32,
    rtcpXrHistoryMaxJitterLevel                    Gauge32,
    rtcpXrHistoryAvgJitterLevel                    Gauge32,
    rtcpXrHistoryMinNoiseLeveldBm                  LeveldB,
    rtcpXrHistoryMaxNoiseLeveldBm                  LeveldB,
    rtcpXrHistoryAvgNoiseLeveldBm                  LeveldB,
    rtcpXrHistoryNoiseLevelCount                   Counter32,
    rtcpXrHistoryMinSignalLeveldBm                 LeveldB,
    rtcpXrHistoryMaxSignalLeveldBm                 LeveldB,
    rtcpXrHistoryAvgSignalLeveldBm                 LeveldB,
    rtcpXrHistorySignalLevelCount                  Counter32,
    rtcpXrHistoryMinLocalRERLdB                    LeveldB,
    rtcpXrHistoryMaxLocalRERLdB                    LeveldB,
    rtcpXrHistoryAvgLocalRERLdB                    LeveldB,
    rtcpXrHistoryLocalRERLCount                    Counter32,
    rtcpXrHistoryMinRemoteRERLdB                   LeveldB,
    rtcpXrHistoryMaxRemoteRERLdB                   LeveldB,
    rtcpXrHistoryAvgRemoteRERLdB                   LeveldB,
    rtcpXrHistoryRemoteRERLCount                   Counter32,
    rtcpXrHistoryMinRCQ                            Rfactor,
    rtcpXrHistoryMaxRCQ                            Rfactor,
    rtcpXrHistoryAvgRCQ                            Rfactor,
    rtcpXrHistoryRCQCount                          Counter32,
    rtcpXrHistoryMinRLQ                            Rfactor,
    rtcpXrHistoryMaxRLQ                            Rfactor,
    rtcpXrHistoryAvgRLQ                            Rfactor,
    rtcpXrHistoryRLQCount                          Counter32,
    rtcpXrHistoryMinMOSCQ                          ScaledMOSscore,
    rtcpXrHistoryMaxMOSCQ                          ScaledMOSscore,
    rtcpXrHistoryAvgMOSCQ                          ScaledMOSscore,
    rtcpXrHistoryMOSCQCount                        Counter32,
    rtcpXrHistoryMinMOSLQ                          ScaledMOSscore,
    rtcpXrHistoryMaxMOSLQ                          ScaledMOSscore,
    rtcpXrHistoryAvgMOSLQ                          ScaledMOSscore,
    rtcpXrHistoryMOSLQCount                        Counter32,
    rtcpXrHistoryCQAlgorithm                       OCTET STRING,
    rtcpXrHistoryReset                             Integer32
}

rtcpXrHistoryIndex OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index for this set of aggregate data."
    ::= { rtcpXrHistoryEntry 1 }

rtcpXrHistoryGroupName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Name of this set of aggregate data. Examples may include
         a flow, an interface or some other logical grouping of
         RTP sessions."
    ::= { rtcpXrHistoryEntry 2 }

rtcpXrHistoryStartTime OBJECT-TYPE
    SYNTAX TimeStamp
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Time at which this history was reset or started."
    ::= {rtcpXrHistoryEntry 3 }

rtcpXrHistoryStopTime OBJECT-TYPE
    SYNTAX TimeStamp
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Time at which this history was stopped."
    ::= {rtcpXrHistoryEntry 4 }

rtcpXrHistoryNumOfSessions OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Number of calls included in this history."
    ::= {rtcpXrHistoryEntry 5 }

rtcpXrHistoryMinDurationMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum duration of calls."
    ::= {rtcpXrHistoryEntry 6 }

rtcpXrHistoryMaxDurationMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum duration of calls."
    ::= {rtcpXrHistoryEntry 7 }

rtcpXrHistoryAvgDurationMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average duration of calls."
    ::= {rtcpXrHistoryEntry 8 }

rtcpXrHistoryMaxNetworkLossRate OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum loss rate per call."
    ::= {rtcpXrHistoryEntry 9 }

rtcpXrHistoryAvgNetworkLossRate OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average loss rate across calls."
    ::= {rtcpXrHistoryEntry 10 }

rtcpXrHistoryMaxDiscardRate OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum discard rate per call."
    ::= {rtcpXrHistoryEntry 11 }

rtcpXrHistoryAvgDiscardRate OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average discard rate across calls."
    ::= {rtcpXrHistoryEntry 12 }

rtcpXrHistoryMaxBurstLossDensity OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum density of bursts if loss/discard."
    ::= {rtcpXrHistoryEntry 13 }

rtcpXrHistoryAvgBurstLossDensity OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average density of bursts of loss/discard."
    ::= {rtcpXrHistoryEntry 14 }

rtcpXrHistoryMinBurstLenMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum length of bursts."
    ::= {rtcpXrHistoryEntry 15 }

rtcpXrHistoryMaxBurstLenMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum length of bursts."
    ::= {rtcpXrHistoryEntry 16 }

rtcpXrHistoryAvgBurstLenMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average length of bursts."
    ::= {rtcpXrHistoryEntry 17 }

rtcpXrHistoryMaxGapLossDensity OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum loss/discard density in gaps."
    ::= {rtcpXrHistoryEntry 18 }

rtcpXrHistoryAvgGapLossDensity OBJECT-TYPE
    SYNTAX Percentage
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average loss/discard density in gaps."
    ::= {rtcpXrHistoryEntry 19 }

rtcpXrHistoryMinGapLenMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum average per-call gap length."
    ::= {rtcpXrHistoryEntry 20 }

rtcpXrHistoryMaxGapLenMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum average per-call gap length."
    ::= {rtcpXrHistoryEntry 21 }

rtcpXrHistoryAvgGapLenMs OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average per-call gap length."
    ::= {rtcpXrHistoryEntry 22 }

rtcpXrHistoryMinOneWayDelay OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum one way delay."
    ::= {rtcpXrHistoryEntry 23 }

rtcpXrHistoryMaxOneWayDelay OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum one way delay."
    ::= {rtcpXrHistoryEntry 24 }

rtcpXrHistoryAvgOneWayDelay OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average one way delay."
    ::= {rtcpXrHistoryEntry 25 }

rtcpXrHistoryMinEndSystemDelay OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum end system delay."
    ::= {rtcpXrHistoryEntry 26 }

rtcpXrHistoryMaxEndSystemDelay OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum end system delay."
    ::= {rtcpXrHistoryEntry 27 }

rtcpXrHistoryAvgEndSystemDelay OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average end system delay."
    ::= {rtcpXrHistoryEntry 28 }

rtcpXrHistoryMinJitterLevel OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum jitter level."
    ::= {rtcpXrHistoryEntry 29 }

rtcpXrHistoryMaxJitterLevel OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum jitter level."
    ::= {rtcpXrHistoryEntry 30 }

rtcpXrHistoryAvgJitterLevel OBJECT-TYPE
    SYNTAX Gauge32
    UNITS "milliseconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average jitter level."
    ::= {rtcpXrHistoryEntry 31 }

rtcpXrHistoryMinNoiseLeveldBm OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm0"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum noise level."
    ::= {rtcpXrHistoryEntry 32 }

rtcpXrHistoryMaxNoiseLeveldBm OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm0"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum noise level."
    ::= {rtcpXrHistoryEntry 33 }

rtcpXrHistoryAvgNoiseLeveldBm OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm0"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average noise level."
    ::= {rtcpXrHistoryEntry 34 }

rtcpXrHistoryNoiseLevelCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Number of sessions included in the Noise Level
       history values (as Noise Level is an optional
       parameter and may not be present on all calls."
    ::= {rtcpXrHistoryEntry 35 }

rtcpXrHistoryMinSignalLeveldBm OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm0"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum signal level."
    ::= {rtcpXrHistoryEntry 36 }

rtcpXrHistoryMaxSignalLeveldBm OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm0"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum signal level."
    ::= {rtcpXrHistoryEntry 37 }

rtcpXrHistoryAvgSignalLeveldBm OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm0"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average signal level."
    ::= {rtcpXrHistoryEntry 38 }

rtcpXrHistorySignalLevelCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Number of sessions included in the Signal Level
       history values (as Signal Level is an optional
       parameter and may not be present on all calls."
    ::= {rtcpXrHistoryEntry 39 }

rtcpXrHistoryMinLocalRERLdB OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum local Residual Echo Return Loss."
    ::= {rtcpXrHistoryEntry 40 }

rtcpXrHistoryMaxLocalRERLdB OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum local Residual Echo Return Loss."
    ::= {rtcpXrHistoryEntry 41 }

rtcpXrHistoryAvgLocalRERLdB OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average local Residual Echo Return Loss."
    ::= {rtcpXrHistoryEntry 42 }

rtcpXrHistoryLocalRERLCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Number of sessions included in the Local RERL
       history values (as Local RERL is an optional
       parameter and may not be present on all calls."
    ::= {rtcpXrHistoryEntry 43 }

rtcpXrHistoryMinRemoteRERLdB OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum remote Residual Echo Return Loss."
    ::= {rtcpXrHistoryEntry 44 }

rtcpXrHistoryMaxRemoteRERLdB OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum remote Residual Echo Return Loss."
    ::= {rtcpXrHistoryEntry 45 }

rtcpXrHistoryAvgRemoteRERLdB OBJECT-TYPE
    SYNTAX LeveldB
    UNITS "dBm"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum remote Residual Echo Return Loss."
    ::= {rtcpXrHistoryEntry 46 }

rtcpXrHistoryRemoteRERLCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Number of sessions included in the Remote RERL
       history values (as Remote RERL is an optional
       parameter and may not be present on all calls."
    ::= {rtcpXrHistoryEntry 47 }

rtcpXrHistoryMinRCQ OBJECT-TYPE
    SYNTAX Rfactor
    UNITS "R factor"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum conversational R factor."
    ::= {rtcpXrHistoryEntry 48 }

rtcpXrHistoryMaxRCQ OBJECT-TYPE
    SYNTAX Rfactor
    UNITS "R factor"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum conversational R factor"
    ::= {rtcpXrHistoryEntry 49 }

rtcpXrHistoryAvgRCQ OBJECT-TYPE
    SYNTAX Rfactor
    UNITS "R factor"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average conversational R factor"
    ::= {rtcpXrHistoryEntry 50 }

rtcpXrHistoryRCQCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Number of sessions included in the R CQ
       history values (as R CQ is an optional
       parameter and may not be present on all calls."
    ::= {rtcpXrHistoryEntry 51 }

rtcpXrHistoryMinRLQ OBJECT-TYPE
    SYNTAX Rfactor
    UNITS "R factor"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum listening quality R factor."
    ::= {rtcpXrHistoryEntry 52 }

rtcpXrHistoryMaxRLQ OBJECT-TYPE
    SYNTAX Rfactor
    UNITS "R factor"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum listening quality R factor."
    ::= {rtcpXrHistoryEntry 53 }

rtcpXrHistoryAvgRLQ OBJECT-TYPE
    SYNTAX Rfactor
    UNITS "R factor"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average listening quality R factor."
    ::= {rtcpXrHistoryEntry 54 }

rtcpXrHistoryRLQCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Number of sessions included in the R LQ
       history values (as R LQ is an optional
       parameter and may not be present on all calls."
    ::= {rtcpXrHistoryEntry 55 }

rtcpXrHistoryMinMOSCQ OBJECT-TYPE
    SYNTAX ScaledMOSscore
    UNITS "MOS x 10"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum conversational quality MOS."
    ::= {rtcpXrHistoryEntry 56 }

rtcpXrHistoryMaxMOSCQ OBJECT-TYPE
    SYNTAX ScaledMOSscore
    UNITS "MOS x 10"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum conversational quality MOS."
    ::= {rtcpXrHistoryEntry 57 }

rtcpXrHistoryAvgMOSCQ OBJECT-TYPE
    SYNTAX ScaledMOSscore
    UNITS "MOS x 10"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average conversational quality MOS."
    ::= {rtcpXrHistoryEntry 58 }

rtcpXrHistoryMOSCQCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Number of sessions included in the MOS CQ
       history values (as MOS CQ is an optional
       parameter and may not be present on all calls."
    ::= {rtcpXrHistoryEntry 59 }

rtcpXrHistoryMinMOSLQ OBJECT-TYPE
    SYNTAX ScaledMOSscore
    UNITS "MOS x 10"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Minimum listening quality MOS."
    ::= {rtcpXrHistoryEntry 60 }

rtcpXrHistoryMaxMOSLQ OBJECT-TYPE
    SYNTAX ScaledMOSscore
    UNITS "MOS x 10"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Maximum listening quality MOS."
    ::= {rtcpXrHistoryEntry 61 }

rtcpXrHistoryAvgMOSLQ OBJECT-TYPE
    SYNTAX ScaledMOSscore
    UNITS "MOS x 10"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Average listening quality MOS."
    ::= {rtcpXrHistoryEntry 62 }

rtcpXrHistoryMOSLQCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Number of sessions included in the MOS LQ
       history values (as MOS LQ is enabled an optional
       parameter and may not be present on all calls."
    ::= {rtcpXrHistoryEntry 63 }

rtcpXrHistoryCQAlgorithm OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE(0..32))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Call quality algorithm used - must be consistent
       for all calls in this history."
    ::= {rtcpXrHistoryEntry 64 }

rtcpXrHistoryReset OBJECT-TYPE
    SYNTAX INTEGER { running (1),
                     stop (2),
                     reset (3)
                    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "Status of this row in the history table.
       Writing a specified endpoint value of 2 to this object MUST cause
       history updates to be stopped for this row. Writing
       a value of 3 to this object MUST cause the history
       row to be reset.
       Reads MUST return a value of 1 if the row is still
       being updated or 2 if the row update has stopped."
    ::= {rtcpXrHistoryEntry 65 }

--    2) The
-- Notifications
--
rtcpXrVoipThresholdViolation NOTIFICATION-TYPE
    OBJECTS { rtcpXrVoipAlertSeverity, rtcpXrVoipAlertType,
              rtcpXrVoipAlertInfoType, rtcpXrVoipAlertPointer }
    STATUS current
    DESCRIPTION
        "Notification that voice quality falls below has changed
         Sent immediately when the condition is detected."
    ::= { rtcpXrEvents 1}

rtcpXrEventParam OBJECT IDENTIFIER ::= { rtcpXrEvents 2 }

rtcpXrVoipAlertType OBJECT-TYPE
    SYNTAX SnmpAdminString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text description of the type of alert.  Where possible,
        this parameter should be populated with the correct
        rtcpXrVoipEntry or rtcpXrVoipHistory description."
    ::= { rtcpXrEventParam 1 }

rtcpXrVoipAlertInfoType OBJECT-TYPE
    SYNTAX INTEGER {  adminStringOnly (1),
                      sessionPointer (2),
                      historyPointer (3)
                   }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
         "Indicates the specified threshold
--

rtcpXrVoipThresholdViolation TRAP-TYPE
    ENTERPRISE rtcpXrVoipNotifications
    VARIABLES type of information returned in the
          rtcpXrVoipAlertInfo parameter."
    ::= { rtcpXrVoipAlertSeverity, rtcpXrVoipAlertType,
                rtcpXrVoipIndex} rtcpXrEventParam 2 }

rtcpXrVoipAlertPointer OBJECT-TYPE
    SYNTAX RowPointer
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Notification
         "Pointer to the table of call session information to
         identify the specific call that voice quality has changed
         Sent immediately when triggered the condition is detected." alert."
    ::= 1

--
-- Definition of Alert Severity: import from Alarm MIB
-- { rtcpXrEventParam 3 }

rtcpXrVoipAlertSeverity OBJECT-TYPE
    SYNTAX ItuPerceivedSeverity
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The severity of the alert as defined in ITU-T X.733." X.733 and
        RFC3877."
    REFERENCE
        "See Alarm MIB - RFC3877."
    ::= { rtcpXrVoipEntry 36 rtcpXrEventParam 4 }

--
--  MODULE GROUPS
--  The definition
-- There are four types of RTCP XR VoIP Metrics System.
-- RTCP XR VOIP Metrics Systems MUST implement one of the four
-- identified types of system and SHOULD NOT implement the syntax
-- rtcpXrMinimalCompliance system, which is as follows: included only
-- for reasons of compatibility with RFC3611's minimal
-- requirements.
--    ItuPerceivedSeverity
       rtcpXrCompliances OBJECT IDENTIFIER ::= { rtcpXrConformance 1 }
       rtcpXrGroups OBJECT IDENTIFIER ::= { rtcpXrConformance 2 }

       rtcpXrFullMetricsCompliance MODULE-COMPLIANCE
           STATUS  current
           DESCRIPTION
               "Describes the requirements for conformance to the
                rtcpXr MIB for VoIP devices that support basic
                reporting."
           MODULE  -- this module
           MANDATORY-GROUPS { rtcpXrSessionIDGroup,
                              rtcpXrBaseParamGroup,
                              rtcpXrCallQualityGroup
                            }
           ::= { rtcpXrCompliances 1 }

       rtcpXrMetricsAlertsCompliance MODULE-COMPLIANCE
           STATUS  current
           DESCRIPTION
               "Describes the requirements for conformance to the
                rtcpXr MIB for VoIP devices that support reporting
                and alerts."
           MODULE  -- this module
           MANDATORY-GROUPS { rtcpXrSessionIDGroup,
                              rtcpXrBaseParamGroup,
                              rtcpXrCallQualityGroup,
                              rtcpXrNotificationParmsGroup,
                              rtcpXrNotificationsGroup
                            }
           ::= { rtcpXrCompliances 2 }

       rtcpXrMetricsHistoryCompliance MODULE-COMPLIANCE
           STATUS  current
           DESCRIPTION
               "Describes the requirements for conformance to the
                rtcpXr MIB for VoIP devices that support reporting,
                call history and alerts."
           MODULE  -- this module
           MANDATORY-GROUPS { rtcpXrSessionIDGroup,
                              rtcpXrBaseParamGroup,
                              rtcpXrCallQualityGroup,
                              rtcpXrMIBHistoryGroup,
                              rtcpXrNotificationParmsGroup,
                              rtcpXrNotificationsGroup }
           ::= { rtcpXrCompliances 3 }
      rtcpXrMinimalCompliance MODULE-COMPLIANCE
           STATUS  current
           DESCRIPTION
               "Describes the minimal requirements for conformance to
                the rtcpXr MIB - NOT RECOMMENDED."
           MODULE  -- this module
           MANDATORY-GROUPS { rtcpXrSessionIDGroup,
                              rtcpXrBaseParamGroup
                            }
           ::= { rtcpXrCompliances 4 }

      rtcpXrSessionIDGroup OBJECT-GROUP
           OBJECTS {
                   rtcpXrSessionIDSessionIdentifier,
                   rtcpXrSessionIDCallStartTime,
                   rtcpXrSessionIDCallStopTime,
                   rtcpXrSessionIDSourceIPtype,
                   rtcpXrSessionIDSourceIPaddress,
                   rtcpXrSessionIDSourceRTPport,
                   rtcpXrSessionIDSourceRTCPport,
                   rtcpXrSessionIDDestIPtype,
                   rtcpXrSessionIDDestIPaddress,
                   rtcpXrSessionIDDestRTPport,
                   rtcpXrSessionIDDestRTCPport,
                   rtcpXrSessionIDDestIdentifier,
                   rtcpXrSessionIDDestIdenType,
                   rtcpXrSessionIDSrceIdentifier,
                   rtcpXrSessionIDSrceIdenType,
                   rtcpXrSessionIDMeasurePt,
                   rtcpXrSessionIDMeasurePtID,
                   rtcpXrSessionIDReverseSession,
                   rtcpXrSessionIDAltMeasurePt
                   }
           STATUS current
           DESCRIPTION
               "Session ID objects used in rtcpXr VoIP Metrics MIB"
           ::= { rtcpXrGroups 1 }

      rtcpXrBaseParamGroup OBJECT-GROUP
           OBJECTS {
                   rtcpXrBaseParamVocoderType,
                   rtcpXrBaseParamVocoderRate,
                   rtcpXrBaseParamFrameDuration,
                   rtcpXrBaseParamSampleRate,
                   rtcpXrBaseParamDurationMs,
                   rtcpXrBaseParamNetworkLossRate,
                   rtcpXrBaseParamAvgDiscardRate,
                   rtcpXrBaseParamBurstLossDensity,
                   rtcpXrBaseParamBurstLenMs,
                   rtcpXrBaseParamGapLossDensity,
                   rtcpXrBaseParamGapLenMs,
                   rtcpXrBaseParamAvgOWDelay,
                   rtcpXrBaseParamAvgEndSysDelay,
                   rtcpXrBaseParamPlcType,
                   rtcpXrBaseParamJBuffAdaptMode,
                   rtcpXrBaseParamJBuffAdaptRate,
                   rtcpXrBaseParamJBuffAverageDelay,
                   rtcpXrBaseParamJBuffMaximumDelay,
                   rtcpXrBaseParamJBuffAbsMaxDelay,
                   rtcpXrBaseParamJitterLevel
                   }
           STATUS current
           DESCRIPTION
               "Objects used in rtcpXr VoIP Metrics MIB"
           ::= { rtcpXrGroups 2 }

      rtcpXrCallQualityGroup OBJECT-GROUP
           OBJECTS {
                   rtcpXrCallQualityNoiseLeveldBm,
                   rtcpXrCallQualitySignalLeveldBm,
                   rtcpXrCallQualityLocalRERLdB,
                   rtcpXrCallQualityRemoteRERLdB,
                   rtcpXrCallQualityRCQ,
                   rtcpXrCallQualityRLQ,
                   rtcpXrCallQualityExternalRCQ,
                   rtcpXrCallQualityMOSCQ,
                   rtcpXrCallQualityMOSLQ,
                   rtcpXrCallQualityAlgorithm
                   }
           STATUS current
           DESCRIPTION
               "Call quality objects used in rtcpXr VoIP Metrics MIB"
           ::= { rtcpXrGroups 3 }

       rtcpXrMIBHistoryGroup OBJECT-GROUP
           OBJECTS {
                   rtcpXrHistoryGroupName,
                   rtcpXrHistoryStartTime,
                   rtcpXrHistoryStopTime,
                   rtcpXrHistoryNumOfSessions,
                   rtcpXrHistoryMinDurationMs,
                   rtcpXrHistoryMaxDurationMs,
                   rtcpXrHistoryAvgDurationMs,
                   rtcpXrHistoryMaxNetworkLossRate,
                   rtcpXrHistoryAvgNetworkLossRate,
                   rtcpXrHistoryMaxDiscardRate,
                   rtcpXrHistoryAvgDiscardRate,
                   rtcpXrHistoryMaxBurstLossDensity,
                   rtcpXrHistoryAvgBurstLossDensity,
                   rtcpXrHistoryMinBurstLenMs,
                   rtcpXrHistoryMaxBurstLenMs,
                   rtcpXrHistoryAvgBurstLenMs,
                   rtcpXrHistoryMaxGapLossDensity,
                   rtcpXrHistoryAvgGapLossDensity,
                   rtcpXrHistoryMinGapLenMs,
                   rtcpXrHistoryMaxGapLenMs,
                   rtcpXrHistoryAvgGapLenMs,
                   rtcpXrHistoryMinOneWayDelay,
                   rtcpXrHistoryMaxOneWayDelay,
                   rtcpXrHistoryAvgOneWayDelay,
                   rtcpXrHistoryMinEndSystemDelay,
                   rtcpXrHistoryMaxEndSystemDelay,
                   rtcpXrHistoryAvgEndSystemDelay,
                   rtcpXrHistoryAvgJitterLevel,
                   rtcpXrHistoryMinJitterLevel,
                   rtcpXrHistoryMaxJitterLevel,
                   rtcpXrHistoryMinNoiseLeveldBm,
                   rtcpXrHistoryMaxNoiseLeveldBm,
                   rtcpXrHistoryAvgNoiseLeveldBm,
                   rtcpXrHistoryNoiseLevelCount,
                   rtcpXrHistoryMinSignalLeveldBm,
                   rtcpXrHistoryMaxSignalLeveldBm,
                   rtcpXrHistoryAvgSignalLeveldBm,
                   rtcpXrHistorySignalLevelCount,
                   rtcpXrHistoryMinLocalRERLdB,
                   rtcpXrHistoryMaxLocalRERLdB,
                   rtcpXrHistoryAvgLocalRERLdB,
                   rtcpXrHistoryLocalRERLCount,
                   rtcpXrHistoryMinRemoteRERLdB,
                   rtcpXrHistoryMaxRemoteRERLdB,
                   rtcpXrHistoryAvgRemoteRERLdB,
                   rtcpXrHistoryRemoteRERLCount,
                   rtcpXrHistoryMinRCQ,
                   rtcpXrHistoryMaxRCQ,
                   rtcpXrHistoryAvgRCQ,
                   rtcpXrHistoryRCQCount,
                   rtcpXrHistoryMinRLQ,
                   rtcpXrHistoryMaxRLQ,
                   rtcpXrHistoryAvgRLQ,
                   rtcpXrHistoryRLQCount,
                   rtcpXrHistoryMinMOSCQ,
                   rtcpXrHistoryMaxMOSCQ,
                   rtcpXrHistoryAvgMOSCQ,
                   rtcpXrHistoryMOSCQCount,
                   rtcpXrHistoryMinMOSLQ,
                   rtcpXrHistoryMaxMOSLQ,
                   rtcpXrHistoryAvgMOSLQ,
                   rtcpXrHistoryMOSLQCount,
                   rtcpXrHistoryCQAlgorithm,
                   rtcpXrHistoryReset
                 }
           STATUS current
           DESCRIPTION
               "Objects used in rtcpXr VoIP History MIB"
           ::= TEXTUAL-CONVENTION
-- { rtcpXrGroups 4 }
       rtcpXrNotificationParmsGroup OBJECT-GROUP
           OBJECTS {
                   rtcpXrVoipAlertSeverity,
                   rtcpXrVoipAlertType,
                   rtcpXrVoipAlertInfoType,
                   rtcpXrVoipAlertPointer
                   }
           STATUS current
--
           DESCRIPTION
--               "ITU perceived severity values"
--       REFERENCE
--              "ITU Recommendation M.3100, 'Generic Network
--               Information Model', 1995
--               ITU Recommendation X.733, 'Information Technology
--               - Open Systems Interconnection - System Management:
--               Alarm Reporting Function', 1992"
--       SYNTAX INTEGER
--
               "Notification parameters emitted by a rtcpXr endpoint."
           ::= {
--                      cleared         (1),
--                      indeterminate   (2),
--                      critical        (3),
--                      major           (4),
--                      minor           (5),
--                      warning         (6)
-- rtcpXrGroups 5 }

       rtcpXrNotificationsGroup NOTIFICATION-GROUP
           NOTIFICATIONS {
                   rtcpXrVoipThresholdViolation
                   }
--
--
--   In use with these alarms, the cleared value will not be used
--   due the size of alarms.

        rtcpXrVoipAlertType OBJECT-TYPE
            SYNTAX OCTET STRING
            ACCESS read-only
           STATUS current
           DESCRIPTION
            "Text description of the type of alert.  Where possible,
            this parameter should be populated with the correct
            rtcpXrVoipEventsEntry"
               "Notifications emitted by a rtcpXr endpoint."
           ::= { rtcpXrVoipEntry 37 rtcpXrGroups 6 }

   END

4.  Security Considerations

   In most cases, MIBs are not themselves security risks; if SNMP
   security is operating as intended, the use of a

   Certain MIB objects contain endpoint identifying information:

      rtcpXrSessionIDSourceIPaddress
      rtcpXrSessionIDDestIPaddress
      rtcpXrSessionIDSrceIdentifier
      rtcpXrSessionIDDestIdentifier

   Unauthorized exposure of these objects may lead to view
   information about a system, or to change some parameter at disclosure of the
   system, is a tool, not a threat.

   None
   addresses of the read-only objects participants in this MIB reports a password, though
   some SDES [RFC3550] items such as applications, or information about
   the CNAME [RFC3550], traffic patents of the canonical
   name, applications, which may be deemed considered
   sensitive depending on the security policies of a
   particular enterprise.  If access in certain environments.

   Access to these objects is not limited by
   an appropriate access control policy, these objects rtcpXrHistoryReset can provide an
   attacker with information about a system's configuration and the
   services that that system is providing.  Some enterprises view their
   network and system configurations, as well as information about usage
   and performance, as corporate assets; such enterprises may wish to
   restrict SNMP access to most of the objects result in resetting the MIB.

   Confidentiality table of RTP and RTCP data packets is defined
   aggregate call quality information, which results in section 9
   of the RTP specification [RFC3550].  Encryption may be performed on
   RTP packets, RTCP packets, or both.  Encryption loss of RTCP packets may
   pose a problem for third-party monitors though "For RTCP, it
   useful management data.

   It is
   allowed thus important to split a compound RTCP packet into two lower-layer packets,
   one control even GET and/or NOTIFY access to be encrypted
   these objects and one possibly to be sent in the clear.  For example,
   SDES information might be encrypted while reception reports were sent
   in even encrypt their values when sending
   them over the clear network via SNMP.

   SNMP versions prior to accommodate third-party monitors [RFC3550]."

   SNMPv1 by itself is SNMPv3 did not a secure environment. include adequate security.
   Even if the network itself is secure (for example by using IPSec),
   even then, there is no control as to who on the secure network is
   allowed to access and GET/SET (read/change/create/delete) the objects
   in this MIB. MIB module.

   It is
   recommended RECOMMENDED that the implementers consider the security features as
   provided by the SNMPv3 framework.  Specifically, the use of framework (see [RFC3410], section 8),
   including full support for the
   User-based Security Model RFC 2574 [RFC2574] SNMPv3 cryptographic mechanisms (for
   authentication and the View-based
   Access Control Model RFC 2575 [RFC2575] privacy).

   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED.  Instead, it is recommended. RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a
   customer/user customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB, MIB module is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them.

5.  Acknowledgements IANA Considerations

   An OID within the mib-2 tree is requested, following which this note
   may be deleted.

6.  Acknowledgements

   The authors would like to acknowledge the input and advice provided
   by Dan Romascanu, Rajesh Kumar. Kim Curran and Shane Holthaus.

7.  Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which that may cover technology that may be required to practice implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

7.

8.  Normative References

   [RFC3550]   Shulzrinne, H., Casner, S., Frederick, R. and V.
               Jacobson, "RTP: A Transport Protocol for real-time
               applications," RFC 3550, July 2003.

   [RFC3611]   Friedman, T., Caceres, R., Clark, A., "RTP Control
               Protocol Reporting Extensions (RTCP XR)," RFC 3611,
               [October/November] 2003

   [RFC2571]   Harrington, D., Presuhn, R. and B. Wijnen, "An
               Architecture for Describing SNMP Management Frameworks",
               RFC 2571, December 1999.

   [RFC1155]   Rose, M. and K. McCloghrie, "Structure and Identification
               of Management Information for TCP/IP-based Internets",
               STD 16, RFC 1155, May 1990.

   [RFC1212]   Rose, M. and K. McCloghrie, "Concise MIB Definitions",
               STD 16, RFC 1212, April 1991.

   [RFC1215]   Rose, M., "A Convention for Defining Traps for use with
               the SNMP", RFC 1215, April 1991.

   [RFC2578]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
               Rose, M. and S. Waldbusser, "Structure of Management
               Information Version 2 (SMIv2)", STD 58, RFC 2578,
               December 1999.

   [RFC2579]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
               Rose, M. and S. Waldbusser, "Textual Conventions for
               SMIv2", STD 58, RFC 2579, December 1999.

   [RFC2580]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
               Rose, M. and S. Waldbusser, "Conformance Statements for
               SMIv2", STD 58, RFC 2580, December 1999.

   [RFC1157]   Case, J., Fedor, M., Schoffstall, M. and J. Davin,
               "Simple Network Management Protocol", STD 15, RFC 1157,
               May 1990.

   [RFC1901]   Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
               "Introduction to Community-based SNMPv2", RFC 1901,
               April  1996.

   [RFC1906]   Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
               "Transport Mappings for Version 2 of the Simple Network
               Management Protocol (SNMPv2)", RFC 1906, April  1996.

   [RFC2572]   Case, J., Harrington D., Presuhn R. and B. Wijnen,
               "Message Processing and Dispatching for the Simple
               Network Management Protocol (SNMP)", RFC 2572, December
               1999.

   [RFC2574]   Blumenthal, U. and B. Wijnen, "User-based Security Model
               (USM) for version 3 of the Simple Network Management
               Protocol (SNMPv3)", RFC 2574, December 1999.

   [RFC1905]   Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
               "Protocol Operations for Version 2 of the Simple Network
               Management Protocol (SNMPv2)", RFC 1905, April  1996.

   [RFC2573]   Levi, D., Meyer, P. and B. Stewart, "SNMPv3
               Applications", RFC 2573, December 1999.

   [RFC2575]   Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based
               Access Control Model (VACM) for the Simple Network
               Management Protocol (SNMP)", RFC 2575, December 1999.

   [RFC2570]

9. Informative References

   [RFC3410]   Case, J., Mundy, R., Partain, D. and B. Stewart, B.,
               "Introduction to Version 3 of the Internet-standard
               Network and Applicability Statements for Internet
               Standard Management Framework", RFC 2570, 3410, December 1999. 2002

8. Authors' Addresses

   Alan Clark
   Telchemy Incorporated
   3360 Martins Farm Road, Ste 200
   Suwanee, Georgia 30024
   U.S.A.

   Email: alan@telchemy.com

   Amy Pendleton
   Nortel Networks
   2380 Performance Drive
   Richardson, Texas 75081
   U.S.A.

   Email: aspen@nortelnetworks.com

9. Full Copyright Statement

   Copyright (C) The Internet Society (2004).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

    This document and the information contained herein is are provided on
    an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
    REPRESENTS OR IS SPONSORED BY, BY (IF ANY), THE INTERNET SOCIETY AND THE
    INTERNET ENGINEERING TASK FORCE DISCLAIMS DISCLAIM ALL WARRANTIES, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
    THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.