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>