-- MIB file created 08-Sep-2004 18:51:10, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-CAC-SYSTEM-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-CAC-SYSTEM-MIB.my"
-- Compile options "4 7 F H N W 03 06 0B 0G 0N 0T"

IMPORTS
    TimeInterval, TruthValue
            FROM SNMPv2-TC-v1
    ciscoMgmt
            FROM CISCO-SMI
    SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
    cmgwIndex, cmgwSignalProtocolIndex
            FROM CISCO-MEDIA-GATEWAY-MIB
    Counter
            FROM RFC1155-SMI
    OBJECT-TYPE
            FROM RFC-1212;

ccacSysMIB OBJECT IDENTIFIER ::= { ciscoMgmt 322 }
-- MODULE-IDENTITY
--  LastUpdated
--    200304240000Z
--  OrgName
--    Cisco Systems, Inc.
--  ContactInfo
--           Cisco Systems
--            Customer Service
--    
--    Postal: 170 W Tasman Drive
--            San Jose, CA  95134
--            USA
--    
--       Tel: +1 800 553-NETS
--    
--    
--    E-mail: cs-voice@cisco.com
--  Descr
--    This MIB module provides provisioning and 
--     monitoring Call Admission Control (CAC).  
--  RevDate
--    200304240000Z
--  RevDescr
--    Initial version of the MIB.

ccacSysObjects  OBJECT IDENTIFIER ::= { ccacSysMIB 1 }
ccacSysConfig   OBJECT IDENTIFIER ::= { ccacSysObjects 1 }
ccacSysResPolicy OBJECT IDENTIFIER ::= { ccacSysObjects 2 }
ccacSysStat     OBJECT IDENTIFIER ::= { ccacSysObjects 3 }
ccacSysConformance OBJECT IDENTIFIER ::= { ccacSysMIB 2 }
ccacSysCompliances OBJECT IDENTIFIER ::= { ccacSysConformance 1 }
ccacSysGroups   OBJECT IDENTIFIER ::= { ccacSysConformance 2 }

CcacResourceType ::= INTEGER {
        cpu5Sec(1),
        cpuAvg(2),
        ioMem(3),
        procMem(4),
        totMem(5),
        totCalls(6),
        staMem(7),
        dynMem(8),
        commBuf(9),
        msgQueue(10),
        dspQueue(11),
        svc(12),
        ds0(13),
        dspChannel(14),
        h248Mem(15)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    This textual convention defines the type of resources
--     which are involved in CAC (Call Admission Control) 
--     processing.
--    
--     cpu5Sec(1)  - The last 5 seconds utilization of the CPU 
--                   which is involved in the call processing.
--     cpuAvg(2)   - The average utilization of the CPU which is 
--                   used in the call processing.
--                   The average is computed in the following
--                   formula over the period configured in
--                   ccacSysRpInterval seconds.
--                   cpuAvg = exp(- cpu5Sec / ccacSysRpInterval) 
--                                   * (cpuAvg - last cpu5Sec)
--                                   + last cpu5Sec
--     ioMem(3)    - The I/O memory utilization used in the call
--                   processing in every ccacSysRpInterval seconds.
--     procMem(4)  - The processor memory utilization used in
--                   the call processing in every ccacSysRpInterval 
--                   seconds.
--     totMem(5)   - The total memory, (I/O memory + Processor 
--                   memory) utilization used in the call 
--                   processing in every ccacSysRpInterval seconds.
--     totCalls(6) - The total active call, based on the
--                   incoming call legs.
--     staMem(7)   - Static memory utilization used in the call 
--                   processing.
--     dynMem(8)   - Dynamic memory utilization used in the call 
--                   processing.
--     commBuf(9)  - The communication buffers between the 
--                   processes involved in intercards 
--                   communication for call processing. 
--     msgQueue(10)- The message queues between the processes used
--                   for call processing.
--     dspQueue(11)- DSP queues which are shared by all different 
--                   DSP channels used for call processing.
--     svc(12)     - SVCs used in call processing.
--     ds0(13)     - DS0 channels used in call processing.
--     dspChannel(14) - DSP channel used in call processing.
--     h248Mem(15) - H248 memory pools used in call processing.
--    
--     Each CAC module can choose the suitable resources for its CAC
--     processing. It can select one or more than one resource types 
--     to monitor. It is not required to support all the resource 
--     types listed in CcacResourceType.
--    
--     Some resource types can be monitored for the whole system,
--     some can be monitored per media gateway, some can be 
--     monitored per protocol, and some can be monitored per 
--     interface. It depends on the system implementation. 
--     For those resource types are applied to per media gateway 
--     should have their entries created in GatewayResTable 
--     automatically. For those resource types are applied to 
--     per protocol should have their entries created in 
--     ccacSysProtocolResTable automatically. 
--     For those resource types are applied to per interface 
--     should have their entries created automatically in 
--     ccacSysInterfaceResTable. 

ccacSysConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CcacSysConfigEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table defines the general attributes of CAC 
         (Call Admission Control) processing."
    ::= { ccacSysConfig 1 }

ccacSysConfigEntry OBJECT-TYPE
    SYNTAX CcacSysConfigEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each entry contains the attributes applied to 
         CAC processing.
        
         One entry will be automatically created by the system
         when it supports CAC processing. "
    INDEX { cmgwIndex }
    ::= { ccacSysConfigTable 1 }

CcacSysConfigEntry ::= SEQUENCE {
    ccacSysCacEnable TruthValue,
    ccacSysNotifyEnable TruthValue,
    ccacSysTreatment INTEGER,
    ccacSysRejectCode INTEGER,
    ccacSysIsdnRejectCode INTEGER,
    ccacSysPlayMessageFile SnmpAdminString,
    ccacSysSlidingWindowSteps INTEGER,
    ccacSysSlidingWindowSize INTEGER,
    ccacSysCallSpike INTEGER
    }

ccacSysCacEnable OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object specifies CAC (Call Admission Control)
         function is enabled or not."
    DEFVAL { true }
    ::= { ccacSysConfigEntry 1 }

ccacSysNotifyEnable OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object controls generation of notifications
         in the MIB. 
        
         When this object is 'true(1)', generation of
         notifications in the MIB is enabled.  When this
         variable is 'false(2)', generation of notifications 
         in the MIB is disabled."
    DEFVAL { true }
    ::= { ccacSysConfigEntry 2 }

ccacSysTreatment OBJECT-TYPE
    SYNTAX INTEGER {
        hairpin(1),
        reject(2),
        playMessage(3)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The type of call treatment to apply on a new call when
         a call resource threshold is exceeded. This treatment 
         is applicable if the threshold action (ccacSysRpAction)
         includes 'treatment(3)' or 'busyoutAndTreatment(4)'.
        
         hairpin(1) - Connect the call back to the PSTN via 
                      another telephony port.
        
         reject(2)  - Reject the call, using cause code specified 
                      in ccacSysRejectCode
        
         playMessage(3) - Reject the call and send the specified 
                          audio message. The audio file used for 
                          'playMessage(3)' is specified in 
                          ccacSysPlayMessageFile.
        
        The 'playMessage(3)' option only applies to Voice over ATM,
        IP, or FrameRelay calls. For other types of calls, 
        a value of 'playMessage(3)' is equivalent to 'reject(2)'."
    DEFVAL { reject }
    ::= { ccacSysConfigEntry 3 }

ccacSysRejectCode OBJECT-TYPE
    SYNTAX INTEGER(1..100)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object specifies the numeric code to be returned to
         the call control agent (MGC) when a call is rejected as 
         a result of the call resource thresholds being exceeded.
        
         This code is used when the signalling protocol supports
         call rejection cause codes.  This does not apply to
         channel associated signalling (CAS)."
    REFERENCE
        "ITU-T Recommendation Q.931, 
         ISDN user-network interface layer 3 specification."
    DEFVAL { 44 }
    ::= { ccacSysConfigEntry 4 }

ccacSysIsdnRejectCode OBJECT-TYPE
    SYNTAX INTEGER(34..47)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object is used to reject the calls even when an
         interface is 'busyout' as the action of call 
         treatment. "
    REFERENCE
        "ITU-T Recommendation Q.931, 
         ISDN user-network interface layer 3 specification."
    ::= { ccacSysConfigEntry 5 }

ccacSysPlayMessageFile OBJECT-TYPE
    SYNTAX SnmpAdminString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The name of the audio file to be played for call
         rejections if the value of ccacSysTreatment is
         'playMessage(3)'. 
        
         The format of the filename is system specific.
        
         If no file is configured, this object contains a zero
         length string."
    ::= { ccacSysConfigEntry 6 }

ccacSysSlidingWindowSteps OBJECT-TYPE
    SYNTAX INTEGER(3..10)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object defines the number of steps used for a
         sliding window of ccacSysCallSpike. "
    DEFVAL { 5 }
    ::= { ccacSysConfigEntry 7 }

ccacSysSlidingWindowSize OBJECT-TYPE
    SYNTAX INTEGER(100..2000)
--  Units
--    millisecond
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object defines the time length for each step in a
         sliding window of ccacSysCallSpike.  "
    DEFVAL { 200 }
    ::= { ccacSysConfigEntry 8 }

ccacSysCallSpike OBJECT-TYPE
    SYNTAX INTEGER(0..2147483647)
--  Units
--    calls
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object is used to define a threshold for
         incoming call spike.
        
         The number of incoming calls is counted within a sliding
         window which is broken into ccacSysSlidingWindowSteps. 
         Each step has an equally time interval defined in 
         ccacSysSlidingWindowSize.
        
         The sliding window size can be calculated from
         ccacSysSlidingWindowSteps and ccacSysSlidingWindowSize 
         two objects.
        
         The 'sliding window' = ccacSysSlidingWindowSteps *
                                ccacSysSlidingWindowSize
        
         For example, if ccacSysSlidingWindowSteps is 5  AND
         ccacSysSlidingWindowSize is 200 (ms), then the 
         'sliding window' will be 1 second. 
        
         ccacSysCallSpike sets the maximum number of incoming
         call in a sliding window.
        
         Set this object to value '0' will disable call spike 
         threshold and will reset the value of 
         ccacSysSlidingWindowSteps and ccacSysSlidingWindowSize 
         to default value.
         The value of this object is '0', it indicates the 
         call spike threshold is disabled."
    DEFVAL { 0 }
    ::= { ccacSysConfigEntry 9 }

ccacSysGatewayResTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CcacSysGatewayResEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table is a mapping table for the CAC policy with
         the CAC resources monitored in a media gateway. "
    ::= { ccacSysResPolicy 1 }

ccacSysGatewayResEntry OBJECT-TYPE
    SYNTAX CcacSysGatewayResEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each entry represents for the resource type which
         will be monitored for CAC processing per media gateway.
        
         Each entry will be automatically created by the system
         depending on the availability of the combination of 
         CAC resources and its associated policies."
    INDEX { cmgwIndex, ccacSysGwResIndex }
    ::= { ccacSysGatewayResTable 1 }

CcacSysGatewayResEntry ::= SEQUENCE {
    ccacSysGwResIndex INTEGER,
    ccacSysGwResType CcacResourceType,
    ccacSysGwResPolicyIndex INTEGER
    }

ccacSysGwResIndex OBJECT-TYPE
    SYNTAX INTEGER(1..50)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object uniquely identifies the CAC resource monitored 
         in the gateway. "
    ::= { ccacSysGatewayResEntry 1 }

ccacSysGwResType OBJECT-TYPE
    SYNTAX CcacResourceType
--    Rsyntax INTEGER {
--        cpu5Sec(1),
--        cpuAvg(2),
--        ioMem(3),
--        procMem(4),
--        totMem(5),
--        totCalls(6),
--        staMem(7),
--        dynMem(8),
--        commBuf(9),
--        msgQueue(10),
--        dspQueue(11),
--        svc(12),
--        ds0(13),
--        dspChannel(14),
--        h248Mem(15)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The resource type for CAC monitor per media gateway.
        
         The value is assigned by the system automatically
         when the entry is created. "
    ::= { ccacSysGatewayResEntry 2 }

ccacSysGwResPolicyIndex OBJECT-TYPE
    SYNTAX INTEGER(1..1000)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object is the index (value of ccacSysRpIndex) to
         ccacSysResPolicyTable which defines the policies, 
         such as high, medium, low threshold, and action 
         function for CAC. "
    ::= { ccacSysGatewayResEntry 3 }

ccacSysProtocolResTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CcacSysProtocolResEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table is a mapping table for the CAC policy with
         the CAC resources monitored per protocol supported in
         a media gateway. "
    ::= { ccacSysResPolicy 2 }

ccacSysProtocolResEntry OBJECT-TYPE
    SYNTAX CcacSysProtocolResEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each entry represents for the resource type which
         will be monitored for CAC processing per protocol.
        
         Each entry will be automatically created by the system
         depending on the CAC resources monitored per protocol.
        
         Each system can choose to support the resource types 
         which are required per protocol. "
    INDEX { cmgwIndex, cmgwSignalProtocolIndex, ccacSysProResIndex }
    ::= { ccacSysProtocolResTable 1 }

CcacSysProtocolResEntry ::= SEQUENCE {
    ccacSysProResIndex INTEGER,
    ccacSysProResType CcacResourceType,
    ccacSysProResPolicyIndex INTEGER
    }

ccacSysProResIndex OBJECT-TYPE
    SYNTAX INTEGER(1..50)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object uniquely identifies the CAC resource monitored 
         in the protocol. "
    ::= { ccacSysProtocolResEntry 1 }

ccacSysProResType OBJECT-TYPE
    SYNTAX CcacResourceType
--    Rsyntax INTEGER {
--        cpu5Sec(1),
--        cpuAvg(2),
--        ioMem(3),
--        procMem(4),
--        totMem(5),
--        totCalls(6),
--        staMem(7),
--        dynMem(8),
--        commBuf(9),
--        msgQueue(10),
--        dspQueue(11),
--        svc(12),
--        ds0(13),
--        dspChannel(14),
--        h248Mem(15)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The resource type for CAC monitor per protocol.
        
         The value is assigned by the system automatically
         when the entry is created. "
    ::= { ccacSysProtocolResEntry 2 }

ccacSysProResPolicyIndex OBJECT-TYPE
    SYNTAX INTEGER(1..1000)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object is the index (value of ccacSysRpIndex) to
         ccacSysResPolicyTable which defines the policies, 
         such as high, medium, low threshold, and action 
         function for CAC.  "
    ::= { ccacSysProtocolResEntry 3 }

ccacSysResPolicyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CcacSysResPolicyEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table defines the thresholds/policies
         configuration for a CAC resource involved in CAC 
         processing."
    ::= { ccacSysResPolicy 3 }

ccacSysResPolicyEntry OBJECT-TYPE
    SYNTAX CcacSysResPolicyEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each entry in the table defines High, Medium, Low 
         threshold, and an action for CAC resource. "
    INDEX { cmgwIndex, ccacSysRpIndex }
    ::= { ccacSysResPolicyTable 1 }

CcacSysResPolicyEntry ::= SEQUENCE {
    ccacSysRpIndex INTEGER,
    ccacSysRpResType CcacResourceType,
    ccacSysRpUserTunable TruthValue,
    ccacSysRpAvgUtilization TruthValue,
    ccacSysRpPercentOrAbsNum INTEGER,
    ccacSysRpHighThreshold INTEGER,
    ccacSysRpMedThreshold INTEGER,
    ccacSysRpLowThreshold INTEGER,
    ccacSysRpInterval INTEGER,
    ccacSysRpAction INTEGER,
    ccacSysRpCurReading INTEGER,
    ccacSysRpAvailable TruthValue
    }

ccacSysRpIndex OBJECT-TYPE
    SYNTAX INTEGER(1..1000)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object uniquely identifies the entry in the table."
    ::= { ccacSysResPolicyEntry 1 }

ccacSysRpResType OBJECT-TYPE
    SYNTAX CcacResourceType
--    Rsyntax INTEGER {
--        cpu5Sec(1),
--        cpuAvg(2),
--        ioMem(3),
--        procMem(4),
--        totMem(5),
--        totCalls(6),
--        staMem(7),
--        dynMem(8),
--        commBuf(9),
--        msgQueue(10),
--        dspQueue(11),
--        svc(12),
--        ds0(13),
--        dspChannel(14),
--        h248Mem(15)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The type of CAC resource used in CAC processing.
        
         The value is assigned by the system automatically
         when the entry is created."
    ::= { ccacSysResPolicyEntry 2 }

ccacSysRpUserTunable OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the CAC resource is user
         tunable (can modify its thresholds) or not 
         (Some CAC resources are too complicated for
         the user to tune, so their thresholds are predefined
         by the system).
        
         The value is assigned by the system automatically
         according to its resource type when the entry is 
         created.
        
         If this object is set to 'false', then the following
         objects can't be modified by user.
            ccacSysRpHighThreshold,
            ccacSysRpMedThreshold,
            ccacSysRpLowThreshold."
    ::= { ccacSysResPolicyEntry 3 }

ccacSysRpAvgUtilization OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the CAC resource is based on 
         averaged utilization which is calculated by the 
         average utilization of interval defined in 
         ccacSysRpInterval.
        
         The value is assigned by the system automatically
         according to its resource type when the entry is 
         created. 
        
         If this object is set to 'false', then the object,
         ccacSysRpInterval can't be modified by user. "
    ::= { ccacSysResPolicyEntry 4 }

ccacSysRpPercentOrAbsNum OBJECT-TYPE
    SYNTAX INTEGER {
        unitPercent(1),
        unitAbsoluteNum(2)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the unit of the utilization 
         and the unit of the thresholds of this CAC resource 
         is 'percent' or 'absolute number'.
        
         This object specifies the unit ('percent' or 'absolute 
         number' of the following objects:
             ccacSysRpHighThreshold,
             ccacSysRpMedThreshold,
             ccacSysRpLowThreshold,
             ccacSysRpCurReading
        
         If it is set to unitPercent(1), the unit of the objects
         listed above is in range of 0 to 100 'percent'.
        
         If it is set to unitAbsoluteNum(2), the unit of 
         the objects listed above is in range of 0 to 100000 
         'number'.
        
         The value of this object is set by the system according
         to its resource type. For example, if ccacSysRpResType
         is cpu5Sec(1), cpuAvg(2), ioMem(3) or procMem(4), 
         this object will be set to unitPercent(1). 
         If ccacSysRpResType is totCalls(6), then this object 
         will be unitAbsoluteNum(2), the unit is the number of 
         calls."
    ::= { ccacSysResPolicyEntry 5 }

ccacSysRpHighThreshold OBJECT-TYPE
    SYNTAX INTEGER(0..100000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The maximum utilization in percent or in absolute
         number allowed for this CAC resource. 
         When the utilization of the resource reaches this value 
         of the object, the action specified in ccacSysRpAction 
         will be taken and the resource will be marked as 
         unavailable and a trap of threshold exceed will be 
         triggered if ccacSysNotifyEnable is 'true'.
        
         If ccacSysRpPercentOrAbsNum is unitPercent(1), the range
         of this object is from 0 to 100 percent. If it is 
         unitAbsoluteNum(2), the range of this object is from 
         0 to 100000.
        
         The value of this object has to be greater than or equal
         to the value of ccacSysRpMedThreshold, and greater than
         the value of ccacSysRpLowThreshold.
        
         A SNMP SET to this object will be ignored if
         ccacSysRpUserTunable is set to 'false'."
    ::= { ccacSysResPolicyEntry 6 }

ccacSysRpMedThreshold OBJECT-TYPE
    SYNTAX INTEGER(0..100000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The utilization in percent or in absolute number of 
         the resource reaches this value of the object, a trap of 
         threshold warning will be triggered. 
        
         If the value of this object is the same as the value of
         ccacSysRpHighThreshold, it means not to monitor medium 
         utilization of the resource.
        
         If ccacSysRpPercentOrAbsNum is unitPercent(1), the range
         of this object is from 0 to 100 percent. If it is 
         unitAbsoluteNum(2), the range of this object is from 
         0 to 100000.
        
         The value of this object has to be less than or equal to
         the value of ccacSysRpHighThreshold, but greater than 
         the value of ccacSysRpLowThreshold.
        
         A SNMP SET to this object will be ignored if
         ccacSysRpUserTunable is set to 'false'."
    ::= { ccacSysResPolicyEntry 7 }

ccacSysRpLowThreshold OBJECT-TYPE
    SYNTAX INTEGER(0..100000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The utilization in percent or in absolute number of 
         a currently unavailable resource falls below this 
         value of the object, the action will be removed, 
         the resource will be marked as available and a trap 
         of threshold clear will be triggered if 
         ccacSysNotifyEnable is set to 'true'.
        
         If ccacSysRpPercentOrAbsNum is unitPercent(1), the range
         of this object is from 0 to 100 percent. If it is 
         unitAbsoluteNum(2), the range of this object is from 
         0 to 100000.
        
         The value of this object has to be less than the value
         of ccacSysRpMedThreshold.
        
         A SNMP SET to this object will be ignored if
         ccacSysRpUserTunable is set to 'false'."
    ::= { ccacSysResPolicyEntry 8 }

ccacSysRpInterval OBJECT-TYPE
    SYNTAX INTEGER(10..300)
--  Units
--    seconds
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object sets the time interval over which the
         average utilization is computed for comparison with
         the ccacSysRpHighThreshold, ccacSysRpMedThreshold
         and ccacSysRpLowThreshold of the entry which 
         ccacSysRpResType is cpuAvg(2), ioMem(3), procMem(4) or
         totMem(5). 
        
         This object will be ignored if its ccacSysRpAvgUtilization
         is set to 'false'. 
        
         The formula is used for computation is defined in TC
         CcacResourceType.
        
         The recommended value for this object is 60 seconds. "
    DEFVAL { 60 }
    ::= { ccacSysResPolicyEntry 9 }

ccacSysRpAction OBJECT-TYPE
    SYNTAX INTEGER {
        none(1),
        busyout(2),
        treatment(3),
        busyoutAndTreatment(4)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The action to be taken when ccacSysRpHighThreshold
         is exceeded.
         The action will be reversed when the resource 
         utilization falls below ccacSysRpLowThreshold.
        
         For instance, an entry with ccacSysRpHighThreshold 80, 
         ccacSysRpLowThreshold 70, and ccacSysRpAction busyout.
         The busyout will be taken when the resource utilization 
         exceeds 80 and a no busyout will be taken when the 
         resource utilization below 70.
        
         none(1) - No action is taken. 
        
         busyout(2) - Busyout the telephony ports after rejecting 
                      the current call
        
         treatment(3) - Apply the call treatment specified in
                        ccacSysTreatment to the current call
        
         busyoutAndTreatment(4) - Apply the specified treatment
                                  to the current call and busyout 
                                  the telephony ports"
    ::= { ccacSysResPolicyEntry 10 }

ccacSysRpCurReading OBJECT-TYPE
    SYNTAX INTEGER(0..100000)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The current utilization/number reading of the CAC resource 
         in percent or in absolute number.
        
         If ccacSysRpPercentOrAbsNum is unitPercent(1), the range
         of this object is from 0 to 100. If it is 
         unitAbsoluteNum(2), the range of this object is from 
         0 to 100000. "
    ::= { ccacSysResPolicyEntry 11 }

ccacSysRpAvailable OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The CAC resource is available or not. 
        
         A currently unavailable resource becomes available 
         if its utilization is below the ccacSysRpLowThreshold. 
        
         A currently available resource becomes unavailable if 
         its utilization is over the ccacSysRpHighThreshold. "
    ::= { ccacSysResPolicyEntry 12 }

ccacSysResStatTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CcacSysResStatEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table is for CAC resource threshold statistics."
    ::= { ccacSysStat 1 }

ccacSysResStatEntry OBJECT-TYPE
    SYNTAX CcacSysResStatEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each entry in the table contains CAC statistics 
         and duration for each resource corresponding entry
         in ccacSysResPolicyTable."
    INDEX { cmgwIndex, ccacSysRpIndex }
    ::= { ccacSysResStatTable 1 }

CcacSysResStatEntry ::= SEQUENCE {
    ccacSysRsState INTEGER,
    ccacSysRsDuration TimeInterval,
    ccacSysRsPrevDuration TimeInterval,
    ccacSysRsExceedCount Counter,
    ccacSysRsCallsWhenExceed Counter
    }

ccacSysRsState OBJECT-TYPE
    SYNTAX INTEGER {
        thresholdClear(1),
        thresholdExceed(2),
        thresholdWarn(3)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the current status of CAC resource.
        
         This object is 'thresholdExceed(2)' if the object
         ccacSysRpCurReading has exceeded the value of 
         ccacSysRpHighThreshold and not yet fallen below the 
         value of ccacSysRpLowThreshold in ccacSysResPolicyTable.
        
         It is 'thresholdWarn(3)' if the object ccacSysRpCurReading 
         has exceeded the value of ccacSysRpMedThreshold and not
         yet greater than the value of ccacSysRpHighThreshold in
         ccacSysResPolicyTable.
        
         It is 'thresholdClear(1)' if the object ccacSysRpCurReading
         has fallen below the value of ccacSysRpLowThreshold in 
         ccacSysResPolicyTable. "
    ::= { ccacSysResStatEntry 1 }

ccacSysRsDuration OBJECT-TYPE
    SYNTAX TimeInterval
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object provides the elapsed time the system has
         been in its current state as shown in ccacSysRsState."
    ::= { ccacSysResStatEntry 2 }

ccacSysRsPrevDuration OBJECT-TYPE
    SYNTAX TimeInterval
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object provides the elapsed time the system was
         in its previous state prior to the most recent transition
         of ccacSysRsState.
        
         This value is zero if the ccacSysRsState has not 
         changed state."
    ::= { ccacSysResStatEntry 3 }

ccacSysRsExceedCount OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object is the accumulated number of ccacSysRsState 
         state transitions to 'thresholdExceed(2)' were detected 
         since system startup."
    ::= { ccacSysResStatEntry 4 }

ccacSysRsCallsWhenExceed OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object is the number of times that the new calls 
         have arrived when the system was in a thresholdExceed(2) 
         state.
        
         The calls may or may not have been rejected, depending on
         the value of the ccacSysRpAction. "
    ::= { ccacSysResStatEntry 5 }

ccacSysStatTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CcacSysStatEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table defines the CAC statistics in CAC 
         processing."
    ::= { ccacSysStat 2 }

ccacSysStatEntry OBJECT-TYPE
    SYNTAX CcacSysStatEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each entry in the table contains CAC statistics 
         applied to CAC processing.
        
         One entry will be automatically created by the system
         when it supports CAC processing."
    INDEX { cmgwIndex }
-- Augments ccacSysConfigEntry
    ::= { ccacSysStatTable 1 }

CcacSysStatEntry ::= SEQUENCE {
    ccacSysCallRejections Counter,
    ccacSysCallsInSWindow Counter
    }

ccacSysCallRejections OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Number of calls which have been rejected due to any of
         the CAC resource thresholds being exceeded since
         last system re-initialization.
        
         Multiple CAC resource thresholds may be exceeded per call, 
         thus this object is not just a sum of the individual 
         threshold counters (ccacSysRsCallsWhenExceed)."
    ::= { ccacSysStatEntry 1 }

ccacSysCallsInSWindow OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object counts the total incoming calls within a
         given sliding window.
        
         This counter will be reset when the configuration (objects
         ccacSysSlidingWindowSteps and ccacSysSlidingWindowSize) of 
         the sliding window is changed."
    ::= { ccacSysStatEntry 2 }

ccacSysConfigGroup OBJECT IDENTIFIER ::= { ccacSysGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Objects for providing CAC provisioning for 
--     CAC processing.
--  objects
--    ccacSysCacEnable, ccacSysNotifyEnable

ccacSysDialCtrlConfigGroup OBJECT IDENTIFIER ::= { ccacSysGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Objects for providing CAC provisioning specific to 
--     dial control. 
--  objects
--    ccacSysTreatment, ccacSysRejectCode, ccacSysIsdnRejectCode, 
--    ccacSysPlayMessageFile, ccacSysSlidingWindowSteps, 
--    ccacSysSlidingWindowSize, ccacSysCallSpike

ccacSysResPolicyGroup OBJECT IDENTIFIER ::= { ccacSysGroups 3 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Objects for providing CAC resource provisioning.
--  objects
--    ccacSysRpResType, ccacSysRpUserTunable, 
--    ccacSysRpAvgUtilization, ccacSysRpPercentOrAbsNum, 
--    ccacSysRpHighThreshold, ccacSysRpMedThreshold, 
--    ccacSysRpLowThreshold, ccacSysRpInterval, ccacSysRpAction, 
--    ccacSysRpCurReading, ccacSysRpAvailable

ccacSysStatGroup OBJECT IDENTIFIER ::= { ccacSysGroups 4 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Objects for providing CAC resource statistics. 
--  objects
--    ccacSysRsState, ccacSysRsDuration, ccacSysRsPrevDuration, 
--    ccacSysRsExceedCount, ccacSysRsCallsWhenExceed, 
--    ccacSysCallRejections, ccacSysCallsInSWindow

ccacSysGatewayResGroup OBJECT IDENTIFIER ::= { ccacSysGroups 5 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects providing media gateway 
--     related CAC resource provisioning feature.
--  objects
--    ccacSysGwResType, ccacSysGwResPolicyIndex

ccacSysProtocolResGroup OBJECT IDENTIFIER ::= { ccacSysGroups 6 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects providing media gateway 
--     control protocol related CAC resource provisioning 
--     feature.
--  objects
--    ccacSysProResType, ccacSysProResPolicyIndex

ccacSysCompliance OBJECT IDENTIFIER ::= { ccacSysCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The compliance statement for SNMP entities which
--     implement the ccacSysMIB
--  Module
--    >>current<<
--   MandGroup
--    ccacSysConfigGroup
--   MandGroup
--    ccacSysResPolicyGroup
--   OptGroup
--    ccacSysDialCtrlConfigGroup
--   OptGroup
--    ccacSysStatGroup
--   OptGroup
--    ccacSysGatewayResGroup
--   OptGroup
--    ccacSysProtocolResGroup


END

