SNMPv2-M2M-MIB DEFINITIONS ::= BEGIN

          IMPORTS
              MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
              Integer32, Counter32, snmpModules
                  FROM SNMPv2-SMI
              DisplayString, InstancePointer, RowStatus, TimeStamp
                  FROM SNMPv2-TC
              MODULE-COMPLIANCE, OBJECT-GROUP
                  FROM SNMPv2-CONF
              contextIdentity
                  FROM SNMPv2-PARTY-MIB;

          snmpM2M MODULE-IDENTITY
              LAST-UPDATED "9304010000Z"
              ORGANIZATION "IETF SNMPv2 Working Group"
              CONTACT-INFO
                      "        Steven Waldbusser

                       Postal: Carnegie Mellon University
                               4910 Forbes Ave
                               Pittsburgh, PA  15213

                          Tel: +1 412 268 6628
                          Fax: +1 412 268 4987

                       E-mail: waldbusser@cmu.edu"
              ::= { snmpModules 2 }

          snmpM2MObjects OBJECT IDENTIFIER ::= { snmpM2M 1 }



          snmpAlarm      OBJECT IDENTIFIER ::= { snmpM2MObjects 1 }



          snmpAlarmNextIndex OBJECT-TYPE
              SYNTAX     INTEGER (0..65535)
              MAX-ACCESS read-only
              STATUS     current
              ::= { snmpAlarm 1 }

          snmpAlarmTable OBJECT-TYPE
              SYNTAX     SEQUENCE OF SnmpAlarmEntry
              MAX-ACCESS not-accessible
              STATUS     current
              ::= { snmpAlarm 2 }

          snmpAlarmEntry OBJECT-TYPE
              SYNTAX     SnmpAlarmEntry
              MAX-ACCESS not-accessible
              STATUS     current
              INDEX      { contextIdentity, snmpAlarmIndex }
              ::= { snmpAlarmTable 1 }


          SnmpAlarmEntry ::= SEQUENCE {
              snmpAlarmIndex                    INTEGER,
              snmpAlarmVariable                 InstancePointer,
              snmpAlarmInterval                 Integer32,
              snmpAlarmSampleType               INTEGER,
              snmpAlarmValue                    Integer32,
              snmpAlarmStartupAlarm             INTEGER,
              snmpAlarmRisingThreshold          Integer32,
              snmpAlarmFallingThreshold         Integer32,
              snmpAlarmRisingEventIndex         INTEGER,
              snmpAlarmFallingEventIndex        INTEGER,
              snmpAlarmUnavailableEventIndex    INTEGER,
              snmpAlarmStatus                   RowStatus
          }

          snmpAlarmIndex OBJECT-TYPE
              SYNTAX     INTEGER (1..65535)
              MAX-ACCESS not-accessible
              STATUS     current
              ::= { snmpAlarmEntry 1 }


          snmpAlarmVariable OBJECT-TYPE
              SYNTAX     InstancePointer
              MAX-ACCESS read-create
              STATUS     current


              ::= { snmpAlarmEntry 2 }

          snmpAlarmInterval OBJECT-TYPE
              SYNTAX     Integer32
              UNITS      "seconds"
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpAlarmEntry 3 }


          snmpAlarmSampleType OBJECT-TYPE
              SYNTAX     INTEGER {
                             absoluteValue(1),
                             deltaValue(2)
                         }
              MAX-ACCESS read-create
              STATUS     current
              DEFVAL { deltaValue }
              ::= { snmpAlarmEntry 4 }


          snmpAlarmValue OBJECT-TYPE
              SYNTAX     Integer32
              MAX-ACCESS read-only
              STATUS     current
              ::= { snmpAlarmEntry 5 }


          snmpAlarmStartupAlarm OBJECT-TYPE
              SYNTAX     INTEGER {
                             risingAlarm(1),
                             fallingAlarm(2),
                             risingOrFallingAlarm(3)
                         }
              MAX-ACCESS read-create
              STATUS     current
              DEFVAL { risingOrFallingAlarm }
              ::= { snmpAlarmEntry 6 }


          snmpAlarmRisingThreshold OBJECT-TYPE
              SYNTAX     Integer32
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpAlarmEntry 7 }


          snmpAlarmFallingThreshold OBJECT-TYPE
              SYNTAX     Integer32
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpAlarmEntry 8 }


          snmpAlarmRisingEventIndex OBJECT-TYPE
              SYNTAX     INTEGER (0..65535)
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpAlarmEntry 9 }


          snmpAlarmFallingEventIndex OBJECT-TYPE
              SYNTAX     INTEGER (0..65535)
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpAlarmEntry 10 }

          snmpAlarmUnavailableEventIndex OBJECT-TYPE
              SYNTAX     INTEGER (0..65535)
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpAlarmEntry 11 }


          snmpAlarmStatus OBJECT-TYPE
              SYNTAX     RowStatus
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpAlarmEntry 12 }



          snmpAlarmNotifications
                         OBJECT IDENTIFIER ::= { snmpAlarm 3 }

          snmpRisingAlarm NOTIFICATION-TYPE
              OBJECTS { snmpAlarmVariable, snmpAlarmSampleType,
                        snmpAlarmValue, snmpAlarmRisingThreshold }
              STATUS  current
              ::= { snmpAlarmNotifications 1 }

          snmpFallingAlarm NOTIFICATION-TYPE
              OBJECTS { snmpAlarmVariable, snmpAlarmSampleType,
                        snmpAlarmValue, snmpAlarmFallingThreshold }
              STATUS  current
              ::= { snmpAlarmNotifications 2 }

          snmpObjectUnavailableAlarm NOTIFICATION-TYPE
              OBJECTS { snmpAlarmVariable }
              STATUS  current
              ::= { snmpAlarmNotifications 3 }



          snmpEvent      OBJECT IDENTIFIER ::= { snmpM2MObjects 2 }


          snmpEventNextIndex OBJECT-TYPE
              SYNTAX     INTEGER (0..65535)
              MAX-ACCESS read-only
              STATUS     current
              ::= { snmpEvent 1 }


          snmpEventTable OBJECT-TYPE
              SYNTAX     SEQUENCE OF SnmpEventEntry
              MAX-ACCESS not-accessible
              STATUS     current
              ::= { snmpEvent 2 }

          snmpEventEntry OBJECT-TYPE
              SYNTAX     SnmpEventEntry
              MAX-ACCESS not-accessible
              STATUS     current
              INDEX      { snmpEventIndex }
              ::= { snmpEventTable 1 }

          SnmpEventEntry ::= SEQUENCE {
              snmpEventIndex          INTEGER,
              snmpEventID             OBJECT IDENTIFIER,
              snmpEventDescription    DisplayString,
              snmpEventEvents         Counter32,
              snmpEventLastTimeSent   TimeStamp,
              snmpEventStatus         RowStatus
          }

          snmpEventIndex OBJECT-TYPE
              SYNTAX     INTEGER (1..65535)
              MAX-ACCESS not-accessible
              STATUS     current
              ::= { snmpEventEntry 1 }


          snmpEventID OBJECT-TYPE
              SYNTAX     OBJECT IDENTIFIER
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpEventEntry 2 }

          snmpEventDescription OBJECT-TYPE
              SYNTAX     DisplayString (SIZE (0..127))
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpEventEntry 3 }

          snmpEventEvents OBJECT-TYPE
              SYNTAX     Counter32
              MAX-ACCESS read-only
              STATUS     current
              ::= { snmpEventEntry 4 }


          snmpEventLastTimeSent OBJECT-TYPE
              SYNTAX     TimeStamp
              MAX-ACCESS read-only
              STATUS     current
              DEFVAL { 0 }
              ::= { snmpEventEntry 5 }

          snmpEventStatus OBJECT-TYPE
              SYNTAX     RowStatus
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpEventEntry 6 }


          snmpEventNotifyMinInterval OBJECT-TYPE
              SYNTAX     Integer32
              UNITS      "seconds"
              MAX-ACCESS read-only
              STATUS     current
              ::= { snmpEvent 3 }

          snmpEventNotifyMaxRetransmissions OBJECT-TYPE
              SYNTAX     Integer32
              MAX-ACCESS read-only
              STATUS     current
              ::= { snmpEvent 4 }




          snmpEventNotifyTable OBJECT-TYPE
              SYNTAX     SEQUENCE OF SnmpEventNotifyEntry
              MAX-ACCESS not-accessible
              STATUS     current
              ::= { snmpEvent 5 }

          snmpEventNotifyEntry OBJECT-TYPE
              SYNTAX     SnmpEventNotifyEntry
              MAX-ACCESS not-accessible
              STATUS     current
              INDEX      { snmpEventIndex, contextIdentity }
              ::= { snmpEventNotifyTable 1 }

          SnmpEventNotifyEntry ::= SEQUENCE {
              snmpEventNotifyIntervalRequested        Integer32,
              snmpEventNotifyRetransmissionsRequested Integer32,
              snmpEventNotifyLifetime                 Integer32,
              snmpEventNotifyStatus                   RowStatus
          }


          snmpEventNotifyIntervalRequested OBJECT-TYPE
              SYNTAX     Integer32
              UNITS      "seconds"
              MAX-ACCESS read-create
              STATUS     current
              DEFVAL { 30 }
              ::= { snmpEventNotifyEntry 1 }

          snmpEventNotifyRetransmissionsRequested OBJECT-TYPE
              SYNTAX     Integer32
              MAX-ACCESS read-create
              STATUS     current
              DEFVAL { 5 }
              ::= { snmpEventNotifyEntry 2 }


          snmpEventNotifyLifetime OBJECT-TYPE
              SYNTAX     Integer32
              UNITS      "seconds"
              MAX-ACCESS read-create
              STATUS     current
              DEFVAL { 86400 }
              ::= { snmpEventNotifyEntry 3 }

          snmpEventNotifyStatus OBJECT-TYPE
              SYNTAX     RowStatus
              MAX-ACCESS read-create
              STATUS     current
              ::= { snmpEventNotifyEntry 4 }



          snmpM2MConformance
                         OBJECT IDENTIFIER ::= { snmpM2M 2 }

          snmpM2MCompliances
                         OBJECT IDENTIFIER ::= { snmpM2MConformance 1 }
          snmpM2MGroups  OBJECT IDENTIFIER ::= { snmpM2MConformance 2 }


          snmpM2MCompliance MODULE-COMPLIANCE
              STATUS  current
                  MANDATORY-GROUPS { snmpAlarmGroup, snmpEventGroup }
              ::= { snmpM2MCompliances 1 }


          snmpAlarmGroup OBJECT-GROUP
              OBJECTS { snmpAlarmNextIndex,
                        snmpAlarmVariable, snmpAlarmInterval,
                        snmpAlarmSampleType, snmpAlarmValue,
                        snmpAlarmStartupAlarm, snmpAlarmRisingThreshold,
                        snmpAlarmFallingThreshold,
                        snmpAlarmRisingEventIndex,
                        snmpAlarmFallingEventIndex,
                        snmpAlarmUnavailableEventIndex,
                        snmpAlarmStatus }
              STATUS  current
              ::= { snmpM2MGroups 1 }


          snmpEventGroup OBJECT-GROUP
              OBJECTS { snmpEventNextIndex,
                        snmpEventID, snmpEventDescription,
                        snmpEventEvents, snmpEventLastTimeSent,
                        snmpEventStatus, snmpEventNotifyMinInterval,
                        snmpEventNotifyMaxRetransmissions,
                        snmpEventNotifyIntervalRequested,
                        snmpEventNotifyRetransmissionsRequested,
                        snmpEventNotifyLifetime, snmpEventNotifyStatus }
              STATUS  current
              ::= { snmpM2MGroups 2 }

END
