GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:rfc1628

Network Working Group J. Case, Editor Request for Comments: 1628 SNMP Research, Incorporated Category: Standards Track May 1994

                  UPS Management Information Base

Status of this Memo

 This document specifies an Internet standards track protocol for the
 Internet community, and requests discussion and suggestions for
 improvements.  Please refer to the current edition of the "Internet
 Official Protocol Standards" (STD 1) for the standardization state
 and status of this protocol.  Distribution of this memo is unlimited.

Table of Contents

 1. Introduction ..............................................    1
 2. The SNMPv2 Network Management Framework ...................    2
 2.1 Object Definitions .......................................    2
 3. Overview ..................................................    2
 4. Definitions ...............................................    3
 4.1 The Device Identification Group...........................    4
 4.2 The Battery Group ........................................    5
 4.3 The Input Group ..........................................    7
 4.4 The Output Group .........................................    9
 4.5 The Bypass Group .........................................   12
 4.6 The Alarm Group ..........................................   13
 4.7 The Test Group ...........................................   19
 4.8 The Control Group ........................................   23
 4.9 The Configuration Group ..................................   26
 5. Acknowledgements ..........................................   43
 6. References ................................................   44
 7. Security Considerations ...................................   45
 8. Author's Address ..........................................   45

1. Introduction

 This memo defines a portion of the Management Information Base (MIB)
 for use with network management protocols in the Internet community.
 In particular, it defines objects for managing uninterruptible power
 supply (UPS) systems.

Case [Page 1] RFC 1628 UPS MIB May 1994

2. The SNMPv2 Network Management Framework

 The SNMPv2 Network Management Framework consists of four major
 components.  They are:
    o    RFC 1442 which defines the SMI, the mechanisms used for
         describing and naming objects for the purpose of management.
    o    STD 17, RFC 1213 defines MIB-II, the core set of managed
         objects for the Internet suite of protocols.
    o    RFC 1445 which defines the administrative and other
         architectural aspects of the framework.
    o    RFC 1448 which defines the protocol used for network access
         to managed objects.
 The Framework permits new objects to be defined for the purpose of
 experimentation and evaluation.

2.1. Object Definitions

 Managed objects are accessed via a virtual information store, termed
 the Management Information Base or MIB.  Objects in the MIB are
 defined using the subset of Abstract Syntax Notation One (ASN.1)
 defined in the SMI.  In particular, each object type is named by an
 OBJECT IDENTIFIER, an administratively assigned name.  The object
 type together with an object instance serves to uniquely identify a
 specific instantiation of the object.  For human convenience, we
 often use a textual string, termed the descriptor, to refer to the
 object type.

3. Overview

 This document defines the managed objects for Uninterruptible Power
 Supplies which are to be manageable via the Simple Network Management
 Protocol (SNMP).

Case [Page 2] RFC 1628 UPS MIB May 1994

4. Definitions

 UPS-MIB DEFINITIONS ::= BEGIN
 IMPORTS
     MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
     OBJECT-IDENTITY, Counter32, Gauge32, Integer32
         FROM SNMPv2-SMI
     DisplayString, TimeStamp, TimeInterval, TestAndIncr,
       AutonomousType
         FROM SNMPv2-TC
     MODULE-COMPLIANCE, OBJECT-GROUP
         FROM SNMPv2-CONF;
 upsMIB MODULE-IDENTITY
     LAST-UPDATED "9402230000Z"
     ORGANIZATION "IETF UPS MIB Working Group"
     CONTACT-INFO
            "        Jeffrey D. Case
              Postal: SNMP Research, Incorporated
                      3001 Kimberlin Heights Road
                      Knoxville, TN  37920
                      US
                 Tel: +1 615 573 1434
                 Fax: +1 615 573 9197
              E-mail: case@snmp.com"
     DESCRIPTION
             "The MIB module to describe Uninterruptible Power
             Supplies."
     ::= { mib-2 33 }
 PositiveInteger ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d"
     STATUS       current
     DESCRIPTION
             "This data type is a non-zero and non-negative value."
     SYNTAX       INTEGER (1..2147483647)
 NonNegativeInteger ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d"
     STATUS       current
     DESCRIPTION
             "This data type is a non-negative value."
     SYNTAX       INTEGER (0..2147483647)

Case [Page 3] RFC 1628 UPS MIB May 1994

 upsObjects            OBJECT IDENTIFIER ::= { upsMIB 1 }
  1. -
  2. - The Device Identification group.
  3. - All objects in this group except for upsIdentName and
  4. - upsIdentAttachedDevices are set at device initialization
  5. - and remain static.
  6. -
 upsIdent              OBJECT IDENTIFIER ::= { upsObjects 1 }
 upsIdentManufacturer OBJECT-TYPE
     SYNTAX     DisplayString (SIZE (0..31))
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The name of the UPS manufacturer."
     ::= { upsIdent 1 }
 upsIdentModel OBJECT-TYPE
     SYNTAX     DisplayString (SIZE (0..63))
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The UPS Model designation."
     ::= { upsIdent 2 }
 upsIdentUPSSoftwareVersion OBJECT-TYPE
     SYNTAX     DisplayString (SIZE (0..63))
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The UPS firmware/software version(s).  This variable
             may or may not have the same value as
             upsIdentAgentSoftwareVersion in some implementations."
     ::= { upsIdent 3 }
 upsIdentAgentSoftwareVersion OBJECT-TYPE
     SYNTAX     DisplayString (SIZE (0..63))
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The UPS agent software version.  This variable may or
             may not have the same value as
             upsIdentUPSSoftwareVersion in some implementations."
     ::= { upsIdent 4 }

Case [Page 4] RFC 1628 UPS MIB May 1994

 upsIdentName OBJECT-TYPE
     SYNTAX     DisplayString (SIZE(0..63))
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "A string identifying the UPS.  This object should be
             set by the administrator."
     ::= { upsIdent 5 }
 upsIdentAttachedDevices OBJECT-TYPE
     SYNTAX     DisplayString (SIZE(0..63))
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "A string identifying the devices attached to the
             output(s) of the UPS.  This object should be set by
             the administrator."
     ::= { upsIdent 6 }
  1. -
  2. - Battery Group
  3. -
 upsBattery            OBJECT IDENTIFIER ::= { upsObjects 2 }
 upsBatteryStatus OBJECT-TYPE
     SYNTAX     INTEGER {
         unknown(1),
         batteryNormal(2),
         batteryLow(3),
         batteryDepleted(4)
     }
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The indication of the capacity remaining in the UPS
             system's batteries.   A value of batteryNormal
             indicates that the remaining run-time is greater than
             upsConfigLowBattTime.  A value of batteryLow indicates
             that the remaining battery run-time is less than or
             equal to upsConfigLowBattTime.  A value of
             batteryDepleted indicates that the UPS will be unable
             to sustain the present load when and if the utility
             power is lost (including the possibility that the
             utility power is currently absent and the UPS is
             unable to sustain the output)."
     ::= { upsBattery 1 }

Case [Page 5] RFC 1628 UPS MIB May 1994

 upsSecondsOnBattery OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "seconds"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "If the unit is on battery power, the elapsed time
             since the UPS last switched to battery power, or the
             time since the network management subsystem was last
             restarted, whichever is less.  Zero shall be returned
             if the unit is not on battery power."
     ::= { upsBattery 2 }
 upsEstimatedMinutesRemaining OBJECT-TYPE
     SYNTAX     PositiveInteger
     UNITS      "minutes"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "An estimate of the time to battery charge depletion
             under the present load conditions if the utility power
             is off and remains off, or if it were to be lost and
             remain off."
     ::= { upsBattery 3 }
 upsEstimatedChargeRemaining OBJECT-TYPE
     SYNTAX     INTEGER (0..100)
     UNITS      "percent"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "An estimate of the battery charge remaining expressed
             as a percent of full charge."
     ::= { upsBattery 4 }
 upsBatteryVoltage OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "0.1 Volt DC"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The magnitude of the present battery voltage."
     ::= { upsBattery 5 }
 upsBatteryCurrent OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "0.1 Amp DC"
     MAX-ACCESS read-only

Case [Page 6] RFC 1628 UPS MIB May 1994

     STATUS     current
     DESCRIPTION
             "The present battery current."
     ::= { upsBattery 6 }
 upsBatteryTemperature OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "degrees Centigrade"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The ambient temperature at or near the UPS Battery
             casing."
     ::= { upsBattery 7 }
  1. -
  2. - Input Group
  3. -
 upsInput              OBJECT IDENTIFIER ::= { upsObjects 3 }
 upsInputLineBads OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "A count of the number of times the input entered an
             out-of-tolerance condition as defined by the
             manufacturer.  This count is incremented by one each
             time the input transitions from zero out-of-tolerance
             lines to one or more input lines out-of-tolerance."
     ::= { upsInput 1 }
 upsInputNumLines OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The number of input lines utilized in this device.
             This variable indicates the number of rows in the
             input table."
     ::= { upsInput 2 }
 upsInputTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF UpsInputEntry
     MAX-ACCESS not-accessible

Case [Page 7] RFC 1628 UPS MIB May 1994

     STATUS     current
     DESCRIPTION
             "A list of input table entries.  The number of entries
             is given by the value of upsInputNumLines."
     ::= { upsInput 3 }
 upsInputEntry OBJECT-TYPE
     SYNTAX     UpsInputEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "An entry containing information applicable to a
             particular input line."
     INDEX { upsInputLineIndex }
     ::= { upsInputTable 1 }
 UpsInputEntry ::= SEQUENCE {
     upsInputLineIndex   PositiveInteger,
     upsInputFrequency   NonNegativeInteger,
     upsInputVoltage     NonNegativeInteger,
     upsInputCurrent     NonNegativeInteger,
     upsInputTruePower   NonNegativeInteger
 }
 upsInputLineIndex OBJECT-TYPE
     SYNTAX     PositiveInteger
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "The input line identifier."
     ::= { upsInputEntry 1 }
 upsInputFrequency OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "0.1 Hertz"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The present input frequency."
     ::= { upsInputEntry 2 }
 upsInputVoltage OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "RMS Volts"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The magnitude of the present input voltage."

Case [Page 8] RFC 1628 UPS MIB May 1994

     ::= { upsInputEntry 3 }
 upsInputCurrent OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "0.1 RMS Amp"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The magnitude of the present input current."
     ::= { upsInputEntry 4 }
 upsInputTruePower OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "Watts"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The magnitude of the present input true power."
     ::= { upsInputEntry 5 }
  1. -
  2. - The Output group.
  3. -
 upsOutput             OBJECT IDENTIFIER ::= { upsObjects 4 }
 upsOutputSource OBJECT-TYPE
     SYNTAX     INTEGER {
         other(1),
         none(2),
         normal(3),
         bypass(4),
         battery(5),
         booster(6),
         reducer(7)
     }
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The present source of output power.  The enumeration
             none(2) indicates that there is no source of output
             power (and therefore no output power), for example,
             the system has opened the output breaker."
     ::= { upsOutput 1 }
 upsOutputFrequency OBJECT-TYPE
     SYNTAX     NonNegativeInteger

Case [Page 9] RFC 1628 UPS MIB May 1994

     UNITS      "0.1 Hertz"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The present output frequency."
     ::= { upsOutput 2 }
 upsOutputNumLines OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The number of output lines utilized in this device.
             This variable indicates the number of rows in the
             output table."
     ::= { upsOutput 3 }
 upsOutputTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF UpsOutputEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "A list of output table entries.  The number of
             entries is given by the value of upsOutputNumLines."
     ::= { upsOutput 4 }
 upsOutputEntry OBJECT-TYPE
     SYNTAX     UpsOutputEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "An entry containing information applicable to a
             particular output line."
     INDEX { upsOutputLineIndex }
     ::= { upsOutputTable 1 }
 UpsOutputEntry ::= SEQUENCE {
     upsOutputLineIndex   PositiveInteger,
     upsOutputVoltage     NonNegativeInteger,
     upsOutputCurrent     NonNegativeInteger,
     upsOutputPower       NonNegativeInteger,
     upsOutputPercentLoad INTEGER
 }
 upsOutputLineIndex OBJECT-TYPE
     SYNTAX     PositiveInteger
     MAX-ACCESS not-accessible
     STATUS     current

Case [Page 10] RFC 1628 UPS MIB May 1994

     DESCRIPTION
             "The output line identifier."
     ::= { upsOutputEntry 1 }
 upsOutputVoltage OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "RMS Volts"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The present output voltage."
     ::= { upsOutputEntry 2 }
 upsOutputCurrent OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "0.1 RMS Amp"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The present output current."
     ::= { upsOutputEntry 3 }
 upsOutputPower OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "Watts"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The present output true power."
     ::= { upsOutputEntry 4 }
 upsOutputPercentLoad OBJECT-TYPE
     SYNTAX     INTEGER (0..200)
     UNITS      "percent"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The percentage of the UPS power capacity presently
             being used on this output line, i.e., the greater of
             the percent load of true power capacity and the
             percent load of VA."
     ::= { upsOutputEntry 5 }

Case [Page 11] RFC 1628 UPS MIB May 1994

  1. -
  2. - The Bypass group.
  3. -
 upsBypass             OBJECT IDENTIFIER ::= { upsObjects 5 }
 upsBypassFrequency OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "0.1 Hertz"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The present bypass frequency."
     ::= { upsBypass 1 }
 upsBypassNumLines OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The number of bypass lines utilized in this device.
             This entry indicates the number of rows in the bypass
             table."
     ::= { upsBypass 2 }
 upsBypassTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF UpsBypassEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "A list of bypass table entries.  The number of
             entries is given by the value of upsBypassNumLines."
     ::= { upsBypass 3 }
 upsBypassEntry OBJECT-TYPE
     SYNTAX     UpsBypassEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "An entry containing information applicable to a
             particular bypass input."
     INDEX { upsBypassLineIndex }
     ::= { upsBypassTable 1 }
 UpsBypassEntry ::= SEQUENCE {
     upsBypassLineIndex  PositiveInteger,
     upsBypassVoltage    NonNegativeInteger,
     upsBypassCurrent    NonNegativeInteger,

Case [Page 12] RFC 1628 UPS MIB May 1994

     upsBypassPower      NonNegativeInteger
 }
 upsBypassLineIndex OBJECT-TYPE
     SYNTAX     PositiveInteger
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "The bypass line identifier."
     ::= { upsBypassEntry 1 }
 upsBypassVoltage OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "RMS Volts"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The present bypass voltage."
     ::= { upsBypassEntry 2 }
 upsBypassCurrent OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "0.1 RMS Amp"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The present bypass current."
     ::= { upsBypassEntry 3 }
 upsBypassPower OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "Watts"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The present true power conveyed by the bypass."
     ::= { upsBypassEntry 4 }
  1. -
  2. - The Alarm group.
  3. -
 upsAlarm              OBJECT IDENTIFIER ::= { upsObjects 6 }
 upsAlarmsPresent OBJECT-TYPE
     SYNTAX     Gauge32
     MAX-ACCESS read-only

Case [Page 13] RFC 1628 UPS MIB May 1994

     STATUS     current
     DESCRIPTION
             "The present number of active alarm conditions."
     ::= { upsAlarm 1 }
 upsAlarmTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF UpsAlarmEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "A list of alarm table entries.  The table contains
             zero, one, or many rows at any moment, depending upon
             the number of alarm conditions in effect.  The table
             is initially empty at agent startup.  The agent
             creates a row in the table each time a condition is
             detected and deletes that row when that condition no
             longer pertains.  The agent creates the first row with
             upsAlarmId equal to 1, and increments the value of
             upsAlarmId each time a new row is created, wrapping to
             the first free value greater than or equal to 1 when
             the maximum value of upsAlarmId would otherwise be
             exceeded.  Consequently, after multiple operations,
             the table may become sparse, e.g., containing entries
             for rows 95, 100, 101, and 203 and the entries should
             not be assumed to be in chronological order because
             upsAlarmId might have wrapped.
             Alarms are named by an AutonomousType (OBJECT
             IDENTIFIER), upsAlarmDescr, to allow a single table to
             reflect well known alarms plus alarms defined by a
             particular implementation, i.e., as documented in the
             private enterprise MIB definition for the device.  No
             two rows will have the same value of upsAlarmDescr,
             since alarms define conditions.  In order to meet this
             requirement, care should be taken in the definition of
             alarm conditions to insure that a system cannot enter
             the same condition multiple times simultaneously.
             The number of rows in the table at any given time is
             reflected by the value of upsAlarmsPresent."
     ::= { upsAlarm 2 }
 upsAlarmEntry OBJECT-TYPE
     SYNTAX     UpsAlarmEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "An entry containing information applicable to a

Case [Page 14] RFC 1628 UPS MIB May 1994

             particular alarm."
     INDEX { upsAlarmId }
     ::= { upsAlarmTable 1 }
 UpsAlarmEntry ::= SEQUENCE {
     upsAlarmId          PositiveInteger,
     upsAlarmDescr       AutonomousType,
     upsAlarmTime        TimeStamp
 }
 upsAlarmId OBJECT-TYPE
     SYNTAX     PositiveInteger
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "A unique identifier for an alarm condition.  This
             value must remain constant."
     ::= { upsAlarmEntry 1 }
 upsAlarmDescr OBJECT-TYPE
     SYNTAX     AutonomousType
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "A reference to an alarm description object.  The
             object referenced should not be accessible, but rather
             be used to provide a unique description of the alarm
             condition."
     ::= { upsAlarmEntry 2 }
 upsAlarmTime OBJECT-TYPE
     SYNTAX     TimeStamp
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The value of sysUpTime when the alarm condition was
             detected.  If the alarm condition was detected at the
             time of agent startup and presumably existed before
             agent startup, the value of upsAlarmTime shall equal
             0."
     ::= { upsAlarmEntry 3 }
  1. -
  2. - Well known alarm conditions.
  3. -
 upsWellKnownAlarms    OBJECT IDENTIFIER ::= { upsAlarm 3 }

Case [Page 15] RFC 1628 UPS MIB May 1994

 upsAlarmBatteryBad OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "One or more batteries have been determined to require
             replacement."
     ::= { upsWellKnownAlarms  1 }
 upsAlarmOnBattery OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The UPS is drawing power from the batteries."
     ::= { upsWellKnownAlarms  2 }
 upsAlarmLowBattery OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The remaining battery run-time is less than or equal
             to upsConfigLowBattTime."
     ::= { upsWellKnownAlarms  3 }
 upsAlarmDepletedBattery OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The UPS will be unable to sustain the present load
             when and if the utility power is lost."
     ::= { upsWellKnownAlarms  4 }
 upsAlarmTempBad OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "A temperature is out of tolerance."
     ::= { upsWellKnownAlarms  5 }
 upsAlarmInputBad OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "An input condition is out of tolerance."
     ::= { upsWellKnownAlarms  6 }
 upsAlarmOutputBad OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "An output condition (other than OutputOverload) is
             out of tolerance."
     ::= { upsWellKnownAlarms  7 }
 upsAlarmOutputOverload OBJECT-IDENTITY

Case [Page 16] RFC 1628 UPS MIB May 1994

     STATUS     current
     DESCRIPTION
             "The output load exceeds the UPS output capacity."
     ::= { upsWellKnownAlarms  8 }
 upsAlarmOnBypass OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The Bypass is presently engaged on the UPS."
     ::= { upsWellKnownAlarms  9 }
 upsAlarmBypassBad OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The Bypass is out of tolerance."
     ::= { upsWellKnownAlarms 10 }
 upsAlarmOutputOffAsRequested OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The UPS has shutdown as requested, i.e., the output
             is off."
     ::= { upsWellKnownAlarms 11 }
 upsAlarmUpsOffAsRequested OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The entire UPS has shutdown as commanded."
     ::= { upsWellKnownAlarms 12 }
 upsAlarmChargerFailed OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "An uncorrected problem has been detected within the
             UPS charger subsystem."
     ::= { upsWellKnownAlarms 13 }
 upsAlarmUpsOutputOff OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The output of the UPS is in the off state."
     ::= { upsWellKnownAlarms 14 }
 upsAlarmUpsSystemOff OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The UPS system is in the off state."
     ::= { upsWellKnownAlarms 15 }

Case [Page 17] RFC 1628 UPS MIB May 1994

 upsAlarmFanFailure OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The failure of one or more fans in the UPS has been
             detected."
     ::= { upsWellKnownAlarms 16 }
 upsAlarmFuseFailure OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The failure of one or more fuses has been detected."
     ::= { upsWellKnownAlarms 17 }
 upsAlarmGeneralFault OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "A general fault in the UPS has been detected."
     ::= { upsWellKnownAlarms 18 }
 upsAlarmDiagnosticTestFailed OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The result of the last diagnostic test indicates a
             failure."
     ::= { upsWellKnownAlarms 19 }
 upsAlarmCommunicationsLost OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "A problem has been encountered in the communications
             between the agent and the UPS."
     ::= { upsWellKnownAlarms 20 }
 upsAlarmAwaitingPower OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The UPS output is off and the UPS is awaiting the
             return of input power."
     ::= { upsWellKnownAlarms 21 }
 upsAlarmShutdownPending OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "A upsShutdownAfterDelay countdown is underway."
     ::= { upsWellKnownAlarms 22 }
 upsAlarmShutdownImminent OBJECT-IDENTITY
     STATUS     current

Case [Page 18] RFC 1628 UPS MIB May 1994

     DESCRIPTION
             "The UPS will turn off power to the load in less than
             5 seconds; this may be either a timed shutdown or a
             low battery shutdown."
     ::= { upsWellKnownAlarms 23 }
 upsAlarmTestInProgress OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "A test is in progress, as initiated and indicated by
             the Test Group.  Tests initiated via other
             implementation-specific mechanisms can indicate the
             presence of the testing in the alarm table, if
             desired, via a OBJECT-IDENTITY macro in the MIB
             document specific to that implementation and are
             outside the scope of this OBJECT-IDENTITY."
     ::= { upsWellKnownAlarms 24 }
  1. -
  2. - The Test Group
  3. -
 upsTest               OBJECT IDENTIFIER ::= { upsObjects 7 }
 upsTestId OBJECT-TYPE
     SYNTAX     OBJECT IDENTIFIER
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "The test is named by an OBJECT IDENTIFIER which
             allows a standard mechanism for the initiation of
             tests, including the well known tests identified in
             this document as well as those introduced by a
             particular implementation, i.e., as documented in the
             private enterprise MIB definition for the device.
             Setting this variable initiates the named test. Sets
             to this variable require the presence of
             upsTestSpinLock in the same SNMP message.
             The set request will be rejected with an appropriate
             error message if the requested test cannot be
             performed, including attempts to start a test when
             another test is already in progress.  The status of
             the current or last test is maintained in
             upsTestResultsSummary. Tests in progress may be
             aborted by setting the upsTestId variable to

Case [Page 19] RFC 1628 UPS MIB May 1994

             upsTestAbortTestInProgress.
             Read operations return the value of the name of the
             test in progress if a test is in progress or the name
             of the last test performed if no test is in progress,
             unless no test has been run, in which case the well
             known value upsTestNoTestsInitiated is returned."
     ::= { upsTest 1 }
  1. - see [6] for more information on the semantics of objects with
  2. - syntax of TestAndIncr
 upsTestSpinLock OBJECT-TYPE
     SYNTAX     TestAndIncr
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "A spin lock on the test subsystem.  The spinlock is
             used as follows.
             Before starting a test, a manager-station should make
             sure that a test is not in progress as follows:
                 try_again:
                   get (upsTestSpinLock)
                   while (upsTestResultsSummary == inProgress) {
                     /* loop while a test is running for another
             manager */
                     short delay
                     get (upsTestSpinLock)
                   }
                   lock_value = upsTestSpinLock
                   /* no test in progress, start the test */
                   set (upsTestSpinLock = lock_value, upsTestId =
             requested_test)
                   if (error_index == 1) { /* (upsTestSpinLock
             failed) */
                     /* if problem is not access control, then
                         some other manager slipped in ahead of us
             */
                     goto try_again
                   }
                   if (error_index == 2) { /* (upsTestId) */
                     /* cannot perform the test */
                     give up
                   }
                   /* test started ok */
                   /* wait for test completion by polling

Case [Page 20] RFC 1628 UPS MIB May 1994

             upsTestResultsSummary */
                   get (upsTestSpinLock, upsTestResultsSummary,
             upsTestResultsDetail)
                   while (upsTestResultsSummary == inProgress) {
                     short delay
                     get (upsTestSpinLock, upsTestResultsSummary,
             upsTestResultsDetail)
                   }
                   /* when test completes, retrieve any additional
             test results */
                   /* if upsTestSpinLock == lock_value + 1, then
             these are our test */
                   /* results (as opposed to another manager's */
                   The initial value of upsTestSpinLock at agent
             initialization shall
                   be 1."
     ::= { upsTest 2 }
 upsTestResultsSummary OBJECT-TYPE
     SYNTAX     INTEGER {
         donePass(1),
         doneWarning(2),
         doneError(3),
         aborted(4),
         inProgress(5),
         noTestsInitiated(6)
     }
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The results of the current or last UPS diagnostics
             test performed.  The values for donePass(1),
             doneWarning(2), and doneError(3) indicate that the
             test completed either successfully, with a warning, or
             with an error, respectively.  The value aborted(4) is
             returned for tests which are aborted by setting the
             value of upsTestId to upsTestAbortTestInProgress.
             Tests which have not yet concluded are indicated by
             inProgress(5).  The value noTestsInitiated(6)
             indicates that no previous test results are available,
             such as is the case when no tests have been run since
             the last reinitialization of the network management
             subsystem and the system has no provision for non-
             volatile storage of test results."
     ::= { upsTest 3 }
 upsTestResultsDetail OBJECT-TYPE
     SYNTAX     DisplayString (SIZE (0..255))

Case [Page 21] RFC 1628 UPS MIB May 1994

     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "Additional information about upsTestResultsSummary.
             If no additional information available, a zero length
             string is returned."
     ::= { upsTest 4 }
 upsTestStartTime OBJECT-TYPE
     SYNTAX     TimeStamp
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The value of sysUpTime at the time the test in
             progress was initiated, or, if no test is in progress,
             the time the previous test was initiated.  If the
             value of upsTestResultsSummary is noTestsInitiated(6),
             upsTestStartTime has the value 0."
     ::= { upsTest 5 }
 upsTestElapsedTime OBJECT-TYPE
     SYNTAX     TimeInterval
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The amount of time, in TimeTicks, since the test in
             progress was initiated, or, if no test is in progress,
             the previous test took to complete.  If the value of
             upsTestResultsSummary is noTestsInitiated(6),
             upsTestElapsedTime has the value 0."
     ::= { upsTest 6 }
  1. -
  2. - Well known tests.
  3. -
 upsWellKnownTests     OBJECT IDENTIFIER ::= { upsTest 7 }
 upsTestNoTestsInitiated OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "No tests have been initiated and no test is in
             progress."
     ::= { upsWellKnownTests  1 }
 upsTestAbortTestInProgress OBJECT-IDENTITY
     STATUS     current

Case [Page 22] RFC 1628 UPS MIB May 1994

     DESCRIPTION
             "The test in progress is to be aborted / the test in
             progress was aborted."
     ::= { upsWellKnownTests  2 }
 upsTestGeneralSystemsTest OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The manufacturer's standard test of UPS device
             systems."
     ::= { upsWellKnownTests  3 }
 upsTestQuickBatteryTest OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "A test that is sufficient to determine if the battery
             needs replacement."
     ::= { upsWellKnownTests  4 }
 upsTestDeepBatteryCalibration OBJECT-IDENTITY
     STATUS     current
     DESCRIPTION
             "The system is placed on battery to a discharge level,
             set by the manufacturer, sufficient to determine
             battery replacement and battery run-time with a high
             degree of confidence.  WARNING:  this test will leave
             the battery in a low charge state and will require
             time for recharging to a level sufficient to provide
             normal battery duration for the protected load."
     ::= { upsWellKnownTests  5 }
  1. -
  2. - The Control group.
  3. -
 upsControl            OBJECT IDENTIFIER ::= { upsObjects 8 }
 upsShutdownType OBJECT-TYPE
     SYNTAX     INTEGER {
         output(1),
         system(2)
     }
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "This object determines the nature of the action to be
             taken at the time when the countdown of the

Case [Page 23] RFC 1628 UPS MIB May 1994

             upsShutdownAfterDelay and upsRebootWithDuration
             objects reaches zero.
             Setting this object to output(1) indicates that
             shutdown requests should cause only the output of the
             UPS to turn off.  Setting this object to system(2)
             indicates that shutdown requests will cause the entire
             UPS system to turn off."
     ::= { upsControl 1 }
 upsShutdownAfterDelay OBJECT-TYPE
     SYNTAX     INTEGER (-1..2147483648)
     UNITS      "seconds"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "Setting this object will shutdown (i.e., turn off)
             either the UPS output or the UPS system (as determined
             by the value of upsShutdownType at the time of
             shutdown) after the indicated number of seconds, or
             less if the UPS batteries become depleted. Setting
             this object to 0 will cause the shutdown to occur
             immediately.  Setting this object to -1 will abort the
             countdown.  If the system is already in the desired
             state at the time the countdown reaches 0, then
             nothing will happen.  That is, there is no additional
             action at that time if upsShutdownType = system and
             the system is already off.  Similarly, there is no
             additional action at that time if upsShutdownType =
             output and the output is already off.  When read,
             upsShutdownAfterDelay will return the number of
             seconds remaining until shutdown, or -1 if no shutdown
             countdown is in effect.  On some systems, if the agent
             is restarted while a shutdown countdown is in effect,
             the countdown may be aborted.  Sets to this object
             override any upsShutdownAfterDelay already in effect."
     ::= { upsControl 2 }
 upsStartupAfterDelay OBJECT-TYPE
     SYNTAX     INTEGER (-1..2147483648)
     UNITS      "seconds"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "Setting this object will start the output after the
             indicated number of seconds, including starting the
             UPS, if necessary.  Setting this object to 0 will
             cause the startup to occur immediately.  Setting this

Case [Page 24] RFC 1628 UPS MIB May 1994

             object to -1 will abort the countdown.  If the output
             is already on at the time the countdown reaches 0,
             then nothing will happen.  Sets to this object
             override the effect of any upsStartupAfterDelay
             countdown or upsRebootWithDuration countdown in
             progress.  When read, upsStartupAfterDelay will return
             the number of seconds until startup, or -1 if no
             startup countdown is in effect.  If the countdown
             expires during a utility failure, the startup shall
             not occur until the utility power is restored.  On
             some systems, if the agent is restarted while a
             startup countdown is in effect, the countdown is
             aborted."
     ::= { upsControl 3 }
 upsRebootWithDuration OBJECT-TYPE
     SYNTAX     INTEGER (-1..300)
     UNITS      "seconds"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "Setting this object will immediately shutdown (i.e.,
             turn off) either the UPS output or the UPS system (as
             determined by the value of upsShutdownType at the time
             of shutdown) for a period equal to the indicated
             number of seconds, after which time the output will be
             started, including starting the UPS, if necessary.  If
             the number of seconds required to perform the request
             is greater than the requested duration, then the
             requested shutdown and startup cycle shall be
             performed in the minimum time possible, but in no case
             shall this require more than the requested duration
             plus 60 seconds.  When read, upsRebootWithDuration
             shall return the number of seconds remaining in the
             countdown, or -1 if no countdown is in progress.  If
             the startup should occur during a utility failure, the
             startup shall not occur until the utility power is
             restored."
     ::= { upsControl 4 }
 upsAutoRestart OBJECT-TYPE
     SYNTAX     INTEGER {
         on(1),
         off(2)
     }
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION

Case [Page 25] RFC 1628 UPS MIB May 1994

             "Setting this object to 'on' will cause the UPS system
             to restart after a shutdown if the shutdown occurred
             during a power loss as a result of either a
             upsShutdownAfterDelay or an internal battery depleted
             condition.  Setting this object to 'off' will prevent
             the UPS system from restarting after a shutdown until
             an operator manually or remotely explicitly restarts
             it.  If the UPS is in a startup or reboot countdown,
             then the UPS will not restart until that delay has
             been satisfied."
     ::= { upsControl 5 }
  1. -
  2. - The Configuration group.
  3. -
 upsConfig             OBJECT IDENTIFIER ::= { upsObjects 9 }
 upsConfigInputVoltage OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "RMS Volts"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "The magnitude of the nominal input voltage.  On those
             systems which support read-write access to this
             object, if there is an attempt to set this variable to
             a value that is not supported, the request must be
             rejected and the agent shall respond with an
             appropriate error message, i.e., badValue for SNMPv1,
             or inconsistentValue for SNMPv2."
     ::= { upsConfig 1 }
 upsConfigInputFreq OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "0.1 Hertz"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "The nominal input frequency.  On those systems which
             support read-write access to this object, if there is
             an attempt to set this variable to a value that is not
             supported, the request must be rejected and the agent
             shall respond with an appropriate error message, i.e.,
             badValue for SNMPv1, or inconsistentValue for SNMPv2."
     ::= { upsConfig 2 }

Case [Page 26] RFC 1628 UPS MIB May 1994

 upsConfigOutputVoltage OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "RMS Volts"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "The magnitude of the nominal output voltage.  On
             those systems which support read-write access to this
             object, if there is an attempt to set this variable to
             a value that is not supported, the request must be
             rejected and the agent shall respond with an
             appropriate error message, i.e., badValue for SNMPv1,
             or inconsistentValue for SNMPv2."
     ::= { upsConfig 3 }
 upsConfigOutputFreq OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "0.1 Hertz"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "The nominal output frequency.  On those systems which
             support read-write access to this object, if there is
             an attempt to set this variable to a value that is not
             supported, the request must be rejected and the agent
             shall respond with an appropriate error message, i.e.,
             badValue for SNMPv1, or inconsistentValue for SNMPv2."
     ::= { upsConfig 4 }
 upsConfigOutputVA OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "Volt-Amps"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The magnitude of the nominal Volt-Amp rating."
     ::= { upsConfig 5 }
 upsConfigOutputPower OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "Watts"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The magnitude of the nominal true power rating."
     ::= { upsConfig 6 }
 upsConfigLowBattTime OBJECT-TYPE

Case [Page 27] RFC 1628 UPS MIB May 1994

     SYNTAX     NonNegativeInteger
     UNITS      "minutes"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "The value of upsEstimatedMinutesRemaining at which a
             lowBattery condition is declared.  For agents which
             support only discrete (discontinuous) values, then the
             agent shall round up to the next supported value.  If
             the requested value is larger than the largest
             supported value, then the largest supported value
             shall be selected."
     ::= { upsConfig 7 }
 upsConfigAudibleStatus OBJECT-TYPE
     SYNTAX     INTEGER {
         disabled(1),
         enabled(2),
         muted(3)
     }
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "The requested state of the audible alarm.  When in
             the disabled state, the audible alarm should never
             sound.  The enabled state is self-describing.  Setting
             this object to muted(3) when the audible alarm is
             sounding shall temporarily silence the alarm.  It will
             remain muted until it would normally stop sounding and
             the value returned for read operations during this
             period shall equal muted(3).  At the end of this
             period, the value shall revert to enabled(2).  Writes
             of the value muted(3) when the audible alarm is not
             sounding shall be accepted but otherwise shall have no
             effect."
     ::= { upsConfig 8 }
 upsConfigLowVoltageTransferPoint OBJECT-TYPE
     SYNTAX     NonNegativeInteger
     UNITS      "RMS Volts"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "The minimum input line voltage allowed before the UPS
             system transfers to battery backup."
     ::= { upsConfig 9 }
 upsConfigHighVoltageTransferPoint OBJECT-TYPE

Case [Page 28] RFC 1628 UPS MIB May 1994

     SYNTAX     NonNegativeInteger
     UNITS      "RMS Volts"
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
             "The maximum line voltage allowed before the UPS
             system transfers to battery backup."
     ::= { upsConfig 10 }
  1. -
  2. - notifications, i.e., traps
  3. -

upsTraps OBJECT IDENTIFIER ::= { upsMIB 2 }

  1. - This section defines the well-known notifications sent by
  2. - UPS agents.
  3. - Care must be taken to insure that no particular notification
  4. - is sent to a single receiving entity more often than once
  5. - every five seconds.
 upsTrapOnBattery NOTIFICATION-TYPE
     OBJECTS { upsEstimatedMinutesRemaining, upsSecondsOnBattery,
               upsConfigLowBattTime }
     STATUS  current
     DESCRIPTION
             "The UPS is operating on battery power.  This trap is
             persistent and is resent at one minute intervals until
             the UPS either turns off or is no longer running on
             battery."
   ::= { upsTraps 1 }
 upsTrapTestCompleted NOTIFICATION-TYPE
     OBJECTS { upsTestId, upsTestSpinLock,
               upsTestResultsSummary, upsTestResultsDetail,
               upsTestStartTime, upsTestElapsedTime }
     STATUS  current
     DESCRIPTION
             "This trap is sent upon completion of a UPS diagnostic
             test."
   ::= { upsTraps 2 }
 upsTrapAlarmEntryAdded NOTIFICATION-TYPE
     OBJECTS { upsAlarmId, upsAlarmDescr }
     STATUS  current
     DESCRIPTION
             "This trap is sent each time an alarm is inserted into
             to the alarm table.  It is sent on the insertion of

Case [Page 29] RFC 1628 UPS MIB May 1994

             all alarms except for upsAlarmOnBattery and
             upsAlarmTestInProgress."
   ::= { upsTraps 3 }
 upsTrapAlarmEntryRemoved NOTIFICATION-TYPE
     OBJECTS { upsAlarmId, upsAlarmDescr }
     STATUS  current
     DESCRIPTION
             "This trap is sent each time an alarm is removed from
             the alarm table.  It is sent on the removal of all
             alarms except for upsAlarmTestInProgress."
   ::= { upsTraps 4 }
  1. -
  2. - conformance information
  3. -

upsConformance OBJECT IDENTIFIER ::= { upsMIB 3 }

 upsCompliances        OBJECT IDENTIFIER ::= { upsConformance 1 }
  1. -
  2. - compliance statements
  3. -
 upsSubsetCompliance MODULE-COMPLIANCE
     STATUS     current
     DESCRIPTION
             "The compliance statement for UPSs that only support
             the two-contact communication protocol."
     MODULE -- this module
         MANDATORY-GROUPS  { upsSubsetIdentGroup,
                   upsSubsetBatteryGroup, upsSubsetInputGroup,
                   upsSubsetOutputGroup, upsSubsetAlarmGroup,
                   upsSubsetControlGroup, upsSubsetConfigGroup }
     OBJECT     upsBatteryStatus
     SYNTAX     INTEGER {
         batteryNormal(2),
         batteryLow(3)
     }
     DESCRIPTION
             "Support of the values unknown(1) and
             batteryDepleted(4) is not required."
     OBJECT     upsAlarmDescr

Case [Page 30] RFC 1628 UPS MIB May 1994

     DESCRIPTION
             "Support of all `well known' alarm types is not
             required.  The well known alarm types which must be
             supported are: upsAlarmOnBattery, upsAlarmLowBattery,
             upsAlarmInputBad, upsAlarmUpsOutputOff,
             upsAlarmUpsSystemOff, and upsAlarmTestInProgress."
     OBJECT     upsOutputSource
     SYNTAX     INTEGER {
         normal(2),
         battery(4)
     }
     DESCRIPTION
             "Support of the values other(1), none(2), bypass(4),
             booster(6) and reducer(7) is not required."
     OBJECT     upsShutdownType
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required, i.e., compliant
             systems need not support more than one shutdown type."
     OBJECT     upsAutoRestart
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required, i.e., compliant
             systems need not support more than one restart type."
     OBJECT     upsConfigInputVoltage
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigInputFreq
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigOutputVoltage
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigOutputFreq
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."

Case [Page 31] RFC 1628 UPS MIB May 1994

     ::= { upsCompliances 1 }
 upsBasicCompliance MODULE-COMPLIANCE
     STATUS     current
     DESCRIPTION
             "The compliance statement for UPSs that support
             full-featured functions, such as control."
     MODULE -- this module
         MANDATORY-GROUPS { upsBasicIdentGroup,
                   upsBasicBatteryGroup, upsBasicInputGroup,
                   upsBasicOutputGroup, upsBasicAlarmGroup,
                   upsBasicTestGroup, upsBasicControlGroup,
                   upsBasicConfigGroup }
     OBJECT     upsAlarmDescr
     DESCRIPTION
             "Support of all `well known' alarm types is not
             required.  The well known alarm types which must be
             supported are: upsAlarmOnBattery, upsAlarmLowBattery,
             upsAlarmDepletedBattery, upsAlarmTempBad,
             upsAlarmInputBad, upsAlarmOutputOverload,
             upsAlarmOnBypass, upsAlarmBypassBad,
             upsAlarmOutputOffAsRequested,
             upsAlarmUpsOffAsRequested, upsAlarmUpsOutputOff,
             upsAlarmUpsSystemOff, upsAlarmGeneralFault,
             upsAlarmDiagnosticTestFailed,
             upsAlarmCommunicationsLost, upsAlarmShutdownPending,
             and upsAlarmTestInProgress."
     OBJECT     upsTestId
     DESCRIPTION
             "Support of all `well known' test types is not
             required.  If no tests are supported, then the only
             well known test type which must be supported is
             upsTestNoTestsInitiated."
     OBJECT     upsOutputSource
     SYNTAX     INTEGER {
         normal(2),
         battery(4)
     }
     DESCRIPTION
             "Support of the values other(1), none(2), bypass(4),
             booster(6) and reducer(7) is not required."
         GROUP upsBasicBypassGroup

Case [Page 32] RFC 1628 UPS MIB May 1994

         DESCRIPTION
             "The upsBasicBypassGroup is only required for UPSs
             that have a Bypass present."
     OBJECT     upsShutdownType
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required, i.e., compliant
             systems need not support more than one shutdown type."
     OBJECT     upsAutoRestart
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required, i.e., compliant
             systems need not support more than one restart type."
     OBJECT     upsConfigInputVoltage
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigInputFreq
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigOutputVoltage
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigOutputFreq
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigLowBattTime
     DESCRIPTION
             "Implementation of all possible values may be onerous
             for some systems.  Consequently, not all possible
             values must be supported.  However, at least two
             different manufacturer-selected values must be
             supported."
     ::= { upsCompliances 2 }
 upsFullCompliance MODULE-COMPLIANCE
     STATUS     current
     DESCRIPTION

Case [Page 33] RFC 1628 UPS MIB May 1994

             "The compliance statement for UPSs that support
             advanced full-featured functions."
     MODULE -- this module
         MANDATORY-GROUPS { upsFullIdentGroup, upsFullBatteryGroup,
                   upsFullInputGroup, upsFullOutputGroup,
                   upsFullAlarmGroup, upsFullTestGroup,
                   upsFullControlGroup, upsFullConfigGroup }
     OBJECT     upsAlarmDescr
     DESCRIPTION
             "Support of all `well known' alarm types is not
             required.  The well known alarm types which must be
             supported are: upsAlarmBatteryBad, upsAlarmOnBattery,
             upsAlarmLowBattery, upsAlarmDepletedBattery,
             upsAlarmTempBad, upsAlarmInputBad, upsAlarmOnBypass,
             upsAlarmBypassBad, upsAlarmOutputOffAsRequested,
             upsAlarmUpsOffAsRequested, upsAlarmUpsOutputOff,
             upsAlarmUpsSystemOff, upsAlarmGeneralFault,
             upsAlarmDiagnosticTestFailed,
             upsAlarmCommunicationsLost, upsAlarmShutdownPending,
             and upsAlarmTestInProgress."
     OBJECT     upsTestId
     DESCRIPTION
             "Support of all `well known' test types is not
             required.  The well known test types which must be
             supported are: upsTestNoTestsInitiated,
             upsTestGeneralSystemsTest, and
             upsTestQuickBatteryTest."
     OBJECT     upsOutputSource
     SYNTAX     INTEGER {
         normal(2),
         battery(4)
     }
     DESCRIPTION
             "Support of the values other(1), none(2), bypass(4),
             booster(6) and reducer(7) is not required."
         GROUP upsFullBypassGroup
         DESCRIPTION
             "The upsFullBypassGroup is only required for UPSs that
             have a Bypass present."
     OBJECT     upsShutdownType
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required, i.e., compliant

Case [Page 34] RFC 1628 UPS MIB May 1994

             systems need not support more than one shutdown type."
     OBJECT     upsAutoRestart
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required, i.e., compliant
             systems need not support more than one restart type."
     OBJECT     upsConfigInputVoltage
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigInputFreq
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigOutputVoltage
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigOutputFreq
     MIN-ACCESS read-only
     DESCRIPTION
             "Read-write access is not required."
     OBJECT     upsConfigLowBattTime
     DESCRIPTION
             "Implementation of all possible values may be onerous
             for some systems.  Consequently, not all possible
             values must be supported.  However, at least two
             different manufacturer-selected values must be
             supported."
     ::= { upsCompliances 3 }
  1. -
  2. - units of conformance
  3. -
  1. - summary at a glance:
  1. - subset basic adv
  2. -upsIdentManufacturer x x x
  3. -upsIdentModel x x x

Case [Page 35] RFC 1628 UPS MIB May 1994

  1. -upsIdentUPSSoftwareVersion x x
  2. -upsIdentAgentSoftwareVersion x x x
  3. -upsIdentName x x x
  4. -upsIdentAttachedDevices x x
  5. -
  6. -upsBatteryStatus x x x notes
  7. -upsSecondsOnBattery x x x
  8. -upsEstimatedMinutesRemaining x
  9. -upsEstimatedChargeRemaining x
  10. -upsBatteryVoltage
  11. -upsBatteryCurrent
  12. -upsBatteryTemperature
  13. -
  14. -upsInputLineBads x x x
  15. -upsInputNumLines x x
  16. -upsInputFrequency x x
  17. -upsInputVoltage x x
  18. -upsInputCurrent
  19. -upsInputTruePower
  20. -
  21. -upsOutputSource x x x notes
  22. -upsOutputFrequency x x
  23. -upsOutputNumLines x x
  24. -upsOutputVoltage x x
  25. -upsOutputCurrent x
  26. -upsOutputPower x
  27. -upsOutputPercentLoad x
  28. -
  29. -
  30. -upsBypassFrequency x x notes
  31. -upsBypassNumLines x x
  32. -upsBypassVoltage x x
  33. -upsBypassCurrent
  34. -upsBypassPower
  35. -
  36. -
  37. -upsAlarmsPresent x x x
  38. -upsAlarmDescr x x x notes
  39. -upsAlarmTime x x x
  40. -
  41. -upsTestId x x notes
  42. -upsTestSpinLock x x
  43. -upsTestResultsSummary x x
  44. -upsTestResultsDetail x x
  45. -upsTestStartTime x x
  46. -upsTestElapsedTime x x
  47. -
  48. -upsShutdownType x x x notes

Case [Page 36] RFC 1628 UPS MIB May 1994

  1. -upsShutdownAfterDelay x x x
  2. -upsStartupAfterDelay x x
  3. -upsRebootWithDuration x x
  4. -upsAutoRestart x x x notes
  5. -
  6. -upsConfigInputVoltage x x x notes
  7. -upsConfigInputFreq x x x notes
  8. -upsConfigOutputVoltage x x x notes
  9. -upsConfigOutputFreq x x x notes
  10. -upsConfigOutputVA x x x
  11. -upsConfigOutputPower x x x
  12. -upsConfigLowBattTime x x notes
  13. -upsConfigAudibleStatus x x
  14. -upsConfigLowVoltageTransferPoint
  15. -upsConfigHighVoltageTransferPoint
  1. - units of conformance

upsGroups OBJECT IDENTIFIER ::= { upsConformance 2 }

 upsSubsetGroups       OBJECT IDENTIFIER ::= { upsGroups 1 }
 upsSubsetIdentGroup OBJECT-GROUP
     OBJECTS { upsIdentManufacturer, upsIdentModel,
               upsIdentAgentSoftwareVersion, upsIdentName,
               upsIdentAttachedDevices }
     STATUS  current
     DESCRIPTION
             "The upsSubsetIdentGroup defines objects which are
             common across all UPSs which meet subset compliance.
             Most devices which conform to the upsSubsetIdentGroup
             will provide access to these objects via a proxy
             agent.  If the proxy agent is compatible with multiple
             UPS types, configuration of the proxy agent will
             require specifying some of these values, either
             individually, or as a group (perhaps through a table
             lookup mechanism based on the UPS model number)."
     ::= { upsSubsetGroups 1 }
 upsSubsetBatteryGroup OBJECT-GROUP
     OBJECTS { upsBatteryStatus, upsSecondsOnBattery }
     STATUS  current
     DESCRIPTION
             "The upsSubsetBatteryGroup defines the objects that
             are common to battery groups of two-contact UPSs."
     ::= { upsSubsetGroups 2 }
 upsSubsetInputGroup OBJECT-GROUP

Case [Page 37] RFC 1628 UPS MIB May 1994

     OBJECTS { upsInputLineBads }
     STATUS  current
     DESCRIPTION
             "The upsSubsetInputGroup defines the objects that are
             common to the Input groups of two-contact UPSs."
     ::= { upsSubsetGroups 3 }
 upsSubsetOutputGroup OBJECT-GROUP
     OBJECTS { upsOutputSource }
     STATUS  current
     DESCRIPTION
             "The upsSubsetOutputGroup defines the objects that are
             common to the Output groups of two-contact UPSs."
     ::= { upsSubsetGroups 4 }
  1. - { upsSubsetGroups 5 } is reserved for
  2. - future use (upsSubsetBypassGroup)
 upsSubsetAlarmGroup OBJECT-GROUP
     OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
     STATUS  current
     DESCRIPTION
             "The upsSubsetAlarmGroup defines the objects that are
             common to the Alarm groups of two-contact UPSs."
     ::= { upsSubsetGroups 6 }
  1. - { upsSubsetGroups 7 } is reserved for
  2. - future use (upsSubsetTestGroup)
 upsSubsetControlGroup OBJECT-GROUP
     OBJECTS { upsShutdownType, upsShutdownAfterDelay,
                   upsAutoRestart }
     STATUS  current
     DESCRIPTION
             "The upsSubsetControlGroup defines the objects that
             are common to the Control groups of two-contact UPSs."
     ::= { upsSubsetGroups 8 }
 upsSubsetConfigGroup OBJECT-GROUP
     OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
               upsConfigOutputVoltage, upsConfigOutputFreq,
               upsConfigOutputVA, upsConfigOutputPower }
     STATUS  current
     DESCRIPTION
             "The upsSubsetConfigGroup defines the objects that are
             common to the Config groups of two-contact UPSs."
     ::= { upsSubsetGroups 9 }

Case [Page 38] RFC 1628 UPS MIB May 1994

 upsBasicGroups        OBJECT IDENTIFIER ::= { upsGroups 2 }
 upsBasicIdentGroup OBJECT-GROUP
     OBJECTS { upsIdentManufacturer, upsIdentModel,
               upsIdentUPSSoftwareVersion,
               upsIdentAgentSoftwareVersion, upsIdentName }
     STATUS  current
     DESCRIPTION
             "The upsBasicIdentGroup defines objects which are
             common to the Ident group of compliant UPSs which
             support basic functions."
     ::= { upsBasicGroups 1 }
 upsBasicBatteryGroup OBJECT-GROUP
     OBJECTS { upsBatteryStatus, upsSecondsOnBattery }
     STATUS  current
     DESCRIPTION
             "The upsBasicBatteryGroup defines the objects that are
             common to the battery groups of compliant UPSs which
             support basic functions."
     ::= { upsBasicGroups 2 }
 upsBasicInputGroup OBJECT-GROUP
     OBJECTS { upsInputLineBads, upsInputNumLines,
               upsInputFrequency, upsInputVoltage }
     STATUS  current
     DESCRIPTION
             "The upsBasicInputGroup defines the objects that are
             common to the Input groups of compliant UPSs which
             support basic functions."
     ::= { upsBasicGroups 3 }
 upsBasicOutputGroup OBJECT-GROUP
     OBJECTS { upsOutputSource, upsOutputFrequency,
               upsOutputNumLines, upsOutputVoltage }
     STATUS  current
     DESCRIPTION
             "The upsBasicOutputGroup defines the objects that are
             common to the Output groups of compliant UPSs which
             support basic functions."
     ::= { upsBasicGroups 4 }
 upsBasicBypassGroup OBJECT-GROUP
     OBJECTS { upsBypassFrequency, upsBypassNumLines,
               upsBypassVoltage }
     STATUS  current
     DESCRIPTION
             "The upsBasicBypassGroup defines the objects that are

Case [Page 39] RFC 1628 UPS MIB May 1994

             common to the Bypass groups of compliant UPSs which
             support basic functions."
     ::= { upsBasicGroups 5 }
 upsBasicAlarmGroup OBJECT-GROUP
     OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
     STATUS  current
     DESCRIPTION
             "The upsBasicAlarmGroup defines the objects that are
             common to the Alarm  groups of compliant UPSs which
             support basic functions."
     ::= { upsBasicGroups 6 }
 upsBasicTestGroup OBJECT-GROUP
     OBJECTS { upsTestId, upsTestSpinLock,
               upsTestResultsSummary, upsTestResultsDetail,
               upsTestStartTime, upsTestElapsedTime }
     STATUS  current
     DESCRIPTION
             "The upsBasicTestGroup defines the objects that are
             common to the Test groups of compliant UPSs which
             support basic functions."
     ::= { upsBasicGroups 7 }
 upsBasicControlGroup OBJECT-GROUP
     OBJECTS { upsShutdownType, upsShutdownAfterDelay,
               upsStartupAfterDelay, upsRebootWithDuration,
               upsAutoRestart }
     STATUS  current
     DESCRIPTION
             "The upsBasicControlGroup defines the objects that are
             common to the Control groups of compliant UPSs which
             support basic functions."
     ::= { upsBasicGroups 8 }
 upsBasicConfigGroup OBJECT-GROUP
     OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
               upsConfigOutputVoltage, upsConfigOutputFreq,
               upsConfigOutputVA, upsConfigOutputPower,
               upsConfigLowBattTime, upsConfigAudibleStatus }
     STATUS  current
     DESCRIPTION
             "The upsBasicConfigGroup defines the objects that are
             common to the Config groups of UPSs which support
             basic functions."
     ::= { upsBasicGroups 9 }

Case [Page 40] RFC 1628 UPS MIB May 1994

 upsFullGroups         OBJECT IDENTIFIER ::= { upsGroups 3 }
 upsFullIdentGroup OBJECT-GROUP
     OBJECTS { upsIdentManufacturer, upsIdentModel,
               upsIdentUPSSoftwareVersion,
               upsIdentAgentSoftwareVersion, upsIdentName,
               upsIdentAttachedDevices }
     STATUS  current
     DESCRIPTION
             "The upsFullIdentGroup defines objects which are
             common to the Ident group of fully compliant UPSs."
     ::= { upsFullGroups 1 }
 upsFullBatteryGroup OBJECT-GROUP
     OBJECTS { upsBatteryStatus, upsSecondsOnBattery,
               upsEstimatedMinutesRemaining,
               upsEstimatedChargeRemaining }
     STATUS  current
     DESCRIPTION
             "The upsFullBatteryGroup defines the objects that are
             common to the battery groups of fully compliant UPSs."
     ::= { upsFullGroups 2 }
 upsFullInputGroup OBJECT-GROUP
     OBJECTS { upsInputLineBads, upsInputNumLines,
               upsInputFrequency, upsInputVoltage }
     STATUS  current
     DESCRIPTION
             "The upsFullInputGroup defines the objects that are
             common to the Input groups of fully compliant UPSs."
     ::= { upsFullGroups 3 }
 upsFullOutputGroup OBJECT-GROUP
     OBJECTS { upsOutputSource, upsOutputFrequency,
               upsOutputNumLines, upsOutputVoltage,
               upsOutputCurrent, upsOutputPower,
               upsOutputPercentLoad }
     STATUS  current
     DESCRIPTION
             "The upsFullOutputGroup defines the objects that are
             common to the Output groups of fully compliant UPSs."
     ::= { upsFullGroups 4 }
 upsFullBypassGroup OBJECT-GROUP
     OBJECTS { upsBypassFrequency, upsBypassNumLines,
               upsBypassVoltage }
     STATUS  current
     DESCRIPTION

Case [Page 41] RFC 1628 UPS MIB May 1994

             "The upsFullBypassGroup defines the objects that are
             common to the Bypass groups of fully compliant UPSs."
     ::= { upsFullGroups 5 }
 upsFullAlarmGroup OBJECT-GROUP
     OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
     STATUS  current
     DESCRIPTION
             "The upsFullAlarmGroup defines the objects that are
             common to the Alarm  groups of fully compliant UPSs."
     ::= { upsFullGroups 6 }
 upsFullTestGroup OBJECT-GROUP
     OBJECTS { upsTestId, upsTestSpinLock,
               upsTestResultsSummary, upsTestResultsDetail,
               upsTestStartTime, upsTestElapsedTime }
     STATUS  current
     DESCRIPTION
             "The upsFullTestGroup defines the objects that are
             common to the Test groups of fully compliant UPSs."
     ::= { upsFullGroups 7 }
 upsFullControlGroup OBJECT-GROUP
     OBJECTS { upsShutdownType, upsShutdownAfterDelay,
               upsStartupAfterDelay, upsRebootWithDuration,
               upsAutoRestart }
     STATUS  current
     DESCRIPTION
 "The upsFullControlGroup defines the objects that are
 common to the Control groups of fully compliant UPSs."
     ::= { upsFullGroups 8 }
 upsFullConfigGroup OBJECT-GROUP
     OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
               upsConfigOutputVoltage, upsConfigOutputFreq,
               upsConfigOutputVA, upsConfigOutputPower,
               upsConfigLowBattTime, upsConfigAudibleStatus }
     STATUS  current
     DESCRIPTION
             "The upsFullConfigGroup defines the objects that are
             common to the Config groups of fully compliant UPSs."
     ::= { upsFullGroups 9 }
 END

Case [Page 42] RFC 1628 UPS MIB May 1994

5. Acknowledgements

 The UPS MIB represents the combined work of the IETF UPS MIB Working
 Group, with particular, substantial authorship contributions from:
         Mike Davison
         Fibercom, Inc.
         Ray Wasson
         Consultant
         Roger Draper
         Liebert Corporation
         Ken Key
         SNMP Research, Incorporated
         Pete Yoest
         American Power Conversion
         Doug Rademacher
         American Power Conversion
         Ron Pitt
         Network Security Systems, Inc
         Terry Zumwalt
         International Power Machines
         Lawren Markle
         Tripp Lite
         Bill Elliot
         ONEAC
         Tom Brennan
         Exide Electronics
         Brian Young
         Best Power Technology

Case [Page 43] RFC 1628 UPS MIB May 1994

6. References

 [1] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
     Network Management Protocol", STD 15, RFC 1157, SNMP Research,
     Inc., Performance Systems International, Performance Systems
     International, MIT Laboratory for Computer Science, May 1990.
 [2] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol
     Operations for Version 2 of the Simple Network Management
     Protocol (SNMPv2)", RFC 1448, SNMP Research, Inc., Hughes LAN
     Systems, Dover Beach Consulting, Inc., Carnegie Mellon
     University, April 1993.
 [3] McCloghrie, K., and M. Rose, Editors, "Management Information
     Base for Network Management of TCP/IP-based internets: MIB-II",
     STD 17, RFC 1213, Hughes LAN Systems, Performance Systems
     International, March 1991.
 [4] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure
     of Management Information for Version 2 of the Simple Network
     Management Protocol (SNMPv2)", RFC 1442, SNMP Research, Inc.,
     Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon
     University, April 1993.
 [5] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
     "Conformance Statements for Version 2 of the Simple Network
     Management Protocol (SNMPv2)", RFC 1444, SNMP Research, Inc.,
     Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon
     University, April, 1993.
 [6] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual
     Conventions for Version 2 of the Simple Network Management
     Protocol (SNMPv2)", RFC 1443, SNMP Research, Inc., Hughes LAN
     Systems, Dover Beach Consulting, Inc., Carnegie Mellon
     University, April 1993.

Case [Page 44] RFC 1628 UPS MIB May 1994

7. Security Considerations

 Security issues are not discussed in this memo.

8. Author's Address

 Jeffrey D. Case, Ph.D.
 SNMP Research, Incorporated
 3001 Kimberlin Heights Road
 Knoxville, Tennessee 37920
 Phone:  (615) 573-1434
 EMail:  case@SNMP.COM

Case [Page 45]

/data/webs/external/dokuwiki/data/pages/rfc/rfc1628.txt · Last modified: 1994/05/18 01:30 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki