INTERNET-DRAFT                                               Ron Bergman
                                                      Dataproducts Corp.
                                                             Harry Lewis
                                                               IBM Corp.
                                                            May 11, 1998

                         Printer Finishing MIB

               <draft-ietf-printmib-finishing-02.txt>

                       Expires November 11, 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                May 11, 1998





TABLE OF CONTENTS

1.  INTRODUCTION.......................................................2
1.1  Scope.............................................................2
1.2  Rational..........................................................3
2.  TERMINOLOGY........................................................4
3.  FINISHER SUBUNITS INTEGRATED INTO THE PRINTER MODEL................6
4.  FINISHING SPECIFICATIONS...........................................7
4.1  Multiple finDeviceTable Entries...................................7
4.2  Implicit Parameters...............................................8
4.2.1  FinPunchPatternTC...............................................8
4.2.2  FinPunchHoleTypeTC, punchHoleSizeMaxDim, punchHoleSizeMinDim....9
5.  THE ATTRIBUTE MECHANISM............................................9
5.1  Conformance of Attribute Implementation..........................10
5.2  Useful, 'Unknown', and 'Other' Values for Objects and Attributes.10
5.3  Data Sub-types and Attribute Naming Conventions..................11
5.4  Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes.....11
5.6  Index Value Attributes...........................................12
6.  Enumerations......................................................12
6.1  Registering Additional Enumerated Values.........................12
7.  PRINTER FINISHING MIB SPECIFICATION...............................13
8.  REFERENCES........................................................35
9.  SECURITY CONSIDERATIONS...........................................35
10.  FULL COPYRIGHT STATEMENT.........................................35
11.  AUTHORS..........................................................36



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




Bergman, Lewis               Informational                     [page 2]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




   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:

    - 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
   implemetation 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                May 11, 1998




   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                May 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 (X1,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
    rectagular 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                May 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.

   - 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.



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 6]


INTERNET-DRAFT         Printer Finishing MIB                May 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 7]


INTERNET-DRAFT         Printer Finishing MIB                May 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       | Process | Process   | Hole spacing
                      | Axis ref|Axis Offset| (see note 1)
   -------------------+---------+-----------+-----------------------
   twoHoleUSTop(4)    | xAxis(3)|   note 2  | 2.75 inches
   threeHoleUS(5)     |  note 3 |   note 4  | 4.25 inches
   twoHoleDIN(6)      |  note 5 |   note 6  | 80 mm
   fourHoleDIN(7)     |  note 5 |   note 6  | 80 mm
   twentyTwoHoleUS(8) |  note 3 |   note 4  | .5 inches
   nineteenHoleUS(9)  |  note 3 |   note 11 | .5625 inches
   twoHoleMetric(10)  |  note 7 |   note 8  | 80 mm
   swedish4Hole(11)   |  note 5 |   note 6  | 21, 70, 21 mm
   twoHoleUSSide(12)  |  note 3 |   note 4  | 2.75 inches
   fiveHoleUS(13)     |  note 3 |   note 4  | 2, 2.25, 2.25, 2 in
   sevenHoleUS(14)    |  note 3 |   note 4  | 1, 1, 2.25, 2.25, 1, 1 in
   mixed7H4S(15)      |  note 5 |   note 6  | note 9
   norweg6Hole(16)    |  note 5 |   note 6  | note 10
   metric26Hole(17)   |  note 7 |   note 8  | 9.5 mm
   metric30Hole(18)   |  note 5 |   note 6  | 9.5 mm

   Notes:
      1. All hole to hole patterns are centered along the process edge.
      2. Offset for letter is 10.5 in to 10.8 in and for legal is
         13.5 in to 13.8 in.




Bergman, Lewis               Informational                     [page 8]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




      3. Process Axis reference is yAxis(4) for letter and xAxis(3)
         for ledger.
      4. Offset for letter is .18 in to .51 in and for ledger is 16.5 in
         to 16.8 in.
      5. Process Axis reference is yAxis(4) for A4 and xAxis(3) for A3.
      6. Offset for A4 is 4.5 mm to 13 mm and for A3 is 407 mm to
         416 mm.
      7. Process Axis reference is yAxis(4) for B5 and xAxis for B4.
      8. Offset for B5 is 4.5 mm to 13 mm and for B4 is 351 mm to
         360 mm.
      9. 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.
     10. 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.
     11. Offset for letter is .188 in and for ledger is 16.812 in.


4.2.2  FinPunchHoleTypeTC, punchHoleSizeMaxDim, punchHoleSizeMinDim

   enum pattern       | Hole Type |  Max Dim    |  Min Dim
   -------------------+-----------+-------------+--------------
   twoHoleUSTop(4)    | round(3)  | .2 - .32 in | .2 - .32 in
   threeHoleUS(5)     | round(3)  | .2 - .32 in | .2 - .32 in
   twoHoleDIN(6)      | round(3)  | 5 - 8 mm    | 5 - 8 mm
   fourHoleDIN(7)     | round(3)  | 5 - 8 mm    | 5 - 8 mm
   twentyTwoHoleUS(8) | round(3)  | .2 - .32 in | .2 - .32 in
   nineteenHoleUS(9)  | rectang(6)| .313 inches | .125 inches
   twoHoleMetric(10)  | round(3)  | 5 - 8 mm    | 5 - 8 mm
   swedish4Hole(11)   | round(3)  | 5 - 8 mm    | 5 - 8 mm
   twoHoleUSSide(12)  | round(3)  | .2 - .32 in | .2 - .32 in
   fiveHoleUS(13)     | round(3)  | .2 - .32 in | .2 - .32 in
   sevenHoleUS(14)    | round(3)  | .2 - .32 in | .2 - .32 in
   mixed7H4S(15)      | round(3)  | 5 - 8 mm    | 5 - 8 mm
                      | rectang(6)| 12 mm       | 6 mm
   norweg6Hole(16)    | round(3)  | 5 - 8 mm    | 5 - 8 mm
                      | rectang(6)| 10 mm       | 5.5 mm
   metric26Hole(17)   | round(3)  | 5 - 8 mm    | 5 - 8 mm
   metric30Hole(18)   | round(3)  | 5 - 8 mm    | 5 - 8 mm




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




Bergman, Lewis               Informational                     [page 9]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




   soon as the agent is aware of the value of the attribute.

   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




Bergman, Lewis               Informational                     [page 10]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




   'useful', 'unknown', or 'other' value is available.  When a useful
   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.


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 11]


INTERNET-DRAFT         Printer Finishing MIB                May 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.

   Some criteria that suggest using a type 1 enumeration are:







Bergman, Lewis               Informational                     [page 12]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




     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 13]


INTERNET-DRAFT         Printer Finishing MIB                May 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
    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 process
       enumerations."
    SYNTAX       INTEGER {
         other(1),




Bergman, Lewis               Informational                     [page 14]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 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
-- 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
              approved and registered.





Bergman, Lewis               Informational                     [page 15]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




    -- 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
            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.

         finAxisOrientation(10),            FinAxisOrientation
            INTEGER:  An enumeration which defines which axis, 'X' or
              'Y', is the reference for this finishing process.  The
              Finishing Process Axis will be parallel to this axis.

         finAxisOffset(11),                 Integer32
            INTEGER:  Defines the parallel offset of the Finishing
              Process Axis from the Reference Edge.  The units of
              measure are defined by the attribute
              finProcessOffsetUnits.

         finHeadLocation(12),               Integer32
            INTEGER:  Defines the position of the Head 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.

         finOperationCombinationRestrictions(13),    Integer32
            INTEGER: MULTI-VALUED:  Defines the finDeviceIndex of a
              finishing process which cannot be combined with the
              process define by the finDeviceIndex for this
              finDeviceAttributeTable instance.  When this condition
              occurs. this attribute SHALL be presented in the




Bergman, Lewis               Informational                     [page 16]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




              attribute tables for both finishing processes that cannot
              be combined.

    -- 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 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.

         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.

         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
              process.





Bergman, Lewis               Informational                     [page 17]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




    -- Perforator type-specific attributes (90..)

    -- Slitter type-specific attributes (100..)

         slittingType(100),                 FinSlittingTypeTC
            INTEGER:  Provides additional information regarding the
              slitting process.

    -- 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..)"

    SYNTAX       INTEGER {
         other(1),
         deviceName(3),
         deviceVendorName(4),
         deviceModel(5),
         deviceVersion(6),
         deviceSerialNumber(7),
         maximumSheets(8),
         finProcessOffsetUnits(9),
         finAxisOrientation(10),
         finAxisOffset(11),
         finHeadLocation(12),
         finOperationCombinationRestrictions(13),
         stitchingType(30),
         foldingType(40),
         bindingType(50),
         punchHoleType(80),
         punchHoleSizeMaxDim(81),
         punchHoleSizeMinDim(82),
         punchPattern(83),
         slittingType(100),
         wrappingType(130)
        }

FinAxisOrientation ::= TEXTUAL-CONVENTION
-- This is a type 2 enumeration.
    STATUS       current
    DESCRIPTION
      "Specifies the reference axis for a Finishing Process."
    SYNTAX       INTEGER {
         xAxis(3),




Bergman, Lewis               Informational                     [page 18]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




         yAxis(4)
        }

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)
        }

FinPunchHoleTypeTC ::= TEXTUAL-CONVENTION




Bergman, Lewis               Informational                     [page 19]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




--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 side
         threeHoleUS(5),     --Letter/ledger, 11 inch side
         twoHoleDIN(6),      --A4/A3, 297 mm side
         fourHoleDIN(7),     --A4/A3, 297 mm side
         twentyTwoHoleUS(8), --Letter/ledger, 11 inch side
         nineteenHoleUS(9),  --Letter/ledger, 11 inch side
         twoHoleMetric(10),  --B5/B4, 257 mm side
         swedish4Hole(11),   --A4/A3, 297 mm side
         twoHoleUSSide(12),  --Letter/ledger, 11 inch side
         fiveHoleUS(13),     --Letter/ledger, 11 inch side
         sevenHoleUS(14),    --Letter/ledger, 11 inch side
         mixed7H4S(15),      --A4/A3, 297 mm side
         norweg6Hole(16),    --A4/A3, 297 mm side
         metric26Hole(17),   --B5/B4, 257 mm side
         metric30Hole(18)    --A4/A3, 297 mm side
        )

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 20]


INTERNET-DRAFT         Printer Finishing MIB                May 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)
        }

FinSupplyTypeTC ::= TEXTUAL-CONVENTION
-- This is a type 3 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




Bergman, Lewis               Informational                     [page 21]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




                               --Printer MIB
         water(23),
         wasteWater(24),
         glueWaterAdditive(25),
         wastePaper(26),
         bindingSupply(27),
         bandingSupply(28),
         stitchingWire(29),
         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 process."
    INDEX  { hrDeviceIndex, finDeviceIndex }
    ::= { finDevicesTable 1 }

FinDeviceEntry ::= SEQUENCE {
      finDeviceIndex                 Integer32,
      finDeviceType                  FinDeviceTypeTC,
      finDevicePresentOnOff          PresentOnOff,
      finDeviceCapacityUnit          PrtCapacityUnitTC,
      finDeviceMaxCapacity           Integer32,
      finDeviceCurrentCapacity       OCTET STRING,
      finDeviceAssociatedMediaPaths  OCTET STRING,
      finDeviceAssociatedOutputs     Integer32,




Bergman, Lewis               Informational                     [page 22]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




      finDeviceStatus                PrtSubUnitStatusTC,
      finDeviceDescription           OCTET STRING
     }

finDeviceIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    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
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "The maximum capacity of this finisher device subunit in
       finDeviceCapacityUnits.  If the device can reliably sense




Bergman, Lewis               Informational                     [page 23]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




       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
    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      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 in an
       octet string with each position representing the value of a
       prtOutputIndex.  For an output subunit that is serviced




Bergman, Lewis               Informational                     [page 24]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




       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.

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 25]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 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 }

finSupplyType OBJECT-TYPE




Bergman, Lewis               Informational                     [page 26]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




    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 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
    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 27]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 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 (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.

finSupplyMediaInputTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FinSupplyMediaInputEntry




Bergman, Lewis               Informational                     [page 28]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




    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."
::= { 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




Bergman, Lewis               Informational                     [page 29]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




    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..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




Bergman, Lewis               Informational                     [page 30]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




       parameter. The value (-2) indicates unknown. "
    ::= { finSupplyMediaInputEntry 6 }

finSupplyMediaInputMediaDimXFeedDir OBJECT-TYPE
    SYNTAX      Integer32
    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
    DESCRIPTION
      "The name assigned to this input subunit."
    ::= { finSupplyMediaInputEntry 10 }

finSupplyMediaInputDescription OBJECT-TYPE




Bergman, Lewis               Informational                     [page 31]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




    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
    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




Bergman, Lewis               Informational                     [page 32]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




    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 }

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
     }





Bergman, Lewis               Informational                     [page 33]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




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-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."
    ::= { finDeviceAttributeEntry 3 }

finDeviceAttributeValueAsOctets OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..63))
    MAX-ACCESS  read-write
    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




Bergman, Lewis               Informational                     [page 34]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




       zero length string."
    ::= { finDeviceAttributeEntry 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




Bergman, Lewis               Informational                     [page 35]


INTERNET-DRAFT         Printer Finishing MIB                May 11, 1998




   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.



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 36]

INTERNET-DRAFT         Printer Finishing MIB                May 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
    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