-- *****************************************************************
-- CISCO-RPMS-MIB.my: Cisco Resource Policy Management System (RPMS) 
-- Server MIB file.
--
-- March  26, 2002 Patrick Hamel (path@cisco.com)
-- August 17, 2001 Wei Song (weisong@cisco.com)
--
-- Copyright (c) 2001 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
-- Caution.  This MIB is temporary and experimental.  In the future it 
-- will be removed from products, perhaps with short notice, in favor 
-- of more standard or generic MIBs.  Application developers should not 
-- depend on long-term access to this MIB.
--
-- Please report usage of the MIB to Cisco Systems to support future 
-- decision regarding particular MIB objects

CISCO-RPMS-MIB DEFINITIONS ::= BEGIN

IMPORTS
        Counter32, Gauge32, Unsigned32, MODULE-IDENTITY,
        OBJECT-TYPE, NOTIFICATION-TYPE
            FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
            FROM SNMPv2-CONF
        RowStatus, TimeStamp
            FROM SNMPv2-TC
        SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
        ciscoExperiment
            FROM CISCO-SMI;


ciscoRpmsMIB MODULE-IDENTITY

        LAST-UPDATED   "200204170000Z"
        ORGANIZATION   "Cisco Systems, Inc."
        CONTACT-INFO
                       "Cisco Systems
                        Customer Service

                Postal: 170 W Tasman Drive
                        San Jose, CA  95134
                        USA

                   Tel: +1 800 553-NETS

                E-mail: cs-rpms@cisco.com"

        DESCRIPTION
            "This MIB contains objects pertinent to a Resource
            Policy Management System (RPMS) server.
            
            RPMS is a key component of Cisco Any Service Any Port
            (ASAP) solution and provides the ability to
            dynamically share resources across network access 
            servers (NAS). RPMS enables enforcement of Service
            Level Agreements(SLA) between wholesale providers and
            their customers. Such SLA enforcement is done at call
            pre-authentication stage. An SLA is conceptually a set
            of clauses (limits) that dictate how voice, dial 
            and/or virtual private data network (VPDN) services 
            will be provided by the wholesaler.
            "
        REVISION       "200204170000Z"
        DESCRIPTION
                "Updated name from Resource Pool Manager Server to 
                 Resource Policy Management System (RPMS). This 
                 reflects product change,
                 Corrected omission of 'crpmsVpdnGroupCpEntryStatus'
                 from 'crpmsVpdnGroup' object group in initial
                 release,
                 Updated E-Mail contact to correct list for rpms."
        REVISION       "200111010000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { ciscoExperiment 84 }


ciscoRpmsMIBObjects OBJECT IDENTIFIER ::= { ciscoRpmsMIB 1 }

crpmsSystem          OBJECT IDENTIFIER ::= { ciscoRpmsMIBObjects 1 }
crpmsCustomerProfile OBJECT IDENTIFIER ::= { ciscoRpmsMIBObjects 2 }
crpmsVpdn            OBJECT IDENTIFIER ::= { ciscoRpmsMIBObjects 3 }
crpmsNotif           OBJECT IDENTIFIER ::= { ciscoRpmsMIBObjects 4 }

-- --
-- RPMS system object group
-- --

crpmsSubsystemTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CrpmsSubsystemEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains currently working RPMS
            subsystems. Each row contains the name of the
            subsystem and its uptime since last initialization."
        ::=  { crpmsSystem  1 }

crpmsSubsystemEntry OBJECT-TYPE
        SYNTAX      CrpmsSubsystemEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "A subsystem entry contains information of a RPMS
          subsystem. At the system startup, if a subsystem fails
          to initialize itself, it will not appear in this table.
          If a subsystem becomes unavailable, its corresponding
          row will be removed from this table."
        INDEX { crpmsSubsystemIndex }
        ::= { crpmsSubsystemTable 1 }

CrpmsSubsystemEntry ::=
        SEQUENCE {
          crpmsSubsystemIndex  Unsigned32,
          crpmsSubsystemName   SnmpAdminString,
          crpmsSubsystemUptime TimeStamp
}

crpmsSubsystemIndex OBJECT-TYPE
        SYNTAX      Unsigned32 (1..128)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "An unique value, greater than zero, for each subsystem.
          It is recommended that values are assigned contiguously
          starting from 1."
        ::= { crpmsSubsystemEntry 1 }

crpmsSubsystemName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (1..31))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The name of the subsystem entry."
        ::= { crpmsSubsystemEntry 2 }

crpmsSubsystemUptime OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The time (in hundredths of a second) since the
          subsystem was last (re)initialized."
        ::= { crpmsSubsystemEntry 3 }


-- --
-- RPMS customer profile object group
-- --

crpmsCpTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CrpmsCpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The customer profile table contains information about
          all SLAs hosted on an SLA Server."
        ::=  { crpmsCustomerProfile 1 }

crpmsCpEntry OBJECT-TYPE
        SYNTAX      CrpmsCpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "A customer profile (Cp) entry contains information about
          a specific customer. A customer profile is a set of limits
          associated with a customer. These limits control how
          RPMS will respond to an incoming call under various
          scenarios."
        INDEX { IMPLIED crpmsCpName }
        ::= { crpmsCpTable 1 }

CrpmsCpEntry ::=
        SEQUENCE {
          crpmsCpName                     SnmpAdminString,
          crpmsCpLimit                    Unsigned32,
          crpmsCpOverflowLimit            Unsigned32,
          crpmsCpActiveCalls              Gauge32,
          crpmsCpActiveOverflowCalls      Gauge32,
          crpmsCpAttemptedCalls           Counter32,
          crpmsCpAttemptedOverflowCalls   Counter32,
          crpmsCpRejections               Counter32,
          crpmsCpOverflowRejections       Counter32,
          crpmsCpLimitThreshold           Unsigned32,
          crpmsCpOverflowLimitThreshold   Unsigned32,
          crpmsCpCallRejectionThreshold   Unsigned32,
          crpmsCpOverflowRejectThreshold  Unsigned32,
          crpmsCpEntryStatus              RowStatus
}

crpmsCpName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (1..31))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The name of the customer profile. This name uniquely
          identifies the customer profile in the RPMS system."
        ::= { crpmsCpEntry 1 }

crpmsCpLimit OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "The maximum number of concurrent calls allowed
          in this customer profile. Once this limit is exceeded,
          RPMS will reject any new calls unless an overflow limit
          (crpmsCpOverflowLimit) is configured for this customer."
        DEFVAL      { 0 }
        ::= { crpmsCpEntry 2 }

crpmsCpOverflowLimit OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "The maximum number of calls allowed after the customer
          profile limit(crpmsCpLimit) has been reached. Such calls
          are termed overflow calls."
        DEFVAL      { 0 }
        ::= { crpmsCpEntry 3 }

crpmsCpActiveCalls OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Number of current active calls for this customer
          profile."
        ::= { crpmsCpEntry 4 }

crpmsCpActiveOverflowCalls OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Number of current active overflow calls for this 
          customer profile."
        ::= { crpmsCpEntry 5 }

crpmsCpAttemptedCalls OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Total number of attempted calls (both successful and 
          failed) for this customer profile."
        ::= { crpmsCpEntry 6 }

crpmsCpAttemptedOverflowCalls OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Number of attempted overflow calls (both successful 
          and failed) for this customer profile."
        ::= { crpmsCpEntry 7 }

crpmsCpRejections OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Total number of rejected calls for this customer 
          profile (crpmsCpOverflowRejections plus rejections
          due to unavailable resources)."
        ::= { crpmsCpEntry 8 }

crpmsCpOverflowRejections OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Number of rejected overflow calls for this customer 
          profile."
        ::= { crpmsCpEntry 9 }

crpmsCpLimitThreshold OBJECT-TYPE
        SYNTAX      Unsigned32 (0..100)
        UNITS       "percent"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "A threshold defined for the customer profile limit
           (crpmsCpLimit). It represents the percentage of the limit
           which, when crossed triggers a crpmsRisingAlarm or a 
           crpmsFallingAlarm notification (refer to the notification
           definitions in this MIB for more details). 

           A value of 100 percent cannot be exceeded and therefore 
           disables this threshold setting. A value of 0 percent is 
           always exceeded.
          "
        DEFVAL      { 100 }
        ::= { crpmsCpEntry 10 }

crpmsCpOverflowLimitThreshold OBJECT-TYPE
        SYNTAX      Unsigned32 (0..100)
        UNITS       "percent"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "A threshold defined for the customer profile overflow
           limit (crpmsCpOverflowLimit). It represents the percentage
           of the limit that when exceeded triggers a crpmsRisingAlarm
           or a crpmsFallingAlarm notification (refer to the 
           notification definitions in this MIB for more details).

           A value of 100 percent cannot be exceeded and therefore 
           disables this threshold setting. A value of 0 percent is 
           always exceeded.
          "
        DEFVAL      { 100 }
        ::= { crpmsCpEntry 11 }

crpmsCpCallRejectionThreshold OBJECT-TYPE
        SYNTAX      Unsigned32 (0..100)
        UNITS       "percent"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "A threshold defined for the number of customer profile
           rejected calls (crpmsCpRejections) as a percentage of the
           number of attempted calls (crpmsCpAttemptedCalls) which,
           when crossed, triggers a crpmsRisingAlarm or 
           crpmsFallingAlarm notification (refer to the notification
           definitions in this MIB for more details).

           A value of 100 percent cannot be exceeded and therefore 
           disables this threshold setting. A value of 0 percent is 
           always exceeded.
          "
        DEFVAL      { 100 }
        ::= { crpmsCpEntry 12 }

crpmsCpOverflowRejectThreshold OBJECT-TYPE
        SYNTAX      Unsigned32 (0..100)
        UNITS       "percent"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "A threshold defined for the number of customer profile
           rejected overflow calls (crpmsCpOverflowRejections) as a 
           percentage of the number of attempted overflow calls 
           (crpmsCpAttemptedOverflowCalls) which, when crossed, 
           triggers a crpmsRisingAlarm or a crpmsFallingAlarm  
           notification (refer to the notification definitions in this
           MIB for more details).

           A value of 100 percent cannot be exceeded and therefore 
           disables this threshold setting. A value of 0 percent is 
           always exceeded.
          "
        DEFVAL      { 100 }
        ::= { crpmsCpEntry 13 }

crpmsCpEntryStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "Used to create, delete or modify this row. None of the 
          columnar objects can be modified except this one, when
          the row is active." 
        ::= { crpmsCpEntry 14 }

-- --
-- RPMS VPDN object group
-- --

crpmsVpdnGroupTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CrpmsVpdnGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "A VPDN group manages a number of sessions. A VPDN 
          session may use a MLP link, which is contained within 
          a particular MLP bundle. A VPDN group has a limit of 
          maximal sessions, the number of bundles that this
          VPDN group can allocate, and the number of links for
          each bundle.

          The VPDN group table contains information about VPDN 
          group of a RPMS server, each group a row. If a row is 
          added or removed, its corresponding row in the 
          crpmsVpdnGroupCpTable has to be added or removed as 
          well."
        ::=  { crpmsVpdn  1 }

crpmsVpdnGroupEntry OBJECT-TYPE
        SYNTAX      CrpmsVpdnGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "A VPDN group entry contains information about
           a specific VPDN group. VPDN groups contain the
           necessary setting to establish a VPDN session
           (tunneling protocol, home gateway information, and 
           other data) as well as limits on various parameters
           (maximum concurrent sessions, MLP bundles, etc.)."
        INDEX { IMPLIED crpmsVpdnGroupName }
        ::= { crpmsVpdnGroupTable 1 }

CrpmsVpdnGroupEntry ::= 
        SEQUENCE {
          crpmsVpdnGroupName             SnmpAdminString,
          crpmsVpdnTunnelId              SnmpAdminString,
          crpmsVpdnTunnelProtocol        INTEGER,
          crpmsVpdnLimit                 Unsigned32,
          crpmsVpdnOverflowLimit         Unsigned32,
          crpmsVpdnMlpBundleLimit        Unsigned32,
          crpmsVpdnLinksPerBundleLimit   Unsigned32,
          crpmsVpdnBundles               Gauge32,
          crpmsVpdnActiveCalls           Gauge32,
          crpmsVpdnActiveOverflowCalls   Gauge32,
          crpmsVpdnRejections            Counter32,
          crpmsVpdnSizeRejections        Counter32,
          crpmsVpdnLimitThreshold        Unsigned32,
          crpmsVpdnEntryStatus           RowStatus
}

crpmsVpdnGroupName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (1..31))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The name of the VPDN group. This name uniquely 
          identifies a VPDN group in the RPMS system."
        ::= { crpmsVpdnGroupEntry 1 }

crpmsVpdnTunnelId OBJECT-TYPE
        SYNTAX      SnmpAdminString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The tunnel Id of the VPDN group.
          For Cisco IOS 12.05T and later, the tunnel id matches
          the remote name configured on the HGW router. The 
          following is an example:
          
          vpdn-group 1
          accept dialin l2tp virtual-template 1 remote isp1
          local name hg
          
          For old Cisco IOS releases, the tunnel id matches the
          incoming statement:
          
          vpdn incoming isp1 hgw virtual-template 1
          
          In above examples, the object has the value isp1.
          "
        ::= { crpmsVpdnGroupEntry 2 }

crpmsVpdnTunnelProtocol OBJECT-TYPE
        SYNTAX      INTEGER
        {
          l2f   (1),
          l2tp  (2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "The protocol used by the tunnel of the VPDN group.
           There are only 2 possible value:
           l2f  - Layer 2 Forwarding Protocol
           l2tp - Layer 2 Tunneling Protocol
          "
        DEFVAL      { l2f }
        ::= { crpmsVpdnGroupEntry 3 }

crpmsVpdnLimit OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "Limit of the resource pool for this VPDN group."
        DEFVAL      { 0 }
        ::= { crpmsVpdnGroupEntry 4 }

crpmsVpdnOverflowLimit OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "Limit of the overflow pool for this VPDN group."
        DEFVAL      { 0 }
        ::= { crpmsVpdnGroupEntry 5 }

crpmsVpdnMlpBundleLimit OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "Limit of MLP (multilink protocol) bundles for this 
          VPDN group."
        DEFVAL      { 0 }
        ::= { crpmsVpdnGroupEntry 6 }

crpmsVpdnLinksPerBundleLimit OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "Limit of links per bundle for this VPDN group."
        DEFVAL      { 0 }
        ::= { crpmsVpdnGroupEntry 7 }

crpmsVpdnBundles OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of active MLP bundles in the tunnel 
           of the VPDN group."
        ::= { crpmsVpdnGroupEntry 8 }

crpmsVpdnActiveCalls OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of active calls that belong to this VPDN 
          group."
        ::= { crpmsVpdnGroupEntry 9 }

crpmsVpdnActiveOverflowCalls OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of active overflow calls that belong to 
          this VPDN group."
        ::= { crpmsVpdnGroupEntry 10 }

crpmsVpdnRejections OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of calls rejected because one of the group 
          limits (crpmsVpdnOverflowLimit, crpmsVpdnMlpBundleLimit 
          and crpmsVpdnLinksPerBundleLimit) was exceeded."
        ::= { crpmsVpdnGroupEntry 11 }

crpmsVpdnSizeRejections OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of rejected calls of the VPDN group, because 
          the max allowed size limit (crpmsVpdnOverflowLimit + 
          crpmsVpdnLimit) was exceeded."
        ::= { crpmsVpdnGroupEntry 12 }

crpmsVpdnLimitThreshold OBJECT-TYPE
        SYNTAX      Unsigned32 (0..100)
        UNITS       "percent"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "A threshold defined for the vpdn group limit 
           (crpmsVpdnLimit) which, when crossed, triggers a 
           crpmsRisingAlarm or a crpmsFallingAlarm notification
           (refer to the notification definitions in this MIB
           for more details).

           A value of 100 percent cannot be exceeded and therefore 
           disables this threshold setting. A value of 0 percent is 
           always exceeded.
          "
        DEFVAL      { 100 }
        ::= { crpmsVpdnGroupEntry 13 }

crpmsVpdnEntryStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "Used to create, delete or modify this row. None of the 
          columnar objects can be modified except this one, when
          the row is active." 
        ::= { crpmsVpdnGroupEntry 14 }


crpmsVpdnGroupCpTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CrpmsVpdnGroupCpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "A VPDN group can be associated with a number of customer
          profiles, this table represents this relationship. It's
          double indexed by index of crpmsVpdnGroupTable and index
          of crpmsCpTable. If rows are added to or removed from
          one of two tables, Its corresponding row(s) in this
          table will be added or removed as well."
        ::=  { crpmsVpdn  2 }

crpmsVpdnGroupCpEntry OBJECT-TYPE
        SYNTAX      CrpmsVpdnGroupCpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "A VPDN group customer profile entry contains information 
          of SLA associated with this VPDN group."
        INDEX { crpmsVpdnGroupCpVpdnGroupName,
                IMPLIED crpmsVpdnGroupCpCpName }
        ::= { crpmsVpdnGroupCpTable 1 }

CrpmsVpdnGroupCpEntry ::=
        SEQUENCE {
          crpmsVpdnGroupCpVpdnGroupName   SnmpAdminString,
          crpmsVpdnGroupCpCpName          SnmpAdminString,
          crpmsVpdnGroupCpEntryStatus     RowStatus
}

crpmsVpdnGroupCpVpdnGroupName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (1..31))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The name of VPDN groups in the table."
        ::= { crpmsVpdnGroupCpEntry 1 }

crpmsVpdnGroupCpCpName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (1..31))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The name of customer profile in the table."
        ::= { crpmsVpdnGroupCpEntry 2 }

crpmsVpdnGroupCpEntryStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "Used to create, delete or modify this row. None of the 
          columnar objects can be modified except this one, when
          the row is active." 
        ::= { crpmsVpdnGroupCpEntry 3 }


-- --
-- RPMS Notification object group
-- --

crpmsAlarmObject OBJECT-TYPE
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
          "The object identifier of the destination object 
          related to the notification. For example, if 
          crpmsCpLimitThreshold is crossed, this variable
          should have the OID of crpmsCpLimit."
        ::= { crpmsNotif 1 }

crpmsAlarmValue OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
          "The current value that caused the threshold alarm
          to be sent."
        ::= { crpmsNotif 2 }

crpmsAlarmThresholdObject OBJECT-TYPE
	SYNTAX      OBJECT IDENTIFIER
	MAX-ACCESS  accessible-for-notify
	STATUS      current
	DESCRIPTION
	  "The object identifier of the Threshold that is related
	   to the notification. For example, if 
         crpmsCpLimitThreshold is crossed, this variable should
         have the OID of crpmsCpLimitThreshold."
	::= { crpmsNotif 3 }


-- --
-- RPMS Notification group
-- --

ciscoRpmsMIBNotificationPrefix OBJECT IDENTIFIER ::= { ciscoRpmsMIB 2 }
ciscoRpmsMIBNotifications OBJECT IDENTIFIER ::=
	{ ciscoRpmsMIBNotificationPrefix 0 }


crpmsRisingAlarm NOTIFICATION-TYPE
        OBJECTS 
        {
          crpmsAlarmObject,
          crpmsAlarmValue,
          crpmsAlarmThresholdObject
        }
        STATUS      current
        DESCRIPTION
          "This trap is generated to notify the manager(s) that 
           one of the thresholds is crossed in rising direction
           (exceeded).
           
           The same trap will not be generated until the sample 
           value falls below the threshold low water mark and rises
           to cross it again.

           NOTE: A threshold low water mark is by default 90% of the
                 actual threshold percentage (threshold * 90%) integer
                 rounded.
          "
        ::= { ciscoRpmsMIBNotifications 1 }

crpmsFallingAlarm NOTIFICATION-TYPE
        OBJECTS 
        {
          crpmsAlarmObject,
          crpmsAlarmValue,
          crpmsAlarmThresholdObject
        }
        STATUS      current
        DESCRIPTION
          "This trap is generated to notify the manager(s) that one
           of the thresholds is crossed in the falling direction
           (reaches the threshold low water mark after being exceeded).
 
           The same trap will not be generated until the sample 
           value rises above the threshold and reaches the low water
           mark again.

           NOTE: A threshold low water mark is by default 90% of the
                 actual threshold percentage (threshold * 90%) integer
                 rounded.
          "
        ::= { ciscoRpmsMIBNotifications 2 }


-- --
-- Conformance
-- --

ciscoRpmsMIBConformance OBJECT IDENTIFIER ::=
        { ciscoRpmsMIB 3 }
ciscoRpmsMIBCompliances OBJECT IDENTIFIER ::=
        { ciscoRpmsMIBConformance 1 }
ciscoRpmsMIBGroups OBJECT IDENTIFIER ::=
        { ciscoRpmsMIBConformance 2 }


-- --
-- Compliance
-- --

ciscoRpmsMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
          "The compliance statement for entities which implement
          the Cisco-RPMS-MIB"
        MODULE  -- this module
            MANDATORY-GROUPS { 
              crpmsSystemGroup,
              crpmsCpGroup,
              crpmsVpdnGroup,
              crpmsNotifGroup,
              crpmsThresholdNotifGroup
        }

        OBJECT  crpmsSubsystemName
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsSubsystemUptime
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsCpActiveCalls
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsCpActiveOverflowCalls
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsCpAttemptedCalls
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsCpAttemptedOverflowCalls
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsCpRejections
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsCpOverflowRejections
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsVpdnTunnelId
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsVpdnBundles
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsVpdnActiveCalls
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsVpdnActiveOverflowCalls
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsVpdnRejections
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        OBJECT  crpmsVpdnSizeRejections
            MIN-ACCESS  read-only
            DESCRIPTION
              "Write access is not required."

        ::= { ciscoRpmsMIBCompliances 1 }


-- --
-- units of conformance
-- --

crpmsSystemGroup OBJECT-GROUP
        OBJECTS {
          crpmsSubsystemName,
          crpmsSubsystemUptime
        }
        STATUS       current
        DESCRIPTION
          "This group contains a table providing the general 
          system level information."
        ::= { ciscoRpmsMIBGroups 1 }

crpmsCpGroup OBJECT-GROUP
        OBJECTS {
          crpmsCpLimit,
          crpmsCpOverflowLimit,
          crpmsCpActiveCalls,
          crpmsCpActiveOverflowCalls,
          crpmsCpAttemptedCalls,
          crpmsCpAttemptedOverflowCalls,
          crpmsCpRejections,
          crpmsCpOverflowRejections,
          crpmsCpLimitThreshold,
          crpmsCpOverflowLimitThreshold,
          crpmsCpCallRejectionThreshold,
          crpmsCpOverflowRejectThreshold,
          crpmsCpEntryStatus
        }
        STATUS       current
        DESCRIPTION
          "This group contains a table providing the information 
          of customer profile."
        ::= { ciscoRpmsMIBGroups 2 }

crpmsVpdnGroup OBJECT-GROUP
        OBJECTS {
          crpmsVpdnTunnelId,
          crpmsVpdnTunnelProtocol,
          crpmsVpdnLimit,
          crpmsVpdnOverflowLimit,
          crpmsVpdnMlpBundleLimit,
          crpmsVpdnLinksPerBundleLimit,
          crpmsVpdnBundles,
          crpmsVpdnActiveCalls,
          crpmsVpdnActiveOverflowCalls,
          crpmsVpdnRejections,
          crpmsVpdnSizeRejections,
          crpmsVpdnLimitThreshold,
          crpmsVpdnEntryStatus,
          crpmsVpdnGroupCpEntryStatus
        }
        STATUS       current
        DESCRIPTION
          "This group contains tables providing the information 
          of VPDN."
        ::= { ciscoRpmsMIBGroups 3 }

crpmsNotifGroup OBJECT-GROUP
	OBJECTS {
          crpmsAlarmObject,
          crpmsAlarmValue,
	  crpmsAlarmThresholdObject
        }
        STATUS       current
        DESCRIPTION
          "This group contains helper objects specifying
          notifications."
        ::= { ciscoRpmsMIBGroups 4 }

crpmsThresholdNotifGroup NOTIFICATION-GROUP
	NOTIFICATIONS {
	  crpmsRisingAlarm,
          crpmsFallingAlarm
	}
	STATUS current
	DESCRIPTION
	  "This group contains threshold crossing related alarms and
	   notifications."
	::= { ciscoRpmsMIBGroups 5 }
END
