diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1628.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1628.txt')
-rw-r--r-- | doc/rfc/rfc1628.txt | 2523 |
1 files changed, 2523 insertions, 0 deletions
diff --git a/doc/rfc/rfc1628.txt b/doc/rfc/rfc1628.txt new file mode 100644 index 0000000..411dbad --- /dev/null +++ b/doc/rfc/rfc1628.txt @@ -0,0 +1,2523 @@ + + + + + + +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 } + + + -- + -- The Device Identification group. + -- All objects in this group except for upsIdentName and + -- upsIdentAttachedDevices are set at device initialization + -- and remain static. + -- + + 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 } + + + -- + -- Battery Group + -- + + 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 } + + + -- + -- Input Group + -- + + 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 } + + + -- + -- The Output group. + -- + + 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 + + + -- + -- The Bypass group. + -- + + 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 } + + + -- + -- The Alarm group. + -- + + 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 } + + + -- + -- Well known alarm conditions. + -- + + 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 } + + + -- + -- The Test Group + -- + + 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 } + + -- see [6] for more information on the semantics of objects with + -- 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 } + + -- + -- Well known tests. + -- + + 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 } + + + -- + -- The Control group. + -- + + 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 } + + + -- + -- The Configuration group. + -- + + 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 } + + + -- + -- notifications, i.e., traps + -- + upsTraps OBJECT IDENTIFIER ::= { upsMIB 2 } + + -- This section defines the well-known notifications sent by + -- UPS agents. + -- Care must be taken to insure that no particular notification + -- is sent to a single receiving entity more often than once + -- 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 } + + + -- + -- conformance information + -- + upsConformance OBJECT IDENTIFIER ::= { upsMIB 3 } + + upsCompliances OBJECT IDENTIFIER ::= { upsConformance 1 } + + + -- + -- compliance statements + -- + + 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 } + + + -- + -- units of conformance + -- + + -- summary at a glance: + + -- subset basic adv + --upsIdentManufacturer x x x + --upsIdentModel x x x + + + +Case [Page 35] + +RFC 1628 UPS MIB May 1994 + + + --upsIdentUPSSoftwareVersion x x + --upsIdentAgentSoftwareVersion x x x + --upsIdentName x x x + --upsIdentAttachedDevices x x + -- + --upsBatteryStatus x x x notes + --upsSecondsOnBattery x x x + --upsEstimatedMinutesRemaining x + --upsEstimatedChargeRemaining x + --upsBatteryVoltage + --upsBatteryCurrent + --upsBatteryTemperature + -- + --upsInputLineBads x x x + --upsInputNumLines x x + --upsInputFrequency x x + --upsInputVoltage x x + --upsInputCurrent + --upsInputTruePower + -- + --upsOutputSource x x x notes + --upsOutputFrequency x x + --upsOutputNumLines x x + --upsOutputVoltage x x + --upsOutputCurrent x + --upsOutputPower x + --upsOutputPercentLoad x + -- + -- + --upsBypassFrequency x x notes + --upsBypassNumLines x x + --upsBypassVoltage x x + --upsBypassCurrent + --upsBypassPower + -- + -- + --upsAlarmsPresent x x x + --upsAlarmDescr x x x notes + --upsAlarmTime x x x + -- + --upsTestId x x notes + --upsTestSpinLock x x + --upsTestResultsSummary x x + --upsTestResultsDetail x x + --upsTestStartTime x x + --upsTestElapsedTime x x + -- + --upsShutdownType x x x notes + + + +Case [Page 36] + +RFC 1628 UPS MIB May 1994 + + + --upsShutdownAfterDelay x x x + --upsStartupAfterDelay x x + --upsRebootWithDuration x x + --upsAutoRestart x x x notes + -- + --upsConfigInputVoltage x x x notes + --upsConfigInputFreq x x x notes + --upsConfigOutputVoltage x x x notes + --upsConfigOutputFreq x x x notes + --upsConfigOutputVA x x x + --upsConfigOutputPower x x x + --upsConfigLowBattTime x x notes + --upsConfigAudibleStatus x x + --upsConfigLowVoltageTransferPoint + --upsConfigHighVoltageTransferPoint + + + -- 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 } + + + -- { upsSubsetGroups 5 } is reserved for + -- 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 } + + -- { upsSubsetGroups 7 } is reserved for + -- 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] + |