[IPP] RFC: printer-finisher attribute

[IPP] RFC: printer-finisher attribute

Michael Sweet msweet at apple.com
Fri Jun 20 18:25:57 UTC 2014


All,

One of the common issues we've run into are finisher limits - maximum capacity in particular.

Currently the only want to get this information is via the Finishing MIB.  The following is a proposal for inclusion in the Finishings 2.0 specification to add a "printer-finisher" Printer Description attribute that exposes the Finishing MIB, much as we already do for the various Printer MIB properties.

If there are no objections, I will issue one more prototype draft of the Finishings 2.0 spec so we can review this and the finishings-col-database addition in the next WG concall.

...

6.15 printer-finisher (1setOf octetString(MAX))

The REQUIRED "printer-finisher" Printer attribute provides current finisher details mapped from the SNMP finDeviceTable defined in IETF Finishing MIB [RFC3806].

This attribute MUST be supported if the "printer-finisher-description" (section 6.16) Printer attribute is supported. If supported, this attribute MUST have the same cardinality (contain the same number of values) as the "printer-finisher-description" attribute. The ith value in the "printer-finisher" attribute corresponds to the ith value in the "printer-finisher-description" attribute.

6.15.1 Keywords for printer-finisher

Table 2 defines the IPP datatypes and keywords for encoding "printer-finisher" from all of the machine-readable (non-localized) columnar objects in finDeviceTable [RFC3806].

6.15.2 Encoding of printer-finisher

Values of "printer-finisher" MUST be encoded using a visible subset of the [US-ASCII] charset. Control codes (0x00 to 0x1F and 0x7F) MUST NOT be used. The ABNF [STD68] in Figure 2 defines the standard encoding in "printer-finisher" for all the machine-readable (non-localized) columnar objects in finDeviceTable [RFC3806].

6.15.3 Examples of printer-input-tray

The following example shows two rows of the machine-readable (non-localized) columnar objects from finDeviceTable encoded into corresponding values of "printer-finisher".

Note: Line breaks are shown below for readability of this example. Line breaks MUST NOT be encoded into actual values of "printer-finisher".

printer-finisher[1] =
    type=stitcher;unit=sheets;maxcapacity=500;capacity=100;
printer-input-tray[2] =
    type=puncher;unit=sheets;maxcapacity=100;capacity=20;
 
Table 2 - Keywords for "printer-finisher"

Finishing MIB Object    IPP Data-type  IPP Keyword    PWG SM Keyword    Conformance
----------------------  -------------  -------------  ----------------  -----------
finDevice...
Index (note 1)          Integer        index          Id                OPTIONAL
Type                    String         type           FinisherType      REQUIRED
CapacityUnit            String         unit           FinisherCapacity  REQUIRED
                                                      Unit
MaxCapacity             Integer        maxcapacity    FinisherMax       REQUIRED
                                                      Capacity
CurrentCapacity         Integer        capacity       FinisherCurrent   REQUIRED
                                                      Capacity
PresentOnOff            String         presentonoff   FinisherPresent   OPTIONAL
                                                      OnOff
AssociatedMediaPaths    ---            ---            FinisherAssociated ---
                                                      MediaPaths
AssociatedOutputs       ---            ---            FinisherAssociated ---
                                                      Outputs
Status                  Integer        status         SubunitStates     OPTIONAL

Notes:
1.    finDeviceIndex is OPTIONAL in "printer-finisher", because correlation with the original MIB order is considered unimportant.

 
Figure 2 - ABNF for "printer-finisher" Values

printer-finisher = *finisher-required *[finisher-optional]
    ; set of finisher elements encoded into one value
 
finisher-required = finisher-req ";"
finisher-req = finisher-type / finisher-unit /
                 finisher-max-capacity /
                 finisher-capacity
finisher-optional = finisher-opt ";"
finisher-opt = finisher-index / finisher-presentonoff /
                 finisher-status / finisher-ext
 
finisher-type = "type" "=" 1*ALPHA
    ; enumerated value as an alpha string (e.g.,
    ; 'stitcher') of finDeviceType in [RFC3806] mapped
    ; indirectly from the *label* in FinDeviceTypeTC
 
finisher-unit = "unit" "=" 1*ALPHA
    ; enumerated value as an alpha string (e.g., 'other') of
    ; finDeviceCapacityUnit in [RFC3806] mapped indirectly from
    ; the *label* in PrtCapacityUnitTC in [RFC3805]
 
finisher-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"]
    ; integer value as a numeric string mapped directly from
    ; finDeviceMaxCapacity in [RFC3806]
 
finisher-capacity = "capacity" "=" 1*[DIGIT / "-"]
    ; integer value as a numeric string mapped directly from
    ; finDeviceCurrentCapacity in [RFC3806]
 
finisher-index = "index" "=" 1*DIGIT
    ; integer value as a numeric string mapped directly from
    ; finDeviceIndex in [RFC3806]
 
finisher-presentonoff = "presentonoff" "=" 1*ALPHA
    ; string value as an alpha string mapped directly from
    ; PresentOnOff in [RFC3805]
 
finisher-status = "status" "=" 1*DIGIT
    ; integer value as a numeric string mapped directly from
    ; finDeviceStatus in [RFC3806]
 
finisher-ext   = 1*ALPHA "=" 1*ALPHA
    ; extension point for other MIB values not mapped

6.16 printer-finisher-description (1setOf text(MAX))

The REQUIRED "printer-finisher-description" READ-ONLY Printer attribute provides current supply descriptions mapped from the SNMP finDeviceDescription object in the finDeviceTable defined in IETF Finishing MIB [RFC3806].

This attribute MUST be supported if the "printer-finisher" (section 6.15) Printer attribute is supported. If supported, this attribute MUST have the same cardinality (contain the same number of values) as the "printer-finisher" attribute. The ith value in the "printer-finisher-description" attribute corresponds to the ith value in the "printer-finisher" attribute.

6.16.1 Encoding of printer-finisher-description

Values of the "printer-finisher-description" attribute MUST be mapped from the corresponding human-readable (localized) values of finDeviceDescription, exactly as follows:

1.    Each value of finDeviceDescription MUST be converted from the character set [RFC3808] specified by prtGeneralCurrentLocalization and prtLocalizationCharacterSet into the charset specified by "charset-configured" and then copied into a text value of "printer-finisher-description"; and
2.    Each value of "printer-finisher-description" MUST be tagged with the natural language [RFC5646] specified by prtGeneralCurrentLocalization, prtLocalizationLanguage, and prtLocalizationCountry.

6.16.2 Example of printer-finisher-description

The following example shows two instances of the human-readable (localized) columnar object finDeviceDescription in the finDeviceTable encoded into corresponding values of "printer-finisher-description":

printer-finisher-description[1] = "Stapler S/N:EXAMPLE-12345"
printer-finisher-description[2] = "Hole Punch S/N:EXAMPLE-67890"

_________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4881 bytes
Desc: not available
URL: <http://www.pwg.org/pipermail/ipp/attachments/20140620/52ef1187/attachment.p7s>


More information about the ipp mailing list