[Search] [txt|pdf|bibtex] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01                                                         
Disman Working Group                                   David T. Perkins
Internet Draft                                                 SNMPinfo
Expires: August 2001                                      March 2, 2001


                        SNMP Alarms and MIB Module
                  draft-ietf-disman-snmp-alarm-mib-01.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance
   with all provisions of Section 10 of RFC2026.


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

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

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

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


Abstract

   This document defines the model for alarms in the SNMP framework and
   defines a Management Information Base (MIB) module that defines a
   list of outstanding alarms and log of alarms that have occurred and
   have been cleared.


Table of Contents

   1. The SNMP Management Framework ..................................3
   2. Introduction ...................................................4
   3. Exception Reporting Framework ..................................4
   3.1  Terminology ..................................................4

   3.2  Alarm Definitions ............................................4
   4. MIB Module Overview ............................................6
   5. Definitions ....................................................7
   6. Examples ......................................................28


Perkins                    Standards Track                    [Page 1]


Internet-Draft              SNMP Alarm MIB                  March 2001

   7. Security Considerations .......................................28
   8. Author's Address ..............................................28
   9. Acknowledgements ..............................................28
   10.  References ..................................................29

   11.  Full Copyright Statement ....................................29














































Perkins                    Standards Track                    [Page 2]


Internet-Draft              SNMP Alarm MIB                  March 2001



1.  The SNMP Management Framework

   o   An overall architecture, described in RFC 2571 [RFC2571].

   o   Mechanisms for describing and naming objects and events for the
       purpose of management.  The first version of this Structure of
       Management Information (SMI) is called SMIv1 and described in
       STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC
       1215 [RFC1215].  The second version, called SMIv2, is described
       in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and
       STD 58, RFC 2580 [RFC2580].

   o   Message protocols for transferring management information.  The
       first version of the SNMP message protocol is called SNMPv1 and
       described in STD 15, RFC 1157 [RFC1157].  A second version of
       the SNMP message protocol, which is not an Internet standards
       track protocol, is called SNMPv2c and described in RFC 1901
       [RFC1901] and RFC 1906 [RFC1906].  The third version of the
       message protocol is called SNMPv3 and described in RFC 1906
       [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574].

   o   Protocol operations for accessing management information.  The
       first set of protocol operations and associated PDU formats is
       described in STD 15, RFC 1157 [RFC1157].  A second set of
       protocol operations and associated PDU formats is described in
       RFC 1905 [RFC1905].

   o   A set of fundamental applications described in RFC 2573
       [RFC2573] and the view-based access control mechanism described
       in RFC 2575 [RFC2575].

   A more detailed introduction to the current SNMP Management
   Framework can be found in RFC 2570 [RFC2570].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This memo specifies a MIB module that is compliant to the SMIv2.  A
   MIB conforming to the SMIv1 can be produced through the appropriate
   translations.  The resulting translated MIB must be semantically
   equivalent, except where objects or events are omitted because no
   translation is possible (use of Counter64).  Some machine readable
   information in SMIv2 will be converted into textual descriptions in
   SMIv1 during the translation process.  However, this loss of machine
   readable information is not considered to change the semantics of
   the MIB.



Perkins                    Standards Track                    [Page 3]


Internet-Draft              SNMP Alarm MIB                  March 2001

2.  Introduction

   There are two main approaches to management. One is based on polling
   by a management application to determine node status, and the other
   is based on a node sending notifications to manager when status
   changes to and from fault conditions. The SNMP approach to date has
   been the first.  Little has been done to support the second in the
   SNMP framework.  This document provides the mechanisms for
   management to be based on exception reporting.

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

3.  Exception Reporting Framework


3.1  Terminology

   Error
        A deviation of a system from intended operation.

   Fault
        A lasting error or warning condition.

   Alarm
        Persistent indication of a fault.  An alarm is said to be 'set'
        (or raised) when a fault is first detected and administratively
        enabled. An alarm is said to be 'cleared' when a fault is first
        noticed to have ceased or administratively disabled.

   Event
        Something that happened. Examples include a change in status,
        crossing a threshold, an external input to the system.
        Additionally, setting or clearing an alarm is also an event.

   Notification
        An unsolicited transmission of management information due to an
        event or condition.



3.2  Alarm Definitions

   Each type of an alarm needs to be well specified. Ideally, a new
   construct (or template) would be added to the MIB module language,
   which is specified by SNMP's SMI. Unfortunately, this is not
   possible. Since alarms are identified with an OID value, the best
   choice of construct to use is OBJECT-IDENTITY. This construct allows
   a descriptor to be defined, a status and description specified, and
   an OID value assigned. The contents of the DESCRIPTION text must be

Perkins                    Standards Track                    [Page 4]


Internet-Draft              SNMP Alarm MIB                  March 2001

   structured to specify the attributes of an alarm type. The
   attributes include:

   Raise Conditions
        What set of conditions or events cause the alarm to be raised?

   Clear Conditions
        What must occur to cause the alarm to be cleared?

   Source Identification
        How are the sources of the alarm identified (a source can be
        physical (such as port), or logical, such as a session)?

   Perceived Severity
        How is the perceived severity of the alarm determined (it may
        be statically specified or dynamically determined)?

   Service Affecting
        How is it determined if the condition is service affecting (it
        may be statically specified or dynamically determined)?

   Associated Information
        What additional information is associated, if any, with the
        alarm? For example, if the alarm is due to a threshold being
        crossed, the additional information could be the threshold
        value and the current value.

   Class (Category)
        What is the class (category) of the alarm using the ITU-T
        terminology?

   Probable Cause
        How is the probable cause of the alarm determined (it may be
        statically specified or dynamically determined)?

   Dependencies
        What are the dependencies, if any, between this alarm and other
        alarms. For example, a loss of signal alarm on a network
        interface would probably also result in a network interface
        down alarm.

   In summary, instead of adding a new construct like the following:

   TemperatureAlarm ALARM-TYPE
       STATUS       current
       DESCRIPTION  "The current temperature outside of the
                    acceptable operating range"
       RAISED-BY    "The measured temperature has been outside of the
                    acceptable operating range for the last 5 seconds."
       ClEARED-BY   "The measure temperature has been within the
                    acceptable range for the last 15 seconds."

Perkins                    Standards Track                    [Page 5]


Internet-Draft              SNMP Alarm MIB                  March 2001

       . . .
       ::= { myAlarms 1 }

   the existing OBJECT-IDENTITY construct must be used and the
   DESCRIPTION field structured like in the following:

   TemperatureAlarm OBJECT-IDENTITY
       STATUS       current
       DESCRIPTION  "An Alarm

                    Description:
                      The current temperature outside of the
                      acceptable operating range

                    RAISED-BY:
                      The measured temperature has been outside of the
                      acceptable operating range for the last 5
                      seconds.

                    ClEARED-BY:
                      The measure temperature has been within the
                      acceptable range for the last 15 seconds.
                     . . . "
       ::= { myAlarms 1 }



4.  MIB Module Overview

   The MIB module defines a list of current alarms and a log of alarms
   that have been raised and/or cleared. The current alarm list is
   specified as two tables. Table snmpAlarmCurrTable contains generic
   information about alarms and table snmpItuAlarmCurrTable contains
   ITU-T (from X.733 and X.736) information about alarms. The current
   varBind table provides additional information about each current
   alarm.

   The alarm log table is specified as two tables. An entry is made in
   table snmpAlarmLogTable each time an entry is added or removed from
   the current alarm table. Likewise an entry is made in table
   snmpItuAlarmLogTable each time an entry is added or removed from the
   ITU-T augmentation of the current alarm table.

   Scalar objects snmpAlarmLastChange, snmpAlarmLogFirstIndex, and
   snmpAlarmLogLastIndex provide the information so that a management
   application can efficiently track the current alarms and retrieve
   entries in the alarm log. Additionally, a manager may choose to use
   notifications to assist in tracking the current alarms and/or alarm
   log entries. The notification snmpAlarmStatusChange or
   snmpItuAlarmStatusChange can be used.


Perkins                    Standards Track                    [Page 6]


Internet-Draft              SNMP Alarm MIB                  March 2001



5.  Definitions

   SNMP-ALARM-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY,
       OBJECT-TYPE,
       NOTIFICATION-TYPE,
       snmpModules,
       Gauge32,
       Unsigned32
           FROM SNMPv2-SMI

       TEXTUAL-CONVENTION,
       TruthValue,
       AutonomousType,
       VariablePointer,
       TimeStamp
           FROM SNMPv2-TC

       SnmpAdminString
           FROM SNMP-FRAMEWORK-MIB

       MODULE-COMPLIANCE,
       OBJECT-GROUP,
       NOTIFICATION-GROUP
           FROM SNMPv2-CONF;

   snmpAlarmMIB MODULE-IDENTITY
       LAST-UPDATED "200102220000Z"  -- feb 22, 2001
       ORGANIZATION "IETF Distributed Management Working Group"
       CONTACT-INFO
           "WG-email:   disman@dorothy.bmc.com
           Subscribe:   disman-request@dorothy.bmc.com
                        In message body:
                            subscribe disman your_email_address
           Archive:     ftp://amethyst.bmc.com/pub/disman/archives

           Chair:      Randy Presuhn
                       BMC Software
           EMail:      rpresuhn@bmc.com
           Phone:      +1-301-854-6889

           Author:     David T. Perkins
                       SNMPinfo
           Postal:     3763 Benton Street
                       Santa Clara, CA 95051
           EMail:      dperkins@dsperkins.com


Perkins                    Standards Track                    [Page 7]


Internet-Draft              SNMP Alarm MIB                  March 2001

           Phone:      +1 408 394 8702"
       DESCRIPTION
           "This MIB module defines MIB objects and notifications that
           provide mechanisms to monitor alarms currently active and
           the history of alarms being set and cleared on a managed
           system.

           Terminology used in this MIB module:

           Error - A deviation from intended operation.

           Fault - A lasting error or warning condition.

           Alarm - A persistent indication of a fault.  An alarm is
                   said to be 'set' when a fault is first detected and
                   administratively enabled. An alarm is said to be
                   'cleared' when a fault is first noticed to have
                   ceased or administratively disabled.

           Event - Something that happened. Examples include a change
                   in status, crossing a threshold, an external input
                   to the system. Additionally, setting or clearing
                   an alarm is also an event."
       REVISION    "200102220000Z" -- feb 22, 2001
       DESCRIPTION "The initial revision"
       ::= { snmpModules xx }  -- replace "xx" with next appropriate
                               -- value

   snmpAlarmObjects       OBJECT IDENTIFIER ::= { snmpAlarmMIB 1 }
   snmpAlarmNotifications OBJECT IDENTIFIER ::= { snmpAlarmMIB 2 }
   snmpAlarmConformance   OBJECT IDENTIFIER ::= { snmpAlarmMIB 3 }
     snmpAlarmCompliances
                  OBJECT IDENTIFIER ::= { snmpAlarmConformance 1 }
     snmpAlarmGroups
                  OBJECT IDENTIFIER ::= { snmpAlarmConformance 2 }

   SnmpAlarmCond ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION "The alarm condition. The values are:
                     set(1)....the alarm condition detected
                     clear(2)..the alarm condition ceased"
       SYNTAX      INTEGER {
                       set(1),
                       clear(2)
                       }

   SnmpAlarmType ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION "The identity of the type of an SNMP alarm. The SNMP
                   SMI does not have a construct to define SNMP alarms.
                   Thus, the OBJECT-IDENTITY construct must be

Perkins                    Standards Track                    [Page 8]


Internet-Draft              SNMP Alarm MIB                  March 2001

                   used with the text of the DESCRIPTION clause
                   describing the conditions that cause the alarm
                   to be set and to be clear, and a description of
                   each varBind to be associated with the alarm."
       SYNTAX      OBJECT IDENTIFIER -- really AutonomousType

   OptDateAndTime ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
       STATUS       current
       DESCRIPTION
           "An date-time specification, or a zero length string.

            field  octets  contents                  range
            -----  ------  --------                  -----
              1      1-2   year                      0..65536
              2       3    month                     1..12
              3       4    day                       1..31
              4       5    hour                      0..23
              5       6    minutes                   0..59
              6       7    seconds                   0..60
                           (use 60 for leap-second)
              7       8    deci-seconds              0..9
              8       9    direction from UTC        '+' / '-'
              9      10    hours from UTC            0..11
             10      11    minutes from UTC          0..59

           For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be
           displayed as:

                             1992-5-26,13:30:15.0,-4:0

           Note that if only local time is known, then time zone
           information (fields 8-10) is not present."
       SYNTAX       OCTET STRING (SIZE (0 | 8 | 11)) -- DateAndTime

   SnmpValUnion ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION "A descriminated union, which is the
                   following ASN.1 sequence BER encoded
                   and wrapped as the value of an OCTET
                   STRING.
                     <details later>
                   "
       SYNTAX      OCTET STRING


   snmpAlarmGlobals OBJECT IDENTIFIER ::= { snmpAlarmObjects 1 }

   snmpAlarmCurrEntries OBJECT-TYPE
       SYNTAX      Gauge32
       MAX-ACCESS  read-only

Perkins                    Standards Track                    [Page 9]


Internet-Draft              SNMP Alarm MIB                  March 2001

       STATUS      current
       DESCRIPTION "The number of entries in the current alarm table."
       ::= { snmpAlarmGlobals 1 }

   snmpAlarmLastChange OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The value of object sysUpTime when an entry was
                   added or removed from the current alarm table and
                   added to the alarm log table."
       ::= { snmpAlarmGlobals 2 }

   snmpAlarmLogFirstIndex OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The index of the oldest entry in the alarm log
                   table, or zero. The value of zero is used to
                   indicate that no entry exists in the alarm log."
       ::= { snmpAlarmGlobals 3 }

   snmpAlarmLogLastIndex OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The index of the youngest entry in the alarm log
                   table, or zero. The value of zero is used to
                   indicate that no entry exists in the alarm log."
       ::= { snmpAlarmGlobals 4 }

   snmpAlarmGenNotify OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION "The controls whether or not notification
                   snmpAlarmStatusChange may be generated. The
                   values are:
                     true(1)...notifications may be generated
                     false(2)..notifications may not be generated"
       ::= { snmpAlarmGlobals 5 }

   -- ITU extension
   snmpItuAlarmGenNotify OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION "The controls whether or not notification
                   snmpItuAlarmStatusChange may be generated.
                   The values are:
                     true(1)...notifications may be generated

Perkins                    Standards Track                   [Page 10]


Internet-Draft              SNMP Alarm MIB                  March 2001

                     false(2)..notifications may not be generated

                   Note: if this is enabled, then most likely
                   generation of notification snmpAlarmStatusChange
                   should be disabled."
       ::= { snmpAlarmGlobals 6 }


   snmpAlarmCurrTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpAlarmCurrEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A table listing all the current 'alarms'. An
                   alarm indicates a persistent fault condition
                   in a software or hardware component or sub-system
                   that is intended to be operating. An alarm is
                   cleared by 'fixing' the fault condition or
                   administratively disabling the alarm."
       ::= { snmpAlarmObjects 2 }

   snmpAlarmCurrEntry OBJECT-TYPE
       SYNTAX      SnmpAlarmCurrEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A row in the table of current alarms. Rows cannot
                   be created or deleted via SNMP operations."
       INDEX       { snmpAlarmCurrIndex }
       ::= { snmpAlarmCurrTable 1 }

   SnmpAlarmCurrEntry ::= SEQUENCE {
       snmpAlarmCurrIndex             Unsigned32,
       snmpAlarmCurrOccurDateAndTime  OptDateAndTime,
       snmpAlarmCurrOccurUpTime       TimeStamp,
       snmpAlarmCurrType              SnmpAlarmType,
       snmpAlarmCurrId                Unsigned32,
       snmpAlarmCurrContextName       SnmpAdminString,
       snmpAlarmCurrVarBinds          Gauge32
       }

   snmpAlarmCurrIndex OBJECT-TYPE
       SYNTAX      Unsigned32(1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "An arbitrary index of the alarm in the current
                   alarm table. The index for an existing entry is
                   not affected when a entry is added or removed from
                   the table. Index values may be cycled to the max
                   before reuse or follow any implementation specific
                   reuse strategy."
       ::= { snmpAlarmCurrEntry 1 }


Perkins                    Standards Track                   [Page 11]


Internet-Draft              SNMP Alarm MIB                  March 2001

   snmpAlarmCurrOccurDateAndTime OBJECT-TYPE
       SYNTAX      OptDateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The local date and time when the alarm was set,
                   or a zero length string. The value is a zero
                   length string when the local time cannot be
                   determined."
       ::= { snmpAlarmCurrEntry 2 }

   snmpAlarmCurrOccurUpTime OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The value of sysUpTime when the alarm was set
                   or zero. The value is zero when the alarm occurred
                   before the most recent reset of the management
                   system."
       ::= { snmpAlarmCurrEntry 3 }

   snmpAlarmCurrType OBJECT-TYPE
       SYNTAX      SnmpAlarmType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The type of the alarm."
       ::= { snmpAlarmCurrEntry 4 }

   snmpAlarmCurrId OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The ID of the alarm. No two active alarms
                   may have the same value. This value is used
                   in matching the set and clear entries in
                   the alarm log."
       ::= { snmpAlarmCurrEntry 5 }

   snmpAlarmCurrContextName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(0..32))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The context in which the alarm occurred."
       ::= { snmpAlarmCurrEntry 6 }

   snmpAlarmCurrVarBinds OBJECT-TYPE
       SYNTAX      Gauge32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The number of varBinds associated with the
                   alarm. The count is usually at least one,
                   with at least one varBind identifying

Perkins                    Standards Track                   [Page 12]


Internet-Draft              SNMP Alarm MIB                  March 2001

                   the source of the alarm."
       ::= { snmpAlarmCurrEntry 7 }


   snmpAlarmCurrVarBindTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpAlarmCurrVarBindEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A table of varBinds (pairs of variable and value)
                   that sparse extends the rows in table
                   snmpAlarmCurrTable. That is, for each row in table
                   snmpAlarmCurrTable, there is zero, one, or more
                   associated rows in this table. The value of object
                   snmpAlarmCurrVarBinds specifies the number of rows
                   in this table."
         ::= { snmpAlarmObjects 3 }

   snmpAlarmCurrVarBindEntry OBJECT-TYPE
       SYNTAX      SnmpAlarmCurrVarBindEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A row in the table of varBinds for current
                   alarms. Rows cannot be created or deleted via
                   SNMP operations."
       INDEX       { snmpAlarmCurrIndex,
                     snmpAlarmCurrVarBindIndex }
       ::= { snmpAlarmCurrVarBindTable 1 }

   SnmpAlarmCurrVarBindEntry ::= SEQUENCE {
       snmpAlarmCurrVarBindIndex   Unsigned32,
       snmpAlarmCurrVarBindId      VariablePointer,
       snmpAlarmCurrVarBindVal     SnmpValUnion
       }

   snmpAlarmCurrVarBindIndex OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "The index of the varBind. The value is between
                   one and the value of the associated object
                   snmpAlarmCurrVarBinds."
       ::= { snmpAlarmCurrVarBindEntry 1 }

   snmpAlarmCurrVarBindId OBJECT-TYPE
       SYNTAX      VariablePointer
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The ID of the object instance."
         ::= { snmpAlarmCurrVarBindEntry 2 }

   snmpAlarmCurrVarBindVal OBJECT-TYPE

Perkins                    Standards Track                   [Page 13]


Internet-Draft              SNMP Alarm MIB                  March 2001

       SYNTAX      SnmpValUnion
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The value of the object instance."
       ::= { snmpAlarmCurrVarBindEntry 3 }


   snmpAlarmLogTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpAlarmLogEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A table containing a log of when each 'alarm'
                   has been 'set' or 'cleared'. An alarm indicates
                   a persistent fault condition in a software or
                   hardware component or sub-system that is intended
                   to be operating. An alarm is cleared by 'fixing'
                   the fault condition or administratively disabling
                   the alarm.

                   The alarm log operates like a circular buffer.
                   The index of the oldest entry is specified by
                   object snmpAlarmLogFirstIndex and the index
                   of the youngest entry is specified by object
                   tbtSystemAlarmLogLastIndex.

                   The alarm log may be preserved in part or in
                   total across restarts of a management system.
                   The last few entries SHOULD be saved to assist
                   in determining the cause of an unplanned
                   restart."
       ::= { snmpAlarmObjects 4 }

   snmpAlarmLogEntry OBJECT-TYPE
       SYNTAX      SnmpAlarmLogEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A row in the alarm log table. Rows cannot
                   be created or deleted via SNMP operations."
       INDEX       { snmpAlarmLogIndex }
       ::= { snmpAlarmLogTable 1 }

   SnmpAlarmLogEntry ::= SEQUENCE {
       snmpAlarmLogIndex            Unsigned32,
       snmpAlarmLogCond             SnmpAlarmCond,
       snmpAlarmLogOccurDateAndTime OptDateAndTime,
       snmpAlarmLogOccurUpTime      TimeStamp,
       snmpAlarmLogType             SnmpAlarmType,
       snmpAlarmLogId               Unsigned32,
       snmpAlarmLogContextName      SnmpAdminString,
       snmpAlarmLogVarBinds         Gauge32
       }

Perkins                    Standards Track                   [Page 14]


Internet-Draft              SNMP Alarm MIB                  March 2001


   snmpAlarmLogIndex OBJECT-TYPE
       SYNTAX      Unsigned32(1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "An index of the alarm in the alarm log table. The
                   index is increased by one for each new entry in the
                   table until the maximum value is reach and then the
                   index restarts at 1. The index of the oldest entry
                   is specified by object snmpAlarmLogFirstIndex and
                   index of the youngest entry is specified by object
                   snmpAlarmLogLastIndex."
       ::= { snmpAlarmLogEntry 1 }

   snmpAlarmLogCond OBJECT-TYPE
       SYNTAX      SnmpAlarmCond
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "Indicates if the log entry is due to the alarm
                   Being set (raised) or being cleared."
       ::= { snmpAlarmLogEntry 2 }

   snmpAlarmLogOccurDateAndTime OBJECT-TYPE
       SYNTAX      OptDateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The local date and time when the alarm was set
                   or clear, or a zero length string. The value is a
                   zero length string when the local time cannot be
                   determined."
       ::= { snmpAlarmLogEntry 3 }

   snmpAlarmLogOccurUpTime OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The value of sysUpTime when the alarm was set or
                   cleared, or zero. The value is zero when the alarm
                   was set or cleared before the most recent reset of
                   the management system."
       ::= { snmpAlarmLogEntry 4 }

   snmpAlarmLogType OBJECT-TYPE
       SYNTAX      SnmpAlarmType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The type of the alarm."
       ::= { snmpAlarmLogEntry 5 }

   snmpAlarmLogId OBJECT-TYPE
       SYNTAX      Unsigned32

Perkins                    Standards Track                   [Page 15]


Internet-Draft              SNMP Alarm MIB                  March 2001

       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The ID of the alarm. Each alarm that is set
                   is assigned a unique ID among active alarms.
                   That is, no two active alarms may have the
                   same value. This value is used in matching
                   the set and clear entries in this log.
                   Note: alarms may be cleared and not recorded
                   across restarts of the management system.
                   Thus, additional checks must be performed
                   to match set and clear entries in the
                   log that occur on opposite sides of a
                   restart."
       ::= { snmpAlarmLogEntry 6 }

   snmpAlarmLogContextName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(0..32))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The context in which the alarm occurred."
       ::= { snmpAlarmLogEntry 7 }

   snmpAlarmLogVarBinds OBJECT-TYPE
       SYNTAX      Gauge32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The number of varBinds associated with the
                   alarm. The count is usually at least one,
                   with at least one varBind identifying
                   the source of the alarm."
       ::= { snmpAlarmLogEntry 8 }


   snmpAlarmLogVarBindTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpAlarmLogVarBindEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A table of varBinds (pairs of variable and value)
                   that sparse extends the rows in table
                   snmpAlarmLogTable. That is, for each row in table
                   snmpAlarmLogTable, there is zero, one, or more
                   associated rows in this table. The value of object
                   snmpAlarmLogVarBinds specifies the number of rows
                   in this table."
         ::= { snmpAlarmObjects 5 }

   snmpAlarmLogVarBindEntry OBJECT-TYPE
       SYNTAX      SnmpAlarmLogVarBindEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A row in the table of varBinds for the alarm

Perkins                    Standards Track                   [Page 16]


Internet-Draft              SNMP Alarm MIB                  March 2001

                   log. Rows cannot be created or deleted via
                   SNMP operations."
       INDEX       { snmpAlarmLogIndex,
                     snmpAlarmLogVarBindIndex }
       ::= { snmpAlarmLogVarBindTable 1 }

   SnmpAlarmLogVarBindEntry ::= SEQUENCE {
       snmpAlarmLogVarBindIndex   Unsigned32,
       snmpAlarmLogVarBindId      VariablePointer,
       snmpAlarmLogVarBindVal     SnmpValUnion
       }

   snmpAlarmLogVarBindIndex OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "The index of the varBind. The value is between
                   one and the value of the associated object
                   snmpAlarmLogVarBinds."
       ::= { snmpAlarmLogVarBindEntry 1 }

   snmpAlarmLogVarBindId OBJECT-TYPE
       SYNTAX      VariablePointer
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The ID of the object instance."
         ::= { snmpAlarmLogVarBindEntry 2 }

   snmpAlarmLogVarBindVal OBJECT-TYPE
       SYNTAX      SnmpValUnion
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The value of the object instance."
       ::= { snmpAlarmLogVarBindEntry 3 }


   -- ITU-T extensions
   SnmpItuAlarmClass ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION "The class of alarm as specified in
                   [X.733] and [X.736].
                   <expand this>"
       SYNTAX   INTEGER {
                   other (1),
                   communicationsAlarm (2),
                   qualityOfServiceAlarm (3),
                   processingErrorAlarm (4),
                   equipmentAlarm (5),
                   environmentalAlarm (6),
                   integrityViolation (7),
                   operationalViolation (8),

Perkins                    Standards Track                   [Page 17]


Internet-Draft              SNMP Alarm MIB                  March 2001

                   physicalViolation (9),
                   securityServiceOrMechanismViolation (10),
                   timeDomainViolation (11)
                   }

   SnmpItuAlarmProbCause ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION "The probable cause of the alarm as
                   specified in [X.733] and [X.736].
                   <expand this>"
       SYNTAX      INTEGER {
                   other (1),
                   adapterError (2),
                   applicationSubsystemFailure (3),
                   bandwidthReduced (4),
                   callEstablishmentError (5),
                   communicationsProtocolError (6),
                   communicationsSubsystemFailure (7),
                   configurationOrCustomizationError (8),
                   congestion (9),
                   corruptData (10),
                   cpuCyclesLimitExceeded (11),
                   dataSetOrModemError (12),
                   degradedSignal (13),
                   dteDceInterfaceError (14),
                   enclosureDoorOpen (15),
                   equipmentMalfunction (16),
                   excessiveVibration (17),
                   fileError (18),
                   fireDetected (19),
                   floodDetected (20),
                   framingError (21),
                   heatingVentCoolingSystemProblem (22),
                   humidityUnacceptable (23),
                   inputOutputDeviceError (24),
                   inputDeviceError (25),
                   lanError (26),
                   leakDetected (27),
                   localNodeTransmissionError (28),
                   lossOfFrame (29),
                   lossOfSignal (30),
                   materialSupplyExhausted (31),
                   multiplexerProblem (32),
                   outOfMemory (33),
                   ouputDeviceError (34),
                   performanceDegraded (35),
                   powerProblem (36),
                   pressureUnacceptable (37),
                   processorProblem (38),
                   pumpFailure (39),
                   queueSizeExceeded (40),

Perkins                    Standards Track                   [Page 18]


Internet-Draft              SNMP Alarm MIB                  March 2001

                   receiveFailure (41),
                   receiverFailure (42),
                   remoteNodeTransmissionError (43),
                   resourceAtOrNearingCapacity (44),
                   responseTimeExecessive (45),
                   retransmissionRateExcessive (46),
                   softwareError (47),
                   softwareProgramAbnormallyTerminated (48),
                   softwareProgramError (49),
                   storageCapacityProblem (50),
                   temperatureUnacceptable (51),
                   thresholdCrossed (52),
                   timingProblem (53),
                   toxicLeakDetected (54),
                   transmitFailure (55),
                   transmitterFailure (56),
                   underlyingResourceUnavailable (57),
                   versionMismatch (58),
                   authenticationFailure (59),
                   breachOfConfidentiality (60),
                   cableTamper (61),
                   delayedInformation (62),
                   denialOfService (63),
                   duplicateInformation (64),
                   informationMissing (65),
                   informationModificationDetected (66),
                   informationOutOfSequence (67),
                   intrusionDetection (68),
                   keyExpired (69),
                   nonRepudiationFailure (70),
                   outOfHoursActivity (71),
                   outOfService (72),
                   proceduralError (73),
                   unauthorizedAccessAttempt (74),
                   unexpectedInformation (75)
                   }

   SnmpItuAlarmPercSeverity ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION "The perceived severity of the alarm as
                   specified in [X.733] and [X.736].
                   <expand this>"
       SYNTAX      INTEGER {
                   indeterminate (2),
                   critical (3),
                   major (4),
                   minor (5),
                   warning (6)
                   }

   SnmpItuAlarmTrendInd ::= TEXTUAL-CONVENTION

Perkins                    Standards Track                   [Page 19]


Internet-Draft              SNMP Alarm MIB                  March 2001

       STATUS      current
       DESCRIPTION "The trend indication of the alarm as
                   specified in [X.733].
                   <expand this>"
       SYNTAX      INTEGER {
                   moreSevere (1),
                   noChange (2),
                   lessSevere (3)
                   }


   snmpItuAlarmCurrTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpItuAlarmCurrEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A table augmenting the current alarm table
                   (snmpAlarmCurrTable) with additional information
                   from the ITU-T alarm model."
       ::= { snmpAlarmObjects 6 }

   snmpItuAlarmCurrEntry OBJECT-TYPE
       SYNTAX      SnmpItuAlarmCurrEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A row in the table of ITU-T current alarms. Rows
                   cannot be created or deleted via SNMP operations."
       AUGMENTS    { snmpAlarmCurrEntry }
       ::= { snmpItuAlarmCurrTable 1 }

   SnmpItuAlarmCurrEntry ::= SEQUENCE {
       snmpItuAlarmCurrClass         SnmpItuAlarmClass,
       snmpItuAlarmCurrProbCause     SnmpItuAlarmProbCause,
       snmpItuAlarmCurrPercSeverity  SnmpItuAlarmPercSeverity,
       snmpItuAlarmCurrAdditText     SnmpAdminString,
       snmpItuAlarmCurrTrendInd      SnmpItuAlarmTrendInd,
       snmpItuAlarmCurrDetector      AutonomousType,
       snmpItuAlarmCurrServiceProvider AutonomousType,
       snmpItuAlarmCurrServiceUser   AutonomousType
       }

   snmpItuAlarmCurrClass OBJECT-TYPE
       SYNTAX      SnmpItuAlarmClass
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The class of the alarm as specified in
                   [X.733] and [X.736].
                   <expand this>"
       ::= { snmpItuAlarmCurrEntry 1 }

   snmpItuAlarmCurrProbCause OBJECT-TYPE
       SYNTAX      SnmpItuAlarmProbCause

Perkins                    Standards Track                   [Page 20]


Internet-Draft              SNMP Alarm MIB                  March 2001

       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The probable cause of the alarm as
                   specified in [X.733] and [X.736].
                   <expand this>"
       ::= { snmpItuAlarmCurrEntry 2 }

   snmpItuAlarmCurrPercSeverity OBJECT-TYPE
       SYNTAX      SnmpItuAlarmPercSeverity
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The perceived severity of the alarm as
                   specified in [X.733] and [X.736].
                   <expand this>"
       ::= { snmpItuAlarmCurrEntry 3 }

   snmpItuAlarmCurrAdditText OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The additional text field of the alarm as
                   specified in [X.733].
                   <expand this>"
       ::= { snmpItuAlarmCurrEntry 4 }

   snmpItuAlarmCurrTrendInd OBJECT-TYPE
       SYNTAX      SnmpItuAlarmTrendInd
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The trend indication of the alarm as
                   specified in [X.733].
                   <expand this>"
       ::= { snmpItuAlarmCurrEntry 5 }

   -- more investigation is needed for the following objects
   snmpItuAlarmCurrDetector OBJECT-TYPE
       SYNTAX      AutonomousType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The SecurityAlarmDetector object from [X.736].
                   <expand this>"
       ::= { snmpItuAlarmCurrEntry 6 }

   snmpItuAlarmCurrServiceProvider OBJECT-TYPE
       SYNTAX      AutonomousType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The ServiceProvider object from [X.736].
                   <expand this>"
       ::= { snmpItuAlarmCurrEntry 7 }


Perkins                    Standards Track                   [Page 21]


Internet-Draft              SNMP Alarm MIB                  March 2001

   snmpItuAlarmCurrServiceUser OBJECT-TYPE
       SYNTAX      AutonomousType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The SericeUser object from [X.736].
                   <expand this>"
       ::= { snmpItuAlarmCurrEntry 8 }

   snmpItuAlarmLogTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpItuAlarmLogEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A table augmenting the alarm log table
                   (snmpAlarmLogTable) with additional information
                   from the ITU-T alarm model."
       ::= { snmpAlarmObjects 7 }

   snmpItuAlarmLogEntry OBJECT-TYPE
       SYNTAX      SnmpItuAlarmLogEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "A row in the ITU-T alarm log table. Rows cannot
                   be created or deleted via SNMP operations."
       AUGMENTS    { snmpAlarmLogEntry }
       ::= { snmpItuAlarmLogTable 1 }

   SnmpItuAlarmLogEntry ::= SEQUENCE {
       snmpItuAlarmLogClass         SnmpItuAlarmClass,
       snmpItuAlarmLogProbCause     SnmpItuAlarmProbCause,
       snmpItuAlarmLogPercSeverity  SnmpItuAlarmPercSeverity,
       snmpItuAlarmLogAdditText     SnmpAdminString,
       snmpItuAlarmLogTrendInd      SnmpItuAlarmTrendInd,
       snmpItuAlarmLogDetector      AutonomousType,
       snmpItuAlarmLogServiceProvider AutonomousType,
       snmpItuAlarmLogServiceUser   AutonomousType
       }

   snmpItuAlarmLogClass OBJECT-TYPE
       SYNTAX      SnmpItuAlarmClass
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The class of the alarm as specified in
                   [X.733] and [X.736].
                   <expand this>"
       ::= { snmpItuAlarmLogEntry 1 }

   snmpItuAlarmLogProbCause OBJECT-TYPE
       SYNTAX      SnmpItuAlarmProbCause
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The probable cause of the alarm as

Perkins                    Standards Track                   [Page 22]


Internet-Draft              SNMP Alarm MIB                  March 2001

                   specified in [X.733] and [X.736].
                   <expand this>"
       ::= { snmpItuAlarmLogEntry 2 }

   snmpItuAlarmLogPercSeverity OBJECT-TYPE
       SYNTAX      SnmpItuAlarmPercSeverity
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The perceived severity of the alarm as
                   specified in [X.733] and [X.736].
                   <expand this>"
       ::= { snmpItuAlarmLogEntry 3 }

   snmpItuAlarmLogAdditText OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The additional text field of the alarm as
                   specified in [X.733].
                   <expand this>"
       ::= { snmpItuAlarmLogEntry 4 }

   snmpItuAlarmLogTrendInd OBJECT-TYPE
       SYNTAX      SnmpItuAlarmTrendInd
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The trend indication of the alarm as
                   specified in [X.733].
                   <expand this>"
       ::= { snmpItuAlarmLogEntry 5 }

   -- more investigation is needed for the following objects
   snmpItuAlarmLogDetector OBJECT-TYPE
       SYNTAX      AutonomousType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The SecurityAlarmDetector object from [X.736].
                   <expand this>"
       ::= { snmpItuAlarmLogEntry 6 }

   snmpItuAlarmLogServiceProvider OBJECT-TYPE
       SYNTAX      AutonomousType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The ServiceProvider object from [X.736].
                   <expand this>"
       ::= { snmpItuAlarmLogEntry 7 }

   snmpItuAlarmLogServiceUser OBJECT-TYPE
       SYNTAX      AutonomousType
       MAX-ACCESS  read-only

Perkins                    Standards Track                   [Page 23]


Internet-Draft              SNMP Alarm MIB                  March 2001

       STATUS      current
       DESCRIPTION "The SericeUser object from [X.736].
                   <expand this>"
       ::= { snmpItuAlarmLogEntry 8 }


   -- notifications

   snmpAlarmStatusChange NOTIFICATION-TYPE
       OBJECTS     { snmpAlarmLogCond,
                     snmpAlarmLogOccurDateAndTime,
                     snmpAlarmLogOccurUpTime,
                     snmpAlarmLogId,
                     snmpAlarmLogVarBinds }
       STATUS      current
       DESCRIPTION "An entry has been added to the alarm log
                   table. That is, an alarm has been set or cleared.
                   The objects all have the same instance, which is
                   the row in the alarm log, and the objects are:
                     snmpAlarmLogCond....alarm condition, either
                         set or clear
                     snmpAlarmLogOccurDateAndTime...date/time the
                         alarm log entry created
                     snmpAlarmLogOccurUpTime...timestamp the alarm
                         log entry created
                     snmpAlarmLogId....the ID of the alarm
                     snmpAlarmLogVarBinds....the number of varBinds
                         associated with the alarm

                   Note 1: after these varBinds, the associated
                   varBinds, if any, from table
                   snmpAlarmLogVarBindTable must be specified in the
                   varBind list for the notification.

                   Note 2: object snmpAlarmGenNotify controls
                   if or if not this notification may be generated."
       ::= { snmpAlarmNotifications 0 1 }

   snmpItuAlarmStatusChange NOTIFICATION-TYPE
       OBJECTS     { snmpAlarmLogCond,
                     snmpAlarmLogOccurDateAndTime,
                     snmpAlarmLogOccurUpTime,
                     snmpAlarmLogId,
                     snmpAlarmLogVarBinds,
                     snmpItuAlarmLogClass,
                     snmpItuAlarmLogProbCause,
                     snmpItuAlarmLogPercSeverity,
                     snmpItuAlarmLogAdditText,
                     snmpItuAlarmLogTrendInd,
                     snmpItuAlarmLogDetector,
                     snmpItuAlarmLogServiceProvider,

Perkins                    Standards Track                   [Page 24]


Internet-Draft              SNMP Alarm MIB                  March 2001

                     snmpItuAlarmLogServiceUser }
       STATUS      current
       DESCRIPTION "An entry has been added to the alarm log
                   table and the ITU extensions are supported.
                   That is, an alarm has been set or cleared.
                   The objects all have the same instance, which is
                   the row in the alarm log, and the objects are:
                     snmpAlarmLogCond....alarm condition, either
                         set or clear
                     snmpAlarmLogOccurDateAndTime...date/time the
                         alarm log entry created
                     snmpAlarmLogOccurUpTime...timestamp the alarm
                         log entry created
                     snmpAlarmLogId....the ID of the alarm
                     snmpAlarmLogVarBinds....the number of varBinds
                         associated with the alarm
                      <finish this>
                     snmpItuAlarmLogClass...
                     snmpItuAlarmLogProbCause...
                     snmpItuAlarmLogPercSeverity...
                     snmpItuAlarmLogAdditText...
                     snmpItuAlarmLogTrendInd...
                     snmpItuAlarmLogDetector...
                     snmpItuAlarmLogServiceProvider...
                     snmpItuAlarmLogServiceUser...

                   Note 1: after these varBinds, the associated
                   varBinds, if any, from table
                   snmpAlarmLogVarBindTable must be specified in the
                   varBind list for the notification.

                   Note 2: object snmpItuAlarmGenNotify controls
                   if or if not this notification may be generated."
       ::= { snmpAlarmNotifications 0 2 }


   -- Conformance

   snmpAlarmCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
              "The compliance statement for systems supporting
              the SNMP alarms."
       MODULE -- this module
           MANDATORY-GROUPS { snmpAlarmGblGroup,
                              snmpAlarmCurrGroup,
                              snmpAlarmLogGroup,
                              snmpAlarmNotifyGroup }
       ::= { snmpAlarmCompliances 1 }

   snmpItuAlarmCompliance MODULE-COMPLIANCE

Perkins                    Standards Track                   [Page 25]


Internet-Draft              SNMP Alarm MIB                  March 2001

       STATUS  current
       DESCRIPTION
              "The compliance statement for systems supporting
              the ITU-T extension to SNMP alarms."
       MODULE -- this module
           MANDATORY-GROUPS { snmpAlarmGblGroup,
                              snmpAlarmCurrGroup,
                              snmpAlarmLogGroup,
                              snmpAlarmNotifyGroup,
                              snmpItuAlarmGblGroup,
                              snmpItuAlarmCurrGroup,
                              snmpItuAlarmLogGroup,
                              snmpItuAlarmNotifyGroup }
       ::= { snmpAlarmCompliances 2 }



   snmpAlarmGblGroup OBJECT-GROUP
       OBJECTS     { snmpAlarmCurrEntries,
                     snmpAlarmLastChange,
                     snmpAlarmLogFirstIndex,
                     snmpAlarmLogLastIndex,
                     snmpAlarmGenNotify }
       STATUS      current
       DESCRIPTION "Global objects for managing SNMP alarms."
       ::= { snmpAlarmGroups 1 }

   snmpAlarmCurrGroup OBJECT-GROUP
       OBJECTS     { snmpAlarmCurrOccurDateAndTime,
                     snmpAlarmCurrOccurUpTime,
                     snmpAlarmCurrType,
                     snmpAlarmCurrId,
                     snmpAlarmCurrContextName,
                     snmpAlarmCurrVarBinds,
                     snmpAlarmCurrVarBindId,
                     snmpAlarmCurrVarBindVal }
       STATUS      current
       DESCRIPTION "Objects in the SNMP current alarm and
                   current varBind tables."
       ::= { snmpAlarmGroups 2 }

   snmpAlarmLogGroup OBJECT-GROUP
       OBJECTS     { snmpAlarmLogCond,
                     snmpAlarmLogOccurDateAndTime,
                     snmpAlarmLogOccurUpTime,
                     snmpAlarmLogType,
                     snmpAlarmLogId,
                     snmpAlarmLogContextName,
                     snmpAlarmLogVarBinds,
                     snmpAlarmLogVarBindId,
                     snmpAlarmLogVarBindVal }

Perkins                    Standards Track                   [Page 26]


Internet-Draft              SNMP Alarm MIB                  March 2001

       STATUS      current
       DESCRIPTION "Objects in the SNMP alarm log and
                   log varBind tables."
       ::= { snmpAlarmGroups 3 }

   snmpAlarmNotifyGroup NOTIFICATION-GROUP
       NOTIFICATIONS { snmpAlarmStatusChange }
       STATUS      current
       DESCRIPTION "Notifications for SNMP alarms."
       ::= { snmpAlarmGroups 4 }

   snmpItuAlarmGblGroup OBJECT-GROUP
       OBJECTS     { snmpItuAlarmGenNotify }
       STATUS      current
       DESCRIPTION "Global objects for managing ITU-T
                   extensions to SNMP alarms."
       ::= { snmpAlarmGroups 5 }

   snmpItuAlarmCurrGroup OBJECT-GROUP
       OBJECTS     { snmpItuAlarmCurrClass,
                     snmpItuAlarmCurrProbCause,
                     snmpItuAlarmCurrPercSeverity,
                     snmpItuAlarmCurrAdditText,
                     snmpItuAlarmCurrTrendInd,
                     snmpItuAlarmCurrDetector,
                     snmpItuAlarmCurrServiceProvider,
                     snmpItuAlarmCurrServiceUser }
       STATUS      current
       DESCRIPTION "Objects in the ITU-T extension to the
                   SNMP current alarm and current varBind
                   tables."
       ::= { snmpAlarmGroups 6 }

   snmpItuAlarmLogGroup OBJECT-GROUP
       OBJECTS     { snmpItuAlarmLogClass,
                     snmpItuAlarmLogProbCause,
                     snmpItuAlarmLogPercSeverity,
                     snmpItuAlarmLogAdditText,
                     snmpItuAlarmLogTrendInd,
                     snmpItuAlarmLogDetector,
                     snmpItuAlarmLogServiceProvider,
                     snmpItuAlarmLogServiceUser }
       STATUS      current
       DESCRIPTION "Objects in the ITU-T extension to the
                   SNMP alarm log and log varBind tables."
       ::= { snmpAlarmGroups 7 }

   snmpItuAlarmNotifyGroup NOTIFICATION-GROUP
       NOTIFICATIONS { snmpItuAlarmStatusChange }
       STATUS      current
       DESCRIPTION "Notifications for ITU-T extension to SNMP alarms."

Perkins                    Standards Track                   [Page 27]


Internet-Draft              SNMP Alarm MIB                  March 2001

       ::= { snmpAlarmGroups 8 }


   END



6.  Examples

   <later>


7.  Security Considerations


   There are a number of management objects defined in this MIB that
   have a MAX-ACCESS clause of read-write and/or read-create. Such
   objects may be considered sensitive or vulnerable in some network
   environments.  The support for SET operations in a non-secure
   environment without proper protection can have a negative effect on
   network operations.

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

   It is recommended that the implementers consider the security
   features as provided by the SNMPv3 framework.  Specifically, the use
   of the User-based Security Model RFC 2574 [RFC2574] and the
   View-based Access Control Model RFC 2575 [RFC2575] is recommended.

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB, is properly
   configured to give access to the objects only to those principals
   (users) that have legitimate rights to indeed GET or SET
   (change/create/delete) them.


8.  Author's Address

   David T. Perkins
   SNMPinfo
   3663 Benton Street
   Santa Clara, CA 95051
   Phone: +1 408 394-8702
   Email: dperkins@dsperkins.com


9.  Acknowledgements


Perkins                    Standards Track                   [Page 28]


Internet-Draft              SNMP Alarm MIB                  March 2001

   This document is a product of the DISMAN Working Group.
   ...


10. References

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

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

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

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

   [X.733]    <finish this>

   [X.736] ]  <finish this>


11. Full Copyright Statement


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

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

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



Perkins                    Standards Track                   [Page 29]


Internet-Draft              SNMP Alarm MIB                  March 2001

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

   1  RFC 2119 Bradner, S., "Key words for use in RFCs to Indicate
      Requirement Levels", BCP 14, RFC 2119, March 1997











































Perkins                    Standards Track                   [Page 30]