PMP Mail Archive: PMP> Can an RFC 1759 implementation use the alert(18) type 1 code?

PMP> Can an RFC 1759 implementation use the alert(18) type 1 code?

Tom Hastings (hastings@cp10.es.xerox.com)
Thu, 4 Jun 1998 18:46:32 PDT

RFC 1759 says that implementations conforming to RFC 1759 may implement
type 2 and type 3 enums that are registered after 1759 has been published.

In order to use the new type 2 alert code:

-- Alert Group
alertRemovalOfBinaryChangeEntry(1801)
-- A binary change event entry has been
-- removed from the alert table. This unary
-- change alert table entry is added to the
-- end of the alert table.

an implementation has to include the new type 1 alert(18) code
in the alert table and trap (which is defined in the draft Printer MIB):

prtAlertSeverityLevel warningUnaryChangeEvent(4)
prtAlertTrainingLevel noInterventionRequired(7)
prtAlertGroup alert(18)
prtAlertGroupIndex the index of the row in the
alert table of the binary
change event that this event
has removed.
prtAlertLocation unknown (-2)
prtAlertCode alertRemovalOfBinaryChangeEntry(1801)
prtAlertDescription <description or null string>
prtAlertTime the value of sysUpTime at
the time of the removal of the

With hind site we should have made the PrtAlertGroupTC a type 2
enum, instead of a type 1 enum. But we didn't.

Alternatively, since the alert group codes starting at 30 are type 2,
why not also indicate that the alert code 18 is also type 2, so that
implementations conforming to RFC 1759 can use it?

Or am I just being too fussy here? Should implementators conforming to
RFC 1759 feel free to implement the alert(18) type 1 code?

Here is the complete text of both TCs:

PrtAlertGroupTC ::= TEXTUAL-CONVENTION
-- This value is a type 1 enumeration for values in the range
-- 1 to 29.
-- Values of 30 and greater are type 2 enumerations and are
-- for use in other MIBs that augment tables in the Printer

Turner draft-ietf-printmib-mib-info-03.txt [Page 61]
Expires July 22, 1998

INTERNET DRAFT Printer MIB October 15, 1997

-- MIB. Therefore, other MIBs may assign alert codes of 30 or
-- higher to use the alert table from the Printer MIB without
-- requiring revising and re-publishing this document.
STATUS current
DESCRIPTION
"The type of sub-unit within the printer model that this
alert is related. Input, output, and markers are
examples of printer model groups, i.e., examples of
types of sub-units. Wherever possible, these
enumerations match the sub-identifier that identifies
the relevant table in the printer MIB.

NOTE: Alert type codes have been added for the host
resources MIB storage table and device table. These
additional types are for situations in which the
printer's storage and device objects
must generate alerts (and possibly traps for critical
alerts)."
SYNTAX INTEGER {
other(1),
hostResourcesMIBStorageTable(3),
hostResourcesMIBDeviceTable(4),
generalPrinter(5),
cover(6),
localization(7),
input(8),
output(9),
marker(10),
markerSupplies(11),
markerColorant(12),
mediaPath(13),
channel(14),
interpreter(15),
consoleDisplayBuffer(16),
consoleLights(17),
alert(18)
}

PrtAlertCodeTC ::= TEXTUAL-CONVENTION
-- This value is a type 2 enumeration
STATUS current
DESCRIPTION
"The code that describes the type of alert for this
entry in the table. Binary change event alerts describe
states of the subunit while unary change event alerts

Turner draft-ietf-printmib-mib-info-03.txt [Page 62]
Expires July 22, 1998

INTERNET DRAFT Printer MIB October 15, 1997

describe a single event. The same alert code can be used
for a binary change event or a unary change event,
depending on implementation. Also, the same alert code
can be used to indicate a critical or a non-critical
(warning) alert, depending on implementation. The value
of prtAlertSeverityLevel specifies binary vs. unary and
critical vs. non-critical for each event for the
implementation.

While there are some specific codes for many subunits,
the generic codes should be used for most subunit
alerts. The network management station can then query
the subunit specified by prtAlertGroup to determine
further subunit status and other subunit information.

An agent shall not add two entries to the alert table
for the same event, one containing a generic event code
and the other containing a specific event code; the
agent shall add only one entry in the alert table for
each event; either generic (preferred) or specific, not
both.

Implementation of the unary change event
alertRemovalOfBinaryChangeEntry(1801) is optional. When
implemented, this alert code shall indicate to network
management stations that the trailing edge of a binary
change event has occurred and the corresponding alert
entry has been removed from the alert table. As with all
events, the alertRemovalOfBinaryChangeEntry(1801) alert
shall be placed at the end of the alert table. Such an
alert table entry shall specify the following
information:

prtAlertSeverityLevel warningUnaryChangeEvent(4)
prtAlertTrainingLevel noInterventionRequired(7)
prtAlertGroup alert(18)
prtAlertGroupIndex the index of the row in the
alert table of the binary
change event that this event
has removed.
prtAlertLocation unknown (-2)
prtAlertCode alertRemovalOfBinaryChangeEntry(1801)
prtAlertDescription <description or null string>
prtAlertTime the value of sysUpTime at
the time of the removal of the

Turner draft-ietf-printmib-mib-info-03.txt [Page 63]
Expires July 22, 1998

INTERNET DRAFT Printer MIB October 15, 1997

binary change event from the
alert table.

Optionally, the agent may generate a trap coincident
with removing the binary change event and placing the
unary change event alertRemovalOfBinaryChangeEntry(1801)
in the alert table. For such a trap, the prtAlertIndex
sent with the above trap parameters shall be the index
of the alertRemovalOfBinaryChangeEvent row that was
added to the prtAlertTable; not the index of the row
that was removed from the prtAlertTable."
SYNTAX INTEGER {
other(1),
-- an event that is not represented
-- by one of the alert codes
-- specified below.
unknown(2),
-- The following generic codes are common
-- to multiple groups. The NMS may
-- examine the prtAlertGroup object
-- to determine what group to query for
-- further information.
coverOpened(3),
coverClosed(4),
interlockOpened(5),
interlockClosed(6),
configurationChanged(7),
jammed(8),
subunitMissing(9),
-- The subunit tray, bin, etc.
-- has been removed.
subunitLifeAlmostOver(10),
subunitLifeOver(11),
subunitAlmostEmpty(12),
subunitEmpty(13),
subunitAlmostFull(14),
subunitFull(15),
subunitNearLimit(16),
subunitAtLimit(17),
subunitOpened(18),
subunitClosed(19),
subunitTurnedOn(20),
subunitTurnedOff(21),
subunitOffline(22),
subunitPowerSaver(23),

Turner draft-ietf-printmib-mib-info-03.txt [Page 64]
Expires July 22, 1998

INTERNET DRAFT Printer MIB October 15, 1997

subunitWarmingUp(24),
subunitAdded(25),
subunitRemoved(26),
subunitResourceAdded(27),
subunitResourceRemoved(28),
subunitRecoverableFailure(29),
subunitUnrecoverableFailure(30),
subunitRecoverableStorageError(31),
subunitUnrecoverableStorageError(32),
subunitMotorFailure(33),
subunitMemoryExhausted(34),
subunitUnderTemperature(35),
subunitOverTemperature(36),
subunitTimingFailure(37),
subunitThermistorFailure(38),
-- general Printer group
doorOpen(501), -- DEPRECATED
-- Use coverOpened(3)
doorClosed(502), -- DEPRECATED
-- Use coverClosed(4)
poweredUp(503),
poweredDown(504),
printerNMSReset(505),
-- The printer has been reset by some
-- network management station(NMS)
-- writing into 'prtGeneralReset'. The
-- value written shall be stored as
-- the value of the prtAlertLocation
-- object indicating the type of
-- reset: powerCycleReset(4),
-- resetToNVRAM(5),
-- resetToFactoryDefaults(6), etc.
printerManualReset(506),
-- The printer has been reset manually.
-- The value of prtAlertLocation may be
-- used to indicate the type of reset.
printerReadyToPrint(507),
-- The printer is ready to print. (i.e.,
-- not warming up, not in power save
-- state, not adjusting print quality,
-- etc.).

-- Input Group
inputMediaTrayMissing(801),
inputMediaSizeChanged(802),

Turner draft-ietf-printmib-mib-info-03.txt [Page 65]
Expires July 22, 1998

INTERNET DRAFT Printer MIB October 15, 1997

inputMediaWeightChanged(803),
inputMediaTypeChanged(804),
inputMediaColorChanged(805),
inputMediaFormPartsChange(806),
inputMediaSupplyLow(807),
inputMediaSupplyEmpty(808),
inputMediaChangeRequest(809),
-- An interpreter has detected that a
-- different medium is need in this input
-- tray subunit. The prtAlertDescription may
-- be used to convey a human readable
-- description of the medium required to
-- satisfy the request.
inputManualInputRequest(810),
-- An interpreter has detected that manual
-- input is required in this subunit. The
-- prtAlertDescription may be used to convey
-- a human readable description of the medium
-- required to satisfy the request.
inputTrayPositionFailure(811),
-- The input tray failed to position
-- correctly.
inputTrayElevationFailure(812),
inputCannotFeedSizeSelected(813),
-- Output Group
outputMediaTrayMissing(901),
outputMediaTrayAlmostFull(902),
outputMediaTrayFull(903),
outputMailboxSelectFailure(904),
-- Marker group
markerFuserUnderTemperature(1001),
markerFuserOverTemperature(1002),
markerFuserTimingFailure(1003),
markerFuserThermistorFailure(1004),
markerAdjustingPrintQuality(1005),
-- Marker Supplies group
markerTonerEmpty(1101),
markerInkEmpty(1102),
markerPrintRibbonEmpty(1103),
markerTonerAlmostEmpty(1104),
markerInkAlmostEmpty(1105),
markerPrintRibbonAlmostEmpty(1106),
markerWasteTonerReceptacleAlmostFull(1107),
markerWasteInkReceptacleAlmostFull(1108),
markerWasteTonerReceptacleFull(1109),

Turner draft-ietf-printmib-mib-info-03.txt [Page 66]
Expires July 22, 1998

INTERNET DRAFT Printer MIB October 15, 1997

markerWasteInkReceptacleFull(1110),
markerOpcLifeAlmostOver(1111),
markerOpcLifeOver(1112),
markerDeveloperAlmostEmpty(1113),
markerDeveloperEmpty(1114),
markerTonerCartridgeMissing(1115),
-- Media Path Device Group
mediaPathMediaTrayMissing(1301),
mediaPathMediaTrayAlmostFull(1302),
mediaPathMediaTrayFull(1303),
-- Interpreter Group
interpreterMemoryIncreased(1501),
interpreterMemoryDecreased(1502),
interpreterCartridgeAdded(1503),
interpreterCartridgeDeleted(1504),
interpreterResourceAdded(1505),
interpreterResourceDeleted(1506),
interpreterResourceUnavailable(1507),
interpreterComplexPageEncountered(1509),
-- The interpreter has encountered a page
-- that is too complex for the resources that
-- are available.
-- Alert Group
alertRemovalOfBinaryChangeEntry(1801)
-- A binary change event entry has been
-- removed from the alert table. This unary
-- change alert table entry is added to the
-- end of the alert table.
}