INTERNET-DRAFT Ron Bergman Dataproducts Corp. Harry Lewis IBM Corp. March 12, 1998 Printer Finishing MIB Expires September 12, 1998 Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress". To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Copyright Notice Copyright (C) The Internet Society (1998). All Rights Reserved. Abstract This document defines a printer industry standard SNMP MIB for the management of printer finishing device subunits. The finishing device subunits applicable to this MIB are an integral part of the Printer System. This MIB does not apply to a Finisher Device that is external to a Printer System. The Finisher MIB is defined as an extension of the Printer MIB [PrtMIB] and it is expected that the information defined in this document will be incorporated into a future update of the Printer MIB. Bergman, Lewis [page 1] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 TABLE OF CONTENTS 1. INTRODUCTION.......................................................2 1.1 Scope.............................................................2 1.2 Rational..........................................................3 2. TERMINOLOGY........................................................3 3. FINISHER SUBUNITS INTEGRATED INTO THE PRINTER MODEL:...............4 4. THE ATTRIBUTE MECHANISM............................................4 4.1 Conformance of Attribute Implementation...........................5 4.2 Useful, 'Unknown', and 'Other' Values for Objects and Attributes..5 4.3 Data Sub-types and Attribute Naming Conventions...................6 4.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes......6 4.6 Index Value Attributes............................................7 5. PRINTER FINISHING MIB SPECIFICATION................................7 6. REFERENCES........................................................28 7. SECURITY CONSIDERATIONS...........................................28 8. FULL COPYRIGHT STATEMENT..........................................29 9. AUTHORS...........................................................29 1. INTRODUCTION This document describes an SNMP Management Information Base (MIB) to provide for the management of in-line post-processing in a fashion that is currently provided for printers, using the Printer MIB [PrtMIB]. The Printer Finishing MIB includes the following features: - Provides the status of the finishing device. - Manages the features and configuration of the finishing device. - Enables and disables the finishing operations. - Allows unsolicited status from the finishing device. 1.1 Scope This document provides a robust set of finishing devices, features, and functions, based upon today's state of the art of in-line finishing. Since finishing typically accompanies higher speed network printers and copiers, in contrast to simple desktop devices, no attempt is made to limit the scope to "bare minimum". On the other hand, the Printer Finishing MIB does not duplicate the production mail preparation, custom insertion, franking, and reprints that are covered by the DMTF Large Mailing Operations standard [LMO]. Information supplied by the Printer Finishing MIB may be utilized by printer and finisher management applications engaged in monitoring status and managing configuration, and also used by print and finishing submission applications which are engaged in: Bergman, Lewis Informational [page 2] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 - print-file-level finishing operations that are applied to a complete print file, - document-level finishing operations that are applied individually to each document in the print file, - document-level finishing operations that are applied to a selected document in the print file. Note that not all combinations of finishing operations are compatible. Compatible combinations of finishing operations are device specific. 1.2 Rational The Printer MIB [PrtMIB] is now successfully deployed in a large segment of the network printer market. SNMP and/or HTTP enabled printers and software management applications are growing in numbers. There is an increase in the availability of network printers and copiers that include in-line finishing operations. Thus a well defined and ordered set of finishing objects is now necessary for printer management. The printer model defined in the Printer MIB includes finishing operations and the MIB was designed to later incorporate finisher objects or to be referenced by a future Finisher MIB. 2. TERMINOLOGY Where appropriate, the Printer Finishing MIB will conform to the terminology, syntax, and semantics from the DMTF Large Mailing Operations standard [LMO], the Internet Printing Protocol [IPP], and/or the ISO Document Printing Application [DPA]. Finisher Input: An input tray on the finisher and not otherwise associated with the printer. An example of a finisher input is a tray that holds finishing "inserts". Finisher Output: The output of the finisher. Because processing is in-line, the finisher outputs are a direct extension of the set of printer outputs. Finishing Operation Axis: Defined by DPA as the axis to which some finishing operations are applied to or referenced from. An example is the axis for a fold operation. Bergman, Lewis Informational [page 3] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 Finishing Axis Offset: The offset from a finishing operation axis at which the finishing operation takes place or is applied. 3. FINISHER SUBUNITS INTEGRATED INTO THE PRINTER MODEL: The Printer Finisher Device subunits receive media from one or more Printer Media Path subunits and deliver the media to one or more Printer Output subunits after the completion of the finishing operations. The Printer Model, as described in the Printer MIB [PRTMIB], is modified adding the finisher subunit(s) and finisher supplies as follows: +----------+ +----------+ | | Marker | | | Supplies |-+ +----------+ \ +-----+ \ +------+ +--------+ +------+ | | \| | | | | | +-----+ | +-----+ +------+ | +------+ +--------+ | +------+ | |Input|-+ +------+| |Marker|-+ +------+| |Finisher|-+ |Output|-+ | |===>| |+<==>| |<==>| |+==>| |===>| | +-----+ +-+ +-+ +------+ +-+ +-+ +--------+ +------+ \ | || | || \ \ | || | || \ \ | || | || +----------+ +-------+ | |+--------------------| || | Finisher |-+ | | | +---------------------+ || | Supplies | | +-------+ | | Media Path |+ +----------+ | | Media |-+ +---------------------------+ | | |(opt.) | +----------+ +-------+ 4. THE ATTRIBUTE MECHANISM Attributes provide a function similar to information objects, except that attributes are identified by an enum, instead of an OID. Thus new attributes may be registered without requiring a change to the MIB. In addition, an implementation that does not have the functionality represented by the attribute can omit the attribute entirely, rather than having to return a distinguished value. The agent is free to materialize an attribute in the Attribute Table as soon as the agent is aware of the value of the attribute. Bergman, Lewis Informational [page 4] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 The agent materializes finishing subunit attributes in a four-indexed finDeviceAttributeTable: 1. hrDeviceIndex - which device in the host 2. finDeviceIndex - which finisher subunit in the printer device 3. finDeviceAttributeTypeIndex - which attribute 4. finDeviceAttributeInstanceIndex - which attribute instance for those attributes that can have multiple values per finishing subunit. 4.1 Conformance of Attribute Implementation An agent SHALL implement any attribute if (1) the device supports the functionality represented by the attribute and (2) the information is available to the agent. The agent MAY create the attribute row in the finDeviceAttributeTable when the information is available or MAY create the row earlier with the designated 'unknown' value appropriate for that attribute. See next section. If the device does not implement or does not provide access to the information about an attribute, the agent SHOULD NOT create the corresponding row in the finDeviceAttributeTable. 4.2 Useful, 'Unknown', and 'Other' Values for Objects and Attributes Some attributes have a 'useful' Integer32 value, some have a 'useful' OCTET STRING value, some MAY have either or both depending on implementation, and some MUST have both. See the finDeviceAttributeTypeTC textual convention for the specification of each attribute. SNMP requires that if an object cannot be implemented because its values cannot be accessed, then a compliant agent SHALL return an SNMP error in SNMPv1 or an exception value in SNMPv2. However, this MIB has been designed so that 'all' objects can and SHALL be implemented by an agent, so that neither the SNMPv1 error nor the SNMPv2 exception value SHALL be generated by the agent. This MIB has also been designed so that when an agent materializes an attribute, the agent SHALL materialize a row consisting of both the finDeviceAttributeValueAsInteger and finDeviceAttributeValueAsOctets objects. In general, values for objects and attributes have been chosen so that a management application will be able to determine whether a 'useful', 'unknown', or 'other' value is available. When a useful Bergman, Lewis Informational [page 5] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 value is not available for an object that agent SHALL return a zero- length string for octet strings, the value 'unknown(2)' for enums, a '0' value for an object that represents an index in another table, and a value '-2' for counting integers. Since each attribute is represented by a row consisting of both the finDeviceAttributeValueAsInteger and finDeviceAttributeValueAsOctets MANDATORY objects, SNMP requires that the agent SHALL always create an attribute row with both objects specified. However, for most attributes the agent SHALL return a "useful" value for one of the objects and SHALL return the 'other' value for the other object. For integer only attributes, the agent SHALL always return a zero-length string value for the finDeviceAttributeValueAsOctets object. For octet string only attributes, the agent SHALL always return a '-1' value for the finDeviceAttributeValueAsInteger object. 4.3 Data Sub-types and Attribute Naming Conventions Many attributes are sub-typed to give a more specific data type than Integer32 or OCTET STRING. The data sub-type of each attribute is indicated on the first line(s) of the description. Some attributes have several different data sub-type representations. When an attribute has both an Integer32 data sub-type and an OCTET STRING data sub-type, the attribute can be represented in a single row in the finDeviceAttributeTable. In this case, the data sub-type name is not included as the last part of the name of the attribute. When the data sub-types cannot be represented by a single row in the finDeviceAttributeTable, each such representation is considered a separate attribute and is assigned a separate name and enum value. For these attributes, the name of the data sub-type is the last part of the name of the attribute. 4.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes Most attributes SHALL have only one row per finishing subunit. However, a few attributes can have multiple values per finishing subunit, where each value is a separate row in the finDeviceAttributeTable. Unless indicated with 'MULTI-ROW:' in the finDeviceAttributeTypeTC description, an agent SHALL ensure that each attribute occurs only once in the finDeviceAttributeTable for a finishing subunit. Most of the 'MULTI-ROW' attributes do not allow duplicate values, i.e., the agent SHALL ensure that each value occurs only once for a finishing subunit. Only if the specification of the 'MULTI-ROW' attribute also says "There is no restriction on the same xxx occurring in multiple rows" can the agent allow duplicate values to occur for a single finishing subunit. Bergman, Lewis Informational [page 6] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 4.5 Linked MUTI-ROW Values Some MULTI-ROW attributes are intended to go together. Thus a set of value instances represent a single instance. For example, the puncher attributes indicate the shape, maximum size, minimum size and shape of the various holes that the puncher can produce. So the first set of values could represent one kind of hole, and the second set another kind of hole, etc. 4.6 Index Value Attributes A number of attributes are indexes in other tables. Such attribute names end with the word 'Index'. If the agent has not (yet) assigned an index value for a particular index attribute for a finishing subunit, the agent SHALL either: (1) return the value 0 or (2) not add this attribute to the finDeviceAttributeTable until the index value is assigned. In the interests of brevity, the semantics for 0 is specified once here and is not repeated for each index attribute specification and a DEFVAL of 0 is indicated. 5. PRINTER FINISHING MIB SPECIFICATION Bergman, Lewis Informational [page 7] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 Finisher-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, experimental, Integer32 FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF hrDeviceIndex FROM HOST-RESOURCES-MIB PrtSubUnitStatusTC, PrtInputTypeTC, PrtMarkerSuppliesSupplyUnitTC, PrtCapacityUnitTC, prtOutputIndex, PrtMarkerSuppliesClassTC, PresentOnOff, PrtMediaPathIndex FROM Printer-MIB finisherMIB MODULE-IDENTITY LAST-UPDATED "9801120000Z" ORGANIZATION "IETF Printer MIB Working Group" CONTACT-INFO "Ron Bergman Dataproducts Corp. 1757 Tapo Canyon Road Simi Valley, CA 91063-3394 rbergma@dpc.com Send comments to the printmib WG using the Finisher MIB Project (FIN) Mailing List: fin@pwg.org For further information, access the PWG web page under 'FIN': http://www.pwg.org/ Implementers of this specification are encouraged to join the fin mailing list in order to participate in discussions on any clarifications needed and registration proposals being reviewed in order to achieve consensus." DESCRIPTION "The MIB module for management of printer finisher units. The Finisher MIB is an extension of the Printer MIB." ::= { mib-2 43 } -- Textual conventions for this MIB module FinDeviceTypeTC ::= TEXTUAL-CONVENTION -- This is a type 2 enumeration. STATUS current DESCRIPTION "The defined finishing device subunit operation enumerations." SYNTAX INTEGER { other(1), Bergman, Lewis Informational [page 8] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 unknown(2), stitcher(3), folder(4), binder(5), trimmer(6), dieCutter(7), puncher(8), perforater(9), slitter(10), separationCutter(11), imprinter(12), wrapper(13), bander(14) } finAttributeTypeTC ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This textual convention defines a set of enums for use in the finDeviceAttributeTable. The data type tag definitions 'INTEGER:' or 'OCTETS', indicate if the attribute can be represented using the object finDeviceAttributeAsInteger or the object finDeviceAttributeAsOctets, respectively. In some cases, a choice between the two data types is possible and for a few attributes both objects may be required at the same time to properly present the value. The attribute types defined at the time of completion of this specification are:" finAttributeTypeIndex Data type --------------------- --------- other(1), Integer32 AND/OR OCTET STRING (SIZE(0..63)) INTEGER: and/or OCTETS: An attribute that is not currently approved and registered. -- Generic finisher subunit attributes that apply to all -- finisher subunit types. (3..) deviceName(3), OCTET STRING (SIZE(0..63)) OCTETS: The name assigned to this finisher device subunit. deviceVendorName(4), OCTET STRING (SIZE(0..63)) OCTETS: The name of the vendor of this finisher device subunit. deviceModel(5), OCTET STRING (SIZE(0..63)) OCTETS: The model name of this finisher device subunit. Bergman, Lewis Informational [page 9] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 deviceVersion(6), OCTET STRING (SIZE(0..63)) OCTETS: The version string for this finisher device subunit. deviceSerialNumber(7), OCTET STRING (SIZE(0..63)) OCTETS: The serial number assigned to this finisher device subunit. deviceMoreAssociatedOutputs(8), Integer32 INTEGER: Used for situations where the printer system has more than 31 output subunits to augment the object finDeviceAssociatedOutputs. This is a bit map integer which identifies the printer output subunits this finisher device subunit can deposit processed media. The least significant bit correspond to the prtOutputIndex of 32. -- Stitcher type-specific attributes (30..) stitchingType(30), FinStitchingTypeTC INTEGER: Provides additional information regarding the stitching operation. -- Folder type-specific attributes (40..) foldingType(40), FinFoldingTypeTC INTEGER: Provides additional information regarding the folding operation. -- Binder type-specific attributes (50..) bindingType(50), FinBindingTypeTC INTEGER: Provides additional information regarding the binding operation. -- Trimmer type-specific attributes (60..) -- Die cutter type-specific attributes (70..) -- Puncher type-specific attributes (80..) punchHoleType(88), FinPunchHoleTypeTC INTEGER: Provides information regarding the shape of the punched hole. punchHoleSizeMaxDim(81), Integer32 INTEGER: Defines the size of the punched hole in the maximum dimension. This dimension shall always be measured parallel to either the long edge or the short edge of the media and the maximum dimension will always be measured 90 degrees from the minimum dimension. The minimum and maximum dimensions may be identical. Bergman, Lewis Informational [page 10] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 punchHoleSizeMinDim(82), Integer32 INTEGER: Defines the size of the punched hole in the minimum dimension. This dimension shall always be measured parallel to either the long edge or the short edge of the media and the minimum dimension will always be measured 90 degrees from the maximum dimension. The minimum and maximum dimensions may be identical. punchPattern(83), FinPunchPatternTC INTEGER: Defines the hole pattern produced by the punch operation. -- Perforator type-specific attributes (90..) -- Slitter type-specific attributes (100..) slittingType(100), FinSlittingTypeTC INTEGER: Provides additional information regarding the slitting operation. -- Separation cutter type-specific attributes (110..) -- Imprinter type-specific attributes (120..) -- Wrapper type-specific attributes (130..) wrappingType(130), FinWrappingTypeTC INTEGER: Provides additional information regarding the wrapping operation. -- Bander type-specific attributes (1400..)" SYNTAX INTEGER { other(1), deviceName(3), deviceVendorName(4), deviceModel(5), deviceVersion(6), deviceSerialNumber(7), deviceMoreAssociatedOutputs(8), stitchingType(30), foldingType(40), bindingType(50), punchHoleType(80), punchHoleSizeMaxDim(81), punchHoleSizeMinDim(82), punchPattern(83), slittingType(100), wrappingType(130) } Bergman, Lewis Informational [page 11] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 FinStitchingTypeTC ::= TEXTUAL-CONVENTION -- This is a type 2 enumeration. STATUS current DESCRIPTION "The defined stitching type enumerations." SYNTAX INTEGER { other(1), unknown(2), staple(3), stapleTopLeft(4), stapleBottomLeft(5), stapleTopRight(6), stapleBottomRight(7), saddleStitch(8), edgeStitch(9), stitch(10) } FinFoldingTypeTC ::= TEXTUAL-CONVENTION --This is a type 2 enumeration. STATUS current DESCRIPTION "The defined folding device operation enumerations." SYNTAX INTEGER { other(1), unknown(2), zFold(3), halfFold(4), letterFold(5) } FinBindingTypeTC ::= TEXTUAL-CONVENTION -- This is a type 2 enumeration. STATUS current DESCRIPTION "The defined binding type enumerations." SYNTAX INTEGER { other(1), unknown(2), bind(3), tape(4), plastic(5), velo(6), perfect(7), spiral(8) } Bergman, Lewis Informational [page 12] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 FinPunchHoleTypeTC ::= TEXTUAL-CONVENTION --This is a type 2 enumeration. STATUS current DESCRIPTION "The defined hole type punch operation enumerations." SYNTAX INTEGER { other(1), unknown(2), round(3), oblong(4), square(5), rectangular(6), star(7) } FinPunchPatternTC ::= TEXTUAL-CONVENTION --This is a type 2 enumeration. STATUS current DESCRIPTION "The defined hole pattern punch operation enumerations." SYNTAX INTEGER { other(1), unknown(2), punch(3), --Pattern to be defined in other attributes twoHoleUS(4), --Letter top edge, 8.5 inch side threeHoleUS(5), --Letter/ledger left edge, 11 inch side twoHoleMetric(6), --A4/A3 left edge, 297 mm side fourHoleMetric(7), --A4/A3 left edge, 297 mm side twentyTwoHoleUS(8), --Letter/ledger left edge, 11 inch side nineteenHoleUS(9) --Letter/ledger left edge, 11 inch side ) FinSlittingTypeTC ::= TEXTUAL-CONVENTION -- This is a type 2 enumeration. STATUS current DESCRIPTION "The defined slitting type enumerations." SYNTAX INTEGER { other(1), unknown(2), slit(3), slitAndSeparate(4), slitAndMerge(5) } FinWrappingTypeTC ::= TEXTUAL-CONVENTION --This is a type 2 enumeration. STATUS current DESCRIPTION "The defined wrapping device operation enumerations." SYNTAX INTEGER { Bergman, Lewis Informational [page 13] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 other(1), unknown(2), wrap(3), shrinkWrap(4), paperWrap(5) } FinSupplyTypeTC ::= TEXTUAL-CONVENTION -- This is a type 2 enumeration that is an extension to the -- Printer MIB textual convention PrtMarkerSuppliesTypeTC. -- ****************************************************************** -- ISSUE: Should this just define new enums added to the Printer MIB -- or keep it separate? If separate, should the duplicates -- from the Printer MIB be eliminated? -- ****************************************************************** STATUS current DESCRIPTION "The defined finishing supply type enumerations." SYNTAX INTEGER { other(1), unknown(2), toner(3), wasteToner(4), ink(5), inkCartridge(6), inkRibbon(7), wasteInk(8), opc(9), --photo conductor developer(10), fuserOil(11), solidWax(12), ribbonWax(13), wasteWax(14), fuser(15), coronaWire(16), fuserOilWick(17), cleanerUnit(18), fuserCleaningPad(19), transferUnit(20), tonerCartridge(21), fuserOiler(22), --Supply types 3 to 22 are from the --Printer MIB water(23), wasteWater(24), glueWaterAdditive(25), wastePaper(26), bindingTape(27), bandingTape(28), stitchingWire(29), Bergman, Lewis Informational [page 14] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 shrinkWrap(30), paperWrap(31), staples(32), inserts(33), covers(34) } -- Finisher Device Group (Mandatory) -- -- A printer may support zero or more finishing subunits. A -- finishing device subunit may be associated with one or more -- output subunits and one or more media path subunits. finDeviceTable OBJECT-TYPE SYNTAX SEQUENCE OF FinDeviceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table defines the finishing device subunits, including information regarding possible configuration options and the status for each finisher device subunit." ::= { finisherMIB 18 } finDeviceEntry OBJECT-TYPE SYNTAX FinDeviceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "There is an entry in the finishing device table for each possible finisher operation." INDEX { hrDeviceIndex, finDeviceIndex } ::= { finDevicesTable 1 } FinDeviceEntry ::= SEQUENCE { finDeviceIndex Integer32, finDeviceType FinDeviceTypeTC, finDevicePresentOnOff PresentOnOff, finDeviceCapacityUnit PrtCapacityUnitTC, finDeviceMaxCapacity Integer32, finDeviceCurrentCapacity Integer32, finDeviceAssociatedMediaPaths Integer32, finDeviceAssociatedOutputs Integer32, finDeviceStatus PrtSubUnitStatusTC, finDeviceDescription OCTET STRING } finDeviceIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current Bergman, Lewis Informational [page 15] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 DESCRIPTION "A unique value used to identify a finisher operation. Although these values may change due to a major reconfiguration of the printer system (e.g. the addition of new finishing operations), the values are normally expected to remain stable across successive power cycles." ::= { finDeviceEntry 1 } finDeviceType OBJECT-TYPE SYNTAX FinDeviceTypeTC MAX-ACCESS read-only STATUS current DESCRIPTION "Defines the type of finishing operation associated with this table row entry." ::= { finDeviceEntry 2 } finDevicePresentOnOff OBJECT-TYPE SYNTAX PresentOnOff MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates if this finishing device subunit is available and whether the device subunit is enabled." DEFVAL { 5 } -- not present ::= { finDeviceEntry 3 } finDeviceCapacityUnit OBJECT-TYPE SYNTAX PrtCapacityUnitTC MAX-ACCESS read-only STATUS current DESCRIPTION "The unit of measure for specifying the capacity of this finisher device subunit." ::= { finDeviceEntry 4 } finDeviceMaxCapacity OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The maximum capacity of this finisher device subunit in finDeviceCapacityUnits. If the device can reliably sense this value, the value is sensed by the finisher device and is read-only: otherwise the value may be written by a management or control console application. The value (-1) means other and specifically indicates that the device places no restrictions on this parameter. The value (-2) means unknown." DEFVAL { -2 } -- unknown ::= { finDeviceEntry 5 } Bergman, Lewis Informational [page 16] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 finDeviceCurrentCapacity OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The current capacity of this finisher device subunit in finDeviceCapacityUnits. If the device can reliably sense this value, the value is sensed by the finisher and is read-only: otherwise the value may be written by a management or control console application. The value (-1) means other and specifically indicates that the device places no restrictions on this parameter. The value (-2) means unknown." DEFVAL { -2 } -- unknown ::= { finDeviceEntry 6 } finDeviceAssociatedMediaPaths OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the media paths which can supply media for this finisher device. The value of this object is a bit map with each position representing the value of a prtMediaPathIndex. For a media path that can be a source for this finisher device subunit, the bit position equal to 2 raised to the power of one less than the value of prtMediaPathIndex will be set. For example, a value of hexadecimal 21 indicates the media paths with a prtMediaPathIndex of 1 or 6 will supply media to this finisher device subunit. The most significant bit position SHALL not be used, which allows a maximum of 31 media paths to be defined." ::= { finDeviceEntry 7 } finDeviceAssociatedOutputs OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the printer output subunits this finisher device subunit services. The value of this object is a bit map with each position representing the value of a prtOutputIndex. For an output subunit that is serviced by this finisher device subunit, the bit position equal to 2 raised to the power of one less than the value of prtOutputIndex will be set. Bergman, Lewis Informational [page 17] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 For example, a value of hexadecimal 49 indicates the output subunits with a prtOutputIndex of 1, 4 or 7 can be serviced by this finisher device subunit. The most significant bit position SHALL not be used, which allows a maximum of 31 output subunits to be defined." ::= { finDeviceEntry 8 } finDeviceStatus OBJECT-TYPE SYNTAX PrtSubUnitStatusTC MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the current status of this finisher device subunit." DEFVAL { 5 } -- unknown ::= { finDeviceEntry 9 } finDeviceDescription OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "A free form text description of this device subunit in the localization specified by prtGeneralCurrentLocalization." ::= { finDeviceEntry 10 } -- Finisher Supply Group -- -- A finisher may have one or more supplies associated with it. -- For example a finisher may use both binding tape and stitching -- wire supplies. A finisher may also have more than one source -- for a given type of supply e.g. multiple supply sources of ink -- for imprinters. finSupplyTable OBJECT-TYPE SYNTAX SEQUENCE OF FinSupplyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each unique source of supply is an entry in the finisher supply table. Each supply entry has its own characteristics associated with it such as colorant and current supply level." ::= { finisherMIB 19 } finSupplyEntry OBJECT-TYPE SYNTAX FinSupplyEntry MAX-ACCESS not-accessible STATUS current Bergman, Lewis Informational [page 18] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 DESCRIPTION "A list of finisher devices, with their associated supplies and supplies characteristics." INDEX { hrDeviceIndex, finDeviceIndex } ::= { finSupplyTable 1 } FinSupplyEntry ::= SEQUENCE { finSupplyIndex Integer32, finSupplyDeviceIndex Integer32, finSupplyClass PrtMarkerSuppliesClassTC, finSupplyType FinSupplyTypeTC, finSupplyDescription OCTET STRING, finSupplyUnit PrtMarkerSuppliesSupplyUnitTC, finSupplyMaxCapacity Integer32, finSupplyCurrentLevel Integer32, finSupplyColorantValue OCTET STRING } finSupplyIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique value used by a finisher to identify this supply container/receptacle. Although these values may change due to a major reconfiguration of the finisher (e.g. the addition of new supply sources to the finisher), values are normally expected to remain stable across successive power cycles." ::= { finSupplyEntry 1 } finSupplyDeviceIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of finDeviceIndex corresponding to the finishing device subunit with which this finisher supply is associated." ::= { finSupplyEntry 2 } finSupplyClass OBJECT-TYPE SYNTAX PrtMarkerSuppliesClassTC MAX-ACCESS read-only STATUS current DESCRIPTION "This value indicates whether this supply entity represents a supply that is consumed or a container that is filled." ::= { finSupplyEntry 3 } Bergman, Lewis Informational [page 19] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 finSupplyType OBJECT-TYPE SYNTAX FinSupplyTypeTC MAX-ACCESS read-only STATUS current DESCRIPTION "The type of this supply." ::= { finSupplyEntry 4 } finSupplyDescription OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The description of this supply/receptacle in text useful for operators and management applications." ::= { finSupplyEntry 5 } finSupplyUnit OBJECT-TYPE SYNTAX PrtMarkerSuppliesSupplyUnitTC MAX-ACCESS read-only STATUS current DESCRIPTION "Unit of measure of this finisher supply container or receptacle." ::= { finSupplyEntry 6 } finSupplyMaxCapacity OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The maximum capacity of this supply container/receptacle expressed in Supply Units. If this supply container/ receptacle can reliably sense this value, the value is sensed and is read-only; otherwise the value may be written by a control panel or management application. The value (-1) means other and places no restrictions on this parameter. The value (-2) means unknown." DEFVAL { -2 } -- unknown ::= { finSupplyEntry 7 } finSupplyCurrentLevel OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The current level if this supply is a container; the remaining space if this supply is a receptacle. If this supply container/receptacle can reliably sense this value, the value is sensed and is read-only; otherwise the value may be written by a control panel or management Bergman, Lewis Informational [page 20] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 application. The value (-1) means other and places no restrictions on this parameter. The value (-2) means unknown." DEFVAL { -2 } -- unknown ::= { finSupplyEntry 8 } -- Capacity Attribute Relationships -- -- MEDIA INPUT MEASUREMENT -- -- _______ | | -- | | | -- | | | | -- | |_ _ _ _ _ _ _ _ _ _| ________________ |direction -- | | | | v -- MaxCapacity | | | -- | | Sheets remaining | CurrentLevel -- | | | | -- v | | v -- ------- +-------------------+ ------- finSupplyColorantValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..63)) MAX-ACCESS read-only STATUS current DESCRIPTION "The name of the color of this colorant using standardized string names from ISO 10175 (DPA) and ISO 10180 (SPDL) which are: other, unknown, white, red, green, blue, cyan, magenta, yellow and black. Implementors may add additional string values. The naming conventions in ISO 9070 are recommended in order to avoid potential name clashes." ::= { finSupplyEntry 9 } -- Finisher Supply Media Input Group -- -- A finisher device may have one or more associated supply media -- inputs. Each entry in this table defines an input for a -- supply media type such as inserts, covers, etc. finSupplyMediaInputTable OBJECT-TYPE SYNTAX SEQUENCE OF FinSupplyMediaInputEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The input subunits associated with a finisher supply media are each represented by an entry in this table." Bergman, Lewis Informational [page 21] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 ::= { finisherMIB 20 } finSupplyMediaInputEntry OBJECT-TYPE SYNTAX FinSupplyMediaInputEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of finisher supply media input subunit features and characteristics." INDEX { hrDeviceIndex, finSupplyMediaInputIndex } ::= { finSupplyMediaInputTable 1 } FinSupplyMediaInputEntry ::= SEQUENCE { finSupplyMediaInputIndex Integer32, finSupplyMediaInputDeviceIndex Integer32, finSupplyMediaInputSupplyIndex Integer32, finSupplyMediaInputType PrtInputTypeTC, finSupplyMediaInputDimUnit PrtCapacityUnitTC, finSupplyMediaInputMediaDimFeedDir Integer32, finSupplyMediaInputMediaDimXFeedDir Integer32, finSupplyMediaInputStatus PrtSubUnitStatusTC, finSupplyMediaInputMediaName OCTET STRING, finSupplyMediaInputName OCTET STRING, finSupplyMediaInputDescription OCTET STRING, finSupplyMediaInputSecurity PresentOnOff, finSupplyMediaInputMediaWeight Integer32, finSupplyMediaInputMediaThickness Integer32, finSupplyMediaInputMediaType OCTET STRING } finSupplyMediaInputIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique value used by a finisher to identify this supply media input subunit. Although these values may change due to a major reconfiguration of the finisher (e.g. the addition of new supply media input sources to the finisher), values are normally expected to remain stable across successive power cycles." ::= { finSupplyMediaInputEntry 1 } finSupplyMediaInputDeviceIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of finDeviceIndex corresponding to the finishing device subunit with which this finisher media supply is associated." Bergman, Lewis Informational [page 22] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 ::= { finSupplyMediaInputEntry 2 } finSupplyMediaInputSupplyIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of finSupplyIndex corresponding to the finishing supply subunit with which this finisher media supply is associated." ::= { finSupplyMediaInputEntry 3 } finSupplyMediaInputType OBJECT-TYPE SYNTAX PrtInputTypeTC MAX-ACCESS read-only STATUS current DESCRIPTION "The type of technology (discriminated primarily according to the feeder mechanism type) employed by the input subunit." ::= { finSupplyMediaInputEntry 4 } finSupplyMediaInputDimUnit OBJECT-TYPE SYNTAX PrtCapacityUnitTC MAX-ACCESS read-only STATUS current DESCRIPTION "The unit of measure for specifying dimensional values for this input device." ::= { finSupplyMediaInputEntry 5 } finSupplyMediaInputMediaDimFeedDir OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides the value of the dimension in the feed direction of the media that is placed or will be placed in this input device. Feed dimension measurements are taken parallel to the feed direction of the device and measured in finSupplyMediaInputDimUnits. If this input device can reliably sense this value, the value is sensed and is read-only access. Otherwise the value is read-write access and may be written by management or control panel applications. The value (-1) means other and specifically indicates that this device places no restrictions on this parameter. The value (-2) indicates unknown. " ::= { finSupplyMediaInputEntry 6 } finSupplyMediaInputMediaDimXFeedDir OBJECT-TYPE SYNTAX Integer32 Bergman, Lewis Informational [page 23] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides the value of the dimension across the feed direction of the media that is placed or will be placed in this input device. The cross feed direction is ninety degrees relative to the feed direction on this device and measured in finSupplyMediaInputDimUnits. If this input device can reliably sense this value, the value is sensed and is read-only access. Otherwise the value is read-write access and may be written by management or control panel applications. The value (-1) means other and specifically indicates that this device places no restrictions on this parameter. The value (-2) indicates unknown. " ::= { finSupplyMediaInputEntry 7 } finSupplyMediaInputStatus OBJECT-TYPE SYNTAX PrtSubUnitStatusTC MAX-ACCESS read-only STATUS current DESCRIPTION "This value indicates the current status of this input device." DEFVAL { 5 } -- unknown ::= { finSupplyMediaInputEntry 8 } finSupplyMediaInputMediaName OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..63)) MAX-ACCESS read-write STATUS current DESCRIPTION "The name of the current media contained in this input device. Examples are Print Job Output A, Triple A Billing Statements or ISO standard names." ::= { finSupplyMediaInputEntry 9 } -- Finisher Supply Media, Extended Input Group -- -- This group is optional. However, to claim conformance to this -- group it is necessary to implement every object in the group. -- -- This group defines objects that augment the -- finSupplyMediaInputType object for this input subunit. finSupplyMediaInputName OBJECT-TYPE SYNTAX DisplayString (SIZE(0..63)) MAX-ACCESS read-write STATUS current DESCRIPTION Bergman, Lewis Informational [page 24] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 "The name assigned to this input subunit." ::= { finSupplyMediaInputEntry 10 } finSupplyMediaInputDescription OBJECT-TYPE SYNTAX DisplayString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "A free form text description of this input subunit in the localization specified by prtGeneralCurrentLocalization." ::= { finSupplyMediaInputEntry 11 } finSupplyMediaInputSecurity OBJECT-TYPE SYNTAX PresentOnOff MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates if this subunit has some security associated with it." ::= { finSupplyMediaInputEntry 12 } -- Finisher Supply Media, Extended Media Input Group -- -- This group is optional. However, to claim conformance to this -- group it is necessary to implement every object in the group. -- -- This group defines objects that augment the -- finSupplyMediaInputType object for this input subunit. -- -- The Extended Media Input Group objects support identification -- of media installed or available for use on a finisher device. -- Medium resources are identified by name. and include a -- collection of characteristic attributes that may further be -- used for selection or management of them. finSupplyMediaInputMediaWeight OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The weight of the media associated with this Input device in grams per meter squared. The value (-1) means other and specifically indicates that the device places no restriction on this parameter. The value (-2) means unknown. This object can be used to calculate the weight of individual pages processed by the document finisher. This value, when multiplied by the number of pages in a finished set, can be used to calculate the weight of a set before it is inserted into a mailing envelope." Bergman, Lewis Informational [page 25] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 ::= { finSupplyMediaInputEntry 13 } finSupplyMediaInputMediaThickness OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "This object identifies the thickness of the input media processed by this document input subunit measured in micrometers. This value may be used by devices (or operators) to set up proper machine tolerances for the feeder operation. The value (-2) indicates that the media thickness is unknown or not used in the setup for this input subunit." ::= { finSupplyMediaInputEntry 14 } finSupplyMediaInputMediaType OBJECT-TYPE SYNTAX DisplayString (SIZE(0..63)) MAX-ACCESS read-write STATUS current DESCRIPTION "The name of the type of the type of medium associated with this input subunit. Valid values are standardized strings from ISO 10175 (DPA) and ISO 10180 (SPDL) which are: stationary, transparency, envelope, envelope-plain, envelope window, continuous-long, continuous-short, tab-stock, labels, multi-layer." ::= { finSupplyMediaInputEntry 15 } -- Finisher Device Attribute Group -- -- A finisher device subunit may have one or more parameters that -- cannot be specified by any other objects in the MIB. The -- Device Attribute group allows the definition of these -- parameters. finDeviceAttributeTable OBJECT-TYPE SYNTAX SEQUENCE OF FinDeviceAttributeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The attribute table defines special parameters that are applicable only to a minority of the finisher devices. An attribute table entry is used, rather than unique objects, to minimize the number of MIB objects and to allow for expansion without the addition of MIB objects. Each finisher device is represented by a separate row in the device subunit attribute table." ::= { finisherMIB 21 } Bergman, Lewis Informational [page 26] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 finDeviceAttributeEntry OBJECT-TYPE SYNTAX FinDeviceAttributeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry defines a finisher function parameter that cannot be represented by an object in the finisher device subunit table." INDEX { hrDeviceIndex, finDeviceIndex, finDeviceAttributeTypeIndex } ::= { finDeviceAttributeTable 1 } FinDeviceAttributeEntry ::= SEQUENCE { finDeviceAttributeTypeIndex FinAttributeTypeTC, finDeviceAttributeInstanceIndex Integer32, finDeviceAttributeValueAsInteger Integer32, finDeviceAttributeValueAsOctets OCTET STRING } finDeviceAttributeTypeIndex OBJECT-TYPE SYNTAX FinAttributeTypeTC MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines the attribute type represented by this row." ::= { finDeviceAttributeEntry 1 } finDeviceAttributeInstanceIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that allows the discrimination of an attribute instance when the same attribute occurs multiple times for a specific instance of a finisher function. The value of this index shall be 1 if only a single instance of the attribute occurs for the specific finisher function." ::= { finDeviceAttributeEntry 2 } finDeviceAttributeValueAsInteger OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Defines the integer value of the attribute. The value of the attribute is represented as an integer if the finAttributeTypeTC description for the attribute has the tag 'INTEGER:'. Depending upon the attribute enum definition, this object may be either an integer, a counter, an index, or an enum. Bergman, Lewis Informational [page 27] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 Attributes for which the concept of an integer value is not meaningful SHALL return a value of -1 for this attribute." ::= { finDeviceAttributeEntry 3 } finDeviceAttributeValueAsOctets OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..63)) MAX-ACCESS read-only STATUS current DESCRIPTION "Contains the octet string value of the attribute. The value of the attribute is represented as a string if the finAttributeTypeTC description for the attribute has the tag 'OCTETS:'. Depending upon the attribute enum definition, this object may be either a coded character set string (text) or a binary octet string. Attributes for which the concept of an octet string value is not meaningful SHALL contain a zero length string." ::= { finDeviceAttributeEntry 4 } END 6. REFERENCES [PRTMIB] The Printer MIB, RFC 1759, IETF standards track document. [LMO] Large Mailing Operations Specification, DMTF. See http://www.dmtf.org/tech/apps.html [DPA] ISO/IEC 10175 Document Printing Application (DPA). See ftp://ftp.pwg.org/pub/pwg/dpa/ [IPP] Internet Printing Protocol/1.0: Model and Semantics, work in progress on the IETF standards track. See draft-ietf-ipp-model- 09.txt. 7. SECURITY CONSIDERATIONS The Finisher MIB specifies a database and not necessarily a protocol for accessing the database. With regards to the security of the information within the database, it is anticipated that the primary vehicle for accessing this data will be through the use of the Simple Network Management Protocol (SNMP). SNMP Version 1 has known security vulnerabilities due to the fact that only a "clear text" community Bergman, Lewis Informational [page 28] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 name is used for accessing MIB objects within a particular entity. SNMPv2 attempted to provide additional security features but is still not considered to be an adequate solution. SNMP Version 3 provides much more robust security mechanisms with regards to with support authentication, as well as privacy. 8. FULL COPYRIGHT STATEMENT Copyright (C) The Internet Society (1998). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 9. AUTHORS This document was created with significant contributions from the following individuals. Ron Bergman (Editor) Dataproducts Corp. 1757 Tapo Canyon Road Simi Valley, CA 93063-3394 Phone: 805-578-4421 Fax: 805-578-4001 Email: rbergman@dpc.com Bergman, Lewis Informational [page 29] INTERNET-DRAFT Printer Finishing MIB March 12, 1998 Harry Lewis (chairman) IBM Corporation 6300 Diagonal Hwy Boulder, CO 80301 Phone: (303) 924-5337 Fax: (303) 924-4662 Email: harryl@us.ibm.com Send comments to the Printer Working Group (PWG) using the Finisher MIB Project (FIN) Mailing List: fin@pwg.org For further information, access the PWG web page under "FIN": http://www.pwg.org/ Other Participants: Chuck Adams - Tektronix Andy Davidson - Tektronix Mabry Dozier - QMS Lee Ferrel - Canon Paul Gloger - Xerox Richard Hart - Digital Tom Hastings - Xerox Scott Isaacson - Novell David Kellerman - Northlake Software Henrik Holst - i-data International Rick Landau - Digital Jay Martin - Underscore Gary Padlipski - Xerox Bob Pentecost - HP Stuart Rowley - Kyocera Yuki Sacchi - Japan Computer Industry Philip Thambidunai - Okidata William Wagner - DPI/Osicom Chris Wellens - Interworking Labs Don Wright - Lexmark Lloyd Young - Lexmark Bergman, Lewis Informational [page 30]