INTERNET-DRAFT Ron Bergman Dataproducts Corp. Harry Lewis IBM Corp. June 11, 1998 Printer Finishing MIB Expires December, 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 not connected 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 June 11, 1998 TABLE OF CONTENTS 1. INTRODUCTION.......................................................2 1.1 Scope.............................................................2 1.2 Rational..........................................................3 2. TERMINOLOGY........................................................3 2.1 General Terminology...............................................4 2.2 Process Specific Terminology......................................6 3. FINISHER SUBUNITS INTEGRATED INTO THE PRINTER MODEL................9 4. FINISHING SPECIFICATIONS..........................................10 4.1 Multiple finDeviceTable Entries..................................10 4.2.1 FinPunchPatternTC..............................................11 4.2.2 FinPunchHoleTypeTC, punchHoleSizeMaxDim, punchHoleSizeMinDim...12 5. THE ATTRIBUTE MECHANISM...........................................12 5.1 Conformance of Attribute Implementation..........................13 5.2 Useful, 'Unknown', and 'Other' Values for Objects and Attributes.13 5.3 Data Sub-types and Attribute Naming Conventions..................14 5.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes.....14 5.6 Index Value Attributes...........................................15 6. Enumerations......................................................15 6.1 Registering Additional Enumerated Values.........................15 7. PRINTER FINISHING MIB SPECIFICATION...............................16 8. REFERENCES........................................................41 9. SECURITY CONSIDERATIONS...........................................41 10. FULL COPYRIGHT STATEMENT.........................................41 11. AUTHORS..........................................................42 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. - Queries and controls the features and configuration of the finishing device. - Enables and disables the finishing processes. - 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 Bergman, Lewis Informational [page 2] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 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: - print-job-level finishing processes that are applied to a complete print job, - document-level finishing processes that are applied individually to each document in the print job, - document-level finishing processes that are applied to a selected document in the print job. Note that not all combinations of finishing processes are permitted. Compatible combinations of finishing processes are implementation specific. The MIB allows invalid combinations to be identified. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 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 processes. 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 processes 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]. Bergman, Lewis Informational [page 3] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 2.1 General Terminology 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. ^ Y | |<---- Reference Edge | | |<--- Finishing Process Axis | | --->| |<--- Finishing Process Offset | | Head +-------------------------+ (X2,Y4) Locations | | | +-----|----+ | -----Y3--|-----|--O | <--+- Head | ^ +-----|----+ | Mechanisms | | | | | | | | | | | | | | | | | | | | | | +-----|----+ | | | ---Y2--|-----|--O | <--+ | | ^ +-----|----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----|----+ | | | | -Y1--|-----|--O | <--+ | | | ^ +-----|----+ bottom right | | | | | | corner | X --------------- +--+----------------------+ ----> (0,0) (X1,0) Figure 1 - Finishing Process Axis Parallel to Y Axis Bergman, Lewis Informational [page 4] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 ^ Y | Head Locations |<---------------->|---X2 |<---->|---X1 | | | | | +-|-+ +-|-+ | | | | | | | (X3,Y2) +------|-----------|------+ | | | | | | | | Finishing Process Axis |----| O |-------| O |----|----- Y1 | +---+ +---+ | ^ | ^ ^ | | | | | | | | +-----------+ | | | | | | | Head | | | Mechanisms | | | | | | | Finishing Process Offset | | | | | | | | | | | | | | | | | | | bottom right | | | corner | v X +-------------------------+ ------> (0,0) Reference Edge Figure 2 - Finishing Process Axis Parallel to X Axis Media Orientation: All Finishing Processes are defined relative to a portrait orientation of the medium, regardless of the orientation of the printed image or the direction of feed. The 'X' and 'Y' axis, therefore, will always reference the medium as shown in figures 1 and 2. All edges and corners are also defined with the medium orientation as shown using the syntax top, bottom, left, and right. Thus the bottom edge of the medium is at Y = 0, the left edge is at X = 0, and the bottom right corner is at (X2,0) as shown in the figure 1 and at (X3,0) as shown in figure 2. Finishing: Defined by DPA as an operation on a document following the completion of the image process. Finishing processes defined within this document are those applied to one or more instances of rectangular paper sheet media. Finishing Process: Defined by DPA as an operation applied by a machine such as trimming a document, folding the sheets in a document, and applying a binding to a document. Bergman, Lewis Informational [page 5] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 Finishing Specification: Defined by DPA as the specific sequence of operations for a serial combination of finishing processes. The exact sequential order of the processes, in many cases, is critical to the obtaining the desired result. For example, a folding operation followed by trimming could provide a very different result than if the trimming was followed by the folding. Finishing Process Parameters: This parameter set is used to create a detailed definition of the finishing process. Generic Finishing Process Parameters are applicable to any Finishing Specification. - Head Mechanism: Defined by DPA as the physical mechanism that is used to perform a finishing process. The head position may be fixed or variable depending upon the capabilities of the device. - Reference Edge: Defined by DPA as the edge of the document relative to the axis to which the finishing process is applied. The edge of the medium defined to be the Reference Edge may be either the 'X' or the 'Y' axis, depending upon the finishing process to be performed. - Jog Edge: Defined by DPA as one of the two edges that is perpendicular to the Reference Edge. Specifying the Jog Edge parameter indicates the edges of all sheets which correspond to the Jog Edge are aligned. - Finishing Process Axis: Defined by DPA as the axis to which some finishing processes are applied to or referenced from by the Head Mechanism. Examples are the axis for a fold process or the axis for a punch process. - Head Locations: Defined by DPA as the position of the Heads on the Finishing Process Axis. - Finishing Process Offset: The offset from the Reference Edge to the Finishing Process Axis at which the finishing process takes place or is applied. 2.2 Process Specific Terminology FOLDING: Z Fold: A fold in which two folds are placed in the sheet in opposite directions. The first fold is located at 25% of the sheet length, and the second is located at 50% of the sheet length (i.e., the center of the sheet). Z Folding is often used on 11x17 inch or A3 size sheets, when they are included in sets containing 8.5x11 inch or A4 size sheets. Bergman, Lewis Informational [page 6] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 Half Fold: To fold a sheet in half so that one of the resulting dimensions are exactly half the original sheet. Often used for signatures or booklets. Letter Fold: Folding a sheet roughly in thirds. Usually performed on 8.5x11 inch or A4 size sheets for insertion into an envelope. Signature: The process by which images are placed on a large sheet of paper in correct panel areas and in the proper orientation such that when the sheet is folded it will produce a booklet with each page in the proper order and orientation. BINDING: Adhesive Binding: A method of attaching sheets together to form a book or booklet using glue or adhesive. Some adhesive binding methods apply the glue to sheets individually, before merging them together for form a book, but most methods involve the application of adhesive to an entire book of sheets. Comb Binding: A method of binding in which a series of small rectangular holes is placed along the bind edge the sheets. The sheets are then held together using a tube shaped plastic binding strip with comb like fingers that fit through the holes in the sheets. Spiral Binding: Sometimes referred to as wire binding, this binding method is a mechanical bind in which the individual leaves are held together by a wire or plastic spiral that is fed through small holes in the paper binding edge. Padding: Applying a non-penetrating adhesive to the edge of a stack of sheets such that the sheets can be easily peeled off one at a time. Frequently used for forms. Velo Binding: A bind formed by punching holes into the edge of the sheets, placing a two piece plastic strip (one side formed with plastic pins that pass through the holes) along the edge and then staking the two pieces together. Perfect Binding: A method of binding in which all pages are cut and roughed up at the back or binding edge and held together by an adhesive. Tape Binding: The act of placing tape over the bind edge of a set. Sometimes contains adhesive to provide a functional bind to the set, and sometimes done for decorative purposes on a set that has been edge stapled. Bergman, Lewis Informational [page 7] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 SLITTING/CUTTING/TRIMMING: Trim: To cut the edges of a sheet or set of sheets. Often performed on a booklet of sheets that have been folded to eliminate the "creep" or edge shingling that results from the folding process. Tab Cutting: The act of cutting the edge of a sheet to form an index tab, thereby allowing quick identification and access. The external tabs are sequentially placed along the book edge for visibility and ease of grasping. Perforating: The act of cutting a series of very small, closely spaced holes or slots into a sheet to allow for ease of separation of a portion of the sheet. Sometimes also used to ease bending/hinging of heavy weight papers. Scoring: A means of applying small linear grooves or impressions along a sheet to allow easy folding. Often used on heavy weight sheets and book covers. Slitting: The action of cutting apart a large sheet to form smaller sheets. Usually done using a sharp circular roll system. STITCHING/STAPLING: Staple: The process of binding a set of sheets together using a 'U' shaped piece of metal wire that is punched through the set. The ends of the metal staple are then bent over, or 'clinched' to hold the staple in place. Technically the term 'stapler' refers to devices that use pre-cut metal staples, but the term is also commonly used to refer to devices that use wire spools and then cut/form the staple. (see the definition of Stitch) Stitch: The process of binding a set of sheets together using a 'U' shaped piece of metal wire that is punched through the set. The wire used to form the staple is cut and formed into a 'U' shape in the stitcher head, and the staple 'leg' length is often varied depending on the number of sheets to be bound together. The ends of the metal staple are bent over, or 'clinched' to hold the staple in place. Stitching can also refer to the process of sewing the edges of the signatures of a book together. Saddle Stitch: The process of stapling a set along its center line as part of a booklet making process. Usually 2 or 3 staples are used. Bergman, Lewis Informational [page 8] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 Dual Stapling: The process of placing 2 staples along the bind edge of a set. The staples are typically located at 25% and 75% of the length of the bind edge. Although dual stapling is often performed on the long edge of a set, legal documents are frequently dual stapled along the top, or short edge of the set. Triple Stapling: Same as above, but using 3 staples along the bind edge, and usually applies to the long edge only. WRAPPING: Shrink Wrap: A wrap of thin plastic which when heated will shrink and wrap tightly around the stack thus preparing it for shipment. BANDING: Band Wrap: Bundling a finished stack to prepare for shipment. Also known as Strap Wrap. 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 processes. The Printer Model, as described in the Printer MIB [PRTMIB], is modified adding the finisher subunit(s) and finisher supplies between the media path and output subunits as follows: Bergman, Lewis Informational [page 9] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 +----------+ +----------+ | | Marker | | | Supplies |-+ +----------+ \ +-----+ \ +------+ +--------+ +------+ | | \| | | | | | +-----+ | +-----+ +------+ | +------+ +--------+ | +------+ | |Input|-+ +------+| |Marker|-+ +------+| |Finisher|-+ |Output|-+ | |===>| |+<==>| |<==>| |+==>| |===>| | +-----+ +-+ +-+ +------+ +-+ +-+ +--------+ +------+ \ | || | || \ \ | || | || \ \ | || | || +----------+ +-------+ | |+--------------------| || | Finisher |-+ | | | +---------------------+ || | Supplies | | +-------+ | | Media Path |+ +----------+ | | Media |-+ +---------------------------+ | | |(opt.) | +----------+ +-------+ 4. FINISHING SPECIFICATIONS The Finisher MIB is able to provide most of the information that is required to generate a Finishing Specification. This includes; 1. Finishing operations that can be performed on media that are associated with a specific printer media path and output subunit. 2. Combinations of operations that cannot be performed. 3. The location of the operation on the medium, if applicable. 4. The physical characteristics of the result of the operation. For example, the size and shape of a punched hole, or if a fold operation creates a letter fold or a "Z" fold. The Finisher MIB does not provide information regarding the order that operations can be performed. 4.1 Multiple finDeviceTable Entries Each finishing operation supported by the printer is represented by one or more entries in the finDeviceTable. Each entry in this table defines a "logical" finishing device, since the function of several table entries may be performed by a single finisher mechanism. Multiple entries may also exist in the table as a result of the Bergman, Lewis Informational [page 10] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 existence of multiple finisher mechanisms that perform the same type of operation. One example of possible multiple entries for a single finisher device, is a hole punch operation that creates more than one hole. This could be performed using a single die punch that moves to each required position or a multi-die punch that simultaneously creates all holes. In either case, each defined hole position may be defined as a separate table entry. In both cases, if the punch positions can be individually selected, a table entry for each position would be necessary. For the multi-die punch, each head mechanism may have a different hole pattern or size. If these differences are to be properly disclosed, a table entry for each head mechanism would be required. 4.2 Implicit Parameters Finishing operations that are specified by an enum define a standard operation and in many cases an implicit set of physical characteristics is to be included when specifying the enum. If explicit values for these characteristics are not provided in the attributes table, the values defined in this section are to be implied. 4.2.1 FinPunchPatternTC enum pattern |Reference| Reference | Hole spacing | Edge |Axis Offset| (see note 1) -------------------+---------+-----------+--------------------------- twoHoleUSTop(4) | topEdge | note 2 | 2.75 inches threeHoleUS(5) | note 3 | note 2 | 4.25 inches twoHoleDIN(6) | note 4 | note 5 | 80 mm fourHoleDIN(7) | note 4 | note 5 | 80 mm twentyTwoHoleUS(8) | note 3 | note 2 | .5 inches nineteenHoleUS(9) | note 3 | note 9 | .5625 inches twoHoleMetric(10) | note 6 | note 8 | 80 mm swedish4Hole(11) | note 4 | note 5 | 21, 70, 21 mm twoHoleUSSide(12) | note 3 | note 2 | 2.75 inches fiveHoleUS(13) | note 3 | note 2 | 2, 2.25, 2.25, 2 in sevenHoleUS(14) | note 3 | note 2 | 1, 1, 2.25, 2.25, 1, 1 in mixed7H4S(15) | note 4 | note 5 | note 7 norweg6Hole(16) | note 4 | note 5 | note 8 metric26Hole(17) | note 6 | note 5 | 9.5 mm metric30Hole(18) | note 4 | note 5 | 9.5 mm Notes: 1. All hole to hole patterns are centered along the process edge. 2. Offset is 0.18 inches to 0.51 inches. Bergman, Lewis Informational [page 11] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 3. Reference edge is leftEdge(5) for letter and topEdge(3) for ledger. 4. Reference edge is leftEdge(5) for A4 and topEdge(3) for A3. 5. Offset is 4.5 mm to 13 mm. 6. Reference edge is leftEdge(5) for B5 and topEdge(3) for B4. 7. 7 holes and 4 slots are punched in a H-S-H-H-S-H-S-H-H-S-H pattern with 15, 25, 23, 20, 37, 37, 20, 23, 25, 15 mm spacing. 8. 4 holes and 2 slots are punched in a H-H-S-S-H-H pattern with a 64, 18.5, 75, 18.5, 64 mm spacing. 9. Offset is .188 inches. 4.2.2 FinPunchHoleTypeTC, punchHoleSizeMaxDim, punchHoleSizeMinDim enum pattern | Hole Description -------------------+---------------------------------------- twoHoleUSTop(4) | round(3), .2 - .32 inch diameter threeHoleUS(5) | round(3), .2 - .32 inch diameter twoHoleDIN(6) | round(3), 5 - 8 mm diameter fourHoleDIN(7) | round(3), 5 - 8 mm diameter twentyTwoHoleUS(8) | round(3), .2 - .32 inch diameter nineteenHoleUS(9) | rectang(6), .313 inches X .125 inches twoHoleMetric(10) | round(3), 5 - 8 mm diameter swedish4Hole(11) | round(3), 5 - 8 mm diameter twoHoleUSSide(12) | round(3), .2 - .32 inch diameter fiveHoleUS(13) | round(3), .2 - .32 inch diameter sevenHoleUS(14) | round(3), .2 - .32 inch diameter mixed7H4S(15) | round(3), 5 - 8 mm diameter | rectang(6), 12 mm X 6 mm norweg6Hole(16) | round(3), 5 - 8 mm diameter | rectang(6), 10 mm X 5.5 mm metric26Hole(17) | round(3), 5 - 8 mm metric30Hole(18) | round(3), 5 - 8 mm Note: Hole size ranges are typical and are provided as a reference only. Exact tolerances should be site defined. 5. 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 12] INTERNET-DRAFT Printer Finishing MIB June 11, 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. 5.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. 5.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 value is not available for an object that agent SHALL return a zero- Bergman, Lewis Informational [page 13] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 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. 5.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. 5.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 14] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 5.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. 5.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. 6. Enumerations Enumerations (enums) are sets of symbolic values defined for use with one or more objects. Some common enumeration sets are assigned a symbolic data type name (textual convention). These enumerations are listed at the beginning of this specification. 6.1 Registering Additional Enumerated Values The Printer Working Group (PWG) has defined several type of enumerations. These enumerations differ in the method employed to control the addition of new enumerations. Throughout this document, references to "enumeration (n)", where n can be 1, 2 or 3 can be found in the various tables. The definitions of these types of enumerations are: enumeration (1) All the values are defined in the Printer Finisher MIB specification (RFC for the Printer Finisher MIB). Additional enumerated values require a new RFC. Type 1 enumerations are typically used where changes to the enumeration are either unlikely or will have a significant impact on the structure of the MIB or implementation of the MIB in management applications. Bergman, Lewis Informational [page 15] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 Some criteria that suggest using a type 1 enumeration are: a) the set of values in the enumeration is thought to be known, e.g., faceUp and faceDown b) the enumeration defines a set of units of measure which must be understood by a management application to be able to correctly display the value of an object that measurement unit controls; and c) the enumeration is tied to the structure of the MIB or the model on which the MIB is based, i.e., the enumeration is tied to the OIDs for the related tables. There are no type 1 enums in the current draft. enumeration (2) An initial set of values are defined in the Printer Finisher MIB specification. Additional enumerated values are registered after review by this working group. The initial versions of the MIB will contain the values registered so far. After the MIB is approved, additional values will be registered through IANA after approval by this working group. The current set of approved values should always be obtained from the IANA registry. Type 2 enumerations are typically used where it is important to insure consistent usage of the enumeration values; that is, to insure that the same entity does not get two different enumerations values, or two different entities do not get the same enum value. enumeration (3) An initial set of values are defined in the Printer Finisher MIB specification. Additional enumerated values are registered without working group review. The initial versions of the MIB will contain the values registered so far. After the MIB is approved, additional values will be registered through IANA without approval by this working group. The current set of approved values should always be obtained from the IANA registry. Type 3 enumerations are used for enumerations that can be extended without any controls; an example is the prtMarkerSuppliesType, which can be extended as needed by any manufacturer to describe the supplies required by a new printer. 7. PRINTER FINISHING MIB SPECIFICATION Bergman, Lewis Informational [page 16] INTERNET-DRAFT Printer Finishing MIB June 11, 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 printmib, PrtMarkerSuppliesTypeTC, PrtSubUnitStatusTC, PrtInputTypeTC, PrtMarkerSuppliesSupplyUnitTC, PrtCapacityUnitTC, prtOutputIndex, PrtMarkerSuppliesClassTC, PresentOnOff, PrtMediaPathIndex, prtMIBConformance 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 process enumerations." SYNTAX INTEGER { Bergman, Lewis Informational [page 17] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 other(1), 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), makeEnvelope(15) } finAttributeTypeTC ::= TEXTUAL-CONVENTION -- This is a type 3 enumeration. 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. NOTE - The enum assignments are grouped logically with values assigned in groups of 10, so that additional values may be registered in the future and assigned a value that is part of their logical grouping. Values in the range 2**30 to 2**31-1 are reserved for private or experimental usage. This range corresponds to the same range reserved in IPP. Implementers are warned that use of such values may conflict with other implementations. Implementers are encouraged to request registration of enum values following the procedures in Section 5.1. 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 Bergman, Lewis Informational [page 18] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 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. 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. maximumSheets(8), Integer32 (-2..32767) INTEGER: Defines the maximum number of media sheets that a finisher device is able to process. finProcessOffsetUnits(9), PrtMediaUnitTC INTEGER: An enumeration which defines the units of measure for the attributes finAxisOffset and finHeadLocation. finReferenceEdge(10), FinEdgeTC INTEGER: An enumeration which defines which edge of the form is the reference for this finishing process. The Finishing Process Axis will be parallel to this axis. finAxisOffset(11), Integer32 (-2..2147483647) INTEGER: Defines the parallel offset of the Finishing Process Axis from the Reference Edge. For a value of finEdgeTC equal to TopEdge or RightEdge, the value given is to interpreted as a negative offset from the reference edge. The units of measure are defined by the attribute finReferenceEdgeTC. finJogEdge(12), FinEdgeTC INTEGER: An enumeration which defines a second edge of the document to which the media is aligned. The jog edge must be perpendicular to the edge defined by finReferenceEdge. finHeadLocation(13), Integer32 (-2..2147483647) INTEGER: MULTI-ROW: Defines the position of the Head Bergman, Lewis Informational [page 19] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 Mechanism relative to the axis, 'X' or 'Y', that is perpendicular to the Process Axis. The units of measure are defined by the attribute finProcessOffsetUnits. finOperationRestrictions(14), Integer32 (0..65535) INTEGER: MULTI-ROW: Defines the finDeviceIndex of a finishing process which cannot be combined with the process defined by the finDeviceIndex for this finDeviceAttributeTable instance. When this condition occurs this attribute SHALL be presented in the attribute tables for both finishing processes that cannot be combined. finNumberOfPositions(15), Integer32 (0..65535) INTEGER: Defines the total number of head positions for this finishing process. Each position many be realized by a unique head mechanism or a single head mechanism may be automatically moved to each position. namedConfiguration(16), OCTET STRING (SIZE(0..63)) OCTETS: Contains an administratively define name to define the finishing specification configured for this device. finMediaTypeRestriction(17), OCTET STRING (SIZE(0..63)) OCTETS: MULTI-ROW: Defines the media type which cannot be combined with the process defined by the finDeviceIndex for this finDeviceAttributeTable instance. Values are the same as defined for finSupplyMediaInputMediaName. finPrinterInputTraySupported(18), Integer32 (0..65535) INTEGER: MULTI-ROW: Defines the value of prtInputIndex corresponding to the printer input tray that can be used with the process defined by the finDeviceIndex for this finDeviceAttributeTable instance. If this attribute is not present, this process can be used with any input tray in the printer. For example, this attribute can indicate the current stapling capabilities for a stapler device for the input trays that depend upon the size and feed orientation. So if there were two letter trays, one with A size and the other with B size, a two position stapler might specify in one row: upper-left and upper-right for the input tray with A size, but only upper-left for the one with B size. -- Stitcher type-specific attributes (30..) stitchingType(30), FinStitchingTypeTC INTEGER: MULTI-ROW: Provides additional information regarding the stitching operation. -- Folder type-specific attributes (40..) Bergman, Lewis Informational [page 20] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 foldingType(40), FinFoldingTypeTC INTEGER: Provides additional information regarding the folding process. -- Binder type-specific attributes (50..) bindingType(50), FinBindingTypeTC INTEGER: Provides additional information regarding the binding process. -- Trimmer type-specific attributes (60..) -- Die cutter type-specific attributes (70..) -- Puncher type-specific attributes (80..) punchHoleType(80), FinPunchHoleTypeTC INTEGER: Provides information regarding the shape of the punched hole. punchHoleSizeLongDim(81), Integer32 (-2..2147483647) INTEGER: Defines the size of the punched hole in the longest dimension. This dimension is typically measured parallel to either the long edge or the short edge of the media and the longest dimension will always be measured 90 degrees from the shortest dimension. For a symmetrical hole, such as a round or square hole, the shortest and longest dimensions will be identical. punchHoleSizeShortDim(82), Integer32 (-2..2147483647) INTEGER: Defines the size of the punched hole in the shortest dimension. This dimension is typically measured parallel to either the long edge or the short edge of the media and the shortest dimension will always be measured 90 degrees from the longest dimension. For a symmetrical hole, such as a round or square hole, the shortest and longest dimensions will be identical. punchPattern(83), FinPunchPatternTC INTEGER: Defines the hole pattern produced by the punch process. -- Perforator type-specific attributes (90..) -- Slitter type-specific attributes (100..) slittingType(100), FinSlittingTypeTC INTEGER: Provides additional information regarding the slitting process. Bergman, Lewis Informational [page 21] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 -- 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 process. -- Bander type-specific attributes (140..) -- Make Envelopes type-specific attributes (150..)" SYNTAX INTEGER { other(1), deviceName(3), deviceVendorName(4), deviceModel(5), deviceVersion(6), deviceSerialNumber(7), maximumSheets(8), finProcessOffsetUnits(9), finReferenceEdge(10), finAxisOffset(11), finJogEdge(12), finHeadLocation(13), finOperationRestrictions(14), finNumberOfPositions(15), namedConfiguration(16), finMediaTypeRestriction(17), finPrinterInputTraySupported(18), stitchingType(30), foldingType(40), bindingType(50), punchHoleType(80), punchHoleSizeLongDim(81), punchHoleSizeShortDim(82), punchPattern(83), slittingType(100), wrappingType(130) } FinEdgeTC ::= TEXTUAL-CONVENTION -- This is a type 2 enumeration. STATUS current DESCRIPTION "Specifies an edge for a Finishing Process." SYNTAX INTEGER { topEdge(3), bottomEdge(4), Bergman, Lewis Informational [page 22] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 leftEdge(5), rightEdge(6) } FinStitchingTypeTC ::= TEXTUAL-CONVENTION -- This is a type 2 enumeration. STATUS current DESCRIPTION "The defined stitching type enumerations." SYNTAX INTEGER { other(1), -- More information in other attributes unknown(2), 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 process enumerations." SYNTAX INTEGER { other(1), -- More information in other attributes 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), -- More information in other attributes unknown(2), tape(4), plastic(5), velo(6), perfect(7), spiral(8), adhesive(9), comb(10), padding(11) } Bergman, Lewis Informational [page 23] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 FinPunchHoleTypeTC ::= TEXTUAL-CONVENTION --This is a type 2 enumeration. STATUS current DESCRIPTION "The defined hole type punch process enumerations." SYNTAX INTEGER { other(1), -- More information in other attributes 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 process enumerations." SYNTAX INTEGER { other(1), --Pattern to be defined in other attributes unknown(2), twoHoleUSTop(4), --Letter/legal, 8.5 inch edge threeHoleUS(5), --Letter/ledger, 11 inch edge twoHoleDIN(6), --A4/A3, 297 mm edge fourHoleDIN(7), --A4/A3, 297 mm edge twentyTwoHoleUS(8), --Letter/ledger, 11 inch edge nineteenHoleUS(9), --Letter/ledger, 11 inch edge twoHoleMetric(10), --B5/B4, 257 mm edge swedish4Hole(11), --A4/A3, 297 mm edge twoHoleUSSide(12), --Letter/ledger, 11 inch edge fiveHoleUS(13), --Letter/ledger, 11 inch edge sevenHoleUS(14), --Letter/ledger, 11 inch edge mixed7H4S(15), --A4/A3, 297 mm edge norweg6Hole(16), --A4/A3, 297 mm edge metric26Hole(17), --B5/B4, 257 mm edge metric30Hole(18) --A4/A3, 297 mm edge } FinSlittingTypeTC ::= TEXTUAL-CONVENTION -- This is a type 2 enumeration. STATUS current DESCRIPTION "The defined slitting type enumerations." SYNTAX INTEGER { other(1), -- More information in other attributes unknown(2), slitAndSeparate(4), slitAndMerge(5) Bergman, Lewis Informational [page 24] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 } FinWrappingTypeTC ::= TEXTUAL-CONVENTION --This is a type 2 enumeration. STATUS current DESCRIPTION "The defined wrapping device process enumerations." SYNTAX INTEGER { other(1), -- More information in other attributes unknown(2), shrinkWrap(4), paperWrap(5) } -- 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. finDevice OBJECT IDENTIFIER ::= { printmib 30 } 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." ::= { finDevice 1 } 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 process." INDEX { hrDeviceIndex, finDeviceIndex } ::= { finDeviceTable 1 } FinDeviceEntry ::= SEQUENCE { finDeviceIndex Integer32, finDeviceType FinDeviceTypeTC, finDevicePresentOnOff PresentOnOff, finDeviceCapacityUnit PrtCapacityUnitTC, finDeviceMaxCapacity Integer32, finDeviceCurrentCapacity OCTET STRING, finDeviceAssociatedMediaPaths OCTET STRING, Bergman, Lewis Informational [page 25] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 finDeviceAssociatedOutputs Integer32, finDeviceStatus PrtSubUnitStatusTC, finDeviceDescription OCTET STRING } finDeviceIndex OBJECT-TYPE SYNTAX Integer32 ((0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique value used to identify a finisher process. Although these values may change due to a major reconfiguration of the printer system (e.g. the addition of new finishing processes), 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 process 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 (-2..2147483647) MAX-ACCESS read-write STATUS current DESCRIPTION "The maximum capacity of this finisher device subunit in Bergman, Lewis Informational [page 26] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 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 } finDeviceCurrentCapacity OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) 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 Octet String 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 in an octet string 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 one less than the value of prtMediaPathIndex will be set. The bits are numbered starting with the most significant bit of the first byte being bit 0, the least significant bit of the first byte being bit 7, the most significant of the second byte being bit 8, and so on." ::= { finDeviceEntry 7 } finDeviceAssociatedOutputs OBJECT-TYPE SYNTAX Octet String 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 in an octet string with each position representing the value of a Bergman, Lewis Informational [page 27] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 prtOutputIndex. For an output subunit that is serviced by this finisher device subunit, the bit position equal to to one less than the value of prtOutputIndex will be set. The bits are numbered starting with the most significant bit of the first byte being bit 0, the least significant bit of the first byte being bit 7, the most significant of the second byte being bit 8, and so on." ::= { 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 (Mandatory) -- -- A finisher device, but not all finisher devices, 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. finSupply OBJECT IDENTIFIER ::= { printmib 31 } 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." ::= { finSupply 1 } finSupplyEntry OBJECT-TYPE Bergman, Lewis Informational [page 28] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 SYNTAX FinSupplyEntry MAX-ACCESS not-accessible STATUS current 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 PrtMarkerSuppliesTypeTC, finSupplyDescription OCTET STRING, finSupplyUnit PrtMarkerSuppliesSupplyUnitTC, finSupplyMaxCapacity Integer32, finSupplyCurrentLevel Integer32, finSupplyColorantValue OCTET STRING } finSupplyIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) 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..65535) 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." Bergman, Lewis Informational [page 29] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 ::= { finSupplyEntry 3 } finSupplyType OBJECT-TYPE SYNTAX PrtMarkerSuppliesTypeTC 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 and in the localization specified by prtGeneralCurrentLocalization." ::= { 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 (-2..2147483647) 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 Bergman, Lewis Informational [page 30] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 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 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 (Conditionally Mandatory) -- -- 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. -- -- This group is mandatory only if the printer system contains a -- finisher device that requires a media supply used exclusively by a -- finishing process. Examples are inserts or covers that are not -- supplied by an input subunit that provides media to the marker. Bergman, Lewis Informational [page 31] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 finSupplyMediaInput OBJECT IDENTIFIER ::= { printmib 32 } 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." ::= { finSupplyMediaInput 1 } 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..65535) 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." Bergman, Lewis Informational [page 32] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 ::= { finSupplyMediaInputEntry 1 } finSupplyMediaInputDeviceIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) 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." ::= { finSupplyMediaInputEntry 2 } finSupplyMediaInputSupplyIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) 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 (-2..2147483647) 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 Bergman, Lewis Informational [page 33] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 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 (-2..2147483647) 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 } finSupplyMediaInputName OBJECT-TYPE SYNTAX DisplayString (SIZE(0..63)) MAX-ACCESS read-write STATUS current Bergman, Lewis Informational [page 34] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 DESCRIPTION "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 } 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." ::= { finSupplyMediaInputEntry 13 } finSupplyMediaInputMediaThickness OBJECT-TYPE SYNTAX Integer32 (-2..2147483647) 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." Bergman, Lewis Informational [page 35] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 ::= { 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 facilitates the definition of these -- parameters. The objects which define the attributes are -- read-write, to allow both Set and Get operations. finDeviceAttribute OBJECT IDENTIFIER ::= { printmib 33 } 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." ::= { finDeviceAttribute 1 } 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, finDeviceAttributeInstanceIndex } Bergman, Lewis Informational [page 36] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 ::= { 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 (0..65535) 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 (-1..2147483647) MAX-ACCESS read-write 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. Attributes for which the concept of an integer value is not meaningful SHALL return a value of -1 for this attribute." DEFVAL { -2 } -- unknown ::= { finDeviceAttributeEntry 3 } finDeviceAttributeValueAsOctets OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..63)) MAX-ACCESS read-write STATUS current Bergman, Lewis Informational [page 37] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 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." DEFVAL { '' } -- empty string ::= { finDeviceAttributeEntry 4 } -- Conformance Information -- compliance statements finMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for agents that implement the finisher MIB." MODULE -- this module MANDATORY-GROUPS { finDeviceGroup, finSupplyGroup, finSupplyMediaInputGroup, finDeviceAttributeGroup } OBJECT finDevicePresentOnOff MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finDeviceMaxCapacity MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finDeviceCurrentCapacity MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finSupplyMaxCapacity MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finSupplyCurrentLevel MIN-ACCESS read-only Bergman, Lewis Informational [page 38] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finSupplyMediaInputMediaDimFeedDir MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finSupplyMediaInputMediaDimXFeedDir MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finSupplyMediaInputMediaName MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finSupplyMediaInputName MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finSupplyMediaInputSecurity MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finSupplyMediaInputMediaWeight MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finSupplyMediaInputMediaThickness MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finSupplyMediaInputMediaType MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finDeviceAttributeValueAsInteger MIN-ACCESS read-only DESCRIPTION "It is conformant to implement this object as read-only." OBJECT finDeviceAttributeValueAsOctets MIN-ACCESS read-only DESCRIPTION Bergman, Lewis Informational [page 39] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 "It is conformant to implement this object as read-only." ::= { prtMIBConformance 3 } finMIBGroups OBJECT IDENTIFIER ::= { prtMIBConformance 4 } finDeviceGroup OBJECT-GROUP OBJECTS { finDeviceIndex, finDeviceType, finDevicePresentOnOff, finDeviceCapacityUnit, finDeviceMaxCapacity, finDeviceCurrentCapacity, finDeviceAssociatedMediaPaths, finDeviceAssociatedOutputs, finDeviceStatus, finDeviceDescription } STATUS current DESCRIPTION "The finisher device group." ::= { finMIBGroups 1 } finSupplyGroup OBJECT-GROUP OBJECTS { finSupplyIndex, finSupplyClass, finSupplyType, finSupplyDescription, finSupplyUnit, finSupplyMaxCapacity, finSupplyCurrentLevel, finSupplyColorantValue } STATUS current DESCRIPTION "The finisher supply group." ::= { finMIBGroups 2 } finSupplyMediaInputGroup OBJECT-GROUP OBJECTS { finSupplyMediaInputIndex, finSupplyMediaInputDeviceType, finSupplyMediaInputSupplyIndex, finSupplyMediaInputType, finSupplyMediaInputDimType, finSupplyMediaInputMediaDimFeedDir, finSupplyMediaInputMediaDimXFeedDir, finSupplyMediaInputStatus, finSupplyMediaInputMediaName, finSupplyMediaInputName, finSupplyMediaInputDescription, finSupplyMediaInputSecurity, finSupplyMediaInputMediaWeight, finSupplyMediaInputMediaThickness, finSupplyMediaInputMediaType } STATUS current DESCRIPTION "The finisher supply, media input group." ::= { finMIBGroups 3 } finDeviceAttributeGroup OBJECT-GROUP OBJECTS { finDeviceAttributeTypeIndex, finDeviceAttributeInstanceIndex, finDeviceAttributeValueAsInteger, finDeviceAttributeValueAsOctets } STATUS current DESCRIPTION "The finisher device attribute group." Bergman, Lewis Informational [page 40] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 ::= { finMIBGroups 4 } END 8. REFERENCES [PRTMIB] The Printer MIB, RFC 1759, IETF standards track document. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [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. 9. 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 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. 10. 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 Bergman, Lewis Informational [page 41] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 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. 11. 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 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 Bergman, Lewis Informational [page 42] INTERNET-DRAFT Printer Finishing MIB June 11, 1998 Implementers of this specification are encouraged to join this email distribution list in order to participate in any discussions of clarification issues and review registration proposals for additional attributes and enum values. For further information, access the PWG web page under "FIN": http://www.pwg.org/ Other Participants: Chuck Adams - Tektronix Carlos Becerra - HP 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 43]