Internet Printing Protocol (IPP): Job Progress Attributes
obsoleted by
- rfc-8011 — Internet Printing Protocol/1.1: Model and Semantics
updates
- rfc-2910 — Internet Printing Protocol/1.1: Encoding and Transport
Extracted elements (25)
The 'completed' semantics for impressions and sheets means 'stacked'; if the implementation cannot detect when each sheet is stacked, stacking is approximated as when processing of each sheet is completed. This accommodates printers that lack output-bin sensors.
The four new Job Description attributes are drawn from the PWG Job Monitoring MIB (RFC 2707) to enable cross-protocol consistency between IPP job progress monitoring and SNMP-based monitoring. This alignment allows implementations supporting both protocols to share the same underlying progress data.
The implicit value of 'sheet-collate' in a Printer that does not support the attribute is 'collated', because the semantics of 'multiple-document-handling' are otherwise nonsensical in the case of separate documents with uncollated sheets.
The 'uncollated-sheets(3)' value of job-collation-type may result in physically collated output if the device has an output bin collator; however, job progress monitoring is indistinguishable from a device without such a collator, so the value reflects the job's requested processing mode rather than the physical output order.
When the job's 'copies' attribute is '1' or not supplied, 'job-collation-type' is defined to be '4' (collated-documents), since with only one copy there is no meaningful distinction between collated and uncollated document ordering.
Implementations should use the 'unknown' out-of-band value (RFC 2911 section 4.1) rather than the -2 sentinel used in some PWG MIBs (RFC 2707) when reporting unknown progress values, to maintain compatibility with the IPP attribute model.
IPP/1.0 (RFC 2566) and IPP/1.1 (RFC 2911) are silent on whether sheets within documents are collated. The new 'sheet-collate-supported' Printer attribute permits a Printer to indicate whether it collates sheets and whether clients may control sheet collation.
The 'collated-documents(4)' value of job-collation-type corresponds to the IPP/1.1 'separate-documents-collated-copies' keyword of the 'multiple-document-handling' attribute, and 'uncollated-documents(5)' corresponds to 'separate-documents-uncollated-copies', enabling mapping between the two attribute spaces.
All five new attributes defined in this document (sheet-collate, job-collation-type, sheet-completed-copy-number, sheet-completed-document-number, impressions-completed-current-copy) are OPTIONAL extensions; client and Printer implementers MAY implement any combination of them.
If the value of 'impressions-completed-current-copy' is unknown, the Printer MUST return the 'unknown' out-of-band value (RFC 2911 section 4.1), rather than the -2 value used in some MIBs.
If the value of 'sheet-completed-copy-number' is unknown, the Printer MUST return the 'unknown' out-of-band value as defined in RFC 2911 section 4.1, rather than the -2 value used in some MIBs.
If the value of 'sheet-completed-document-number' is unknown, the Printer MUST return the 'unknown' out-of-band value (RFC 2911 section 4.1), rather than the -2 value used in some MIBs.
Implementations that only support one document per job SHOULD NOT implement the 'sheet-completed-document-number' attribute, as it is only meaningful for multi-document jobs.
The 'impressions-completed-current-copy' value MUST be reset to 0 for each document in the job and for each document copy, ensuring the counter reflects only the current copy's progress.
When 'sheet-collate' is 'uncollated' and 'multiple-document-handling' is either 'separate-documents-collated-copies' or 'separate-documents-uncollated-copies', the Printer object MUST reject the job and return the status 'client-error-conflicting-attributes', as these are degenerate combinations.
The 'impressions-completed-current-copy' Job Description attribute (integer(0:MAX)) counts the number of impressions completed by the device for the current copy of the current document so far, including interpreting, marking, and stacking.
The 'job-collation-type' Job Description attribute (type2 enum) reports the collation type for the job, encompassing both sheet collation and document collation. Enum values are: 1='other', 2='unknown', 3='uncollated-sheets', 4='collated-documents', 5='uncollated-documents'.
The 'sheet-collate' Job Template attribute (type2 keyword) specifies whether media sheets of each copy of each printed document are to be in sequence when multiple copies are requested. Keyword values are 'uncollated' (each sheet replicated before the next sheet is processed) and 'collated' (each copy printed with sheets in sequence).
The 'sheet-completed-copy-number' Job Description attribute (integer(0:MAX)) identifies the number of the copy currently being stacked for the current document, starting at 0 and incrementing to 1 when the first sheet of the first copy is stacked.
The 'sheet-completed-document-number' Job Description attribute (integer(0:MAX)) identifies the ordinal number of the document in the job currently being stacked, starting at 0 and incrementing to 1 when the first sheet of the first document is stacked.
This document registers enum values for 'job-collation-type': 1='other', 2='unknown', 3='uncollated-sheets', 4='collated-documents', 5='uncollated-documents', per RFC 2911 section 6.1 procedures.
This document registers keyword values for 'sheet-collate': 'uncollated' and 'collated', per RFC 2911 section 6.1 procedures.
This document registers new Job Description attributes in the IPP Registry: 'job-collation-type' (type2 enum), 'sheet-completed-copy-number' (integer(0:MAX)), 'sheet-completed-document-number' (integer(0:MAX)), and 'impressions-completed-current-copy' (integer(0:MAX)).
This document registers new Job Template attributes in the IPP Registry: 'sheet-collate' (type2 keyword), 'sheet-collate-default' (type2 keyword), and 'sheet-collate-supported' (1setOf type2 keyword), per RFC 2911 section 6 procedures.
The IPP extensions defined in this document require the same security considerations as any of the Job Template and Job Description attributes defined in IPP/1.1 (RFC 2911). No additional security considerations beyond the base IPP security model are introduced.