-- *****************************************************************
-- CISCO-IPSLA-AUTOMEASURE-MIB.my:  IP SLA Auto Measure MIB
--   
-- January 2007, Katherine Yang
--   
-- Copyright (c) 2007 by cisco Systems, Inc.
-- All rights reserved.
--   
-- *****************************************************************

CISCO-IPSLA-AUTOMEASURE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Unsigned32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    StorageType,
    TruthValue,
    RowStatus
        FROM SNMPv2-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    InetAddress,
    InetAddressType,
    InetPortNumber
        FROM INET-ADDRESS-MIB
    IpSlaOperType,
    IpSlaReactVar
        FROM CISCO-IPSLA-TC-MIB
    ciscoMgmt
        FROM CISCO-SMI;


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

            Postal: 170 W Tasman Drive
            San Jose, CA 95134

            Tel: +1 800 553 NETS
            Email: cs-ipsla@cisco.com"
    DESCRIPTION
        "This module defines the MIB for IP SLA Automation. IP SLA
        Automation consists of the following:
        1. Use of grouping - Group is an aggregation of operations 
           sharing the same type, for example UDP jitter type, with 
           common characteristics like frequency, interval etc.  
           Groups are formed by policies dictated either per customer, 
           or by service level or any other requirements.  So, for 
           example, there could be separate groups for customers named 
           Customer A, Customer B etc, or service levels named 
           Gold-service, Silver-service etc.  A single group will contain 
           one and only one IP SLA operation definition or reference a 
           single template.
        2. Use of templates - It has been observed that operations can be 
           configured quickly if the variants such as IP address and 
           ports can be configured separately and then combined with a 
           template  consisting of invariants.  This allows for re-use of 
           the invariant template with various combinations of destination 
           addresses and ports, the benefits for which are multiplied when 
           considering groupings.
        3. Auto operations - With this feature the software will try to 
           automatically kickstart operations by making intelligent 
           assumptions.  For example, if no specific operation is referenced 
           by the group configuration then an ICMP jitter operation is 
           assumed by default."
    REVISION        "200706130000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 633 }


ciscoIpSlaAutoMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoIpSlaAutoMIB 0 }

ciscoIpSlaAutoMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoIpSlaAutoMIB 1 }


cipslaAutoGroupTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CipslaAutoGroupEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table that contains IP SLA auto measure group definitions."
    ::= { ciscoIpSlaAutoMIBObjects 1 }

cipslaAutoGroupEntry OBJECT-TYPE
    SYNTAX          CipslaAutoGroupEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry containing the configurations for a particular
        auto measure group."
    INDEX           { cipslaAutoGroupName } 
    ::= { cipslaAutoGroupTable 1 }

CipslaAutoGroupEntry ::= SEQUENCE {
        cipslaAutoGroupName             SnmpAdminString,
        cipslaAutoGroupDescription      SnmpAdminString,
        cipslaAutoGroupDestinationName  SnmpAdminString,
        cipslaAutoGroupADDestPort       InetPortNumber,
        cipslaAutoGroupOperTemplateName SnmpAdminString,
        cipslaAutoGroupSchedulerId      SnmpAdminString,
        cipslaAutoGroupQoSEnable        TruthValue,
        cipslaAutoGroupOperType         IpSlaOperType,
        cipslaAutoGroupDestIPADEnable   TruthValue,
        cipslaAutoGroupADMeasureRetry   Unsigned32,
        cipslaAutoGroupADDestIPAgeout   Unsigned32,
        cipslaAutoGroupStorageType      StorageType,
        cipslaAutoGroupRowStatus        RowStatus
}

cipslaAutoGroupName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (1..64))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A group name which is used by a management application
        to identify the group." 
    ::= { cipslaAutoGroupEntry 1 }

cipslaAutoGroupDescription OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..128))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This field is used to provide description for the group."
    DEFVAL          { "" } 
    ::= { cipslaAutoGroupEntry 2 }

cipslaAutoGroupDestinationName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..64))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object refers to the cipslaAutoGroupDestName
        in cipslaAutoGroupDestTable. If the name entered 
        is not present in cipslaAutoGroupDestTable, then when 
        group is scheduled, no ip sla operations will be created."
    DEFVAL          { "" } 
    ::= { cipslaAutoGroupEntry 3 }

cipslaAutoGroupADDestPort OBJECT-TYPE
    SYNTAX          InetPortNumber
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object represents the destination port number
        for auto discovery use."
    DEFVAL          { 0 } 
    ::= { cipslaAutoGroupEntry 4 }

cipslaAutoGroupOperTemplateName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..64))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "A string which is used by a management application to
        identify the template which is associated with the group.
        Depends on cipslaAutoGroupOperType, this object refers to
        cipslaIcmpEchoTmplName in cipslaIcmpEchoTmplTable, or
        cipslaUdpEchoTmplName in cipslaUdpEchoTmplTable, or
        cipslaTcpConnTmplName in cipslaTcpConnTmplTable, or
        cipslaIcmpJitterTmplName in cipslaIcmpJitterTmplTable, or
        ciscoIpSlaUdpJitterTmplName in ciscoIpSlaUdpJitterTmplTable." 
    ::= { cipslaAutoGroupEntry 5 }

cipslaAutoGroupSchedulerId OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..64))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object refers to the cipslaAutoGroupSchedId in
        cipslaAutoGroupSchedTable, and is used to schedule 
        this group."
    DEFVAL          { "" } 
    ::= { cipslaAutoGroupEntry 6 }

cipslaAutoGroupQoSEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "When this object is set to true, QoS is enabled for this
        group and this group is linked to policy map. The 
        restriction is that after QoS is enabled, it can not be 
        disabled for this group."
    DEFVAL          { false } 
    ::= { cipslaAutoGroupEntry 7 }

cipslaAutoGroupOperType OBJECT-TYPE
    SYNTAX          IpSlaOperType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the type of IP SLA operation.
        When operation type is not ICMP jitter, then 
        cipslaAutoGroupOperTemplateName must be specified." 
    ::= { cipslaAutoGroupEntry 8 }

cipslaAutoGroupDestIPADEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "When this object is set to true, destination IP address
        is populated through auto-discovery."
    DEFVAL          { false } 
    ::= { cipslaAutoGroupEntry 9 }

cipslaAutoGroupADMeasureRetry OBJECT-TYPE
    SYNTAX          Unsigned32 (1..65536 )
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies number of measurement retries to
        be attempted for the discovered end point after the 
        connection to the end point is broken. If there is no 
        re-registration message received, the end point will be 
        in inactive state.

        When the value of cipslaAutoGroupDestIPADEnable is 
        'false', the value of this object has no effect."
    DEFVAL          { 3 } 
    ::= { cipslaAutoGroupEntry 10 }

cipslaAutoGroupADDestIPAgeout OBJECT-TYPE
    SYNTAX          Unsigned32 (0..65536 )
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object represents the ageout time for the discovered
        end point.  If the end point becomes inactive for the period 
        of ageout time, the end point will be removed from the 
        discovered end point list.

        When the value of cipslaAutoGroupDestIPADEnable is 
        'false', the value of this object has no effect."
    DEFVAL          { 3600 } 
    ::= { cipslaAutoGroupEntry 11 }

cipslaAutoGroupStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The storage type of this conceptual row."
    DEFVAL          { nonVolatile } 
    ::= { cipslaAutoGroupEntry 12 }

cipslaAutoGroupRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The status of the conceptual group control row.

        When the status is active, the other writable objects
        may be modified unless the scheduler with name 
        specified by cipslaAutoGroupSchedulerId is scheduled." 
    ::= { cipslaAutoGroupEntry 13 }
 


cipslaAutoGroupDestTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CipslaAutoGroupDestEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table contains the list of destination IP
        addresses and ports associated to the auto measure
        group destination name."
    ::= { ciscoIpSlaAutoMIBObjects 2 }

cipslaAutoGroupDestEntry OBJECT-TYPE
    SYNTAX          CipslaAutoGroupDestEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry containing the destination IP addresses
        and port configurations associated to auto measure
        group destination name."
    INDEX           {
                        cipslaAutoGroupDestName,
                        cipslaAutoGroupDestIpAddrType,
                        cipslaAutoGroupDestIpAddr,
                        cipslaAutoGroupDestPort
                    } 
    ::= { cipslaAutoGroupDestTable 1 }

CipslaAutoGroupDestEntry ::= SEQUENCE {
        cipslaAutoGroupDestName        SnmpAdminString,
        cipslaAutoGroupDestIpAddrType  InetAddressType,
        cipslaAutoGroupDestIpAddr      InetAddress,
        cipslaAutoGroupDestPort        InetPortNumber,
        cipslaAutoGroupDestStorageType StorageType,
        cipslaAutoGroupDestRowStatus   RowStatus
}

cipslaAutoGroupDestName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (1..64))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This is the name for an auto measure group destination." 
    ::= { cipslaAutoGroupDestEntry 1 }

cipslaAutoGroupDestIpAddrType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The type of the internet address of a destination
        for an auto measure group." 
    ::= { cipslaAutoGroupDestEntry 2 }

cipslaAutoGroupDestIpAddr OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The internet address of a destination for an auto
        measure group. The type of this address is determined
        by the value of cipslaAutoGroupDestIpAddrType." 
    ::= { cipslaAutoGroupDestEntry 3 }

cipslaAutoGroupDestPort OBJECT-TYPE
    SYNTAX          InetPortNumber
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object represents the destination port number.
        For ICMP echo and ICMP jitter, the suggested value is 
        '0'." 
    ::= { cipslaAutoGroupDestEntry 4 }

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

        By default the entry will be saved into non-volatile
        memory."
    DEFVAL          { nonVolatile } 
    ::= { cipslaAutoGroupDestEntry 5 }

cipslaAutoGroupDestRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The status of the conceptual destination table control row.
        No other objects in this row need to be set before this object
        can become active.

        During 'destroy', when cipslaAutoGroupDestIpAddr is specified 
        as '0.0.0.0' and cipslaAutoGroupDestPort is specified as '0', 
        then all the rows with same cipslaAutoGroupDestName will be 
        deleted." 
    ::= { cipslaAutoGroupDestEntry 6 }
 


cipslaReactTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CipslaReactEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table that contains reaction configurations for templates.
        Each conceptual row in cipslaReactTable corresponds 
        to a reaction configured for one template.

        Each template can have multiple reactions and hence there can be 
        multiple rows for a particular template. Different template
        types can have different reactions. The reaction type is 
        specified as cipslaReactVar based upon template type as some 
        reaction types are applicable just for specific template types."
    ::= { ciscoIpSlaAutoMIBObjects 3 }

cipslaReactEntry OBJECT-TYPE
    SYNTAX          CipslaReactEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A base list of objects that define a conceptual reaction
        configuration control row."
    INDEX           {
                        cipslaAutoGroupOperType,
                        cipslaReactConfigIndex,
                        cipslaAutoGroupOperTemplateName
                    } 
    ::= { cipslaReactTable 1 }

CipslaReactEntry ::= SEQUENCE {
        cipslaReactConfigIndex      Unsigned32,
        cipslaReactVar              IpSlaReactVar,
        cipslaReactThresholdType    INTEGER ,
        cipslaReactActionType       INTEGER ,
        cipslaReactThresholdRising  Unsigned32,
        cipslaReactThresholdFalling Unsigned32,
        cipslaReactThresholdCountX  Unsigned32,
        cipslaReactThresholdCountY  Unsigned32,
        cipslaReactStorageType      StorageType,
        cipslaReactRowStatus        RowStatus
}

cipslaReactConfigIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..2147483647 )
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object along with cipslaAutoGroupOperType and
        cipslaAutoGroupOperTemplateName identifies
        a particular reaction-configuration for one IP SLA 
        template.

        This number is persistent across reboots." 
    ::= { cipslaReactEntry 1 }

cipslaReactVar OBJECT-TYPE
    SYNTAX          IpSlaReactVar
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the type of reaction configured for an
        IP SLA template. Default value is 'rtt' for ICMP echo, UDP echo
        and TCP connect. Default value is 'jitterAvg' for UDP jitter and 
        ICMP jitter.

        The reaction types 'rtt', 'timeout', 'connectionLoss' and
        'verifyError' can be configured for all template types.

        The reaction types 'jitterSDAvg', 'jitterDSAvg', 'jitterAvg', 
        'packetLateArrival', 'packetOutOfSequence', 
        'maxOfPositiveSD', 'maxOfNegativeSD', 'maxOfPositiveDS'
        'maxOfNegativeDS', 'mos' and 'icpif' can be configured for 
        UDP jitter and ICMP jitter types only.

        The reaction types 'packetLossDS', 'packetLossSD' and 
        'packetMIA' can be configured for UDP jitter type only.

        The reaction types 'successivePacketLoss', 'maxOfLatencyDS', 
        'maxOfLatencySD', 'latencyDSAvg', 'latencySDAvg' and 
        'packetLoss' can be configured for ICMP jitter type only." 
    ::= { cipslaReactEntry 2 }

cipslaReactThresholdType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        never(1),
                        immediate(2),
                        consecutive(3),
                        xOfy(4),
                        average(5)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the conditions under which
        a notification ( trap ) is sent. The rttMonReactOccurred
        object defined in rttMonReactTable in CISCO-RTTMON-MIB will
        change accordingly:

        never(1)       - rttMonReactOccurred is never set

        immediate(2)   - rttMonReactOccurred is set to 'true' when the
                         value of parameter for which reaction is
                         configured ( e.g rtt, jitterAvg, packetLossSD,
                         mos etc ) violates the threshold.
                         Conversely, rttMonReactOccurred is set to 'false'
                         when the parameter ( e.g rtt, jitterAvg,
                         packetLossSD, mos etc ) is below the threshold
                         limits.

        consecutive(3) - rttMonReactOccurred is set to true when the value
                         of parameter for which reaction is configured
                         ( e.g rtt, jitterAvg, packetLossSD, mos etc )
                         violates the threshold for configured consecutive
                         times.
                         Conversely, rttMonReactOccurred is set to false
                         when the value of parameter ( e.g rtt, jitterAvg
                         packetLossSD, mos etc ) is below the threshold
                         limits for the same number of consecutive
                         operations.

        xOfy(4)        - rttMonReactOccurred is set to true when x
                         ( as specified by cipslaReactThresholdCountX )
                         out of the last y ( as specified by
                         cipslaReacthresholdCountY ) times the value of
                         parameter for which the reaction is configured
                         ( e.g rtt, jitterAvg, packetLossSD, mos etc )
                         violates the threshold.
                         Conversely, it is set to false when x, out of the
                         last y times the value of parameter
                         ( e.g rtt, jitterAvg, packetLossSD, mos ) is
                         below the threshold limits.
                         NOTE: If x > y, this will never
                              generate a reaction.

        average(5)    - rttMonReactOccurred is set to true when the
                        average ( cipslaReactThresholdCountX times )
                        value of parameter for which reaction is 
                        configured ( e.g rtt, jitterAvg, packetLossSD,
                        mos etc ) violates the threshold condition.
                        Conversely, it is set to false when the
                        average value of parameter ( e.g rtt, jitterAvg,
                        packetLossSD, mos etc ) is below the threshold
                        limits.

        If this value is changed by a management station,
        rttMonReactOccurred is set to false, but
        no reaction is generated if the prior value of
        rttMonReactOccurred was true."
    DEFVAL          { never } 
    ::= { cipslaReactEntry 3 }

cipslaReactActionType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        none(1),
                        notificationOnly(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Specifies what type, if any, of reaction to
        generate if one of the watched
        (reaction-configuration ) conditions is satisfied:

        none(1)                - no reaction is generated
        notificationOnly(2)    - a notification is generated"
    DEFVAL          { none } 
    ::= { cipslaReactEntry 4 }

cipslaReactThresholdRising OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object defines the higher threshold limit.
        If the value ( e.g rtt, jitterAvg, packetLossSD etc ) rises
        above this limit and if the condition specified in
        cipslaReactThresholdType is satisfied, a notification is 
        generated.

        Default value of cipslaReactThresholdRising for
           'rtt' is 5000
           'jitterAvg' is 100.
           'jitterSDAvg' is 100.
           'jitterDSAvg' 100.
           'packetLossSD' is 10000.
           'packetLossDS' is 10000.
           'mos' is 500.
           'icpif' is 93.
           'packetMIA' is 10000.
           'packetLateArrival' is 10000.
           'packetOutOfSequence' is 10000.
           'maxOfPositiveSD' is 10000.
           'maxOfNegativeSD' is 10000.
           'maxOfPositiveDS' is 10000.
           'maxOfNegativeDS' is 10000.
           'successivePacketLoss' is 1000.
           'maxOfLatencyDS' is 5000.
           'maxOfLatencySD' is 5000.
           'latencyDSAvg' is 5000.
           'latencySDAvg' is 5000.
           'packetLoss' is 10000.

        This object is not applicable if the cipslaReactVar is
        'timeout', 'connectionLoss' or 'verifyError'. For 'timeout',
        'connectionLoss' and 'verifyError' default value of 
        cipslaReactThresholdRising will be 0." 
    ::= { cipslaReactEntry 5 }

cipslaReactThresholdFalling OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object defines a lower threshold limit. If the
        value ( e.g rtt, jitterAvg, packetLossSD etc ) falls
        below this limit and if the condition specified in
        cipslaReactThresholdType is satisfied, a notification 
        is generated. This object value can not bigger than
        cipslaReactThresholdRising value.

        Default value of cipslaReactThresholdFalling
           'rtt' is 3000
           'jitterAvg' is 100.
           'jitterSDAvg' is 100.
           'jitterDSAvg' 100.
           'packetLossSD' is 10000.
           'packetLossDS' is 10000.
           'mos' is 500.
           'icpif' is 93.
           'packetMIA' is 10000.
           'packetLateArrival' is 10000.
           'packetOutOfSequence' is 10000.
           'maxOfPositiveSD' is 10000.
           'maxOfNegativeSD' is 10000.
           'maxOfPositiveDS' is 10000.
           'maxOfNegativeDS' is 10000.
           'successivePacketLoss' is 1000.
           'maxOfLatencyDS' is 3000.
           'maxOfLatencySD' is 3000.
           'latencyDSAvg' is 3000.
           'latencySDAvg' is 3000.
           'packetLoss' is 10000.

        This object is not applicable if the cipslaReactVar is
        'timeout', 'connectionLoss' or 'verifyError'. For 'timeout',
        'connectionLoss' and 'verifyError', default value of
        cipslaReactThresholdFalling will be 0." 
    ::= { cipslaReactEntry 6 }

cipslaReactThresholdCountX OBJECT-TYPE
    SYNTAX          Unsigned32 (1..16 )
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "If cipslaReactThresholdType value is 'xOfy', this object
        defines the 'x' value.

        If cipslaReactThresholdType value is 'consecutive'
        this object defines the number of consecutive occurrences
        that needs threshold violation before setting 
        cipslaReactOccurred as true.

        If cipslaReactThresholdType value is 'average' this object
        defines the number of samples that needs be considered for
        calculating average.

        This object has no meaning if cipslaReactThresholdType has
        value of 'never' and 'immediate'."
    DEFVAL          { 5 } 
    ::= { cipslaReactEntry 7 }

cipslaReactThresholdCountY OBJECT-TYPE
    SYNTAX          Unsigned32 (1..16 )
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object defines the 'y' value of the xOfy condition
        if cipslaReactThresholdType is 'xOfy'. The default for the 
        'y' value is 5.

        For other values of cipslaReactThresholdType, this object
        is not applicable." 
    ::= { cipslaReactEntry 8 }

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

        By default the entry will be saved into non-volatile
        memory."
    DEFVAL          { nonVolatile } 
    ::= { cipslaReactEntry 9 }

cipslaReactRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This objects indicates the status of the conceptual
        Reaction Control Row. 

        When this object moves to active state, the conceptual row 
        is monitored and notifications are generated when threshold 
        violation takes place.

        In order for this object to become active cipslaReactVar must
        be defined. All other objects assume default values.  When the 
        status is active, the following objects in that row can be 
        modified.
         cipslaReactThresholdType,
         cipslaReactActionType,
         cipslaReactThresholdRising,
         cipslaReactThresholdFalling,
         cipslaReactThresholdCountX,
         cipslaReactThresholdCountY,
         cipslaReactStorageType

        This object can be set to 'destroy' from any value at any time.
        When this object is set to 'destroy' no reaction configuration
        would exist. The reaction configuration for the template is 
        removed." 
    ::= { cipslaReactEntry 10 }
 


cipslaAutoGroupSchedTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CipslaAutoGroupSchedEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table of group scheduling definitions."
    ::= { ciscoIpSlaAutoMIBObjects 4 }

cipslaAutoGroupSchedEntry OBJECT-TYPE
    SYNTAX          CipslaAutoGroupSchedEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A list of objects that define specific configuration for
        group scheduling."
    INDEX           { cipslaAutoGroupSchedId } 
    ::= { cipslaAutoGroupSchedTable 1 }

CipslaAutoGroupSchedEntry ::= SEQUENCE {
        cipslaAutoGroupSchedId          SnmpAdminString,
        cipslaAutoGroupSchedPeriod      Unsigned32,
        cipslaAutoGroupSchedInterval    Unsigned32,
        cipslaAutoGroupSchedLife        Unsigned32,
        cipslaAutoGroupSchedAgeout      Unsigned32,
        cipslaAutoGroupSchedMaxInterval Unsigned32,
        cipslaAutoGroupSchedMinInterval Unsigned32,
        cipslaAutoGroupSchedStartTime   Unsigned32,
        cipslaAutoGroupSchedStorageType StorageType,
        cipslaAutoGroupSchedRowStatus   RowStatus
}

cipslaAutoGroupSchedId OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (1..64))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This string uniquely identifies a row in the
        cipslaAutoGroupSchedTable." 
    ::= { cipslaAutoGroupSchedEntry 1 }

cipslaAutoGroupSchedPeriod OBJECT-TYPE
    SYNTAX          Unsigned32 (100..99000 )
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Specifies the time duration between initiating two
        IP SLA operations generated via the auto measure group."
    DEFVAL          { 1000 } 
    ::= { cipslaAutoGroupSchedEntry 2 }

cipslaAutoGroupSchedInterval OBJECT-TYPE
    SYNTAX          Unsigned32 (1..604800 )
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Specifies the duration between initiating each RTT
        operation for one IP SLA operation generated via the auto 
        measure group.

        The value of this object is only effective when both
        cipslaAutoGroupSchedMaxInterval and 
        cipslaAutoGroupSchedMinInterval have zero values."
    DEFVAL          { 60 } 
    ::= { cipslaAutoGroupSchedEntry 3 }

cipslaAutoGroupSchedLife OBJECT-TYPE
    SYNTAX          Unsigned32 (0..2147483647 )
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the life of all the operations that are
        getting group scheduled. This value will be placed into
        cipslaAutoGroupSchedRttLife object when this conceptual control
        row becomes 'active'.

        The value 2147483647 has a special meaning. When this object is
        set to 2147483647, the rttMonCtrlOperRttLife object for all the
        operations will not decrement, and thus the life time of the 
        operation will never end."
    DEFVAL          { 3600 } 
    ::= { cipslaAutoGroupSchedEntry 4 }

cipslaAutoGroupSchedAgeout OBJECT-TYPE
    SYNTAX          Unsigned32 (0..2073600 )
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the ageout value of the operations that are
        getting group scheduled. This value will be placed into
        rttMonSchedAdminConceptRowAgeout object for each of the
        operations in the group when this conceptual control row becomes 
        'active'.

        When this value is set to zero, the operations will never ageout."
    DEFVAL          { 3600 } 
    ::= { cipslaAutoGroupSchedEntry 5 }

cipslaAutoGroupSchedMaxInterval OBJECT-TYPE
    SYNTAX          Unsigned32 (0..604800 )
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Specifies the max duration between initiating each RTT
        operation for one IP SLA operation in the group."
    DEFVAL          { 0 } 
    ::= { cipslaAutoGroupSchedEntry 6 }

cipslaAutoGroupSchedMinInterval OBJECT-TYPE
    SYNTAX          Unsigned32 (0..604800 )
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Specifies the min duration between initiating each RTT
        operation for one IP SLA operation in the group.

        The value of this object should be lower than the value of
        cipslaAutoGroupSchedMaxInterval."
    DEFVAL          { 0 } 
    ::= { cipslaAutoGroupSchedEntry 7 }

cipslaAutoGroupSchedStartTime OBJECT-TYPE
    SYNTAX          Unsigned32 (0..604800 )
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This is the time in seconds after which the operations of
        the associated groups  will take transition to active state.
        When set to the value other than '1' (pending), then all 
        objects in this row cannot be modified."
    DEFVAL          { 1 } 
    ::= { cipslaAutoGroupSchedEntry 8 }

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

        By default the entry will be saved into non-volatile
        memory."
    DEFVAL          { nonVolatile } 
    ::= { cipslaAutoGroupSchedEntry 9 }

cipslaAutoGroupSchedRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The status of the conceptual group schedule control row.

        When the status is active and the value of 
        cipslaAutoGroupSchedStartTime is '1', the other writable 
        objects may be modified.

        This object can be set to 'destroy' from any value at any time.
        When this object is set to 'destroy' it will stop all the 
        operations which had been group scheduled by it earlier, 
        before destroying the group schedule control row." 
    ::= { cipslaAutoGroupSchedEntry 10 }
 

-- Conformance Information

ciscoIpSlaAutoMIBConform  OBJECT IDENTIFIER
    ::= { ciscoIpSlaAutoMIB 2 }

ciscoIpSlaAutoMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoIpSlaAutoMIBConform 1 }

ciscoIpSlaAutoMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoIpSlaAutoMIBConform 2 }


ciscoIpSlaAutoMIBCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for IP SLA
        (1)  Auto Measure Group Table 
        (2)  Destination Table
        (3)  Reaction Table
        (4)  Group Schedule Table"
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoIpSlaAutoGroupConfGroup,
                        ciscoIpSlaAutoGroupDestGroup,
                        ciscoIpSlaAutoGroupReactGroup,
                        ciscoIpSlaAutoGroupSchedGroup
                    }
    ::= { ciscoIpSlaAutoMIBCompliances 1 }

ciscoIpSlaAutoGroupConfGroup OBJECT-GROUP
    OBJECTS         {
                        cipslaAutoGroupDescription,
                        cipslaAutoGroupDestinationName,
                        cipslaAutoGroupADDestPort,
                        cipslaAutoGroupOperTemplateName,
                        cipslaAutoGroupSchedulerId,
                        cipslaAutoGroupQoSEnable,
                        cipslaAutoGroupOperType,
                        cipslaAutoGroupDestIPADEnable,
                        cipslaAutoGroupADMeasureRetry,
                        cipslaAutoGroupADDestIPAgeout,
                        cipslaAutoGroupStorageType,
                        cipslaAutoGroupRowStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects related to IP SLA auto meaure group
        configuration."
    ::= { ciscoIpSlaAutoMIBGroups 1 }

ciscoIpSlaAutoGroupDestGroup OBJECT-GROUP
    OBJECTS         {
                        cipslaAutoGroupDestStorageType,
                        cipslaAutoGroupDestRowStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects related to IP SLA auto measure
        group destination configuration."
    ::= { ciscoIpSlaAutoMIBGroups 2 }

ciscoIpSlaAutoGroupReactGroup OBJECT-GROUP
    OBJECTS         {
                        cipslaReactVar,
                        cipslaReactThresholdType,
                        cipslaReactActionType,
                        cipslaReactThresholdRising,
                        cipslaReactThresholdFalling,
                        cipslaReactThresholdCountX,
                        cipslaReactThresholdCountY,
                        cipslaReactStorageType,
                        cipslaReactRowStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects related to IP SLA auto measure
        reaction configuration."
    ::= { ciscoIpSlaAutoMIBGroups 3 }

ciscoIpSlaAutoGroupSchedGroup OBJECT-GROUP
    OBJECTS         {
                        cipslaAutoGroupSchedPeriod,
                        cipslaAutoGroupSchedInterval,
                        cipslaAutoGroupSchedLife,
                        cipslaAutoGroupSchedAgeout,
                        cipslaAutoGroupSchedMaxInterval,
                        cipslaAutoGroupSchedMinInterval,
                        cipslaAutoGroupSchedStartTime,
                        cipslaAutoGroupSchedStorageType,
                        cipslaAutoGroupSchedRowStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects related to IP SLA auto measure group
        schedule configuration."
    ::= { ciscoIpSlaAutoMIBGroups 4 }

END












