-- *****************************************************************
-- CISCO-CABLE-ADMISSION-CTRL-MIB.my:
--                       Cisco Cable Admission Control MIB file
--
-- Nov 2004, Connie Chan
--
-- Copyright (c) 2004-2005, 2006 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-CABLE-ADMISSION-CTRL-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        NOTIFICATION-TYPE,
        Unsigned32,
        Counter32
            FROM SNMPv2-SMI
        TEXTUAL-CONVENTION,
        RowStatus,
        StorageType,
        TruthValue,
        TimeStamp,
        VariablePointer
            FROM SNMPv2-TC
        OBJECT-GROUP,
        NOTIFICATION-GROUP,
        MODULE-COMPLIANCE
            FROM SNMPv2-CONF
        ifIndex,
        InterfaceIndexOrZero
            FROM IF-MIB
        entPhysicalIndex
            FROM ENTITY-MIB
        SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
        ciscoMgmt
            FROM CISCO-SMI;

ciscoCableAdmCtrlMIB MODULE-IDENTITY
        LAST-UPDATED "200610250000Z"
        ORGANIZATION "Cisco Systems, Inc."
        CONTACT-INFO
            "         Cisco Systems
                      Customer Service

            Postal:   Cisco Systems
                      170 West Tasman Drive
                      San Jose, CA 95134
                      U.S.A.
            Phone:    +1 800 553-NETS
            E-mail:   cs-ubr@cisco.com"

        DESCRIPTION
            "This MIB module defines the managed objects enabling
            the management of Cable Modem Termination System
            (CMTS) admission control.

            CMTS admission control refers to the rules that the
            CMTS will follow when allocating resources such as
            CPU, memory or bandwidth with respect to monitored
            events.

            The monitored events include:

            1. Dynamic service flow creation requests
               Dynamic service flow allows on-demand reservation on
               Layer 2 bandwidth resources. CMTS can provide special
               QoS to the cable modem dynamically for the duration
               of a voice call or video session which provides a more
               efficient use of the available bandwidth.

            2. Resource requests during cable modem (CM) registration.
               CMTS resources are required during CM registration.
               CMTS resources will be checked when it receives a CM
               registration request.

            The resources being monitored include:

            1. The CMTS CPU and memory utilization
               data and thresholds setting on the
               physical entity, like main processor or linecard
               when a monitoring event happens.

            2. The upstream (US) channel bandwidth utilization based
               on scheduling types or service classes.

            3. The downstream (DS) channel bandwidth utilization based 
               on voice or data."
        REVISION     "200610250000Z"
        DESCRIPTION
            "The current cable admission control feature has been
             changed to perform bandwidth allocation based on the
             application types rather than scheduling types.

             The following tables are based on scheduling types,
             hence deprecated: ccacUsConfigTable, ccacDsConfigTable,
             ccacUsTable and ccacDsTable.

             New tables that are based on application types are
             defined instead: ccacUsConfigRevTable, ccacDsConfigRevTable,
             ccacUsRevTable, ccacDsRevTable.

             Removed reference to SchedulingType from DOCS-QOS-MIB,
             instead created CcacSchedulingType because DOCS-QOS-MIB
             is no longer maintained by IETF."
        REVISION     "200505040000Z"
        DESCRIPTION
            "This is the initial version."
        ::= { ciscoMgmt 450 }

ciscoCableAdmCtrlMIBNotifs OBJECT IDENTIFIER
                              ::= { ciscoCableAdmCtrlMIB 0 }

ciscoCableAdmCtrlMIBObjects OBJECT IDENTIFIER
                              ::= { ciscoCableAdmCtrlMIB 1 }

ciscoCableAdmCtrlMIBConform OBJECT IDENTIFIER
                              ::= { ciscoCableAdmCtrlMIB 2 }

ccacObjects       OBJECT IDENTIFIER 
                              ::= { ciscoCableAdmCtrlMIBObjects 1 }
ccacConfigObjects OBJECT IDENTIFIER 
                              ::= { ciscoCableAdmCtrlMIBObjects 2 }
ccacStatObjects   OBJECT IDENTIFIER 
                              ::= { ciscoCableAdmCtrlMIBObjects 3 }
ccacEventHistory  OBJECT IDENTIFIER 
                              ::= { ciscoCableAdmCtrlMIBObjects 4 }

-- Textual Conventions

Percent ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "An integer that is in the range of a percent value."
    SYNTAX      Unsigned32 (0..100)

NonZeroPercent ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "An integer that is in the range of a non-zero percent
        value."
    SYNTAX      Unsigned32 (1..100)

TenthPercent ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "An integer that is in the range of tenths of a percent
        value."
    SYNTAX      Unsigned32 (0..1000 )

CcacSchedulingType ::= TEXTUAL-CONVENTION
    STATUS      deprecated
    DESCRIPTION
        "This type is deprecated because all the objects of this
        type have been deprecated.

        The scheduling service provided by a CMTS for an
        upstream service flow. If the parameter is omitted
        from an upstream QOS Parameter Set, this object takes
        the value of bestEffort (2). This parameter must be
        reported as undefined (1) for downstream QOS Parameter
        Sets."
    SYNTAX      INTEGER {
            undefined (1),
            bestEffort (2),
            nonRealTimePollingService(3),
            realTimePollingService(4),
            unsolictedGrantServiceWithAD(5),
            unsolictedGrantService(6)
    }

CcacApplicationBucketType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A unique value, greater than zero, for each application
       bucket being defined for uniquely identifying application
       types for cable admission control feature."
    SYNTAX      Unsigned32 (1..64)

QoSServiceClassNameOrNull ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A null string or a string that represents QoS service
        class name." 
    REFERENCE    
        "SP-RFIv1.1-I05-000714, Appendix C.2.2.3.4"
    SYNTAX      OCTET STRING (SIZE(0..15))

CcacMonitoredEvent ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION 
        "The types of event being monitored by CMTS admission
        control.

        'dynamicSvcFlow' : Dynamic service flow allows on-demand
                           reservation on Layer 2 bandwidth resources.
        'cmRegistration' : CM sends registration request to CMTS."
    REFERENCE    
        "SP-RFIv1.1-I05-000714, Appendix C.2.2.3.3
        SP-RFIv2.0-IO2-020617, Section 11.2."
    SYNTAX      BITS {
            dynamicSvcFlow(0),
            cmRegistration(1)
    }

CcacSysRscMonitoredType ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
        "The type of system resource being monitored by the CMTS
         admission control.

        'cpu5Sec'  : The overall CPU busy percentage in the last
                     5 seconds period.
        'cpu1Min'  : The overall CPU busy percentage in the last
                     1 minute period.
        'procMem'  : The percentage of process memory which is in
        'ioMem'    : The percentage of I/O memory which is in used.
                     used. 
        'totalMem' : The percentage of memory which is in used by
                     I/O memory and process memory."
    SYNTAX      INTEGER {
            cpu5Sec(1),
            cpu1Min(2),
            procMem(3),
            ioMem(4),
            totalMem(5)
    }

CcacDSTrafficMonitoredType ::= TEXTUAL-CONVENTION
    STATUS      deprecated
    DESCRIPTION
        "The downstream traffic type being monitored by the CMTS
        admission control.

        'voice' : The downstream voice traffic.
        'data'  : The downstream data traffic."
    SYNTAX      INTEGER {
                   voice(1),
                   data(2)
    }

-- CMTS Admission Control Group

ccacNotifyEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object controls generation of notifications
            in the MIB.

            When the object is 'true', the agent will generate
            notification defined by this MIB.

            When the object is 'false', the agent will not
            generate notification defined by this MIB."
        DEFVAL { false }
        ::= { ccacObjects 1 }

ccacEventMonitoring OBJECT-TYPE
        SYNTAX      CcacMonitoredEvent
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object specifies the events being monitored by the
            CMTS admission control."
        DEFVAL { { } }
        ::= { ccacObjects 2 }

-- Configuration CMTS admission control based on system resources

ccacSysRscConfigTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacSysRscConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table abstracts a sparse matrix of system 
            resource utilization thresholds to be monitored
            by Cable Admission Control.

            The entPhysicalIndex uniquely identifies the physical 
            entity with a set of system resource utilization
            thresholds being associated.

            The ccacSysRscConfigResourceType identifies the system
            resource to be monitored.

            The physical entities, for example, processors
            or linecards, are being expanded upon, and the
            expansion entails zero or more sets of system
            resource utilization thresholds.
        
            The agent creates/destroys/modifies an entry whenever
            the local console affects this configuration.

            The management application may create/destroy/modify
            an entry.

            When an entry is created and ccacSysRscConfigStatus is 
            equal to 'active', CMTS monitors the system
            resources based on the configurable thresholds, minor,
            major and critical for different monitoring system
            resources type and the main processor or a linecard."
        ::= { ccacConfigObjects 1 }

ccacSysRscConfigEntry OBJECT-TYPE
        SYNTAX      CcacSysRscConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each entry defines a set of configurable thresholds,
            for each monitoring system resources type and the main
            processor or a linecard."
        INDEX { entPhysicalIndex,
                ccacSysRscConfigResourceType }
        ::= { ccacSysRscConfigTable 1 }

CcacSysRscConfigEntry ::= SEQUENCE {
            ccacSysRscConfigResourceType     CcacSysRscMonitoredType,
            ccacSysRscConfigStatus           RowStatus,
            ccacSysRscConfigMinorThreshold   NonZeroPercent,
            ccacSysRscConfigMajorThreshold   NonZeroPercent,
            ccacSysRscConfigCritThreshold    NonZeroPercent
        }

ccacSysRscConfigResourceType OBJECT-TYPE
        SYNTAX      CcacSysRscMonitoredType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object specifies the type of system resource being
            monitored."
        ::= { ccacSysRscConfigEntry 1 }

ccacSysRscConfigStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object facilitates the creation, modification, and
            destruction of a conceptual row in this table."
        ::= { ccacSysRscConfigEntry 2 }

ccacSysRscConfigMinorThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies minor threshold related to the 
            utilization of the resource being monitored."
        ::= { ccacSysRscConfigEntry 3 }

ccacSysRscConfigMajorThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies major threshold related to the
            utilization of the resource being monitored.

            The major threshold must be greater than minor threshold."
        ::= { ccacSysRscConfigEntry 4 }

ccacSysRscConfigCritThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies critical threshold related to the
            utilization of the resource being monitored.

            The critical threshold must be greater than major 
            threshold.

            The CMTS will reject requests corresponding to monitored
            events if the monitored system resource exceeds the
            critical threshold."
        ::= { ccacSysRscConfigEntry 5 }

-- Configuration of upstream channel usage (DEPRECATED)

ccacUsConfigTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacUsConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "This table is deprecated by ccacUsConfigRevTable.

            This table abstracts a sparse matrix of upstream
            channel utilization thresholds to be monitored
            by Cable Admission Control.
            
            The ifIndex uniquely identifies all upstream channels,
            upstream channels associated with an interface or
            an upstream channel with a set of upstream channel 
            utilization thresholds being associated.

            The ccacUsConfigSchedType identifies the scheduling
            type to be monitored.
            
            The ccacUsConfigServiceClassName identifies the
            cable service class to be monitored.

            The agent creates/destroys/modifies an entry whenever
            the local console affects this configuration.
            
            The management application may create/destroy/modify
            an entry.

            When an entry is created and ccacUsConfigStatus is equal
            to 'active', CMTS monitors the upstream channel bandwidth
            utilization based on the configurable thresholds, minor,
            major and exclusive percentage, for different scheduling
            type or service class for an upstream channel."
        ::= { ccacConfigObjects 2 }

ccacUsConfigEntry OBJECT-TYPE
        SYNTAX      CcacUsConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "Each entry defines a set of configurable thresholds
            and parameters for each monitored scheduling service
            for an upstream channel.

            Scheduling service can be specified by a scheduling
            type or QoS Service class name.
            
            A set of thresholds applied by cable admission control
            in the process of monitoring upstream channel bandwidth.
            
            The following classes of upstream policies can be 
            configured: 

            1. Global
               An entry with a ccacUsConfigIfIndex of '0' identifies
               a global policy.

            2. Per Interface
               An entry with a ccacUsConfigIfIndex with an
               ifType of 'docsCableMaclayer' identifies an interface
               policy.

               Interface level thresholds supersedes global level
               thresholds.

            3. Per Upstream Channel
               An entry with a ccacUsConfigIfIndex with an ifType of 
               'docsCableUpstream' identifies an upstream channel
               policy.

               Upstream level thresholds supersedes both global and
               interface level thresholds."
        INDEX { ccacUsConfigIfIndex,
                ccacUsConfigSchedType, 
                ccacUsConfigServiceClassName }
        ::= { ccacUsConfigTable 1 }

CcacUsConfigEntry ::= SEQUENCE {
            ccacUsConfigIfIndex             InterfaceIndexOrZero,
            ccacUsConfigSchedType           CcacSchedulingType,
            ccacUsConfigServiceClassName    QoSServiceClassNameOrNull,
            ccacUsConfigStatus              RowStatus,
            ccacUsConfigMinorThreshold      NonZeroPercent,
            ccacUsConfigMajorThreshold      NonZeroPercent,
            ccacUsConfigExclusivePercent    NonZeroPercent,
            ccacUsConfigNonExclusivePercent Percent
        }

ccacUsConfigIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  not-accessible 
        STATUS      deprecated
        DESCRIPTION
            "The object identities the interface to which the 
            upstream channel thresholds applies:

            1. If '0', then the policy applies to all upstream
               channels being monitored.

            2. If the corresponding ifType is 'docsCableMacLayer',
               then the policy applies to all upstream channels
               being carried by the physical interface.

            3. If the corresponding ifType is 'docsCableUpstream',
               then the policy applies to that upstream channel."
        ::= { ccacUsConfigEntry 1 }

ccacUsConfigSchedType OBJECT-TYPE
        SYNTAX      CcacSchedulingType
        MAX-ACCESS  not-accessible 
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the scheduling type
            used in classifying an upstream channel.

            When the service class name is specified the
            value of this object is equal to 'undefined'."
        REFERENCE
             "SP-RFIv1.1-I05-000714, Appendix C.2.2.6.2"
        ::= { ccacUsConfigEntry 2 }

ccacUsConfigServiceClassName OBJECT-TYPE
        SYNTAX      QoSServiceClassNameOrNull
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the QoS service class name.

            Service class name is a null string when scheduling
            type is specified."
        REFERENCE
            "SP-RFIv1.1-I05-000714, Appendix C.2.2.3.4"
        ::= { ccacUsConfigEntry 3 }

ccacUsConfigStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "This object facilitates the creation, modification, or
            deletion of a conceptual row in this table."
        ::= { ccacUsConfigEntry 4 }

ccacUsConfigMinorThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the minor threshold related
            to the utilization of upstream bandwidth."
        ::= { ccacUsConfigEntry 5 }

ccacUsConfigMajorThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the major threshold related
            to the utilization of upstream bandwidth.

            The major threshold must be greater than minor threshold."
        ::= { ccacUsConfigEntry 6 }

ccacUsConfigExclusivePercent OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the reserved bandwidth exclusively
            related to the utilization of upstream bandwidth.

            The exclusive percent must be greater than major threshold.

            The sum of exclusive percent for all different scheduling
            services on this upstream channel cannot be greater than
            '100'."
        ::= { ccacUsConfigEntry 7 }

ccacUsConfigNonExclusivePercent OBJECT-TYPE
        SYNTAX      Percent
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the percentage of 
            bandwidth, over and above the exclusive 
            share, which can be used by scheduling service after
            the exclusive bandwidth has been used up.

            Since the bandwidth is non-exclusive,
            it has the potential to be shared by other classes
            depending on the configuration.

            The sum of exclusive and non-exclusive percent in the
            same entry cannot be greater than '100'."
        ::= { ccacUsConfigEntry 8 }

-- Configuration of downstream usage (DEPRECATED)

ccacDsConfigTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacDsConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "This table is deprecated by ccacDsConfigRevTable.

            This table abstracts a sparse matrix of downstream
            channel utilization thresholds to be monitored
            by Cable Admission Control.
            
            The ifIndex uniquely identifies all downstream channels,
            or a downstream channel with a set of upstream channel 
            utilization thresholds being associated.
            
            The ccacDsConfigTrafficType identifies the downstream
            traffic type to be monitored.
            
            The agent creates/destroys/modifies an entry whenever
            the local console affects this configuration.
            
            The management application may create/destroy/modify
            an entry.

            When an entry is created and ccacDsConfigStatus is equal
            to 'active', CMTS monitors the downstream bandwidth
            utilization based on the configurable thresholds, minor,
            major and exclusive percentage, for different traffic
            type for a downstream."
        ::= { ccacConfigObjects 3 }

ccacDsConfigEntry OBJECT-TYPE
        SYNTAX      CcacDsConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "Each entry defines a set of configurable thresholds
            and parameters for each monitoring traffic type for a
            downstream.

            A set of thresholds applied by cable admission control
            in the process of monitoring downstream bandwidth.

            The following classes of downstream policy can be 
            configured: 

            1. Global
               An entry with a ccacDsConfigIfIndex of '0' identifies
               a global policy.

            2. Per Downstream Channel
               An entry with a ccacDsConfigIfIndex with an ifType of 
               'docsCableDownstream' identifies a downstream channel
               policy.

               Downstream level thresholds supersedes global level
               thresholds."
        INDEX { ccacDsConfigIfIndex,
                ccacDsConfigTrafficType }
        ::= { ccacDsConfigTable 1 }

CcacDsConfigEntry ::= SEQUENCE {
            ccacDsConfigIfIndex             InterfaceIndexOrZero,
            ccacDsConfigTrafficType         CcacDSTrafficMonitoredType,
            ccacDsConfigStatus              RowStatus,
            ccacDsConfigMinorThreshold      NonZeroPercent,
            ccacDsConfigMajorThreshold      NonZeroPercent,
            ccacDsConfigExclusivePercent    NonZeroPercent,
            ccacDsConfigNonExclusivePercent Percent
        }

ccacDsConfigIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  not-accessible 
        STATUS      deprecated
        DESCRIPTION
            "The object identities the interface to which the 
            downstream thresholds applies:

            1. If '0', then the policy applies to all downstream
               channels being monitored.

            2. If the corresponding ifType is 'docsCableDownstream',
               then the policy applies to that downstream."
        ::= { ccacDsConfigEntry 1 }

ccacDsConfigTrafficType OBJECT-TYPE
        SYNTAX      CcacDSTrafficMonitoredType
        MAX-ACCESS  not-accessible 
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the traffic type
            for which this policy applies."
        ::= { ccacDsConfigEntry 2 }

ccacDsConfigStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "This object facilitates the creation, modification, or
            deletion of a conceptual row in this table."
        ::= { ccacDsConfigEntry 3 }

ccacDsConfigMinorThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the minor threshold related to
            the utilization of downstream bandwidth."
        ::= { ccacDsConfigEntry 4 }

ccacDsConfigMajorThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the major threshold related
            to the utilization of downstream bandwidth.

            The major threshold must be greater than minor threshold."
        ::= { ccacDsConfigEntry 5 }

ccacDsConfigExclusivePercent OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the reserved bandwidth exclusively
            related to the utilization of downstream bandwidth.

            The exclusive percent must be greater than major threshold.

            The sum of exclusive percent for all different traffic
            type on this downstream cannot be greater than '100'."
        ::= { ccacDsConfigEntry 6 }

ccacDsConfigNonExclusivePercent OBJECT-TYPE
        SYNTAX      Percent
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "This object specifies the percentage of 
            bandwidth, over and above the exclusive 
            share, which can be used by this traffic type after
            the exclusive bandwidth has been used up.

            Since the bandwidth is non-exclusive,
            it can be used by other traffic type as
            specified.

            The sum of exclusive and non-exclusive percent in the
            same entry cannot be greater than '100'."
        ::= { ccacDsConfigEntry 7 }

-- Configuration of upstream channel usage (REVISED)

ccacUsConfigRevTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacUsConfigRevEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table abstracts a sparse matrix of upstream
            channel utilization thresholds to be monitored
            by Cable Admission Control.
            
            The ifIndex uniquely identifies all upstream channels,
            upstream channels associated with an interface or
            an upstream channel with a set of upstream channel 
            utilization thresholds being associated.

            The ccacUsConfigRevAppBucketIndex identifies the application
            bucket number being configured.
            
            The agent creates/destroys/modifies an entry whenever
            the local console affects this configuration.
            
            The management application may create/destroy/modify
            an entry.

            When an entry is created and ccacUsConfigRevStatus is equal
            to 'active', CMTS monitors the upstream channel bandwidth
            utilization based on the configurable thresholds, minor,
            major and exclusive percentage, for different scheduling
            type or service class for an upstream channel."
        ::= { ccacConfigObjects 4 }

ccacUsConfigRevEntry OBJECT-TYPE
        SYNTAX      CcacUsConfigRevEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each entry defines a set of configurable thresholds
            and parameters for each monitored scheduling service
            for an upstream channel.

            A set of thresholds applied by cable admission control
            in the process of monitoring upstream channel bandwidth.
            
            The following classes of upstream policies can be 
            configured: 

            1. Global
               An entry with a ccacUsConfigRevIfIndex of '0' identifies
               a global policy.

            2. Per Interface
               An entry with a ccacUsConfigRevIfIndex with an
               ifType of 'docsCableMaclayer' identifies an interface
               policy.

               Interface level thresholds supersedes global level
               thresholds.

            3. Per Upstream Channel
               An entry with a ccacUsConfigRevIfIndex with an ifType of 
               'docsCableUpstream' identifies an upstream channel
               policy.

               Upstream level thresholds supersedes both global and
               interface level thresholds."
        INDEX { ccacUsConfigRevIfIndex,
                ccacUsConfigRevAppBucketIndex }
        ::= { ccacUsConfigRevTable 1 }

CcacUsConfigRevEntry ::= SEQUENCE {
            ccacUsConfigRevIfIndex             InterfaceIndexOrZero,
            ccacUsConfigRevAppBucketIndex      CcacApplicationBucketType,
            ccacUsConfigRevAppBucketName       SnmpAdminString,
            ccacUsConfigRevMinorThreshold      NonZeroPercent,
            ccacUsConfigRevMajorThreshold      NonZeroPercent,
            ccacUsConfigRevExclusivePercent    NonZeroPercent,
            ccacUsConfigRevNonExclusivePercent Percent,
            ccacUsConfigRevStorageType         StorageType,
            ccacUsConfigRevStatus              RowStatus
        }

ccacUsConfigRevIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  not-accessible 
        STATUS      current
        DESCRIPTION
            "The object identities the interface to which the 
            upstream channel thresholds applies:

            1. If '0', then the policy applies to all upstream
               channels being monitored.

            2. If the corresponding ifType is 'docsCableMacLayer',
               then the policy applies to all upstream channels
               being carried by the physical interface.

            3. If the corresponding ifType is 'docsCableUpstream',
               then the policy applies to that upstream channel."
        ::= { ccacUsConfigRevEntry 1 }

ccacUsConfigRevAppBucketIndex OBJECT-TYPE
        SYNTAX      CcacApplicationBucketType
        MAX-ACCESS  not-accessible 
        STATUS      current
        DESCRIPTION
            "This object identifies the application bucket number
            in defining the parameters for bandwidth management."
        ::= { ccacUsConfigRevEntry 2 }

ccacUsConfigRevAppBucketName OBJECT-TYPE
        SYNTAX      SnmpAdminString
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies the application bucket name.

            Application name can be used to label each application
            bucket and give descriptive information on the type of
            application.

            Application bucket name may be a null string if it
            is not defined."
        DEFVAL { "" }
        ::= { ccacUsConfigRevEntry 3 }

ccacUsConfigRevMinorThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies the minor threshold related
            to the utilization of upstream bandwidth."
        ::= { ccacUsConfigRevEntry 4 }

ccacUsConfigRevMajorThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies the major threshold related
            to the utilization of upstream bandwidth.

            The major threshold must be greater than minor threshold."
        ::= { ccacUsConfigRevEntry 5 }

ccacUsConfigRevExclusivePercent OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies the reserved bandwidth exclusively
            related to the utilization of upstream bandwidth.

            The exclusive percent must be greater than major threshold.

            The sum of exclusive percent for all different scheduling
            services on this upstream channel cannot be greater than
            '100'."
        ::= { ccacUsConfigRevEntry 6 }

ccacUsConfigRevNonExclusivePercent OBJECT-TYPE
        SYNTAX      Percent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies the percentage of 
            bandwidth, over and above the exclusive 
            share, which can be used by scheduling service after
            the exclusive bandwidth has been used up.

            Since the bandwidth is non-exclusive,
            it has the potential to be shared by other classes
            depending on the configuration.

            The sum of exclusive and non-exclusive percent in the
            same entry cannot be greater than '100'."
        ::= { ccacUsConfigRevEntry 7 }

ccacUsConfigRevStorageType OBJECT-TYPE
        SYNTAX      StorageType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The storage type for this conceptual row.

            If the value of this object is 'volatile', then
            this entry only exists in RAM and the this row
            would be lost on system reload.

            If the value of this object is 'nonVolatile' then
            this entry has been saved to NVRAM and will persist
            across system reload."
        DEFVAL { nonVolatile }
        ::= { ccacUsConfigRevEntry 8 }

ccacUsConfigRevStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object facilitates the creation, modification,
            or deletion of a conceptual row in this table.

            For row creation, ccacUsConfigRevMinorThreshold,
            ccacUsConfigRevMajorThreshold,
            ccacUsConfigRevExclusivePercen and
            ccacUsConfigRevNonExclusivePercent are mandatory."
        ::= { ccacUsConfigRevEntry 9 }

-- Configuration of downstream usage (REVISED)

ccacDsConfigRevTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacDsConfigRevEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table abstracts a sparse matrix of downstream
            channel utilization thresholds to be monitored
            by Cable Admission Control.
            
            The ifIndex uniquely identifies all downstream channels,
            or a downstream channel with a set of upstream channel 
            utilization thresholds being associated.
            
            The ccacDsConfigRevAppBucketIndex identifies the application
            bucket number being configured.
            
            The agent creates/destroys/modifies an entry whenever
            the local console affects this configuration.
            
            The management application may create/destroy/modify
            an entry.

            When an entry is created and ccacDsConfigRevStatus is equal
            to 'active', CMTS monitors the downstream bandwidth
            utilization based on the configurable thresholds, minor,
            major and exclusive percentage, for different traffic
            type for a downstream."
        ::= { ccacConfigObjects 5 }

ccacDsConfigRevEntry OBJECT-TYPE
        SYNTAX      CcacDsConfigRevEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each entry defines a set of configurable thresholds
            and parameters for each monitoring traffic type for a
            downstream.

            A set of thresholds applied by cable admission control
            in the process of monitoring downstream bandwidth.

            The following classes of downstream policy can be 
            configured: 

            1. Global
               An entry with a ccacDsConfigRevIfIndex of '0' identifies
               a global policy.

            2. Per Downstream Channel
               An entry with a ccacDsConfigRevIfIndex with an ifType of 
               'docsCableDownstream' identifies a downstream channel
               policy.

               Downstream level thresholds supersedes global level
               thresholds."
        INDEX { ccacDsConfigRevIfIndex,
                ccacDsConfigRevAppBucketIndex }
        ::= { ccacDsConfigRevTable 1 }

CcacDsConfigRevEntry ::= SEQUENCE {
            ccacDsConfigRevIfIndex             InterfaceIndexOrZero,
            ccacDsConfigRevAppBucketIndex      CcacApplicationBucketType,
            ccacDsConfigRevAppBucketName       SnmpAdminString,
            ccacDsConfigRevMinorThreshold      NonZeroPercent,
            ccacDsConfigRevMajorThreshold      NonZeroPercent,
            ccacDsConfigRevExclusivePercent    NonZeroPercent,
            ccacDsConfigRevNonExclusivePercent Percent,
            ccacDsConfigRevStorageType         StorageType,
            ccacDsConfigRevStatus              RowStatus
        }

ccacDsConfigRevIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  not-accessible 
        STATUS      current
        DESCRIPTION
            "The object identities the interface to which the 
            downstream thresholds applies:

            1. If '0', then the policy applies to all downstream
               channels being monitored.

            2. If the corresponding ifType is 'docsCableDownstream',
               then the policy applies to that downstream."
        ::= { ccacDsConfigRevEntry 1 }

ccacDsConfigRevAppBucketIndex OBJECT-TYPE
        SYNTAX      CcacApplicationBucketType
        MAX-ACCESS  not-accessible 
        STATUS      current
        DESCRIPTION
            "This object identifies the application bucket number
            in defining the parameters for policy applies."
        ::= { ccacDsConfigRevEntry 2 }

ccacDsConfigRevAppBucketName OBJECT-TYPE
        SYNTAX      SnmpAdminString
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object identifies the application bucket name
            corresponding to the application bucket number.

            Application bucket name can be used to label each
            application bucket and give descriptive information
            on the type of application.

            Application bucket name may be a null string if it
            is not defined."
        DEFVAL { "" }
        ::= { ccacDsConfigRevEntry 3 }

ccacDsConfigRevMinorThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies the minor threshold related to
            the utilization of downstream bandwidth."
        ::= { ccacDsConfigRevEntry 4 }

ccacDsConfigRevMajorThreshold OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies the major threshold related
            to the utilization of downstream bandwidth.

            The major threshold must be greater than minor threshold."
        ::= { ccacDsConfigRevEntry 5 }

ccacDsConfigRevExclusivePercent OBJECT-TYPE
        SYNTAX      NonZeroPercent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies the reserved bandwidth exclusively
            related to the utilization of downstream bandwidth.

            The exclusive percent must be greater than major threshold.

            The sum of exclusive percent for all different traffic
            type on this downstream cannot be greater than '100'."
        ::= { ccacDsConfigRevEntry 6 }

ccacDsConfigRevNonExclusivePercent OBJECT-TYPE
        SYNTAX      Percent
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object specifies the percentage of 
            bandwidth, over and above the exclusive 
            share, which can be used by this traffic type after
            the exclusive bandwidth has been used up.

            Since the bandwidth is non-exclusive,
            it can be used by other traffic type as
            specified.

            The sum of exclusive and non-exclusive percent in the
            same entry cannot be greater than '100'."
        ::= { ccacDsConfigRevEntry 7 }

ccacDsConfigRevStorageType OBJECT-TYPE
        SYNTAX      StorageType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The storage type for this conceptual row.

            If the value of this object is 'volatile', then
            this entry only exists in RAM and the this row
            would be lost on system reload.

            If the value of this object is 'nonVolatile' then
            this entry has been saved to NVRAM and will persist
            across system reload."
        DEFVAL { nonVolatile }
        ::= { ccacDsConfigRevEntry 8 }

ccacDsConfigRevStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object facilitates the creation, modification,
            or deletion of a conceptual row in this table.

            For row creation, ccacUsConfigRevMinorThreshold,
            ccacUsConfigRevMajorThreshold,
            ccacUsConfigRevExclusivePercent and
            ccacUsConfigRevNonExclusivePercent are mandatory."
        ::= { ccacDsConfigRevEntry 9 }

-- Monitor of system resource utilization

ccacSysRscTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacSysRscEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains statistical data relating to
            system resource utilization for all configured physical
            entities and resource types."
        ::= { ccacStatObjects 1 }

ccacSysRscEntry OBJECT-TYPE
        SYNTAX      CcacSysRscEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each entry contains objects that support
            monitoring of statistical data based on
            system resources utilization for a physical entity."
        INDEX { entPhysicalIndex, 
                ccacSysRscType }
        ::= { ccacSysRscTable 1 }

CcacSysRscEntry ::= SEQUENCE {
            ccacSysRscType             CcacSysRscMonitoredType,
            ccacSysRscUtilization      Percent,
            ccacSysRscMinorCrosses     Counter32,
            ccacSysRscMajorCrosses     Counter32,
            ccacSysRscCriticalCrosses  Counter32,
            ccacSysRscCountersDscTime  TimeStamp 
        }

ccacSysRscType OBJECT-TYPE
        SYNTAX      CcacSysRscMonitoredType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the type of system resource
            being monitored."
        ::= { ccacSysRscEntry 1 }
        
ccacSysRscUtilization OBJECT-TYPE
        SYNTAX      Percent
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the utilization of the system
            resource on the physical entity."
        ::= { ccacSysRscEntry 2 }

ccacSysRscMinorCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of times system
            resource utilization on the physical entity has crossed
            minor threshold specified by 
            ccacSysRscConfigMinorThreshold."
        ::= { ccacSysRscEntry 3 }

ccacSysRscMajorCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of times system
            resource utilization on the physical entity has crossed
            major threshold specified by 
            ccacSysRscConfigMajorThreshold."
        ::= { ccacSysRscEntry 4 }

ccacSysRscCriticalCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of times system
            resource utilization on the physical entity has crossed
            critical threshold specified by 
            ccacSysRscConfigCritThreshold."
        ::= { ccacSysRscEntry 5 }

ccacSysRscCountersDscTime OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
            which all counters suffered a discontinuity.

            If no such discontinuities have occurred since the
            last re-initialization of the local management subsystem,
            then this object contains the creation time of the 
            corresponding counters."
        ::= { ccacSysRscEntry 6 }

-- Monitor of upstream channel bandwidth utilization (DEPRECATED)

ccacUsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacUsEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "This table is deprecated by ccacUsRevTable.

            This table contains statistical data relating to 
            an upstream channel bandwidth utilization for every 
            monitored upstream channel.

            There will be an entry in this table for each scheduling 
            service per upstream channel being monitored."
        ::= { ccacStatObjects 2 }

ccacUsEntry OBJECT-TYPE
        SYNTAX      CcacUsEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "Each entry contains statistical data relating to an
            upstream channel bandwidth utilization, for a scheduling 
            service and upstream channel."
        INDEX { ifIndex,
                ccacUsSchedType,
                ccacUsServiceClassName }
        ::= { ccacUsTable 1 }

CcacUsEntry ::= SEQUENCE {
            ccacUsSchedType                CcacSchedulingType,
            ccacUsServiceClassName         QoSServiceClassNameOrNull,
            ccacUsUtilization              Percent,
            ccacUsMinorCrosses             Counter32,
            ccacUsMajorCrosses             Counter32,
            ccacUsExclusiveCrosses         Counter32,
            ccacUsCountersDscTime          TimeStamp
        }

ccacUsSchedType OBJECT-TYPE
        SYNTAX      CcacSchedulingType
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "This object indicates the scheduling type of an upstream
            channel.

            When the service class name is referred the
            value of this object is equal to 'undefined'."
        REFERENCE
            "SP-RFIv1.1-I05-000714, Appendix C.2.2.6.2"
        ::= { ccacUsEntry 1 }

ccacUsServiceClassName    OBJECT-TYPE
        SYNTAX      QoSServiceClassNameOrNull
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "This object indicates the QoS service class name.
            
            Service class name is a null string when scheduling
            type is referred."
        REFERENCE  
            "SP-RFIv1.1-I05-000714, Appendix C.2.2.3.4"
        ::= { ccacUsEntry 2 }

ccacUsUtilization OBJECT-TYPE
        SYNTAX      Percent
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "This object indicates the upstream channel bandwidth
            utilized by the scheduling service."
        ::= { ccacUsEntry 3 }

ccacUsMinorCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "The value of the statistic during the last sampling
            period.
            
            This object indicates the number of times upstream
            channel bandwidth utilization has crossed minor threshold
            specified by ccacUsConfigMinorThreshold."
        ::= { ccacUsEntry 4 }

ccacUsMajorCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "This object indicates the number of times upstream
            channel bandwidth utilization has crossed major threshold
            specified by ccacUsConfigMajorThreshold."
        ::= { ccacUsEntry 5 }

ccacUsExclusiveCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "This object indicates the number of times upstream
            channel bandwidth utilization has crossed exclusive 
            percentage specified by ccacUsConfigExclusivePercent."
        ::= { ccacUsEntry 6 }

ccacUsCountersDscTime OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
            which all counters suffered a discontinuity.

            If no such discontinuities have occurred since the
            last re-initialization of the local management subsystem,
            then this object contains the creation time of the 
            corresponding counters."
        ::= { ccacUsEntry 7 }
      
-- Monitor of downstream bandwidth utilization (DEPRECATED)

ccacDsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacDsEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "This table is deprecated by ccacDsRevTable.

            This table contains the statistical data relating to
            downstream bandwidth utilization for every monitored
            downstream. 

            There will be an entry in this table for each traffic
            type per downstream being monitored."
        ::= { ccacStatObjects 3 }

ccacDsEntry OBJECT-TYPE
        SYNTAX      CcacDsEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "Each entry contains statistical data on the
            bandwidth utilization, per traffic type and downstream."
        INDEX { ifIndex,
                ccacDsTrafficType }
        ::= { ccacDsTable 1 }

CcacDsEntry ::= SEQUENCE {
            ccacDsTrafficType              CcacDSTrafficMonitoredType,
            ccacDsUtilization              Percent,
            ccacDsMinorCrosses             Counter32,
            ccacDsMajorCrosses             Counter32,
            ccacDsExclusiveCrosses         Counter32,
            ccacDsCountersDscTime          TimeStamp
        }

ccacDsTrafficType OBJECT-TYPE
        SYNTAX      CcacDSTrafficMonitoredType
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
            "This object indicates the traffic type
            used in classifying a downstream."
        ::= { ccacDsEntry 1 }

ccacDsUtilization OBJECT-TYPE
        SYNTAX      Percent
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "This object indicates the downstream bandwidth
            utilization for the traffic type on the downstream."
        ::= { ccacDsEntry 2 }

ccacDsMinorCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "This object indicates the number of times
            the minor downstream bandwidth threshold,
            ccacDsConfigMinorThreshold, is crossed."
        ::= { ccacDsEntry 3 }

ccacDsMajorCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "This object indicates the number of times
            the major downstream bandwidth threshold,
            ccacDsConfigMajorThreshold, is crossed."
        ::= { ccacDsEntry 4 }

ccacDsExclusiveCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "This object indicates the number of times
            the exclusive percentage, ccacDsConfigExclusivePercent,
            is crossed."
        ::= { ccacDsEntry 5 }
        
ccacDsCountersDscTime OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
            which all counters suffered a discontinuity.

            If no such discontinuities have occurred since the
            last re-initialization of the local management subsystem,
            then this object contains the creation time of the 
            corresponding counters."
        ::= { ccacDsEntry 6 }

-- Monitor of upstream channel bandwidth utilization

ccacUsRevTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacUsRevEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains statistical data related to 
            upstream channel bandwidth utilization for every 
            monitored upstream channel and application bucket.

            For every upstream channel that is being monitored,
            if an application bucket has been configured in
            ccacUsConfigRevTable for that upstream channel, there
            will be one entry in this table."
        ::= { ccacStatObjects 4 }

ccacUsRevEntry OBJECT-TYPE
        SYNTAX      CcacUsRevEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each entry contains statistical data on the
            bandwidth utilization of a upstream channel with a
            specific application bucket number."
        INDEX { ifIndex,
                ccacUsRevAppBucketIndex }
        ::= { ccacUsRevTable 1 }

CcacUsRevEntry ::= SEQUENCE {
            ccacUsRevAppBucketIndex           CcacApplicationBucketType,
            ccacUsRevUtilization              TenthPercent,
            ccacUsRevMinorCrosses             Counter32,
            ccacUsRevMajorCrosses             Counter32,
            ccacUsRevExclusiveCrosses         Counter32,
            ccacUsRevCountersDscTime          TimeStamp
        }

ccacUsRevAppBucketIndex OBJECT-TYPE
        SYNTAX      CcacApplicationBucketType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object identifies the application bucket number
            that is being monitored."
        ::= { ccacUsRevEntry 1 }

ccacUsRevUtilization OBJECT-TYPE
        SYNTAX      TenthPercent
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the upstream channel bandwidth
            utilized by the scheduling service."
        ::= { ccacUsRevEntry 2 }

ccacUsRevMinorCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of times upstream
            channel bandwidth utilization has crossed minor threshold
            specified by ccacUsConfigRevMinorThreshold."
        ::= { ccacUsRevEntry 3 }

ccacUsRevMajorCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of times upstream
            channel bandwidth utilization has crossed major threshold
            specified by ccacUsConfigRevMajorThreshold."
        ::= { ccacUsRevEntry 4 }

ccacUsRevExclusiveCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of times upstream
            channel bandwidth utilization has crossed exclusive 
            percentage specified by ccacUsConfigRevExclusivePercent."
        ::= { ccacUsRevEntry 5 }

ccacUsRevCountersDscTime OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
            which all counters suffered a discontinuity.

            If no such discontinuities have occurred since the
            last re-initialization of the local management subsystem,
            then this object contains the creation time of the 
            corresponding counters."
        ::= { ccacUsRevEntry 6 }
      
-- Monitor of downstream bandwidth utilization

ccacDsRevTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacDsRevEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains the statistical data related to
            downstream bandwidth utilization for every monitored
            downstream channel and application bucket. 

            For every downstream channel that is being monitored,
            if an application bucket has been configured in
            ccacDsConfigRevTable for that downstream channel,
            there will be one entry in this table."
        ::= { ccacStatObjects 5 }

ccacDsRevEntry OBJECT-TYPE
        SYNTAX      CcacDsRevEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each entry contains statistical data on the
            bandwidth utilization of a downstream channel with a
            specific application bucket number."
        INDEX { ifIndex,
                ccacDsRevAppBucketIndex }
        ::= { ccacDsRevTable 1 }

CcacDsRevEntry ::= SEQUENCE {
            ccacDsRevAppBucketIndex           CcacApplicationBucketType,
            ccacDsRevUtilization              TenthPercent,
            ccacDsRevMinorCrosses             Counter32,
            ccacDsRevMajorCrosses             Counter32,
            ccacDsRevExclusiveCrosses         Counter32,
            ccacDsRevCountersDscTime          TimeStamp
        }

ccacDsRevAppBucketIndex OBJECT-TYPE
        SYNTAX      CcacApplicationBucketType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object identifies the application bucket number
            that is being monitored."
        ::= { ccacDsRevEntry 1 }

ccacDsRevUtilization OBJECT-TYPE
        SYNTAX      TenthPercent
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the downstream bandwidth
            utilization."
        ::= { ccacDsRevEntry 2 }

ccacDsRevMinorCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of times
            the minor downstream bandwidth threshold,
            ccacDsConfigRevMinorThreshold, is crossed."
        ::= { ccacDsRevEntry 3 }

ccacDsRevMajorCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of times
            the major downstream bandwidth threshold,
            ccacDsConfigRevMajorThreshold, is crossed."
        ::= { ccacDsRevEntry 4 }

ccacDsRevExclusiveCrosses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of times the
            exclusive percentage, ccacDsConfigRevExclusivePercent,
            is crossed."
        ::= { ccacDsRevEntry 5 }
        
ccacDsRevCountersDscTime OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
            which all counters suffered a discontinuity.

            If no such discontinuities have occurred since the
            last re-initialization of the local management subsystem,
            then this object contains the creation time of the 
            corresponding counters."
        ::= { ccacDsRevEntry 6 }

-- Cisco Cable Admission Control Event History

ccacEventHistTableSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object specifies the number of entries that the
            ccacEventHistTable can contain.  When the capacity of the
            ccacEventHistTable has reached the value specified by
            this object, then the agent deletes the oldest entity in
            order to accommodate the new entry. A value of '0'
            prevents any history from being retained."
        DEFVAL { 10 }
    ::= { ccacEventHistory 1 }

ccacEventHistLastIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object specifies the value of the ccacEventHistIndex
            object corresponding to the last entry added to the table
            by the agent.

            If the management client uses the notifications defined by
            this module, then it can poll this object to determine
            whether it has missed a notification sent by the agent."
        ::= { ccacEventHistory 2 }

ccacEventHistoryTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CcacEventHistoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains a history of the monitored
            event in which the configured threshold is crossed.

            The number of most recent notifications will be
            saved based on the table size."
        ::= { ccacEventHistory 3 } 

ccacEventHistoryEntry OBJECT-TYPE
        SYNTAX        CcacEventHistoryEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
            "The data corresponding to a monitored
            event in which the configured threshold
            is crossed."
        INDEX { ccacEventHistoryIndex }
        ::= { ccacEventHistoryTable 1 }

CcacEventHistoryEntry ::= SEQUENCE {
        ccacEventHistoryIndex          Unsigned32,
        ccacEventThreshObjectInstance  VariablePointer,
        ccacEventTypeChecked           CcacMonitoredEvent,
        ccacEventResourceUtilization   Unsigned32, 
        ccacEventThreshCrosses         Unsigned32,
        ccacEventTimeStamp             TimeStamp
        }

ccacEventHistoryIndex   OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An integer value uniquely identifying the entry in the
            table.

            The value of this object starts at '1' and monotonically
            increases for each condition transition
            monitored by the agent.  If the value of this object is
            '4294967295', the agent will reset it to '1' upon 
            monitoring the next condition transition."
        ::= { ccacEventHistoryEntry 1 }

ccacEventThreshObjectInstance  OBJECT-TYPE
        SYNTAX             VariablePointer
        MAX-ACCESS         read-only
        STATUS             current
        DESCRIPTION
             "The object specifies the instance identifier of a
             threshold object which was crossed."
        ::= { ccacEventHistoryEntry 2 }

ccacEventTypeChecked  OBJECT-TYPE
        SYNTAX        CcacMonitoredEvent
        MAX-ACCESS    read-only 
        STATUS        current
        DESCRIPTION
            "The object specifies the monitored event type when the
            threshold was crossed."
        ::= { ccacEventHistoryEntry 3 }

ccacEventResourceUtilization  OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only 
        STATUS          current
        DESCRIPTION
            "This object specifies the resource utilization when the
            threshold was crossed."
        ::= { ccacEventHistoryEntry 4 }

ccacEventThreshCrosses  OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only 
        STATUS          current
        DESCRIPTION
            "This object specifies the number of times that the
            threshold was crossed."
        ::= { ccacEventHistoryEntry 5 }

ccacEventTimeStamp   OBJECT-TYPE
        SYNTAX       TimeStamp
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "This object specifies the value of the sysUpTime object
            at the time the notification was generated."
        ::= { ccacEventHistoryEntry 6 }

-- Cisco Cable Admission Control MIB Notifications

ccacNotification NOTIFICATION-TYPE
        OBJECTS    { ccacEventThreshObjectInstance,
                     ccacEventTypeChecked,
                     ccacEventResourceUtilization,
                     ccacEventThreshCrosses
                   }
        STATUS  current
        DESCRIPTION
            "This notification is sent when the 
            monitoring threshold value is crossed."
        ::= { ciscoCableAdmCtrlMIBNotifs 1 }

-- The Cisco Cable Admission Control MIB Conformance Statements

-- Conformance statement

ciscoCableAdmCtrlCompliances OBJECT IDENTIFIER
    ::= { ciscoCableAdmCtrlMIBConform 1 }

ciscoCableAdmCtrlMIBGroups OBJECT IDENTIFIER
    ::= { ciscoCableAdmCtrlMIBConform 2 }

ciscoCableAdmCtrlCompliance MODULE-COMPLIANCE
        STATUS deprecated
        DESCRIPTION
            "The compliance statement for entities which implement the
            Cisco Cable Admission Control MIB. This statement is deprecated
            by ciscoCableAdmCtrlComplianceRev."
        MODULE  -- this module
                MANDATORY-GROUPS {
                    ciscoCableAdmCtrlConfigGroup,
                    ciscoCableAdmCtrlStatGroup,
                    ciscoCableAdmCtrlEventHistGroup,
                    ciscoCableAdmCtrlNotifGroup
                }

                OBJECT      ccacSysRscConfigStatus
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacSysRscConfigMinorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacSysRscConfigMajorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access is not required."

                OBJECT      ccacSysRscConfigCritThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigStatus
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigMinorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigMajorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigExclusivePercent
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigNonExclusivePercent
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigStatus
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigMinorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigMajorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigExclusivePercent
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigNonExclusivePercent
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

        ::= { ciscoCableAdmCtrlCompliances 1 }

ciscoCableAdmCtrlComplianceRev MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "The compliance statement for entities which implement the
            Cisco Cable Admission Control MIB. This compliance module
            deprecates ciscoCableAdmCtrlCompliance."
        MODULE  -- this module
                MANDATORY-GROUPS {
                    ciscoCableAdmCtrlConfigGroupRev1,
                    ciscoCableAdmCtrlStatGroupRev1,
                    ciscoCableAdmCtrlEventHistGroup,
                    ciscoCableAdmCtrlNotifGroup
                }

                OBJECT      ccacSysRscConfigStatus
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacSysRscConfigMinorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacSysRscConfigMajorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access is not required."

                OBJECT      ccacSysRscConfigCritThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigRevAppBucketName
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigRevStatus
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigRevMinorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigRevMajorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigRevExclusivePercent
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigRevNonExclusivePercent
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacUsConfigRevStorageType
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigRevStatus
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigRevMinorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigRevMajorThreshold
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigRevExclusivePercent
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigRevNonExclusivePercent
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigRevAppBucketName
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

                OBJECT      ccacDsConfigRevStorageType
                MIN-ACCESS  read-only
                DESCRIPTION
                    "Write and create access are not required."

        ::= { ciscoCableAdmCtrlCompliances 2 }

-- Units of Conformance

ciscoCableAdmCtrlConfigGroup OBJECT-GROUP
        OBJECTS {
            ccacNotifyEnable,
            ccacEventMonitoring,
            ccacSysRscConfigStatus,
            ccacSysRscConfigMinorThreshold,
            ccacSysRscConfigMajorThreshold,
            ccacSysRscConfigCritThreshold,
            ccacUsConfigStatus,
            ccacUsConfigMinorThreshold,
            ccacUsConfigMajorThreshold,
            ccacUsConfigExclusivePercent,
            ccacUsConfigNonExclusivePercent,
            ccacDsConfigStatus,
            ccacDsConfigMinorThreshold,
            ccacDsConfigMajorThreshold,
            ccacDsConfigExclusivePercent,
            ccacDsConfigNonExclusivePercent
         }
        STATUS    deprecated
        DESCRIPTION
            "A collection of objects providing the
            event monitoring and notification configuration.
            This group is deprecated by ciscoCableAdmCtrlConfigGroupRev1."
        ::= { ciscoCableAdmCtrlMIBGroups 1 }

ciscoCableAdmCtrlStatGroup OBJECT-GROUP
        OBJECTS {
            ccacSysRscUtilization,
            ccacSysRscMinorCrosses,
            ccacSysRscMajorCrosses,
            ccacSysRscCountersDscTime,
            ccacSysRscCriticalCrosses,
            ccacUsUtilization,
            ccacUsMinorCrosses,
            ccacUsMajorCrosses,
            ccacUsExclusiveCrosses,
            ccacUsCountersDscTime,
            ccacDsUtilization,
            ccacDsMinorCrosses,
            ccacDsMajorCrosses,
            ccacDsExclusiveCrosses,
            ccacDsCountersDscTime
        }
        STATUS    deprecated
        DESCRIPTION
            "A collection of objects providing admission control
            data based on resources. This group is deprecated by
            ciscoCableAdmCtrlStatGroupRev1."
        ::= { ciscoCableAdmCtrlMIBGroups 2 }

ciscoCableAdmCtrlEventHistGroup OBJECT-GROUP
        OBJECTS {
            ccacEventHistTableSize,
            ccacEventHistLastIndex,
            ccacEventThreshObjectInstance,
            ccacEventTypeChecked,
            ccacEventResourceUtilization,
            ccacEventThreshCrosses,
            ccacEventTimeStamp
        }
        STATUS    current
        DESCRIPTION
            "A collection of objects defining event logging."
        ::= { ciscoCableAdmCtrlMIBGroups 3 }

ciscoCableAdmCtrlNotifGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
            ccacNotification
        }
        STATUS    current
        DESCRIPTION
            "Notification implemented in CMTS for managing and
            monitoring CMTS system resources, upstream channel
            bandwidth, downstream bandwidth."
        ::= { ciscoCableAdmCtrlMIBGroups 4 }

ciscoCableAdmCtrlConfigGroupRev1 OBJECT-GROUP
        OBJECTS {
            ccacNotifyEnable,
            ccacEventMonitoring,
            ccacSysRscConfigStatus,
            ccacSysRscConfigMinorThreshold,
            ccacSysRscConfigMajorThreshold,
            ccacSysRscConfigCritThreshold,
            ccacUsConfigRevAppBucketName,
            ccacUsConfigRevStatus,
            ccacUsConfigRevMinorThreshold,
            ccacUsConfigRevMajorThreshold,
            ccacUsConfigRevExclusivePercent,
            ccacUsConfigRevNonExclusivePercent,
            ccacUsConfigRevStorageType,
            ccacDsConfigRevStatus,
            ccacDsConfigRevMinorThreshold,
            ccacDsConfigRevMajorThreshold,
            ccacDsConfigRevExclusivePercent,
            ccacDsConfigRevNonExclusivePercent,
            ccacDsConfigRevAppBucketName,
            ccacDsConfigRevStorageType
         }
        STATUS    current
        DESCRIPTION
            "A collection of objects providing the
            event monitoring and notification configuration.
            This group deprecates ciscoCableAdmCtrlConfigGroup."
        ::= { ciscoCableAdmCtrlMIBGroups 5 }

ciscoCableAdmCtrlStatGroupRev1 OBJECT-GROUP
        OBJECTS {
            ccacSysRscUtilization,
            ccacSysRscMinorCrosses,
            ccacSysRscMajorCrosses,
            ccacSysRscCountersDscTime,
            ccacSysRscCriticalCrosses,
            ccacUsRevUtilization,
            ccacUsRevMinorCrosses,
            ccacUsRevMajorCrosses,
            ccacUsRevExclusiveCrosses,
            ccacUsRevCountersDscTime,
            ccacDsRevUtilization,
            ccacDsRevMinorCrosses,
            ccacDsRevMajorCrosses,
            ccacDsRevExclusiveCrosses,
            ccacDsRevCountersDscTime
        }
        STATUS    current
        DESCRIPTION
            "A collection of objects providing admission control
            data based on resources. This group deprecates
            ciscoCableAdmCtrlStatGroup."
        ::= { ciscoCableAdmCtrlMIBGroups 6 }

END
