July 27, 2012
Candidate Standard 5100.13-2012

The Printer Working Group

IPP: Job and Printer Extensions – Set 3(JPS3)

Status: Approved

Abstract: Printing on new operating systems, distributed computing systems, and mobile
devices emphasizes the challenges of generating document data, discovering available
Printers, and communicating that document data to a Printer. This specification adds
additional attributes and operations to IPP to better support generic, vendor-neutral
implementations of printing in these environments.
This document is a PWG Candidate Standard. For a definition of a "PWG Candidate
Standard", see: ftp://ftp.pwg.org/pub/pwg/general/pwg-process30.pdf
This document is available electronically at:
ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.docx
ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Copyright © 2011-2012 The Printer Working Group. All rights reserved.
This document may be copied and furnished to others, and derivative works that commenton, or otherwise explain it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of any kind, provided thatthe above copyright notice, this paragraph and the title of the Document as referenced
below 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 IEEE-ISTO and the Printer Working Group, a program of the IEEE-ISTO.
Title: IPP: Job and Printer Extensions – Set 3 (JPS3)
The IEEE-ISTO and the Printer Working Group DISCLAIM ANY AND ALL WARRANTIES,WHETHER EXPRESS OR IMPLIED INCLUDING (WITHOUT LIMITATION) ANY
IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULARPURPOSE.
The Printer Working Group, a program of the IEEE-ISTO, reserves the right to makechanges to the document without further notice. The document may be updated, replacedor made obsolete by other documents at any time.
The IEEE-ISTO takes no position regarding the validity or scope of any intellectual
property or other rights that might be claimed to pertain to the implementation or use of
the technology described in this document or the extent to which any license under suchrights might or might not be available; neither does it represent that it has made any effort
to identify any such rights.
The IEEE-ISTO invites any interested party to bring to its attention any copyrights,
patents, or patent applications, or other proprietary rights which may cover technology that
may be required to implement the contents of this document. The IEEE-ISTO and its
programs shall not be responsible for identifying patents for which a license may berequired by a document and/or IEEE-ISTO Industry Group Standard or for conducting
inquiries into the legal validity or scope of those patents that are brought to its attention.
Inquiries may be submitted to the IEEE-ISTO by e-mail at: ieee-isto@ieee.org.
The Printer Working Group acknowledges that the IEEE-ISTO (acting itself or through its
designees) is, and shall at all times, be the sole entity that may authorize the use ofcertification marks, trademarks, or other special designations to indicate compliance withthese materials.
Use of this document is wholly voluntary. The existence of this document does not imply
that there are no other ways to produce, test, measure, purchase, market, or provide othergoods and services related to its scope.

Page 2 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

About the IEEE-ISTO
The IEEE-ISTO is a not-for-profit corporation offering industry groups an innovative andflexible operational forum and support services. The IEEE-ISTO provides a forum not
only to develop standards, but also to facilitate activities that support the implementation
and acceptance of standards in the marketplace. The organization is affiliated with theIEEE(http://www.ieee.org/)
and
the
IEEE
Standards
Association(http://standards.ieee.org/).
For additional information regarding the IEEE-ISTO and its industry programs visit:
http://www.ieee-isto.org
About the IEEE-ISTO PWG
The Printer Working Group (or PWG) is a Program of the IEEE Industry Standards andTechnology Organization (ISTO) with member organizations including printermanufacturers, print server developers, operating system providers, network operating
systems providers, network connectivity vendors, and print management application
developers. The group is chartered to make printers and the applications and operating
systems supporting them work together better. All references to the PWG in thisdocument implicitly mean “The Printer Working Group, a Program of the IEEE ISTO.” Inorder to meet this objective, the PWG will document the results of their work as open
standards that define print related protocols, interfaces, procedures and conventions.
Printer manufacturers and vendors of printer related software will benefit from theinteroperability provided by voluntary conformance to these standards.
In general, a PWG standard is a specification that is stable, well understood, and istechnically competent, has multiple, independent and interoperable implementations with
substantial operational experience, and enjoys significant public support.
For additional information regarding the Printer Working Group visit:
http://www.pwg.org
Contact information:
The Printer Working Group
c/o The IEEE Industry Standards and Technology Organization
445 Hoes Lane
Piscataway, NJ 08854
USA

Page 3 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

About the Internet Printing Protocol Work GroupThe Internet Printing Protocol (IPP) working group has developed a modern, full-featured
network printing protocol, which is now the industry standard. IPP allows a print client toquery a printer for its supported capabilities, features, and parameters to allow theselection of an appropriate printer for each print job. IPP also provides job information
prior to, during, and at the end of job processing.
For additional information regarding IPP visit:
http://www.pwg.org/ipp/
Implementers of this specification are encouraged to join the IPP mailing list in order toparticipate in any discussions of the specification. Suggested additions, changes, orclarification to this specification, should be sent to the IPP mailing list for consideration.

Page 4 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Table of Contents
1. Introduction .................................................................................................................... 10	
  
1.1 Limits ........................................................................................................................ 10	
  1.2 Coloring .................................................................................................................... 11	
  1.3 Constraints and "preferred-attributes" ...................................................................... 11	
  1.4 ICC Color Management ........................................................................................... 11	
  1.5 Localization .............................................................................................................. 12	
  
1.6 Device Information ................................................................................................... 12	
  2. Terminology ................................................................................................................... 13	
  2.1 Conformance Terminology ....................................................................................... 13	
  2.2 Printing Terminology ................................................................................................ 13	
  2.3 Other Terminology ................................................................................................... 13	
  3. Requirements ................................................................................................................ 15	
  3.1 Rationale for Job and Printer Extensions – Set 3 .................................................... 15	
  3.2 Use Cases................................................................................................................ 16	
  3.2.1 Select Printer Using Geo-Location .................................................................... 16	
  3.2.2 Select Printer With Confirmation ....................................................................... 16	
  3.2.3 Print Using Loaded Media ................................................................................. 16	
  3.2.4 Print a Secure Form .......................................................................................... 16	
  3.2.5 Print with Special Formatting ............................................................................. 17	
  3.2.6 Print to a Service ............................................................................................... 17	
  3.2.7 Print a Document with Page Subsets ................................................................ 17	
  3.2.8 Print on a Roll .................................................................................................... 17	
  3.2.9 Job or Document Processing Failures............................................................... 18	
  3.2.10 Manual Duplex Printing ................................................................................... 18	
  3.2.11 Continuous Printing ......................................................................................... 18	
  3.2.12 Correlation of Multiple Printers ........................................................................ 18	
  3.3 Out of Scope ............................................................................................................ 18	
  3.4 Design Requirements............................................................................................... 19	
  4. New Operations ............................................................................................................. 20	
  4.1 Identify-Printer .......................................................................................................... 20	
  4.1.1 Identify-Printer Request ..................................................................................... 20	
  4.1.2 Identify-Printer Response .................................................................................. 21	
  4.2 Validate-Document................................................................................................... 21	
  4.2.1 Validate-Document Request.............................................................................. 22	
  4.2.2 Validate-Document Response ........................................................................... 23	
  5. Attributes........................................................................................................................ 24	
  5.1 Operation Attributes ................................................................................................. 24	
  5.1.1 document-metadata (1setOf octetString(MAX)) ................................................ 24	
  5.1.2 document-password (octetString(1023)) ........................................................... 25	
  5.1.3 first-index (integer(1:MAX)) ............................................................................... 25	
  5.1.4 identify-actions (1setOf type2 keyword) ............................................................ 25	
  5.1.5 preferred-attributes (collection).......................................................................... 26	
  5.1.6 requesting-user-uri (uri) ..................................................................................... 26	
  5.2 Job and Document Template Attributes ................................................................... 27	
  5.2.1 job-error-action (type2 keyword)........................................................................ 27	
  Page 5 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.2.2 pages-per-subset (1setOf integer(1:MAX)) ....................................................... 27	
  5.2.3 print-color-mode (type2 keyword) ...................................................................... 28	
  5.2.4 print-rendering-intent (type2 keyword)............................................................... 29	
  5.3 Job Description Attributes ........................................................................................ 30	
  5.3.1 job-uuid (uri(45)) ................................................................................................ 30	
  5.3.2 document-metadata (1setOf octetString(MAX)) ................................................ 30	
  5.3.3 job-originating-user-uri (uri) ............................................................................... 30	
  5.3.4 job-pages (integer(0:MAX)) ............................................................................... 30	
  5.3.5 job-pages-completed (integer(0:MAX)) ............................................................. 30	
  5.3.6 job-pages-completed-current-copy (integer(0:MAX)) ........................................ 31	
  5.4 Subscription Description Attributes .......................................................................... 31	
  5.4.1 subscription-uuid (uri(45)).................................................................................. 31	
  5.4.2 notify-subscriber-user-uri (uri) ........................................................................... 31	
  
5.5 Document Description Attributes.............................................................................. 31	
  5.5.1 document-uuid (uri(45)) ..................................................................................... 31	
  5.5.2 document-metadata (1setOf octetString(MAX)) ................................................ 32	
  5.5.3 pages (integer(0:MAX)) ..................................................................................... 32	
  5.5.4 pages-completed (integer(0:MAX)) ................................................................... 32	
  5.5.5 pages-completed-current-copy (integer(0:MAX)) .............................................. 32	
  5.6 Printer Description Attributes ................................................................................... 32	
  5.6.1 printer-uuid (uri(45))........................................................................................... 32	
  5.6.2 device-service-count (integer(1:MAX)) .............................................................. 33	
  5.6.3 device-uuid (uri(45)) .......................................................................................... 33	
  5.6.4 document-password-supported (integer(0:1023)) ............................................. 33	
  5.6.5 identify-actions-default (1setOf type2 keyword) ................................................ 33	
  5.6.6 identify-actions-supported (1setOf type2 keyword) ........................................... 33	
  5.6.7 ipp-features-supported (1setOf type2 keyword) ................................................ 33	
  5.6.8 job-constraints-supported (1setOf collection) .................................................... 35	
  5.6.9 job-error-action-default (type2 keyword)............................................................ 35	
  5.6.10 job-error-action-supported (1setOf type2 keyword) ......................................... 35	
  5.6.11 job-resolvers-supported (1setOf collection) ..................................................... 35	
  5.6.12 media-bottom-margin-supported (1setOf integer(0:MAX)) .............................. 36	
  5.6.13 media-left-margin-supported (1setOf integer(0:MAX)) .................................... 36	
  5.6.14 media-right-margin-supported (1setOf integer(0:MAX)) .................................. 36	
  5.6.15 media-source-supported (1setOf (type3 keyword | name(MAX)) .................... 37	
  5.6.16 media-top-margin-supported (1setOf integer(0:MAX)) .................................... 37	
  5.6.17 multiple-operation-timeout-action (type2 keyword).......................................... 37	
  5.6.18 pages-per-subset-supported (boolean) ........................................................... 37	
  5.6.19 preferred-attributes-supported (boolean)......................................................... 37	
  5.6.20 print-color-mode-default (type2 keyword) ........................................................ 38	
  5.6.21 print-color-mode-supported (1setOf type2 keyword) ....................................... 38	
  5.6.22 print-rendering-intent-default (type2 keyword)................................................. 38	
  5.6.23 print-rendering-intent-supported (1setOf type2 keyword) ................................ 38	
  5.6.24 printer-charge-info (text(MAX)) ........................................................................ 38	
  5.6.25 printer-charge-info-uri (uri)............................................................................... 38	
  5.6.26 printer-config-change-date-time (dateTime) .................................................... 38	
  Page 6 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.27 printer-config-change-time (integer(1:MAX)) ................................................... 39	
  5.6.28 printer-geo-location (uri | unknown) ................................................................. 39	
  5.6.29 printer-get-attributes-supported (1setOf type2 keyword) ................................. 39	
  5.6.30 printer-icc-profiles (1setOf collection) .............................................................. 39	
  5.6.31 printer-icons (1setOf uri) .................................................................................. 40	
  5.6.32 printer-input-tray (1setOf octetString(MAX)) .................................................... 40	
  5.6.33 printer-mandatory-job-attributes (1setOf type2 keyword) ................................ 44	
  5.6.34 printer-organization (1setOf text(MAX))........................................................... 44	
  5.6.35 printer-organizational-unit (1setOf text(MAX)) ................................................. 44	
  5.6.36 printer-output-tray (1setOf octetString(MAX)).................................................. 45	
  5.6.37 printer-strings-languages-supported (1setOf naturalLanguage)...................... 48	
  5.6.38 printer-strings-uri (uri | no-value) ..................................................................... 48	
  5.6.39 printer-supply (1setOf octetString(MAX)) ........................................................ 49	
  5.6.40 printer-supply-description (1setOf text(MAX)) ................................................. 53	
  5.6.41 printer-supply-info-uri (uri) ............................................................................... 54	
  5.6.42 requesting-user-uri-supported (boolean) ......................................................... 54	
  6. Additional Semantics for Existing Operations ................................................................ 55	
  6.1 All Operations: "requesting-user-uri" ........................................................................ 55	
  6.2 Get-Printer-Attributes Operation: "first-index" and "limit" ......................................... 55	
  6.3 Get-Subscriptions Operation: "first-index" and "limit" ............................................... 55	
  6.4 Get-Jobs Operation: "first-index" and "limit" ............................................................. 55	
  6.5 Get-Documents Operation: "first-index" and "limit" .................................................. 55	
  6.6 Print-Job, Print-URI, Send-Document, and Send-URI Operations: "documentmetadata" ....................................................................................................................... 56	
  6.7 Print-Job, Print-URI, Send-Document, and Send-URI Operations: "documentpassword"....................................................................................................................... 56	
  6.8 Validate-Job Operation: "document-password" ....................................................... 56	
  6.9 Create-Job, Print-Job, and Print-URI Operations: "job-password" and "jobpassword-encryption" ..................................................................................................... 57	
  6.10 Create-Job, Print-Job, and Print-URI Operations: "ipp-attribute-fidelity", "jobmandatory-elements", and "media-col" .......................................................................... 57	
  6.11 Validate-Job Operation: "job-password" and "job-password-encryption" ............... 57	
  6.12 Validate-Job Operation: "preferred-attributes" ....................................................... 57	
  7. Additional Values and Semantics for Existing Attributes ............................................... 59	
  7.1 document-state-reasons (1setOf type2 keyword) and job-state-reasons (1setOf
type2 keyword) ............................................................................................................... 59	
  7.2 finishings (1setOf type2 enum) ................................................................................ 60	
  7.3 orientation-requested (type2 enum) ......................................................................... 60	
  7.4 print-content-optimize (type2 keyword) .................................................................... 60	
  7.5 printer-state-reasons (1setOf type2 keyword) .......................................................... 60	
  7.6 media-col Member Attributes ................................................................................... 61	
  7.6.1 media-bottom-margin (integer(0:MAX)) ............................................................. 61	
  7.6.2 media-left-margin (integer(0:MAX)) ................................................................... 61	
  7.6.3 media-right-margin (integer(0:MAX)) ................................................................. 61	
  7.6.4 media-size-name (type3 keyword | name(MAX)) .............................................. 61	
  7.6.5 media-source (type3 keyword | name(MAX)) .................................................... 61	
  Page 7 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

7.6.6 media-source-properties (collection) ................................................................. 63	
  7.6.7 media-top-margin (integer(0:MAX)) ................................................................... 63	
  7.6.8 Media Selection and Full-Bleed Printing............................................................ 63	
  7.7 media-col-database Values...................................................................................... 64	
  7.8 uri-authentication-supported (1setOf type2 keyword) .............................................. 64	
  8. Status Codes ................................................................................................................. 65	
  8.1 client-error-document-password-error (0x418) ........................................................ 65	
  8.2 client-error-document-permission-error (0x419) ...................................................... 65	
  8.3 client-error-document-security-error (0x41A) ........................................................... 65	
  8.4 client-error-document-unprintable-error (0x41B)...................................................... 65	
  9. Localization of Attributes and Values............................................................................. 66	
  9.1 Message Catalog File Format .................................................................................. 66	
  10. Relationship of Impressions, Pages, and Sheets ........................................................ 68	
  10.1 Examples for Impressions, Pages, and Sheets ..................................................... 68	
  10.1.1 Single Document Simplex Job Without Copies ............................................... 68	
  10.1.2 Single Document Duplex Job Without Copies ................................................. 68	
  10.1.3 Two Document Duplex Job With Copies, Number-Up, and Page-Ranges ..... 68	
  11. Conformance Requirements ........................................................................................ 71	
  11.1 Conformance Requirements for this Specification ................................................. 71	
  11.2 Conditional Conformance Requirements for Printer Objects ................................. 71	
  11.3 Conditional Conformance Requirements for Clients .............................................. 73	
  11.4 HTTP Recommendations ....................................................................................... 74	
  12. Internationalization Considerations.............................................................................. 74	
  13. Security Considerations ............................................................................................... 74	
  14. IANA Considerations ................................................................................................... 75	
  14.1 MIME Media Type Registration .............................................................................. 75	
  14.2 Attribute Registrations ............................................................................................ 76	
  14.3 Attribute Value Registrations.................................................................................. 78	
  14.4 Type2 enum Attribute Value Registrations............................................................. 81	
  14.5 Operation Registrations ......................................................................................... 82	
  14.6 Status Code Registrations ..................................................................................... 82	
  15. References .................................................................................................................. 83	
  15.1 Normative References ........................................................................................... 83	
  15.2 Informative References .......................................................................................... 85	
  
16. Authors' Addresses ...................................................................................................... 86	
  List of Figures
Figure 1 - ABNF for "document-metadata" Values ............................................................ 24	
  Figure 2 - ABNF for "printer-input-tray" Values .................................................................. 42	
  Figure 3 - ABNF for "printer-output-tray" Values ............................................................... 46	
  Figure 4 - ABNF for "printer-supply" Values ...................................................................... 51	
  Figure 5 - ABNF for the "text/strings" MIME Media Type .................................................. 67	
  Figure 6 - Two Document Duplex Job With Copies, Number-Up, and Page-Ranges ....... 69	
  List of Tables

Page 8 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Table 1 - "identify-actions" Keyword Values ...................................................................... 25	
  Table 2 - "job-error-action" Keyword Values ...................................................................... 27	
  Table 3 - "print-color-mode" Keyword Values .................................................................... 29	
  Table 4 - "print-rendering-intent" Keyword Values ............................................................. 29	
  Table 5 - "ipp-features-supported" Keyword Values .......................................................... 35	
  Table 6 - "multiple-document-timeout-action" Keyword Values ......................................... 37	
  Table 7 - Keywords for "printer-input-tray" ......................................................................... 41	
  Table 8 - Keywords for "printer-output-tray" ...................................................................... 45	
  Table 9 - Keywords for "printer-supply" ............................................................................. 50	
  Table 10 - Standard Colorant Names for "printer-supply" ................................................. 52	
  Table 11 - New "document-state-reasons" and "job-state-reasons" Keyword Values ....... 59	
  Table 12 - New "finishings" Enum Values ......................................................................... 60	
  Table 13 - New "printer-state-reasons" Keyword Values ................................................... 60	
  Table 14 - "media-source" Keyword Values ...................................................................... 62	
  Table 15 - Job Template Attributes That Affect Impressions and Sheets.......................... 70	
  Page 9 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

1. Introduction
Printing on new operating systems, distributed computing systems, and mobile devices
emphasizes the challenges of generating document data, discovering available Printers,
and communicating that document data to a Printer. This specification adds additional
attributes and operations to IPP [RFC2911] [PWG5100.12] to better support generic,vendor-neutral implementations of printing in these environments.
This specification extends the IPP Model and Semantics [RFC2911] by defining:
1. a general method for limits and coloring for objects and attributes,
2. constraint handling mechanisms for clients and printers,
3. ICC-based color management, and
4. localization of attribute names and values.

1.1 Limits
The IPP/1.1 Model and Semantics [RFC2911] defines support for limits in the Get-Jobs
operation to allow a Client to efficiently collect a large list of Job objects in groups of N
objects. Similarly, the IPP Event Notifications and Subscriptions [RFC3995] defines
support for limits in the Get-Subscriptions operation but without support for selecting thefirst Subscription object to return.
This specification extends the notion of limits to include any operation that might returnlarge lists of objects or attributes with large amounts of data such as "media-col-database"and defines new attributes to allow a Client to discover which operations support limits
and specify which object or attribute value to return first using a "first-index" operation
attribute.
The new "first-index" operation attribute is an integer value representing an attribute value
index in a 1setOf attribute value. The notion of an attribute value index requires that a
Printer use a consistent ordering of 1setOf values that can be limited, i.e., the order of"media-col-database" values must be defined by the printer and consistent between GetPrinter-Attribute requests.
The existing "limit" operation attribute is an integer value representing the maximum
number of values to return to the Client. Combined with "first-index", it allows a Client toquery a subset of the Printer's values.
Because existing conforming Printer implementations will return the successful-okignored-or-substituted-attributes status code when they do not support the "first-index" or"limit" operation attributes for a given request, a Client may be safely written to ask for asubset of values but handle receiving the complete set of values.

Page 10 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Printers that support the "first-index" and "limit" operation attributes must provide thevalues or objects in a consistent order such that a Client may retrieve all of those objects
or values using a sequence of requests with increasing values for "first-index".

1.2 Coloring
The Get-Printer-Attributes operation in the IPP/1.1 Model and Semantics [RFC2911]
supports attribute "coloring" using the "document-format" operation attribute. This
specification extends this to include arbitrary Job Creation attributes such as "sides" sothat Clients may determine which attribute values are supported for a particular type ofjob.
Similarly, the IPP/1.1 Model and Semantics and IPP Event Notifications and Subscriptions[RFC3995] allow for attribute "coloring" based on the "requesting-user-name" orauthenticated user for Job and Subscription operations.

1.3 Constraints and "preferred-attributes"
Printers can impose constraints between Job Creation attributes for practical (e.g.,
duplexing on transparency media), physical (e.g., label printing from a paper tray), andpolicy (e.g., no color printing for students) reasons. This specification defines two
mechanisms on the Client and Printer that allow a Client to discover what those
constraints are prior to creating a print job.
Client constraint resolution uses two new Printer attributes that list the constraints and alist of changes used by the printer for resolving them automatically. These attributes allow
the Client user interface to present a simple choice to the user when a selection triggers aconstraint: revert to the previous settings or make the following additional changes.
Printer constraint resolution uses the Validate-Document and Validate-Job operations.
Clients submit a Validate-Document or Validate-Job request with Template attributes thatwill be used in the actual document or job creation request. If conflicts are present in the
supplied Template attributes, the Printer returns a "preferred-attributes" collection attributeindicating which substitute values will be used to resolve those conflicts.
There is no Validate-Subscription operation because subscriptions always enforce
attribute fidelity.

1.4 ICC Color Management
This specification adds new Job Template and Printer attributes to support a managed
color workflow using ICC color profiles. Clients may specify output rendering intent for a
Job or Document and can query and download ICC color profiles listed by the Printer forcolor proofing or Client-side color rendering, especially when the Printer does not support
a desired output rendering intent.

Page 11 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

1.5 Localization
This specification defines and registers an existing plain text message catalog file format(MIME media type "text/strings") used on Mac OS X and NeXTSTEP that allows a Client
to present localized strings for attribute names and their associated values. For example,
a Printer might provide localizations for vendor media sizes and "printer-state-reasons"
keywords. A Printer attribute allows the Client to discover the location of message
catalogs for the language specified by the "attributes-natural-language" attribute in the
Client request. Clients can also use the HTTP If-Modified-Since header to detect whether
the referenced message catalog has been updated.

1.6 Device Information
IPP has long exposed device information that was necessary for printing. As IPP expands
to cover all of the Multi-Function Device (MFD) services defined by the PWG Semantic
Model working group, additional device information will be needed. In the context ofexisting IPP-based printing, these new attributes are most applicable to print server
implementations such as CUPS and high duty cycle print systems that support multiple
independent IPP Printers.
This specification defines two new device attributes for IPP: the device unique identifier asa UUID and a count of services provided by the device. The device unique identifier
allows a Client to correlate multiple IPP-based services to a single device or server. The
count of services tells the client whether a particular device or server provides more than
one IPP-based service, regardless of the type of service offered.

Page 12 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

2. Terminology
2.1 Conformance Terminology
Capitalized terms, such as MUST, MUST NOT, RECOMMENDED, REQUIRED,SHOULD, SHOULD NOT, MAY, and OPTIONAL, have special meaning relating toconformance as defined in Key words for use in RFCs to Indicate Requirement Levels[RFC2119].
The term CONDITIONALLY REQUIRED is additionally defined for a conformancerequirement that applies to a particular capability or feature.

2.2 Printing Terminology
Normative definitions and semantics of printing terms are imported from IETF Printer MIB
v2 [RFC3805], IETF Finisher MIB [RFC3806], and IETF IPP/1.1 [RFC2911].
This document also defines the following terms in order to specify unambiguous
conformance requirements:
IPP Client; Initiator of outgoing IPP session requests and sender of outgoing IPP
operation requests (HTTP/1.1 Client [RFC2616]).
IPP Printer; Listener for incoming IPP session requests and receiver of incoming IPP
operation requests (HTTP/1.1 Server [RFC2616]).
Job Description; Attributes supplied by the Client or end user including job processing
instructions which are intended to override any Printer object defaults and/or instructions
embedded within the document data (IPP Model and Semantics [RFC2911]).
Job Template; Attributes describing the Job object's identification, state, size, etc. (IPP
Model and Semantics [RFC2911])
Job Ticket; The combination of Job Description and Job Template attributes.

2.3 Other Terminology
Black Point Compensation; the mapping of the darkest color in a source Color Space tothe darkest color in a destination Color Space, generally to improve the reproduction ofdark colors and shadows.
Color Space; the interpretation of color in a document, for example “RGB”, “Grayscale”,“CMYK”, and so forth.

Page 13 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Coloring; filtering or otherwise limiting the return of information such as limiting reported
values to those supported for a given file format or hiding private information fromunauthorized users.
Content; document data such as photos, web pages, email messages, reports andpresentations, and books or other longer documents.
Gamut; the range of colors that can be reproduced by a Printer or Color Space.
Image Box; the "content area" within a digital document.
Input-Document; the entire sequence of bytes transmitted as the Document Content in the
Print-Job and Send-Document operations or referenced by the "document-uri" operation
attribute in the Print-URI and Send-URI operations. This sequence of bytes consists of
one or more Input-Pages.
Input-Page; a sequence of bytes that describe how to mark a single Output-Page. IPP 1.1[RFC2911] uses the term “print-stream-pages” to refer to both Input-Pages and OutputPages. There is a one to one relationship between Input-Pages and Output-Pages andthey are in the same order. Both Input-Pages and Output-Pages are numberedsequentially starting from 1 at the beginning of each Input-Document or Output-Document,
respectively. When the first Input-Page of an Input-Document coincides with the first
Output-Page of an Output-Document, the numbering of Input-Pages and Output-Pages
coincides; otherwise it doesn’t.
ith; referring to a specific 1setOf value - the first value, the second value, and so forth.
Kerberized Printing; authenticated printing based on SPNEGO-based Kerberos and NTLM
HTTP Authentication in Microsoft Windows [RFC4559], Transport Layer Security/1.2[RFC5246], and Upgrading to TLS Within HTTP/1.1 [RFC2817].
Output-Document; a set of one or more Sheets which either are permanently bound into asingle unit, e.g., with a staple, or are intended to be treated by an end-user as a single
unit, e.g., for a loose leaf binder. If an Output-Document is bound, it is uniformly bound; if
it is not bound, no subset of sheets within it are bound. The Output-Pages that comprisean Output-Document may come from, all the Input-Pages of an Input-Document, a proper
subset of the Input-Pages of the Input-Document, or all the Input-Pages of several InputDocuments. An Output-Document is not a set of sheets that are bound temporarily forshipping, e.g., with banding.
Output-Page; the set of all markings that the author intended to be placed on one side of a
Sheet, including, but not limited to, text, drawings, images, footers and headers.
Paid Imaging Services; Printing, facsimile, and scanning performed for a fee. The meansof collecting payment is outside the scope of this specification.

Page 14 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Secure Transport; encryption of the HTTP connection using Transport Layer Security[RFC5246]. The security session may be negotiated at the initiation of the connection("HTTPS") or by Upgrading to TLS Within HTTP/1.1 [RFC2817].
Sheet; the unit of media that a printer puts marks on. It is the most basic unit of output
from a printer. A printer may mark on one side or on both sides of a sheet.

3. Requirements
3.1 Rationale for Job and Printer Extensions – Set 3
The Internet Printing Protocol Version 2.0 Second Edition [PWG5100.12] defines:
1. A collection of existing IPP specifications that form the basis for IPP/2.0
2. Standard job template attributes for document format, media size, print quality,
and so forth
3. Specific interoperability requirements, such as HTTP/1.1 support with chunking
and IPP collection attribute support
4. New version number and operation requirements for different classes of devices
Printing from mobile devices and to distributed print services involves several new use
cases that are not addressed by existing IPP standards.
Therefore, this IPP JPS3 specification should:
1. Support identification of the Printer;
2. Support determination of the proximity of the Client to the Printer;
3. Support job ticket constraint resolution;
4. Support job ticket-based Printer capability queries;
5. Support controls for the color rendition of a document and for Client-managed
color workflows;
6. Support Paid Imaging Services (specifically printing);
7. Support supply monitoring and control;
8. Support globally-unique identifiers for all objects;
9. Support Client localization of Printer attributes and values;
10. Encourage adoption of modern IPP-based printing infrastructures; and11. Discourage the proliferation of vendor proprietary IPP operations and attributes
that damage IPP interoperability by duplicating IETF or PWG IPP standard
operations and attributes.

Page 15 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

3.2 Use Cases
3.2.1 Select Printer Using Geo-Location
The Client initiates a proximity detection of nearby Printers using Services and/or
Discovery Protocols, hiding duplicate Printers that are reported by multiple Service and/or
Discovery Protocols. The Client User Interface asks the User to select one of the nearby
Printers. Finally, the User selects a nearby Printer.
Preconditions: Both the Client and Printer have access to out-of-band geo-location
information to allow for proximity detection, and both support common Discovery
Protocol(s). Geo-location information can be obtained via manual configuration by theUser, Operator, or Administrator, or through location sensing technologies such as the
Global Positioning System or radio signal triangulation.
3.2.2 Select Printer With Confirmation
After selecting a Printer using any of several methods, the Client sends an identification
request to the Printer to provide a visual and/or auditory alert on the Printer to allow theUser to confirm that the correct Printer has been selected.
3.2.3 Print Using Loaded Media
User is viewing a photo and would like to print the photo on the largest borderless
photographic media loaded on her Printer.
After the User initiates a print from the phone and selects a Printer, the Client
automatically selects the largest borderless photographic media loaded on the Selected
Printer and the highest print quality. The User selects additional processing intent for the
Job and confirms the print action. The Client sends a print job request to the Printer with
the Job Ticket and local photo. The Printer validates the Job Ticket and document data
and then prints the photo.
Preconditions: Printer can report loaded media information such as size, type, coating,
and weight. This may be detected automatically or manually entered by the User or
Operation when loading the media.
3.2.4 Print a Secure Form
The treasurer of a small training company that is holding a meeting and seminar at aresort needs to print out 20 checks for training personnel. He uses an accounting
program to enter the hours worked, bonuses, reimbursable expenses, and so forth andprints the checks on a printer provided by the resort using check blanks he brought to themeeting.
The User loads check blanks into the Printer and configured the loaded media asnecessary at the Printer. After the User initiates a print from his accounting program,

Page 16 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012selects a Printer for printing, and selects checks to be printed, the Client User Interface
displays a preview of the printed checks and the User confirms that checks amounts,
payees and signature are correct. The Client automatically selects the check blank media.
The User selects additional processing intent for the Job and confirms the print action.
The Client sends a print job request to the Printer with the Job Ticket and document datacontaining the checks, correctly oriented for the check blank media. The User waits for the
checks to be printed and removes any excess media from the Printer.
3.2.5 Print with Special Formatting
At a seminar located at a country resort, a factotum and general gofer has been asked toprovide 80 sets of ten keywords/phrases, clearly printed on 2-inch by 1-inch paper slips
for use in a get acquainted exercise. Costs are to be minimized. Gofer has a laptop with aword processer program. Resort has a Wi-Fi network available to users and a networked
MFD at the business center. Attendant at business center will charge for any printed
sheets removed from premises.
After the User initiates a print from his word processor and selects a Printer, the User
selects the processing intent for the Job and confirms the print action. The Client
produces document data using the media information (size and margins) in the Job Ticket
so that 2-inch by 1-inch slips are spread evenly over each page and sends a print job
request to the Printer with the Job Ticket and document. The Printer validates the Job
Ticket and document data and then prints the document.
3.2.6 Print to a Service
John is flying to New York for a presentation and doesn't want to carry the presentations.
John arrives in New York and goes online from his mobile phone. He selects a local printprovider after reviewing the provider web pages and submits his document for printing. He
specifies that he needs 10 color copies, printed duplex and stapled on the left side. He
also specifies the covers to be 80lb. stock, and the internal pages to be 24lb. stock. John
arrives at the provider and picks up his presentations, paying with his corporate credit
card using an out-of-band method such as making a telephone call and providing the job
identification and credit card numbers.
3.2.7 Print a Document with Page Subsets
Jim has 20 insurance policies to print, each consisting of 4 pages that must be stapled
together. Jim submits an 80 page report document for printing and specifies that he wants
every 4 pages stapled together.
3.2.8 Print on a Roll
Mike has a series of photos to print on a roll of photo media. Mike submits a multidocument job for printing and specifies that the roll be cut between each document in thejob.

Page 17 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

3.2.9 Job or Document Processing Failures
While processing a job, the Printer reports job or document processing issues to the
Client, which displays an error message as needed and asks the User or Operator toconfirm the disposition of the Job. Processing failures include out-of-memory, missing
resource, missing or incorrect password, and other conditions that prevent a particular Job
or document from printing.
3.2.10 Manual Duplex Printing
Larry has a long whitepaper he would like to print 2-sided on an entry-level laser printerwithout an automatic duplexer accessory. Larry submits the document for printing andspecifies 2-sided printing. The Client software queries the Printer to determine the page
stacking order and delivery order for both the input and output trays and then sends theeven numbered pages in the correct order to the Printer. When those pages have been
printed, the Client software instructs Larry to insert the pages back in the input tray in thecorrect orientation. Once the pages are loaded in the input tray, the Client software sends
the odd numbered pages to the Printer.
3.2.11 Continuous Printing
A scientist wants to continuously print graphs of seismometer readings on a roll of paper
loaded in a Printer with a roll cutter. The Client software collects data from theseismometers and sends one inch print documents to the Printer at regular intervals.
Every hour the Client Software instructs the Printer to trim the roll at the end of adocument.
3.2.12 Correlation of Multiple Printers
An operator monitors and maintains multiple printers managed by several print servers.
The Client software correlates Printers registered with a directory service or dynamic
discovery protocol in order to provide a hierarchical display of the available servers,
printers, jobs, and current state.

3.3 Out of Scope
The following elements of the use cases are considered out of scope for this specification:
1. Methods for geo-location and proximity detection for the Select Printer Using GeoLocation (section 3.2.1) use case
2. The actual method of payment for the Print to a Service (section 3.2.6) use case
3. Constraining choice of document formats suitable for the Print use cases
4. Discovery protocols used to locate Printers

Page 18 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

3.4 Design Requirements
The IPP Job and Printer Extensions - Set 3 design requirements are:1. Follow the naming conventions defined in the IPP/1.1 Model and Semantics[RFC2911], including keyword value (lowercase) and hyphenation requirements;
2. Optimize compatibility with existing IETF and PWG IPP operations when making
design decisions in defining new operations and attributes;
3. Define new device attributes that allow a Client to correlate multiple Printers to a single
device or server supporting the Printers;
4. Define new Printer identification attributes and an identification operation;
5. Define new geo-location attributes;
6. Define new attributes for Paid Imaging Services (specifically printing);
7. Define new Printer discovery and selection attributes;
8. Define new job ticket constraint resolution attributes;
9. Define new secure printing, identification, and metadata attributes and values;
10. Define new media capability attributes;
11. Define new input and output tray attributes;
12. Define new limit and coloring attributes;
13. Define new subset printing attributes;
14. Define new color printing attributes
15. Define new ICC color management attributes;
16. Define new roll-fed printing attributes and values;
17. Define new supply level and status monitoring attributes;
18. Define new localization attributes and a message catalog file format; and19. Define new globally-unique identifier attributes for all objects.
The IPP Job and Printer Extensions - Set 3 design recommendations are:
1. Recommend the use of Printer-resident resources in order to support color proofing,
identification, localization, and management.

Page 19 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

4. New Operations
4.1 Identify-Printer
The RECOMMENDED Identify-Printer operation allows a Client to request the Printer tophysically identify itself by flashing lights, making sounds, or displaying something on thecontrol panel.
The Printer SHOULD require an authenticated user (see section 8.3 of [RFC2911]) toperform this operation, or provide other safeguards to prevent abuse of this operation.
When the operation is not allowed for a security reason, the IPP object MUST reject theoperation and return: 'client-error-forbidden', 'client-error-not-authenticated', or 'clienterror-not-authorized' as appropriate.
4.1.1 Identify-Printer Request
The following groups of attributes are supplied as part of the Identify-Printer Request:
Group 1: Operation Attributes
Natural Language and Character Set:
The "attributes-charset" and "attributes-natural-language" attributes as described in[RFC2911] section 3.1.4.1.
Target:The "printer-uri" (uri) operation attribute which is the target for this operation as
described in [RFC2911] section 3.1.5.
Requesting User:
The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the
Client as described in [RFC2911] section 8.3. In addition, the "requesting-user-uri"(section 5.1.6) attribute SHOULD be supplied by the Client as well.
"message" (text(127)):
The Client OPTIONALLY supplies this attribute. The Printer object OPTIONALLY
supports this attribute. It is a message to the user for purposes of identifying thePrinter to the user.
"identify-actions" (1setOf type2 keyword) [section 5.1.4]:
The Client OPTIONALLY supplies this attribute. The Printer object MUST support
this attribute. The value(s) specify how the Printer will identify itself to the Client.

Page 20 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

4.1.2 Identify-Printer Response
The following attributes are part of the Identify-Printer Response:Group 1: Operation Attributes
Status Message:
In addition to the REQUIRED status code returned in every response, the response
OPTIONALLY includes a "status-message" (text(255)) and/or a "detailed-statusmessage" (text(MAX)) operation attribute as described in [RFC2911] sections 13
and 3.1.6.
Natural Language and Character Set:
The "attributes-charset" and "attributes-natural-language" attributes as described in[RFC2911] section 3.1.4.2.
Group 2: Unsupported Attributes
See [RFC2911] section 3.1.7 for details on returning Unsupported Attributes.

4.2 Validate-Document
The CONDITIONALLY REQUIRED Validate-Document operation allows a Client to verify
operation and Document Template attributes to be used in a subsequent Send-Document
or Send-URI request. This operation MUST be supported by Printers that conform to the
IPP Document Object [PWG5100.5].
This operation is similar to the Validate-Job operation except that it validates attributes
used for the Send-Document or Send-URI operations. Like Validate-Job, ValidateDocument allocates no Printer resources (i.e., job objects) and does not allow a"document-password" or "document-uri" operation attribute.
Clients MUST NOT send the "document-password" operation attribute (section 5.1.2) in a
Validate-Document request. Printers MUST reject a Validate-Document request
containing a "document-password" operation attribute and return the client-error-badrequest status code.

Page 21 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

4.2.1 Validate-Document Request
The following groups of attributes are supplied as part of the Validate-Document Request:
Group 1: Operation Attributes
Natural Language and Character Set:
The "attributes-charset" and "attributes-natural-language" attributes as described in[RFC2911] section 3.1.4.1.
Target:The "printer-uri" (uri) operation attribute which is the target for this operation as
described in [RFC2911] section 3.1.5.
Requesting User:
The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the
Client as described in [RFC2911] section 8.3. In addition, the "requesting-user-uri"(section 5.1.6) attribute SHOULD be supplied by the Client as well.
"document-format" (mimeMediaType)"document-name" (name(MAX))Group 2: Document Template Attributes
The client OPTIONALLY supplies a set of Document Template attributes and
SHOULD omit Group 2 rather than sending an empty group. However, a PrinterMUST be able to accept an empty group.

Page 22 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

4.2.2 Validate-Document Response
The following attributes are part of the Validate-Document Response:Group 1: Operation Attributes
Status Message:
In addition to the REQUIRED status code returned in every response, the response
OPTIONALLY includes a "status-message" (text(255)) and/or a "detailed-statusmessage" (text(MAX)) operation attribute as described in [RFC2911] sections 13
and 3.1.6.
Natural Language and Character Set:
The "attributes-charset" and "attributes-natural-language" attributes as described in[RFC2911] section 3.1.4.2.
"preferred-attributes" (collection):
This attribute (defined in section 5.1.5) MAY be returned when conflicts are detected in
the supplied Operation and Document Template attributes.
Group 2: Unsupported Attributes
See [RFC2911] section 3.1.7 for details on returning Unsupported Attributes.

Page 23 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5. Attributes
5.1 Operation Attributes
5.1.1 document-metadata (1setOf octetString(MAX))The REQUIRED "document-metadata" operation attribute specifies one or more
keyword/value pairs describing the document being supplied. Each element in the set
consists of a keyword followed by "=" and a UTF-8 value string. Standard keywords aredefined in The Dublin Core Metadata Element Set [RFC5013] and DCMI Metadata Terms[DCMITERMS]. Vendor or customer-defined keywords MUST use the prefix string "x-" toavoid future keyword name conflicts, for example "x-vendor-foo" or "x-customer-bar". The
complete ABNF definition is provided in Figure 1.
Printers MUST copy this attribute to the corresponding Job Description (section 5.3.2) orDocument Description (section 5.5.2) attribute of the same name when processing PrintJob, Print-URI, Send-Document, or Send-URI requests (section 6.6).
Figure 1 - ABNF for "document-metadata" Values
document-metadata = dc-elements "=" *utf8-char /dc-terms "=" *utf8-char /x-keyword "=" *utf8-chardc-elements = "contributor" / "coverage" / "creator" /"date" / "description" / "format" /"identifier" / "language" / "publisher" /"relation" / "rights" / "source" /"subject" / "title" / "type"dc-terms= "abstract" / "accessRights" / "accrualMethod" /"accrualPeriodicity" / "accrualPolicy" / "alternative" /"audience" / "available" / "bibliographicCitation" /"conformsTo" / "created" / "dateAccepted" /"dateCopyrighted" / "dateSubmitted" / "educationLevel" /"extent" / "hasFormat" / "hasPart" / "hasVersion" /"instructionalMethod" / "isFormatOf" / "isPartOf" /"isReferencedBy" / "isReplacedBy" / "isRequiredBy" /"issued" / "isVersionOf" / "license" / "mediator" /"medium" / "modified" / "provenance" / "references" /"replaces" / "requires" / "rightsHolder" / "spatial" /"tableOfContents" / "temporal" / "valid"

x-keyword= "x-" 1*(ALPHA / DIGIT / "." / "-" / "_")

utf8-char= %x20-7E /%xC0-DF.80-BF /%xE0-EF.80-BF.80-BF /%xF0-F7.80-BF.80-BF.80-BF

Page 24 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.1.2 document-password (octetString(1023))
The "document-password" operation attribute specifies an unencrypted passphrase,
OAuth token, or other string to be used to access the document content provided with thePrint-Job, Print-URI, Send-Document, or Send-URI operations (section 6.6). Typically the"document-password" value is an alphanumeric passphrase used to "unlock" a protected
PDF [ISO32000] or OpenXPS [ECMA388] document. The maximum length of the"document-password" value is specified by the "document-password-supported" (section
5.6.2) Printer attribute.
While the "document-password" value is necessarily associated with the document
content, this attribute is not part of the Job or Document object and MUST NOT bereported by the Printer as part of a Job or Document object's description or template
attributes. The value supplied MUST be retained by the Printer as long as thecorresponding Document is retained.
This attribute MUST be supported if the Printer also supports the "document-passwordsupported" (section 5.6.2) attribute.
Printers and Clients that support this attribute MUST support Secure Transport. Printers
MUST negotiate a TLS session prior to accepting a request containing this attribute.
Clients MUST negotiate a TLS session prior to sending a request containing this attribute.
5.1.3 first-index (integer(1:MAX))The REQUIRED "first-index" operation attribute specifies the first object or element,
starting at 1, to be returned in a response.
5.1.4 identify-actions (1setOf type2 keyword)
The "identify-actions" operation attribute specifies the action(s) that are taken to identify
the printer in an Identify-Printer request as defined in section 4.1, "Identify-PrinterOperation". The standard keyword values are listed in Table 1 - "identify-actions" Keyword
Values.
This attribute MUST be supported if the Printer supports the Identify-Printer operation.
Table 1 - "identify-actions" Keyword Values

Keyworddisplay
flash
sound
speak

Page 25 of 86

Description
Displays the default or Client-provided message on theprinter control panel.
Flashes lights or the display on the printer.
Makes a sound.
Speaks the default or Client-provided message.

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

The default value of this operation attribute is defined by the "identify-actions-default"(section 5.6.5) Printer attribute and the supported values are defined by the "identifyactions-supported (section 5.6.6) Printer attribute.
Note: This specification does not define a "print" action due to security and accounting
issues.
5.1.5 preferred-attributes (collection)
The RECOMMENDED "preferred-attributes" attribute specifies the attributes and values
that will be substituted in a job or document creation request and is returned by the Printerin the Validate-Document response as defined in section 4.2 and the Validate-Job
response as defined in section 6.12. Each member attribute in the collection represents
an operation, Document Template, or Job Template attribute in the Validate-Document orValidate-Job request with the corresponding replacement value(s).
5.1.6 requesting-user-uri (uri)
The REQUIRED "requesting-user-uri" operation attribute contains the URI of the end userthat is submitting the request. The value is typically a UUID encoded as defined in A
Universally Unique IDentifier (UUID) URN Namespace [RFC4122] or an email address
encoded as defined in The "mailto:" URI scheme [RFC6068], although any valid URI may
be supplied.
The intent of this attribute is to provide an unambiguous user identifier since the"requesting-user-name" operation attribute is often not unique, e.g., "John Doe". However,
because both of the attributes can be supplied by the Client, the Printer object may modify
the values supplied based on information obtained from an authentication service (seeSections 4.4.2, 4.4.3, and 8 of the IPP/1.1 Model and Semantics [RFC2911]).
The "requesting-user-uri-supported" (section 5.6.42) Printer attribute specifies whether the"requesting-user-uri" operation attribute is supported.

Page 26 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.2 Job and Document Template Attributes
5.2.1 job-error-action (type2 keyword)
The "job-error-action" Job Template attribute specifies the action a Printer takes when anerror is encountered in a document during processing of the job. Standard keyword values
are shown in Table 2.
Note: When a Printer stops processing a job, it MAY temporarily add the 'processing-tostop-point' keyword to the "job-state-reasons" Job Description attribute. See rule 1 insection 3.3.3 [RFC2911] for more information.
Table 2 - "job-error-action" Keyword Values

Keywordabort-jobcancel-job

continue-job
suspend-job

Description
Stop processing the job and move it to the 'aborted' state.
The 'aborted-by-system' keyword MUST be present in the"job-state-reasons" Job Description attribute.
Stop processing the job as if the Printer had accepted a
Cancel-Job request (section 3.3.3 [RFC2911]) from theuser. The 'job-canceled-by-user' keyword MUST bepresent in the "job-state-reasons" Job Description
attribute.
Continue processing the next document in the job or, if thisis the last document in the job, move the job to the'completed' state.
Stop processing the job and move it to the 'processingstopped' state as if the Printer had accepted a SuspendCurrent-Job request (section 4.3.1 [RFC3998]). The 'jobsuspended-by-user' keyword MUST be present in the "jobstate-reasons" Job Description attribute.

5.2.2 pages-per-subset (1setOf integer(1:MAX))
The "pages-per-subset" Job Template attribute partitions one or more Input-Documents
into contiguous subsets of Input-Pages. Each subset is defined to be an Output-Document
and finishing options such as stapling are applied as if the Client had submitted the
document as multiple jobs.
The value of the attribute is a set of one or more integers, where each integer specifies
the number of Input-Pages in a subset, and the set is treated as a repeating sequence ofintegers. Thus, when the attribute contains a single integer, the integer specifies thenumber of Input-Pages in each subset, as a repeating sequence of the single integer.
When the number of integers in this attribute exceeds 1, the first integer specifies thenumber of Input-Pages in the first subset, the second integer specifies the number of
Input-Pages in the second subset and so on. If numbers in this attribute are exhausted

Page 27 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

before partitioning all of the Input-Pages, the Printer starts at the beginning of thesequence again and continues until all Input-Pages are partitioned.
If the job contains more than one Input-Document, the Input-Pages are treated as a single
stream of Input-Pages which are partitioned into contiguous subsets with some subsets
possibly belonging to more than one Input-Document. If the number of Input-Pages
available for the last subset is less than the number specified by this attribute, the PrinterMUST treat the last subset as an Output-Document.
If the “multiple-document-handling” attribute is present, the Printer MUST ignore the"pages-per-subset" attribute if the "multiple-document-handling" attribute has any value
other than 'separate-documents-collated-copies' or 'separate-documents-uncollatedcopies' and MUST return the "pages-per-subset" attribute in the unsupported attributes
group of a Create-Job, Print-Job, Print-URI, or Validate-Job response with the successfulok-ignored-or-substituted-attributes status code.
Printers that support this attribute MUST also support the "pages-per-subset-supported"
Printer attribute (section 5.6.18).
There is no “pages-per-subset-default” attribute because there is no mechanism for a
Client to specify that there are no Input-Page subsets except to omit this attribute, which
would cause the Printer to use the “pages-per-subset-default” attribute and create thedefault subsets.
5.2.3 print-color-mode (type2 keyword)
The REQUIRED "print-color-mode" Job and Document Template attribute specifies thecolor mode to use when printing a job. If supported, the Printer MUST print the job using
the requested color mode. Standard keyword values are shown in Table 3.

Page 28 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Table 3 - "print-color-mode" Keyword Values

Keywordauto
bi-level

Description
Automatic based on document
1-colorant (typically black)threshold output
Full-color output

color
highlight
monochrome
process-bi-levelprocess-monochrome

1-colorant + black output
1-colorant (typically black)shaded/grayscale output
Process (2 or more colorants)
threshold output
Process (2 or more colorants)
shaded/grayscale output

Conformance
REQUIREDOPTIONAL (note 1)
CONDITIONALLYREQUIRED (note 2)
OPTIONALREQUIREDOPTIONAL
OPTIONAL (note 3)

Notes:
1 - Optional because the actual appearance is implementation-specific.
2 - Required for color Printers.
3 - Optional because process black on laser printers can be problematic.
5.2.4 print-rendering-intent (type2 keyword)
The RECOMMENDED "print-rendering-intent" Job and Document Template attribute
specifies how out-of-gamut colors (or shades of gray) are mapped to device colors whenprinting. Printers MUST support this attribute if they support the "printer-icc-profiles"
attribute (section 5.6.30). If supported, the Printer MUST print the job using the requested
rendering intent. Standard keyword values are shown in Table 4.
Table 4 - "print-rendering-intent" Keyword Values

Keywordabsolute
auto
perceptual
relative
relative-bpc

saturation

Page 29 of 86

Description
Clip out-of-gamut colors to preserve in-gamut
accuracy without adjusting the white point.
Automatically determine the rendering intent
based on the document and job ticket.
Map out-of-gamut colors at the expense of ingamut accuracy.
Clip out-of-gamut colors to preserve in-gamut
accuracy, adjusting the white point as
necessary.
Clip out-of-gamut colors to preserve in-gamut
accuracy, adjusting both the white and black
points as necessary.
(bpc = Black Point Compensation)
Preserve saturated colors.

Conformance
OPTIONALREQUIREDOPTIONALREQUIREDREQUIREDOPTIONAL

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.3 Job Description Attributes
5.3.1 job-uuid (uri(45))
The REQUIRED "job-uuid" READ-ONLY Job attribute specifies a globally-unique identifierthat MUST be a 45-octet "urn:uuid" URI [RFC4122]. The Printer generates the globallyunique identifier when it creates a new Job object in response to a job creation request.
The "job-uuid" attribute MUST NOT be used as a Job identifier in IPP job operations but
MAY be used as a Job identifier for other protocol bindings and SHOULD be used foraccounting and auditing of Jobs.
5.3.2 document-metadata (1setOf octetString(MAX))The CONDITIONALLY REQUIRED "document-metadata" Job attribute specifies one ormore keyword/value pairs describing the document being supplied. This attribute MUST
be supported when the IPP Document Object [PWG5100.5] is not supported. The formatof each element in the set is defined in section 5.1.1. The "document-metadata"
Document attribute is copied from the operation attribute of the same name as defined in
section 6.6.
5.3.3 job-originating-user-uri (uri)
The REQUIRED "job-originating-user-uri" READ-ONLY Job attribute contains the mostauthenticated URI of the end user that submitted the job creation request as defined in
section 6.1.
5.3.4 job-pages (integer(0:MAX))
The "job-pages" READ-ONLY Job attribute contains the total number of input pages forthe documents in the Job. See section 10 for a description of the relationship of this
attribute to the "job-impressions" and "job-media-sheets" attributes.
This attribute MUST be supported if the "job-pages-completed" Job attribute (section
5.3.5) is supported.
5.3.5 job-pages-completed (integer(0:MAX))
The "job-pages-completed" READ-ONLY Job attribute specifies the total number of input
pages of the documents in the Job that have been processed. See section 10 for a
description of the relationship of this attribute to the "job-impressions-completed" and "jobmedia-sheets-completed" attributes.
This attribute MUST be supported if the "job-pages" Job attribute (section 5.3.4) is
supported.

Page 30 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.3.6 job-pages-completed-current-copy (integer(0:MAX))
The "job-pages-completed-current-copy" READ-ONLY Job attribute specifies the total
number of input pages of the documents in the Job that have been processed for thecurrent copy.
This attribute MUST be supported if the "job-pages" Job attribute (section 5.3.4) is
supported.

5.4 Subscription Description Attributes
5.4.1 subscription-uuid (uri(45))
The CONDITIONALLY REQUIRED "subscription-uuid" READ-ONLY Subscription attribute
specifies a globally-unique identifier that MUST be a 45-octet "urn:uuid" URI [RFC4122].
This attribute is REQUIRED if IPP: Event Notifications and Subscriptions [RFC3995] aresupported.
The Printer generates the globally-unique identifier when it creates a new Subscription
object in response to a subscription creation request, which can be included as part of ajob creation request.
The "subscription-uuid" attribute MUST NOT be used as a Subscription identifier in IPP
subscription operations but MAY be used as a Subscription identifier for other protocol
bindings and SHOULD be used for accounting and auditing of Subscriptions.
5.4.2 notify-subscriber-user-uri (uri)
The CONDITIONALLY REQUIRED "notify-subscriber-user-uri" READ-ONLY Subscription
attribute contains the most authenticated URI of the end user that submitted thesubscription creation request as defined in section 6.1. This attribute is REQUIRED if IPP:
Event Notifications and Subscriptions [RFC3995] are supported.

5.5 Document Description Attributes
5.5.1 document-uuid (uri(45))
The CONDITIONALLY REQUIRED "document-uuid" READ-ONLY Document attribute
specifies a globally-unique identifier that MUST be a 45-octet "urn:uuid" URI [RFC4122].
This attribute is REQUIRED if the IPP Document Object [PWG5100.5] is supported.
The Printer generates the globally-unique identifier when it creates a new Document
object in response to a document creation operation, which can be part of a job creation
request.

Page 31 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

The "document-uuid" attribute MUST NOT be used as a Document identifier in IPP
document operations but MAY be used as a Document identifier for other protocol
bindings and SHOULD be used for accounting and auditing of Documents.
5.5.2 document-metadata (1setOf octetString(MAX))The CONDITIONALLY REQUIRED "document-metadata" Document attribute specifies
one or more keyword/value pairs describing the document being supplied. This attribute
MUST be supported when the IPP Document Object [PWG5100.5] is supported. The
format of each element in the set is defined in section 5.1.1. The "document-metadata"
Document attribute is copied from the operation attribute of the same name as defined in
section 6.6.
5.5.3 pages (integer(0:MAX))
The "pages" READ-ONLY Document attribute contains the total number of input pages forthe document. See section 10 for a description of the relationship of this attribute to the"impressions" and "media-sheets" attributes.
This attribute MUST be supported if the "pages-completed" Document attribute (section
5.5.4) and the IPP Document Object [PWG5100.5] are supported.
5.5.4 pages-completed (integer(0:MAX))
The "pages-completed" READ-ONLY Document attribute specifies the total number of
input pages of the document that have been processed. See section 10 for a descriptionof the relationship of this attribute to the "impressions-completed" and "media-sheetscompleted" attributes.
This attribute MUST be supported if the "pages" Document attribute (section 5.5.3) andthe IPP Document Object [PWG5100.5] are supported.
5.5.5 pages-completed-current-copy (integer(0:MAX))
The "pages-completed-current-copy" READ-ONLY Document attribute specifies the total
number of input pages of the document that have been processed for the current copy.
This attribute MUST be supported if the "pages" Document attribute (section 5.5.3) andthe IPP Document Object [PWG5100.5] are supported.

5.6 Printer Description Attributes
5.6.1 printer-uuid (uri(45))
The REQUIRED "printer-uuid" READ-ONLY Printer attribute specifies a globally-unique
identifier for the Printer that MUST be a 45-octet "urn:uuid" URI [RFC4122].

Page 32 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

The "printer-uuid" attribute MUST NOT be used as a Printer identifier in IPP Printeroperations but MAY be used as a Printer identifier for other protocol bindings and
SHOULD be used for accounting and auditing of Printers.
5.6.2 device-service-count (integer(1:MAX))The REQUIRED "device-service-count" READ-ONLY Printer attribute specifies thenumber of Printer instances supported by the Imaging Device.
5.6.3 device-uuid (uri(45))
The REQUIRED "device-uuid" READ-ONLY Printer attribute specifies a globally-unique
identifier for the Imaging Device that MUST be a 45-octet "urn:uuid:" URI [RFC4122].
5.6.4 document-password-supported (integer(0:1023))
The "document-password-supported" Printer attribute specifies the maximum number ofoctets for the "document-password" operation attribute (section 5.1.2).
Printers that support the "document-password" attribute MUST also support this attributewith a value of at least 255. The value 0 indicates that the attribute is not supported. The
values 1 through 254 are not allowed.
5.6.5 identify-actions-default (1setOf type2 keyword)
The default value(s) supplied by the Printer if the Client omits the "identify-actions"operation attribute from the Identify-Printer request. This attribute MUST be supported if
the Printer supports the Identify-Printer operation defined in section 4.1.
5.6.6 identify-actions-supported (1setOf type2 keyword)
The list of supported values for the "identify-actions" operation attribute. This attribute
MUST be supported if the Printer supports the Identify-Printer operation defined in section
4.1.
5.6.7 ipp-features-supported (1setOf type2 keyword)
The REQUIRED "ipp-features-supported" Printer attribute lists the IPP extension featuresthat are supported by the Printer. Standard keyword values are listed inPage 33 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Table 5. The value 'none' MUST be reported if no extension features are supported and
MUST NOT be reported otherwise.

Page 34 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Table 5 - "ipp-features-supported" Keyword Values

Keyworddocument-object
job-savenone
page-overrides
proof-print
subscription-object

Description
IPP Document Object [PWG5100.5]
Job save from IPP Job and Printer Extensions - Set 2[PWG5100.11]
No extension features are supported.
Page overrides from IPP Page Overrides [PWG5100.6]
Proof print from IPP Job and Printer Extensions - Set 2[PWG5100.11]
IPP Event Notifications and Subscriptions [RFC3995]

5.6.8 job-constraints-supported (1setOf collection)
The RECOMMENDED "job-constraints-supported" Printer attribute provides a set ofcollections that describe Job Template attributes that are not supported by the Printer,allowing a Client to pre-screen options selected by the user and resolve them prior to job
submission or validation. This attribute is REQUIRED if the “job-resolvers-supported”
attribute is supported.
Each collection consists of a “resolver-name (name(MAX))” member attribute plus any Job
Template attributes and their list of unsupported values. The “resolver-name” member
attribute MUST refer to a collection in the “job-resolvers-supported” attribute described
below. Multiple constraint collections can refer to the same “job-resolvers-supported”
collection. Constraints for the "media-col" Job Template attribute can be incomplete; thatis, the "media-col" collection values can contain only those member attributes that
contribute to the constraint.
For example, a constraint for duplex printing on transparency media would be encoded asa collection containing “resolver-name”, “sides”, and “media-col” member attributes. The“sides” member attribute would have two values - “two-sided-long-edge” and “two-sidedshort-edge” - while the “media-col” member attribute would have a single "media-type"member attribute with the value “transparency”.
5.6.9 job-error-action-default (type2 keyword)
The default value supplied by the Printer if the Client omits the "job-error-action" Job
Template attribute.
5.6.10 job-error-action-supported (1setOf type2 keyword)
The list of supported "job-error-action" Job Template attribute values.
5.6.11 job-resolvers-supported (1setOf collection)
The RECOMMENDED "job-resolvers-supported" Printer attribute provides a set ofcollections that describe Job Template attribute changes to make for constrained values,

Page 35 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

allowing a Client to pre-screen options selected by the user and resolve them prior to job
submission or validation. This attribute is REQUIRED if the “job-constraints-supported”
attribute is supported.
Each collection consists of a “resolver-name (name(MAX))” member attribute plus any Job
Template attributes and their alternate values. Clients MUST only change as many Job
Template attributes as are needed to resolve the constraint and MUST try each value inthe order they are provided in the collection. The resolver potentially changes all of theconstrained attributes in order to avoid constraint/resolver loops.
Resolvers containing the "media-col" Job Template attribute may provide an incomplete
value; that is, the "media-col" collection value can contain only those member attributes
that need to be changed to resolve the constraint.
The “resolver-name” member attribute value MUST be used by at least one collection in
the “job-constraints-supported” attribute described above. Constraint resolvers MUSTNOT create loops, such that the resolver for constraint “A” causes constraint “B”, but theresolver for constraint “B” causes constraint “A”.
For example, a resolver for duplex printing on transparency media would be encoded as acollection containing “resolver-name”, “sides”, and “media-col” member attributes. The“sides” member attribute would have the value “one-sided” while the “media-col” member
attribute would contain a "media-type" member attribute with the value “stationery”.
5.6.12 media-bottom-margin-supported (1setOf integer(0:MAX))The REQUIRED "media-bottom-margin-supported" Printer attribute lists the supported
values for the "media-bottom-margin" member attribute (section 7.6.1) for the "media-col"Job Template attribute [PWG5100.3]. Each value is a non-negative integer in hundredthsof millimeters or 1/2540th of an inch and specifies a hardware margin supported by the
Printer.
5.6.13 media-left-margin-supported (1setOf integer(0:MAX))The REQUIRED "media-left-margin-supported" Printer attribute lists the supported values
for the "media-left-margin" member attribute (section 7.6.2) for the "media-col" Job
Template attribute [PWG5100.3]. Each value is a non-negative integer in hundredths ofmillimeters or 1/2540th of an inch and specifies a hardware margin supported by the
Printer.
5.6.14 media-right-margin-supported (1setOf integer(0:MAX))The REQUIRED "media-right-margin-supported" Printer attribute lists the supported
values for the "media-right-margin" member attribute (section 7.6.3) for the "media-col"Job Template attribute [PWG5100.3]. Each value is a non-negative integer in hundredthsof millimeters or 1/2540th of an inch and specifies a hardware margin supported by the
Printer.

Page 36 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.15 media-source-supported (1setOf (type3 keyword | name(MAX))The RECOMMENDED "media-source-supported" Printer attribute lists the supported
values for the "media-source" member attribute (section 7.6.5) for the "media-col" Job
Template attribute [PWG5100.3]. Each value is standard or locally-defined tray, slot, roll,or other media source name.
This attribute MUST be supported if the "media-source" member attribute (section 7.6.5) is
supported.
5.6.16 media-top-margin-supported (1setOf integer(0:MAX))The REQUIRED "media-top-margin-supported" Printer attribute lists the supported values
for the "media-top-margin" member attribute (section 7.6.7) for the "media-col" Job
Template attribute [PWG5100.3]. Each value is a non-negative integer in hundredths ofmillimeters or 1/2540th of an inch and specifies a hardware margin supported by the
Printer.
5.6.17 multiple-operation-timeout-action (type2 keyword)
The "multiple-operation-timeout-action" Printer attribute defines the action that is taken
when open jobs time out and is REQUIRED if the Printer supports the Create-Job
operation. Table 6 lists the available actions.
Table 6 - "multiple-document-timeout-action" Keyword Values

Keywordabort-jobhold-job

process-job

Description
The job is closed and moved to the 'aborted' state. The'aborted-by-system' keyword MUST be present in the "jobstate-reasons" Job Description attribute.
The job is closed and moved to the 'pending-held' state. The'job-hold-until-specified' keyword MUST be present in the"job-state-reasons" Job Description attribute and the "jobhold-until" Job Template attribute MUST be set to 'indefinite'.
The job is closed and moved to the 'pending' or 'processing'state.

5.6.18 pages-per-subset-supported (boolean)
The "pages-per-subset-supported" Printer attribute specifies whether the "pages-persubset" attribute (section 5.2) is supported. This attribute is REQUIRED when the Printeralso supports the "pages-per-subset" attribute.
5.6.19 preferred-attributes-supported (boolean)
The RECOMMENDED "preferred-attributes-supported" Printer attribute specifies whether
the "preferred-attributes" attribute (section 5.1.5) will be returned by the ValidateDocument (section 4.2) or Validate-Job (section 6.12) operations.
Page 37 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.20 print-color-mode-default (type2 keyword)
The default value supplied by the Printer if the Client omits the "print-color-mode" Job
Template attribute.
5.6.21 print-color-mode-supported (1setOf type2 keyword)
The list of supported "print-color-mode" Job Template attribute values.
5.6.22 print-rendering-intent-default (type2 keyword)
The default value supplied by the Printer if the Client omits the "print-rendering-intent" Job
Template attribute.
5.6.23 print-rendering-intent-supported (1setOf type2 keyword)
The list of supported "print-rendering-intent" Job Template attribute values. If the "printrendering-intent" Job Template attribute is supported, then the values "relative" and"relative-bpc" MUST be supported as well.
5.6.24 printer-charge-info (text(MAX))The OPTIONAL "printer-charge-info" Printer attribute provides a human-readable
description of paid printing services for the Printer. Typically this description will provide asummary of cost information.
5.6.25 printer-charge-info-uri (uri)The OPTIONAL "printer-charge-info-uri" Printer attribute provides a "http:" or "https:" URI
referring to a human-readable web page for paid printing services for the Printer. Typicallythis web page will provide cost information and allow the Client to obtain a "jobaccounting-id" value for subsequent print jobs.
5.6.26 printer-config-change-date-time (dateTime)The RECOMMENDED "printer-config-change-date-time" READ-ONLY Printer attributerecords the most recent time at which the 'printer-config-changed' Printer Event occurred
whether or not any Subscription objects were listening for this event. This attribute helps a
Client or operator to determine how recently any of the Printer description attributes has
been changed.
This attribute MUST be READ-ONLY - the only way to change its value is to change a
Printer description attribute.
If this attribute is supported, the Printer MUST populate this attribute with the value of its"printer-current-time" attribute on power-up so that it always has a value. Whenever the'printer-config-changed' Printer Event occurs, the Printer MUST update this attribute withthe value of the Printer's "printer-current-time" attribute.
Page 38 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.27 printer-config-change-time (integer(1:MAX))The RECOMMENDED "printer-config-change-time" READ-ONLY Printer attribute records
the most recent time at which the 'printer-config-changed' Printer Event occurred whether
or not any Subscription objects were listening for this event. This attribute helps a Client oroperator to determine how recently any of the Printer description attributes has beenchanged.
This attribute MUST be READ-ONLY - the only way to change its value is to change a
Printer description attribute.
On power-up, the Printer MUST populate this attribute with the value of its "printer-uptime" attribute so that it always has a value. Whenever the 'printer-config-changed' PrinterEvent occurs, the Printer MUST update this attribute with the value of the Printer's"printer-up-time" attribute.
5.6.28 printer-geo-location (uri | unknown)
The RECOMMENDED "printer-geo-location" Printer attribute identifies the location of theassociated device using the World Geodetic System 1984 [WGS84]. The means forexpressing the location information is a “geo:” URI scheme [RFC5870]. When theinformation is unknown, Printers MUST return the "printer-geo-location" attribute using the
unknown out-of-band value. Printers that support this attribute MUST allow the user to set
the location manually.
5.6.29 printer-get-attributes-supported (1setOf type2 keyword)
The REQUIRED "printer-get-attributes-supported" Printer attribute lists the operation and
Job Template attributes that contribute to the content returned by the Get-PrinterAttributes operation. The "document-format" value is REQUIRED for all Printers to
conform to IPP/1.1 [RFC2911]. All other values are OPTIONAL.
5.6.30 printer-icc-profiles (1setOf collection)
The RECOMMENDED "printer-icc-profiles" Printer attribute lists one or more ICC profiles
that characterize the Printer or its rendering. Each collection value consists of "profilename (name(MAX))" and "profile-uri (uri)" member attributes plus any Job Template
attributes (as member attributes) that contribute to the selection of the profile.
ICC profiles are generally used for Client-side color proofing and/or color management
and MAY be externally managed via IPP or other protocols.
5.6.30.1 profile-name (name(MAX))The REQUIRED "profile-name" member attribute provides a unique name for a given ICC
profile. A given "profile-name" value MAY appear in multiple collection values but MUST
always be paired with the same "profile-uri" value. That is, a "profile-name" of "Glossy

Page 39 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Paper, High Quality" might be listed multiple times but will always refer to the same"profile-uri", for example "http://example.com/glossy-high.icc".
The "profile-name" value SHOULD be localized by the Printer based on the value of the"attributes-natural-language" operation attribute.
5.6.30.2 profile-uri (uri)
The REQUIRED "profile-uri" member attribute references an ICC color profile as a "http:"
or "https:" URI. Standard vendor-supplied profiles SHOULD be Printer-resident so that
Client printing does not require access to external networks.
5.6.31 printer-icons (1setOf uri)
The REQUIRED "printer-icons" Printer attribute lists one or more Printer-resident images
using "http:" or "https:" URIs. The referenced images MUST be RGBA PNG [RFC2083]
format, have square dimensions of 48x48, 128x128, or 512x512 pixels, represent thephysical appearance of the Printer, and show the same perspective/view of the Printer. If
only one image is provided, it MUST have dimensions of 128x128 pixels. Images MUST
be listed from smallest to largest dimensions. Images MUST provide an alpha channel tomask the background surrounding the printer.
5.6.32 printer-input-tray (1setOf octetString(MAX))The RECOMMENDED "printer-input-tray" Printer attribute provides current input tray
details mapped from the SNMP prtInputTrayTable defined in IETF Printer MIB v2[RFC3805]. This attribute MUST be supported if the "media-source" member attribute(section 7.6.5) or "media-source-properties" member attribute (section 7.6.6) aresupported.
If supported, this attribute MUST have the same cardinality (contain the same number ofvalues) as the "media-source-supported" attribute. The ith value in the "printer-input-tray"
attribute corresponds to the ith value in the "media-source-supported" attribute.

Page 40 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.32.1 Keywords for printer-input-tray
Table 7 defines the IPP datatypes and keywords for encoding "printer-input-tray" from allof the machine-readable (non-localized) columnar objects in prtInputTrayTable[RFC3805].
Table 7 - Keywords for "printer-input-tray"
IPP
Datatype

IPP
KeywordPWG SM
KeywordIntegerStringStringInteger

index
type
dimunitmediafeed

Integer

mediaxfeed

Id
InputTrayType[.01 mm]
InputTrayMediaSize.XDimension
InputTrayMediaSize.YDimension

---

---

---

---

---

---

Stringunit

MaxCapacity

Integer

maxcapacity

CurrentLevel

Integerlevel

StatusMediaName (note 2)

IntegerStringstatusmedianame

Name
VendorName

String
---

name
---

Model
Version
SerialNumber--------------

SecurityMediaWeight (note 3)--Integer--mediaweightMediaType (note 2)StringmediatypeMediaColor (note 2)Stringmediacolor

MediaFormParts

---

---

MediaLoadTimeout

---

---

Printer MIB Object
prtInputTray...
Index (note 1)
Type
DimUnitMediaDimFeedDirDeclaredMediaDimXFeedDirDeclaredMediaDimFeedDirChosen
MediaDimXFeedDirChosen
CapacityUnit

Page 41 of 86

InputTrayCapacityUnit
InputTrayMaxCapacity
InputTrayCurrent
Level
SubunitStates
InputTrayMediaSizeName
InputTrayName
InputTrayVendor
Name
InputTrayModel
InputTrayVersion
InputTraySerialNumber
InputTraySecurity
InputTrayMediaWeightMetricInputTrayMediaType
InputTrayMediaColor
InputTrayMediaFormParts
InputTrayMediaLoadTimeout

Conformance
OPTIONALREQUIRED
RECOMMENDEDREQUIREDREQUIRED

RECOMMENDEDREQUIREDREQUIREDREQUIRED
RECOMMENDEDREQUIRED----------OPTIONAL
RECOMMENDED
RECOMMENDED-----

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3
IPP
Datatype---

Printer MIB Object
NextIndex

IPP
Keyword---PWG SM
Keyword
InputTrayNextInputTrayId

July 27, 2012

Conformance---

Notes:
1. prtInputIndex is OPTIONAL in "printer-input-tray", because correlation with theoriginal MIB order is considered unimportant.
2. prtInputMediaName, prtInputMediaType, and prtInputMediaColor are
RECOMMENDED in "printer-input-tray", because they are important but often
unknown to the printer (while loaded media dimensions are usually known).
3. prtInputMediaWeight is OPTIONAL in "printer-input-tray", because because
most Printers can't sense loaded media weight.
4. Printer MIB objects without corresponding IPP keywords are *not* mapped, per
DMTF CIM ranking activity in WIMS WG in 2006.
5.6.32.2 Encoding of printer-input-tray
Values of "printer-input-tray" 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-input-tray" for all the machinereadable (non-localized) columnar objects in prtInputTrayTable [RFC3805].
Figure 2 - ABNF for "printer-input-tray" Values
printer-input-tray = *input-required *[input-optional]; set of input elements encoded into one value
input-required
input-req= input-req ";"= input-type /input-media-feed /input-media-xfeed /input-max-capacity /input-level /input-status /input-name

input-optional
input-opt= input-opt ";"= input-index /input-dim-unit /input-unit /input-media-name /input-media-weight /input-media-type /input-media-color

input-type= "type" "=" 1*ALPHA; enumerated value as an alpha string (e.g.,; 'sheetFeedAutoRemovableTray') of prtInputType in [RFC3805] mapped; indirectly from the *label* in PrtInputTypeTC in [IANAPRT]Page 42 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Figure 2 - ABNF for "printer-input-tray" Values (con't)
input-media-feed= "mediafeed" "=" 1*[DIGIT / "-"]
; integer value as a numeric string mapped directly from; prtInputMediaDimFeedDirDeclared in [RFC3805]
input-media-xfeed= "mediaxfeed" "=" 1*[DIGIT / "-"]
; integer value as a numeric string mapped directly from; prtInputMediaDimXFeedDirDeclared in [RFC3805]
input-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"]
; integer value as a numeric string mapped directly from; prtInputMaxCapacity in [RFC3805]
input-level= "level" "=" 1*[DIGIT / "-"]
; integer value as a numeric string mapped directly from; prtInputCurrentLevel in [RFC3805]
input-status= "status" "=" 1*DIGIT; integer value as a numeric string mapped directly from; prtInputStatus in [RFC3805]
input-name= "name" "=" 1*ALPHA; string value as an alpha string mapped directly from; prtInputName in [RFC3805]
input-index= "index" "=" 1*DIGIT; integer value as a numeric string mapped directly from; prtInputIndex in [RFC3805]
input-dim-unit= "dimunit" "=" 1*ALPHA; enumerated value as an alpha string (e.g., 'other') of; prtInputDimUnit in [RFC3805] mapped indirectly from; the *label* in PrtMediaUnitTC in [RFC3805]
input-unit= "unit" "=" 1*ALPHA; enumerated value as an alpha string (e.g., 'other') of; prtInputCapacityUnit in [RFC3805] mapped indirectly from; the *label* in PrtCapacityUnitTC in [RFC3805]
input-media-name= "medianame" "=" 1*ALPHA; string value as an alpha string mapped directly from; prtInputMediaName in [RFC3805]
input-media-weight = "mediaweight" "=" 1*[DIGIT / "-"]
; integer value as a numeric string mapped directly from; prtInputMediaWeight in [RFC3805]
input-media-type= "mediatype" "=" 1*ALPHA; string value as an alpha string mapped directly from; prtInputMediaType in [RFC3805]
input-media-color= "mediacolor" "=" 1*ALPHA; string value as an alpha string mapped directly from; prtInputMediaColor in [RFC3805]

Page 43 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.32.3 Examples of printer-input-tray
The following example shows two rows of the machine-readable (non-localized) columnar
objects from prtInputTrayTable encoded into corresponding values of "printer-input-tray".
Note: Line breaks are shown below for readability of this example. Line breaks MUSTNOT be encoded into actual values of "printer-input-tray".
printer-input-tray[1] =type=sheetFeedAutoRemovableTray;
mediafeed=110000;mediaxfeed=85000;
maxcapacity=500;level=100;status=8;name=Tray1;
index=1;dimunit=tenThousandthsOfInches;unit=sheets;
medianame=na-letter;mediaweight=-2;
mediatype=stationery;mediacolor=blue;
printer-input-tray[2] =type=sheetFeedAutoRemovableTray;
mediafeed=110000;mediaxfeed=85000;
maxcapacity=100;level=20;status=8;name=Tray2;
index=2;dimunit=tenThousandthsOfInches;unit=sheets;
medianame=na-letter;mediaweight=-2;
mediatype=photographic;mediacolor=white;

5.6.33 printer-mandatory-job-attributes (1setOf type2 keyword)
The OPTIONAL "printer-mandatory-job-attributes" Printer attribute lists the minimum Job
Template and operation attributes that are required for a successful job creation
operation.
5.6.34 printer-organization (1setOf text(MAX))The REQUIRED "printer-organization" Printer attribute specifies the name of theorganization (e.g., company, university, social club, etc.) that is administratively
associated with this Printer.
See: Section 5.4.1 'OrganizationName' in ITU-T [X.520] and the derived section 2.19 'o' in
IETF LDAP User Schema [RFC4519].
5.6.35 printer-organizational-unit (1setOf text(MAX))The REQUIRED "printer-organizational-unit" Printer attribute specifies the name of theorganizational unit (e.g., 'Human Resources', 'Finance', etc.) that is functionally associatedwith this Printer.
See: Section 5.4.2 'OrganizationalUnitName' in ITU-T [X.520] and the derived section
2.20 'ou' in LDAP User Schema [RFC4519].

Page 44 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.36 printer-output-tray (1setOf octetString(MAX))The CONDITIONALLY REQUIRED "printer-output-tray" Printer attribute provides current
output tray details mapped from the SNMP prtOutputTrayTable defined in IETF Printer
MIB v2 [RFC3805]. This attribute MUST be supported if the "output-bin" attribute[PWG5100.2] is supported.
If supported, this attribute MUST have the same cardinality (contain the same number ofvalues) as the "output-bin-supported" attribute. The ith value in the "printer-output-tray"
attribute corresponds to the ith value in the "output-bin-supported" attribute.
5.6.36.1 Keywords for printer-output-tray
Table 8 defines the IPP datatypes and keywords for encoding "printer-output-tray" from allof the machine-readable (non-localized) columnar objects in prtOutputTrayTable[RFC3805].
Table 8 - Keywords for "printer-output-tray"
IPP
Datatype

IPP Keyword

PWG SM Keyword

Conformance

IntegerStringString

index
type
unit

OPTIONALREQUIRED
RECOMMENDED

MaxCapacity

Integer

maxcapacity

RemainingCapacity

Integerremaining

StatusName
VendorName

IntegerString---status
name
---

Model
Version
SerialNumber--------------

Security
DimUnit (note 2)
MaxDimFeedDir(note 2)
MaxDimXFeedDir(note 2)
MinDimFeedDir(note 2)
MinDimXFeedDir(note 2)--------------

Id
OutputTrayType
OutputTrayCapacityUnit
OutputTrayMaxCapacity
OutputTrayRemaining
Capacity
SubunitStates
OutputTrayName
OutputTrayVendorName
OutputTrayModel
OutputTrayVersion
OutputTraySerialNumber
OutputTraySecurity

---

---

---

---

---

---

Printer MIB Object
prtOutput...
Index (note 1)
Type
CapacityUnit

Page 45 of 86

OutputTrayMaxMediaSizeName
OutputTrayMaxMediaSizeName
OutputTrayMinMediaSizeName
OutputTrayMinMediaSizeName

REQUIREDREQUIREDREQUIREDREQUIRED---------------------

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

Printer MIB Object
StackingOrder(note 3)
PageDeliveryOrientation (note 3)
Bursting
Decollating
PageCollatedOffsetStacking(note 4)

IPP
Datatype
StringIPP Keyword
stackingorder

Stringpagedelivery--------------

Stringoffsetstacking

PWG SM Keyword
OutputTrayStackingOrder
OutputTrayPageDeliveryOrientation
OutputTrayBursting
OutputTrayDecollating
OutputTrayPageCollat
edOutputTrayOffsetStac
king

July 27, 2012

Conformance
REQUIREDREQUIRED------OPTIONAL

Notes:
1. prtOutputIndex is OPTIONAL in "printer-output-tray", because correlation withthe original MIB order is considered unimportant.
2. prtOutputDimUnit, prtOutputMaxDimFeedDir, prtOutputMaxDimXFeedDir,
prtOutputMinDimFeedDir, and prtOutputMinDimXFeedDir are *not* mapped,because they were rated "C" (low priority) in the DMTF CIM ranking activity in
WIMS WG in 2006.
3. prtOutputStackingOrder and prtOututPageDeliveryOrientation are REQUIREDin "printer-output-tray" in order to enable a Client to provide media load
instructions for manual duplexing, envelope, and form printing.
4. prtOutputOffsetStacking is OPTIONAL because it was rated "B" (medium
priority) in the DMTF CIM ranking activity in WIMS WG in 2006.
5. Printer MIB objects without corresponding IPP keywords are *not* mapped, per
DMTF CIM ranking activity in WIMS WG in 2006.
5.6.36.2 Encoding of printer-output-tray
Values of "printer-output-tray" 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 3 defines the standard encoding in "printer-output-tray" for all the machinereadable (non-localized) columnar objects in prtOutputTrayTable [RFC3805].
Figure 3 - ABNF for "printer-output-tray" Values
printer-output-tray = *output-required *[output-optional]; set of output elements encoded into one value
output-required
output-req= output-req ";"= output-type /output-max-capacity /output-remaining /output-status /output-name

output-optional= output-opt ";"Page 46 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Figure 3 - ABNF for "printer-output-tray" Values (con't)
output-opt= output-index /output-unit /output-stacking-order /output-page-delivery /output-offset-stacking

output-type= "type" "=" 1*ALPHA; enumerated value as an alpha string; (e.g., 'removableBin') of prtOutputType; in [RFC3805] mapped indirectly from; the *label* in PrtOutputTypeTC in [IANAPRT]
output-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"]
; integer value as a numeric string mapped directly from; prtOutputMaxCapacity in [RFC3805]
output-remaining= "remaining" "=" 1*[DIGIT / "-"]
; integer value as a numeric string mapped directly from; prtOutputRemainingCapacity in [RFC3805]
output-status= "status" "=" 1*DIGIT; integer value as a numeric string mapped directly from; prtOutputStatus in [RFC3805]
output-name= "name" "=" 1*ALPHA; string value as an alpha string mapped directly from; prtOutputName in [RFC3805]
output-index= "index" "=" 1*DIGIT; integer value as a numeric string mapped directly from; prtOutputIndex in [RFC3805]
output-unit= "unit" "=" 1*ALPHA; enumerated value as an alpha string (e.g., 'other') of; prtOutputCapacityUnit in [RFC3805] mapped indirectly from; the *label* in PrtCapacityUnitTC in [RFC3805]
output-stacking-order = "stackingorder" "=" 1*ALPHA; enumerated value as an alpha string (e.g., 'firstToLast') of; prtOutputStackingOrder in [RFC3805] mapped indirectly from; the *label* in PrtOutputStackingOrderTC in [RFC3805]
output-page-delivery = "pagedelivery" "=" 1*ALPHA; enumerated value as an alpha string (e.g., 'faceUp') of; prtOutputPageDeliveryOrientation in [RFC3805] mapped indirectly; from the *label* in PrtOutputPageDeliveryOrientationTC in; [RFC3805]
output-offset-stacking = "offsetstacking" "=" 1*ALPHA; enumerated value as an alpha string (e.g., 'notPresent') of; prtOutputOffsetStacking in [RFC3805] mapped indirectly from; the *label* in PresentOnOff in [RFC3805]

Page 47 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.36.3 Examples of printer-output-tray
The following example shows two rows of the machine-readable (non-localized) columnar
objects from prtOutputTrayTable encoded into corresponding values of "printer-outputtray".
Note: Line breaks are shown below for readability of this example. Line breaks MUSTNOT be encoded into actual values of "printer-output-tray".
printer-output-tray[1] =type=removableBin;
maxcapacity=500;remaining=-3;status=12;name=LeftOutputBin;
index=1;unit=sheets;stackingorder=firstToLast;
pagedelivery=faceDown;offsetstacking=notPresent;
printer-output-tray[2] =type=removableBin;
maxcapacity=300;remaining=-3;status=0;name=RightOutputBin;
index=2;unit=sheets;stackingorder=firstToLast;
pagedelivery=faceDown;offsetstacking=notPresent;

5.6.37 printer-strings-languages-supported (1setOf naturalLanguage)
The RECOMMENDED "printer-strings-languages-supported" Printer attribute provides alist of languages that are supported for the "printer-strings-uri" (section 5.6.38) Printerattribute.
This attribute MUST be supported if the "printer-strings-uri" attribute is supported.
5.6.38 printer-strings-uri (uri | no-value)
The RECOMMENDED "printer-strings-uri" Printer attribute provides a "text/strings"
message catalog file using "http:" or "https:" URIs that SHOULD be Printer-resident sothat Client printing does not require access to external networks. Printers SHOULD
provide localizations for all supported Job Template attributes, keywords, and enums aswell as localizations for "document-state-reasons", "job-state-reasons", "notify-event", and"printer-state-reasons" keywords so that a Client may present a consistent user interface
to the User.
If supported, the Printer MUST return a URI corresponding to the language specified bythe "attributes-natural-language" operation attribute or the no-value out-of-band value if
the Printer does not have a localization for the specified language but otherwise supports
the attribute.
This attribute MUST be supported if the "printer-strings-languages-supported" (section
5.6.37) attribute is supported.
The "text/strings" MIME media type is defined in section 9.1.

Page 48 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.39 printer-supply (1setOf octetString(MAX))The RECOMMENDED "printer-supply" READ-ONLY Printer attribute provides current
supplydetails
mapped
from
the
SNMP
prtMarkerSuppliesTableandprtMarkerColorantTable defined in IETF Printer MIB v2 [RFC3805].
This attribute MUST be supported if the "printer-supply-description" (section 5.5.22)
Printer attribute is supported. If supported, this attribute MUST have the same cardinality(contain the same number of values) as the "printer-supply-description" attribute. The ith
value in the "printer-supply" attribute corresponds to the ith value in the "printer-supplydescription" attribute.
5.6.39.1 Keywords for printer-supply
Table 9 defines the IPP datatypes and keywords for encoding "printer-supply" from all of
the machine-readable (non-localized) columnar objects in prtMarkerSuppliesTable andprtMarkerColorantTable [RFC3805].
5.6.39.2 Encoding of printer-supply
Values of "printer-supply" 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 4 defines the standard encoding in "printer-supply" for all the machinereadable (non-localized) columnar objects in prtMarkerSuppliesTable andprtMarkerColorantTable [RFC3805].

Page 49 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Table 9 - Keywords for "printer-supply"
IPP
Datatype

IPP Keyword

SM Keyword

Conformance

Integer

index

Id

REQUIRED

Integermarkerindex

Integer---String

class

Type

Stringtype

SupplyUnit

Stringunit

MaxCapacity

Integer

maxcapacity

Level

Integerlevel

prtMarkerColorant...
Index
Role

IntegerStringcolorantindex
colorantrole

Value

Stringcolorantname

Tonality

Integercoloranttonality

SNMP Supply
ObjectprtMarkerSupplies...
Index(note 1)MarkerIndex(note 2)
ColorantIndex(note 3)Class

OPTIONAL
MarkerSupply
ColorantId
MarkerSupplyClass
MarkerSupply
Type
MarkerSupply
CapacityUnit
MarkerSupply
MaxCapacity
MarkerSupply
CurrentLevel---

Id
MarkerColorant
Role
MarkerColorant
Name
MarkerColorantTonality

OPTIONAL
OPTIONAL

RECOMMENDEDREQUIRED
RECOMMENDEDREQUIREDREQUIREDREQUIREDOPTIONAL

Notes:
1 - prtMarkerSuppliesIndex is OPTIONAL in "printer-supply" because correlation
with the original MIB order is considered unimportant.
2 - prtMarkerSuppliesMarkerIndex is OPTIONAL in "printer-supply" because mostPrinters don't have multiple markers.
3 - prtMarkerSuppliesColorantIndex is omitted in "printer-supply" because it isredundant with prtMarkerColorantIndex for the rows that include colorant
information.

Page 50 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Figure 4 - ABNF for "printer-supply" Values
printer-supply= *supply-required *[supply-optional]; set of supply elements encoded into one value
supply-required
supply-req= supply-req ";"= supply-type /supply-max-capacity
supply-level /supply-optional
supply-opt= supply-opt ";"= supply-index /marker-index /supply-class /supply-unit /colorant-index /colorant-role /colorant-name /colorant-tonality

supply-type= "type" "=" 1*ALPHA; enumerated value as an alpha string (e.g., 'toner') of; prtMarkerSuppliesType in [RFC3805] mapped indirectly from; the *label* in PrtMarkerSuppliesTypeTC in [IANAPRT]
supply-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"]
; integer value as a numeric string mapped directly from; prtMarkerSuppliesMaxCapacity in [RFC3805]
supply-level= "level" "=" 1*[DIGIT / "-"]
; integer value as a numeric string mapped directly from; prtMarkerSuppliesLevel in [RFC3805]
supply-index= "index" "=" 1*DIGIT; integer value as a numeric string mapped directly from; prtMarkerSuppliesIndex in [RFC3805]
marker-index= "markerindex" "=" 1*DIGIT; integer value as a numeric string mapped directly from; prtMarkerSuppliesMarkerIndex in [RFC3805]
supply-class= "class" "=" 1*ALPHA; enumerated value as an alpha string (e.g., 'other') of; prtMarkerSuppliesClass in [RFC3805] mapped indirectly from; the *label* in PrtMarkerSuppliesClassTC in [RFC3805]
supply-unit= "unit" "=" 1*ALPHA; enumerated value as an alpha string (e.g., 'other') of; prtMarkerSuppliesSupplUnit in [RFC3805] mapped indirectly from; the *label* in PrtMarkerSuppliesSupplyUnitTC in [RFC3805]
colorant-index= "colorantindex" "=" 1*DIGIT; integer value as a numeric string mapped directly from; prtMarkerColorantIndex in [RFC3805]

Page 51 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Figure 4 - ABNF for "printer-supply" Values (con't)
colorant-role= "colorantrole" "=" 1*ALPHA; enumerated value as an alpha string (e.g., 'other') of; prtMarkerColorantRole in [RFC3805] mapped indirectly from; the *label* in PrtMarkerColorantRoleTC in [RFC3805]
colorant-name= "colorantname" "=" 1*ALPHA; string value as an alpha string mapped directly from; prtMarkerColorantValue in [RFC3805]
colorant-tonality= "coloranttonality" "=" 1*DIGIT; integer value as a numeric string mapped directly from; prtMarkerColorantTonality in [RFC3805]

5.6.39.3 Colorant Names in printer-supply
Colorant names in "printer-supply" values not listed or referenced in the IETF Printer MIB
v2 MUST conform to the color names and extension formats defined in the PWG Media
Standardized
Names[PWG5101.1],
e.g.,"light-cyan","com.example-lightmagenta_ff7fffff", etc. This allows Clients to present supply level monitoring user interface
with the appropriate colors. Table 10 lists the standard colorant names with theircorresponding reference sRGBA values.
Table 10 - Standard Colorant Names for "printer-supply"Name
no-color
black
light-black
blue
cyan
light-cyan
gold
gray
dark-graylight-graygreen
magentalight-magenta
multi-color
orangeredsilverwhite
yellow
dark-yellow

Page 52 of 86

sRGBA Value
Undefined
000000ff
808080ff
0000ffff
00ffffff
e0ffffff
ffd700ff
808080ff
404040ff
d3d3d3ff
008000ff
ff00ffff
ff77ffff
Undefined
ffa500ff
ff0000ff
c0c0c0ff
ffffffff
ffff00ff
ffcc00ff

SampleCopyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.39.4 Example of printer-supply
The following example shows two rows of the machine-readable (non-localized) columnar
objects from prtMarkerSuppliesTable and prtMarkerColorantTable encoded into
corresponding values of "printer-supply".
Note: Line breaks are shown below for readability of this example. Line breaks MUSTNOT be encoded into actual values of "printer-supply".
printer-supply[1] =type=toner;maxcapacity=100;level=75;index=1;markerindex=1;
class=supplyThatIsConsumed;unit=percent;colorantindex=4;colorantrole=process;colorantname=cyan;coloranttonality=128;
printer-supply[2] =type=toner;maxcapacity=100;level=72;index=2;markerindex=1;
class=supplyThatIsConsumed;unit=percent;colorantindex=4;colorantrole=process;colorantname=magenta;
coloranttonality=128;

5.6.40 printer-supply-description (1setOf text(MAX))The RECOMMENDED "printer-supply-description" READ-ONLY Printer attribute provides
current supply descriptions mapped from the SNMP prtMarkerSuppliesDescription object
in the prtMarkerSuppliesTable defined in IETF Printer MIB v2 [RFC3805].
This attribute MUST be supported if the "printer-supply" (section 5.5.21) Printer attribute issupported. If supported, this attribute MUST have the same cardinality (contain the same
number of values) as the "printer-supply" attribute. The ith value in the "printer-supplydescription" attribute corresponds to the ith value in the "printer-supply" attribute.
5.6.40.1 Encoding of printer-supply-description
Values of the "printer-supply-description" attribute MUST be mapped from thecorresponding human-readable (localized) values of prtMarkerSuppliesDescription,
exactly as follows:
1. Each value of prtMarkerSuppliesDescription MUST be converted from thecharset [RFC3808] specified by prtGeneralCurrentLocalization and
prtLocalizationCharacterSet into the charset specified by "charset-configured"and then copied into a text value of "printer-supply-description";
2. Each value of "printer-supply-description" MUST be tagged with the natural
language [RFC5646] specified by prtGeneralCurrentLocalization,
prtLocalizationLanguage, and prtLocalizationCountry; and3. Each value of "printer-supply-description" MUST be in the same order as thecorresponding value of "printer-supply" (i.e., strictly ascending order according to
prtMarkerSuppliesIndex).

Page 53 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

5.6.40.2 Example of printer-supply-description
The following example shows two instances of the human-readable (localized) columnar
object prtMarkerSuppliesDescription in the prtMarkerSuppliesTable encoded into
corresponding values of "printer-supply-description".
printer-supply-description[1] =Cyan Toner Cartridge S/N:CRUM-09111141087
printer-supply-description[2] =Magenta Toner Cartridge S/N:CRUM-08561031091

5.6.41 printer-supply-info-uri (uri)
The RECOMMENDED "printer-supply-info-uri" Printer attribute provides a URI referring toa Printer-resident web page that provides controls for managing the Printer and its
supplies, e.g., supply replacement, head alignment, self-test pages, and so forth. The
web page MAY also provide supply part numbers, links for ordering supplies, and detailed
instructions for replacing supplies.
The URI MUST use the “http” or “https” scheme with the Printer as the destination host external URIs are not allowed.
5.6.42 requesting-user-uri-supported (boolean)
The REQUIRED "requesting-user-uri-supported" Printer attribute specifies whether the"requesting-user-uri" (section 5.1.6) operation, "job-originating-user-uri" (section 5.3.3) Job
Description, and "notify-subscriber-user-uri" (section 5.4.2) Subscription Description
attributes are supported. Printers MUST support this attribute with a value of 'true'.

Page 54 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

6. Additional Semantics for Existing Operations
6.1 All Operations: "requesting-user-uri"If the Printer supports the "requesting-user-uri" (section 5.1.6) operation attribute, Clients
MAY supply it in a Create-Job, Create-Job-Subscription, Create-Printer-Subscription,
Print-Job, or Print-URI operation. The Printer object sets the "job-originating-user-uri"(section 5.3.3) or "notify-subscriber-user-uri" (section 5.4.2) attribute as needed to themost authenticated URI that it can obtain from the authentication service over which the
IPP operation was received. Only if such an authenticated URI is not available, does thePrinter object use the value supplied by the Client in the "requesting-user-uri" operation of
the operation (see Sections 4.4.2, 4.4.3, and 8 of the IPP/1.1 Model and Semantics[RFC2911]).

6.2 Get-Printer-Attributes Operation: "first-index" and "limit"
Clients MAY provide and Printers MAY support job creation attributes beyond "documentformat" to color (filter) the response. The "printer-get-attributes-supported" Printer attribute(section 5.5.15) specifies which job creation attributes are supported by the Get-PrinterAttributes operation and MUST include "document-format".
In addition, if a Printer supports the "media-col-database" Printer attribute([PWG5100.11]), the Client MAY provide and the Printer SHOULD support the "first-index"(section 5.1.3) and "limit" ([RFC2911]) operation attributes to limit the number of "mediacol-database" values that are returned in the response.

6.3 Get-Subscriptions Operation: "first-index" and "limit"
If the Printer supports the Get-Subscriptions operation, Clients MAY provide and Printers
MUST support the "first-index" operation attribute (section 5.1.3) in conjunction with the"limit" operation attribute ([RFC2911]) to select the first Subscription object that is returnedin the response.

6.4 Get-Jobs Operation: "first-index" and "limit"
Clients MAY provide and Printers MUST support the "first-index" operation attribute(section 5.1.3) in conjunction with the "limit" operation attribute ([RFC2911]) to select thefirst Job object that is returned in the response.

6.5 Get-Documents Operation: "first-index" and "limit"
If the Printer supports the Get-Documents operation, Clients MAY provide and Printers
MUST support the "first-index" operation attribute (section 5.1.3) in conjunction with thePage 55 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012"limit" operation attribute ([RFC2911]) to select the first Document object that is returned in
the response.

6.6 Print-Job, Print-URI, Send-Document, and Send-URI Operations:"document-metadata"
Clients MAY supply and Printers MUST support the "document-metadata" (section 5.1.1)
operation attribute in the Print-Job, Print-URI, Send-Document, or Send-URI operations.
If the Printer conforms to the IPP Document Object [PWG5100.5], the Printer object
MUST copy the attribute value to the Document object, otherwise the Printer object MUST
copy the attribute value to the Job object.

6.7 Print-Job, Print-URI, Send-Document, and Send-URI Operations:"document-password"
If the Printer supports the "document-password" (section 5.1.2) operation attribute, Clients
MAY supply it in a Print-Job, Print-URI, Send-Document, or Send-URI operation. The
Printer object MUST treat the attribute value as private and confidential, MUST retain thevalue as long as the corresponding Job and Document are retained, MUST NOT persist
the value beyond the life of the Job or Document, MUST NOT return the value in the
response to the request, and MUST NOT set any Job or Document object attribute withthe value of the "document-password" attribute.
If the Printer receives a request containing the "document-password" operation attributeprior to negotiation of a TLS session, it MUST return the 'client-error-bad-request' status
code to the Client.
If the Printer determines that the supplied "document-password" value is not correct, it
MUST return the 'client-error-document-password-error' (section 8.1) status code to the
Client if a response has not already been sent and add the 'document-password-error'
keyword to the "job-state-reasons" and, if supported, "document-state-reasons" attributes.
If the Printer determines that the supplied "document-password" value is correct but theDocument does not allow printing, it MUST return the 'client-error-document-permissionerror' status code to the Client if a response has not already been sent and add the'document-permission-error' keyword to the "job-state-reasons" and, if supported,"document-state-reasons" attributes.

6.8 Validate-Job Operation: "document-password"
Clients MUST NOT send the "document-password" operation attribute (section 5.1.2) in a
Validate-Job request. Printers MUST reject a Validate-Job request containing a"document-password" operation attribute and return the client-error-bad-request status
code.

Page 56 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

6.9 Create-Job, Print-Job, and Print-URI Operations: "job-password"and "job-password-encryption"
Printers that support the "job-password" and "job-password-encryption" operation
attributes [PWG5100.11] MUST validate the values supplied and return the client-errorbad-request status code if the values are invalid or not supported. Printers MUST NOT
return the "job-password" or "job-password-encryption" attributes in the Unsupported
Attributes Group to prevent the leaking of security information.

6.10 Create-Job, Print-Job, and Print-URI Operations: "ipp-attributefidelity", "job-mandatory-elements", and "media-col"When a Client specifies conflicting or unsupported member attribute values in a "mediacol" attribute in a job creation request, the Printer MUST either:
1. Substitute non-conflicting or supported member attribute values and return the
successful-ok-ignored-or-substituted-attributes status code - this is allowed only whenthe "ipp-attribute-fidelity" operation attribute is false/unspecified and the "jobmandatory-attributes" operation attribute does not contain the "media-col" keyword; or
2. Return the media-col attribute in the Unsupported attributes group with the client-errorconflicting-attributes or client-error-attributes-or-values-not-supported status code.
The typical case where a Printer will perform a substitution is for the "media-bottommargin" (section 7.6.1), "media-left-margin" (section 7.6.2), "media-right-margin" (section
7.6.3), and "media-top-margin" (section 7.6.7) values - a Client might request borderlessprinting by specifying values of 0 for each member attribute but the Printer is unable tosatisfy that request based on the values of other Job Template attributes.
Similarly, a Client might request printing using a specific combination of "media-size","media-source" (section 7.6.5), and "media-type" values. In general, Printers SHOULD
give precedence to "media-size" and "media-type" over "media-source" unless the media
source is defined to have an interrupting behavior, e.g., "by-pass-tray" or "manual-feed".

6.11 Validate-Job Operation: "job-password" and "job-passwordencryption"
Clients MUST NOT send the "job-password" or "job-password-encryption" operation
attributes [PWG5100.11] in a Validate-Job request. Printers MUST reject a Validate-Job
request containing a "job-password" or "job-password-encryption" operation attribute andreturn the client-error-bad-request status code.

6.12 Validate-Job Operation: "preferred-attributes"
Printers MAY support returning the values for specific Job Template attributes that would
actually be used (or that the Printer would prefer to use) based on the job creation
Page 57 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012attributes included in the Validate-Job request. Each Job Template attribute is returned asa member attribute in the "preferred-attributes" attribute in the Operation Attributes Group.
Printers indicate their support for this functionality by listing the Job Template attributes
that may be returned in the "job-preferred-attributes-supported" Printer attribute (section
5.5.4).

Page 58 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

7. Additional Values and Semantics for Existing Attributes
7.1 document-state-reasons (1setOf type2 keyword) and job-statereasons (1setOf type2 keyword)
Table 11 lists new "document-state-reasons" and "job-state-reasons" keyword values.
Table 11 - New "document-state-reasons" and "job-state-reasons" Keyword Values

Keyworddocument-password-error

document-permission-error

document-security-error

document-unprintable-error

Page 59 of 86

Description
The Printer detected an incorrect document
content password and was unable to unlock
the document for printing. This value MUST be
supported if the "document-password" (section
5.1.2) operation attribute is supported.
The Printer was able to unlock the document
but the document permissions do not allow for
printing. This value MUST be supported if the"document-password" (section 5.1.2)
operation attribute is supported.
The Printer detected security issues (virus,
trojan horse, or other malicious software)
embedded within the document. Whether the
Printer aborts the job and moves the job to the'aborted' job state or prints all documents that
do not contain detected security issues andmoves the job to the 'completed' job state andadds the 'completed-with-errors' value in the
job's "job-state-reasons" attribute depends on
implementation and/or site policy. This value
SHOULD be supported.
The Printer determined that the document
was unprintable. This reason is intended tocover any issues of file size, format version, orcomplexity that would prevent the Printer fromprinting the document. Whether the Printeraborts the job and moves the job to the'aborted' job state or prints all documents that
do not contain detected security issues andmoves the job to the 'completed' job state andadds the 'completed-with-errors' value in the
job's "job-state-reasons" attribute depends on
implementation and/or site policy. This value
SHOULD be supported.

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

7.2 finishings (1setOf type2 enum)
Table 12 lists new enum values for the "finishings" Job Template attribute that SHOULD
be supported by Printers with roll-fed media.
Table 12 - New "finishings" Enum Values

Value
'60'
'61'
'62'
'63'

Symbolic Name and Description'trim-after-pages': Trim output after each page.
'trim-after-documents': Trim output after each document.
'trim-after-copies': Trim output after each copy.
'trim-after-job': Trim output after job.

7.3 orientation-requested (type2 enum)
A new 'none' (7) value can be used with the "orientation-requested" Job Template attributeto specify that the Printer should not perform any rotations for orientation.

7.4 print-content-optimize (type2 keyword)
A new 'auto' value can be used with the "print-content-optimize" Job Template attribute[PWG5100.7] to specify that the Printer should automatically determine the best
optimizations to perform when printing the document.

7.5 printer-state-reasons (1setOf type2 keyword)
Table 13 lists new keyword values for the "printer-state-reasons" Printer attribute that
MUST be supported by Printers that report the corresponding Printer MIB [RFC3805]
supply types.
Table 13 - New "printer-state-reasons" Keyword Values

Keywordcleaner-life-almost-overcleaner-life-overPage 60 of 86

Description
A cleaning component corresponding to the Printer
MIB prtMarkerSuppliesType values cleanerUnit(18)and fuserCleaningPad(19) is nearing the end of its
service life.
A cleaning component corresponding to the Printer
MIB prtMarkerSuppliesType values cleanerUnit(18)and fuserCleaningPad(19) has reached the end ofits service life.

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

7.6 media-col Member Attributes
This specification makes the "media-col" attribute REQUIRED and defines several new"media-col" member attributes to support media selection on common consumer andsmall-business Printers.
7.6.1 media-bottom-margin (integer(0:MAX))The RECOMMENDED "media-bottom-margin" member attribute defines the Printer's
physical bottom margin in hundredths of millimeters from the bottom edge, without respect
to the value of the “orientation-requested” Job Template attribute.
7.6.2 media-left-margin (integer(0:MAX))The RECOMMENDED "media-left-margin" member attribute defines the Printer's physicalleft margin in hundredths of millimeters from the left edge, without respect to the value ofthe “orientation-requested” Job Template attribute.
7.6.3 media-right-margin (integer(0:MAX))The RECOMMENDED "media-right-margin" member attribute defines the Printer's
physical right margin in hundredths of millimeters from the right edge, without respect tothe value of the “orientation-requested” Job Template attribute.
7.6.4 media-size-name (type3 keyword | name(MAX))The RECOMMENDED "media-size-name" member attribute defines the media size usinga PWG media size name [PWG5101.1] instead of the dimensions in the "media-size"
member attribute. Clients and Printers MUST NOT specify both the "media-size" and"media-size-name" member attributes in a collection.
7.6.5 media-source (type3 keyword | name(MAX))The RECOMMENDED "media-source" member attribute specifies the input tray, slot, roll,or other source for the media. Printers MUST support this member attribute when the"media-source-properties" member attribute (section 7.6.6) or "printer-input-tray" Printerattribute (section 5.6.32) are supported.
The standard keyword values are shown in Table 14.
Note: The name "media-source" was chosen over "media-input-tray" since the values
represent more than trays. However, the "printer-input-tray" Printer attribute (section
5.6.32) retains the input tray name because it provides access to Printer MIB [RFC3805]
properties of the same name.

Page 61 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Table 14 - "media-source" Keyword Values

Keywordalternate
alternate-rollautobottomby-pass-tray
centerdisc
envelope
hagakilarge-capacity
left
main
main-roll
manualmiddle
photo
rear
right
roll-1roll-2roll-3roll-4roll-5roll-6roll-7roll-8roll-9roll-10side
top
tray-1
tray-2
tray-3tray-4tray-5tray-6tray-7
tray-8tray-9tray-10tray-11
tray-12tray-13

Page 62 of 86

Description
The alternate or secondary input tray
The alternate or secondary roll
The Printer's automatic choice
The bottom input tray
The by-pass tray
The center feed slot/tray
The CD/DVD/Bluray disc feed slot/tray
The envelope feed slot/tray
The Hagaki feed slot/tray
The large capacity input tray
The left feed slot/tray
The main or primary input tray
The main or primary roll
The manual feed slot
The middle input tray
The photo feed slot/tray
The rear feed slot/tray
The right feed slot/tray
The first roll
The second roll
The third roll
The fourth roll
The fifth roll
The sixth roll
The seventh roll
The eighth roll
The ninth roll
The tenth roll
The side feed slot/tray
The topmost input tray
The first tray
The second tray
The third tray
The fourth tray
The fifth tray
The sixth tray
The seventh tray
The eighth tray
The ninth tray
The tenth tray
The eleventh tray
The twelfth tray
The thirteenth tray

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3
Keywordtray-14tray-15
tray-16
tray-17
tray-18
tray-19
tray-20

July 27, 2012

Description
The fourteenth tray
The fifteenth tray
The sixteenth tray
The seventeenth tray
The eighteenth tray
The nineteenth tray
The twentieth tray

7.6.6 media-source-properties (collection)
The RECOMMENDED "media-source-properties" member attribute is provided in the"media-col-database" and "media-col-ready" collections to describe the media path andnatural orientation for the specified collection. For example, when printing an envelope orform it is important to know which orientation to use for the document data.
Printers MUST support this member attribute when the "media-source" member attribute(section 7.6.5) or "printer-input-tray" Printer attribute (section 5.6.32) are supported.
When supported, Clients SHOULD use "media-col-ready" instead of "media-col-database"since the latter includes all possible media combinations, including potentially multiple
instances of the same media with different "media-source-properties" values.
This member attribute MUST NOT be included in the "media-col" Job Template attribute
since it is informational rather than specifying intent.
7.6.6.1 media-source-feed-direction (type2 keyword)
The "media-source-feed-direction" member attribute of "media-source-properties" defines
whether the long edge ('long-edge-first') or short edge ('short-edge-first') of the media ispulled from the source.
7.6.6.2 media-source-feed-orientation (type2 enum)
The "media-source-feed-orientation" member attribute of "media-source-properties"
defines the orientation of the media as pulled from the source. The value is an"orientation-requested" enumeration.
7.6.7 media-top-margin (integer(0:MAX))The RECOMMENDED "media-top-margin" member attribute defines the Printer's physical
top margin in hundredths of millimeters from the top edge, without respect to the value ofthe “orientation-requested” Job Template attribute.
7.6.8 Media Selection and Full-Bleed Printing
The "media-bottom-margin", "media-left-margin", "media-right-margin", and "media-topmargin" member attributes specify the Printer's physical margins, allowing a Printer toPage 63 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

determine how the content needs to be printed. A Client specifies that is has borderless or"full-bleed" content by setting all of the margins to 0.
Printers that support full-bleed printing MUST accept margins of 0 and MAY scale andcenter the print document to fill as needed to achieve full-bleed output. Printers SHOULD
use the document Image Box when scaling for full-bleed output.

7.7 media-col-database Values
Because a Printer may support multiple values for the "media-bottom-margin", "media-leftmargin", "media-right-margin", and "media-top-margin" member attributes, a Printer MAY
only enumerate the best (smallest) values of these attributes to reduce the number ofcollection values returned in the "media-col-database" Printer attribute. However, if fullbleed and non-full-bleed margins have a significant performance, scaling, or quality
differences, a Printer MUST enumerate both the full-bleed (all zeroes) and smallest nonzero hardware margins in the "media-col-database" Printer attribute.

7.8 uri-authentication-supported (1setOf type2 keyword)
The 'negotiate' keyword value MUST be used to indicate support for HTTP Negotiate
authentication based on SPNEGO-based Kerberos and NTLM HTTP Authenticationin Microsoft Windows [RFC4559].

Page 64 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

8. Status Codes
8.1 client-error-document-password-error (0x418)
The Client has attempted to submit a Document using the Print-Job, Print-URI, SendDocument, or Send-URI operations with the wrong passphrase. The Client MAY try therequest again with a new passphrase.

8.2 client-error-document-permission-error (0x419)
The Client has attempted to submit a Document using the Print-Job, Print-URI, SendDocument, or Send-URI operations that does not allow printing. The Client MUST NOT
retry the request using the same document.

8.3 client-error-document-security-error (0x41A)
The Printer has detected security issues (virus, trojan horse, or other malicious software)
embedded within the document and will not accept it for printing.

8.4 client-error-document-unprintable-error (0x41B)
The Printer has determined that the document is unprintable due to size, format version,or complexity and will not accept it for printing.

Page 65 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

9. Localization of Attributes and Values
The "printer-strings-uri" Printer attribute (section 5.6.38) provides the location of alanguage-specific, printer-resident message catalog file that provides localizations for
attribute names, keyword values, and enum values.

9.1 Message Catalog File Format
This specification defines a new plain text message catalog format (MIME media type“text/strings”) based on the Apple “strings” file format to allow Printers to supply andClients to present localized strings for supported attributes values. A sample English
localization for registered IPP attributes, enum values, and keyword values is available on
the PWG FTP server [PWG-CATALOG]. Boolean, dateTime, and integer values are not
localizable using this format, and name and text values are presumed to already belocalized.
Message catalog files consist of lines of UTF-8 encoded Unicode text of the form:“attribute-name” = “Localized String”;“attribute-name.enum-value” = “Localized String”;“attribute-name.keyword-value” = “Localized String”;/* Comment for/to localizers */Lines can be terminated by a single line feed (%x0A) or a combination of carriage returnand line feed (%x0D.0A).
Attribute names and values are limited to the characters defined for the IPP keyword
value syntax [RFC2911].
Control characters (%x00-1F, %x7F), the double quote (%x22), and the backslash (%x5C)
MUST be escaped in localized strings using a subset of the C language syntax:
\"
\\
\n
\r
\t
\###

A double quote (%x22)
A backslash (%x5C)
A line feed (%x0A)
A carriage return (%x0D)
A horizontal tab (%x09)
An octet represented by 3 octal digits

The following example file shows how various “media” and "orientation-requested"
attribute values would be localized:“media” = “Page Size”;“media.na_letter_8.5x11in” = “US Letter - 8.5 x 11\"”;“media.na_legal_8.5x14in” = “US Legal - 8.5 x 14\"”;“media.na_number-10_4.125x9.5in” = “#10 Envelope - 4.125 x 9.5\"”;“media.iso_a4_210x297mm” = “A4 - 210x297mm”;“media.iso_dl_110x220mm” = “DL Envelope - 110x220mm”;

Page 66 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

"orientation-requested" = "Orientation";"orientation-requested.3" = "Portrait";"orientation-requested.4" = "Landscape";"orientation-requested.5" = "Reverse Landscape";"orientation-requested.6" = "Reverse Portrait";

Figure 5 provides the ABNF [STD68] for files conforming to the “text/strings” MIME media
type.
Figure 5 - ABNF for the "text/strings" MIME Media TypeCATALOGMESSAGE= *(MESSAGE / COMMENT / *WSP CFLF / *WSP LF)= *WSP DQUOTE %x61-7A *KEYWORD-CHAR DQUOTE*WSP “=” *WSP QUOTED-STRING *WSP “;” *WSP (CRLF / LF)
COMMENT= *WSP “/*" 1*CHAR "*/" *WSP (CRLF / LF)
KEYWORD-CHAR = %x61-7A / DIGIT / “-“ / “.” / “_”QUOTED-STRING = DQUOTE 1*QUOTED-CHAR DQUOTE
QUOTED-CHAR= %x20-21 /%x23-5B /%x5C.22 /; \" = "(%x22)%x5C.5C /; \\ = \(%x5C)%x5C.6E /; \n = lf (%x0A)%x5C.71 /; \r = cr (%x0D)%x5C.73 /; \t = ht (%x09)%x5C.30-33.30-37.30-37 /; \ooo (octal)%x5D-7E /%xC0-DF.80-BF /%xE0-EF.80-BF.80-BF /%xF0-F7.80-BF.80-BF.80-BF

Page 67 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

10. Relationship of Impressions, Pages, and Sheets
The Internet Printing Protocol/1.1: Model and Semantics [RFC2911] defines attributes forthe impressions and media sheets in a job, the PWG Standardized Imaging System
Counters 1.1 [PWG5106.1] clarifies the definitions of impressions and sheets, theStandard for the Internet Printing Protocol: Page Overrides [PWG5100.6] defines input
pages for page overrides, and this specification defines new Job Description attributes totrack the number and progress of input pages within the documents of a Job.
Because the various IPP and PWG standards have used slightly different definitions ofimpressions, pages, and sheets, and because their interaction with various Job Template
attributes has not been documented, the Job Description attributes for impressions ("jobimpressions" and "job-impressions-completed") and sheets ("job-media-sheets" and "jobmedia-sheets-completed") have not been implemented consistently between different
vendors' IPP Printers. Table 15 lists the Job Template attributes that affect reporting ofimpressions and sheets. Only the "page-range" Job Template attribute affects the pagecounts ("job-pages" and "job-pages-completed").

10.1 Examples for Impressions, Pages, and Sheets
10.1.1 Single Document Simplex Job Without Copies
A single-document simplex job has the same number of impressions, pages, and sheets.
Thus, a 10 page document will yield impression and sheet counts of 10 each.
10.1.2 Single Document Duplex Job Without Copies
A single-document duplex jobs ("sides" is "two-sided-long-edge" or "two-sided-shortedge") has the same number of impressions and pages but half as many sheets. Thus, an
11 page document will yield 11 impressions and 6 sheets - the last sheet will only have
one impression on it.
10.1.3 Two Document Duplex Job With Copies, Number-Up, and Page-Ranges
A two-document duplex job with copies and number-up will have different page,
impression, and sheet counts. For example, a job containing documents of 11 and 28
pages, a "copies" value of 10, a "multiple-document-handling" value of 'single-document',
a "number-up" value of 6, a "page-ranges" value of 1-25, and a "sides" value of 'twosided-long-edge' would yield a page count of 39 (11 + 28 pages from two documents), an
impression count of 50 (25 6-up pages produces 5 impressions per copy), and a sheet
count of 30 (5 impressions are printed on a total of 3 pages per copy). Figure 6 shows agraphical representation of this example.

Page 68 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Figure 6 - Two Document Duplex Job With Copies, Number-Up, and Page-Ranges

Page 69 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

Table 15 - Job Template Attributes That Affect Impressions and Sheets

Attributecopiescover-backcover-front
insert-sheet
job-copies
job-cover-backjob-cover-front
job-error-sheet
job-sheets
multiple-document-handlingnumber-up
overrides
pages-ranges
proof-print
separator-sheets

sheet-collate
sides

Page 70 of 86

Description
Multiplier for impressions and sheets; also
see job-copies, multiple-document-handling,and sheet-collate
For 'print-none', adds one sheet per set
For 'print-none', adds one sheet per set
Adds N sheets for each copy and,potentially, each document in the Job
Multiplier for impressions and sheets; also
see copies, multiple-document-handling,and sheet-collate
For 'print-none', adds one sheet per set
For 'print-none', adds one sheet per set
May add one or more impressions andsheets to the Job
May add one or more impressions andsheets to the Job
For the value 'single-document', duplex
Jobs may have a reduced number of sheets
per copy when the input documents produce
an odd number of impressions; also see
copies, imposition-template, job-copies, andnumber-up
Generally a divisor for impressions andsheetsCan override any Job Template attribute(except overrides)
Changes the number of input pages that areprocessed, thus changing the impressions
and sheets accordingly
Overrides the copies and job-copies values'slip-sheets': adds one impression and sheet
between each set in a Job'start-sheet' and 'end-sheet': adds one
impression and sheet for each set in a Job'both-sheets': adds two impressions andsheets for each set in a Job
Controls how documents and copies form aset
For 'two-sided-long-edge' and 'two-sidedshort-edge', generally makes sheets half ofthe number of impressions; also see copies,
job-copies, multiple-document-handling, andsheet-collate

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

11. Conformance Requirements
This section summarizes the Conformance Requirements detailed in the definitions in thisdocument for Clients and Printers.

11.1 Conformance Requirements for this Specification
In order for a Client and a Printer to claim conformance to this specification a Client MUST
be able to supply and a Printer MUST support the following:
1. The "document-metadata" operation (section 5.1.1) and Job Description (section
5.3.2) attributes
2. The "requesting-user-uri" operation (section 5.1.6) and "job-originating-user-uri"Job Description (section 5.3.3) attributes
3. The "print-color-mode" (section 5.2.3) and "print-rendering-intent" (section 5.2.4)
Job Template attributes
4. The "job-uuid" (section 5.3.1) Job Description attribute
5. The "ipp-features-supported" (section 5.6.7) Printer Description attribute.
6. The "printer-get-attributes-supported" (section 5.6.29) Printer Description
attribute
7. The "printer-icons" (section 5.6.31) Printer Description attribute
8. The "printer-organization" (section 5.6.34) and "printer-organizational-unit"(section 5.6.35) Printer Description attributes
9. The "printer-uuid" (section 5.6.1) Printer Description attribute11.2 Conditional Conformance Requirements for Printer Objects
To claim conformance to this specfiication, Printers conforming to IPP Event Notifications
and Subscriptions [RFC3995] MUST support the following:
1. The "first-index" (section 5.1.3) operation attribute
2. The "subscription-uuid" (section 5.4.1) Subscription Description attribute
3. The "printer-description-change-time" (section 5.6.27) Printer Description
attribute.
To claim conformance to this specification, Printers conforming to the Standard for IPP
Document Object [PWG5100.5] MUST support the following:
1. The Validate-Document (section 4.2) operation
2. The "document-metadata" (section 5.5.2) Document Description attribute
3. The "document-uuid" (section 5.5.1) Document Description attribute
4. The "print-color-mode" (section 5.2.3) Document Template attribute
5. The "print-rendering-intent" (section 5.2.4) Document Template attribute

Page 71 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

To claim conformance for the OPTIONAL Identify-Printer operation (section 4.1), Printers
MUST support the following:
1. The "identify-actions" (section 5.1.4) operation attribute
2. The "identify-actions-default" (section 5.6.1) Printer Description attribute
3. The "identify-actions-supported" (section 5.6.6) Printer Description attribute.
To claim conformance for the OPTIONAL "printer-icc-profiles" (section 5.6.30) Printerattribute, Printers MUST support:
1. The "print-rendering-intent" (section 5.2.4) Job Template attribute, and
2. The "print-rendering-intent-default" (section 5.6.22) and "print-rendering-intentsupported" (section 5.6.23) Printer Description attributes.
To claim conformance for the REQUIRED "requesting-user-uri" (section 5.1.6) operation
attribute, Printers conforming to IPP Event Notifications and Subscriptions [RFC3995]
MUST support the "notify-subscriber-user-uri" (section 5.4.2) Subscription attribute, andvice-versa.
To claim conformance for the OPTIONAL "pages-per-subset" (section 5.2) attribute,
Printers MUST support the "pages-per-subset-supported" Printer Description attribute,and vice-versa.
To claim conformance for the OPTIONAL "document-password" (section 5.1.2) operation
attribute, Printers MUST support the following:
1. The "document-password-supported" (section 5.6.2) Printer Description attribute
2. The 'document-password-error' and 'document-permission-error' (section 7.1)
keywords for the "document-state-reasons" and "job-state-reasons" attributes
3. The 'client-error-document-password-error' (section 8.1) and 'client-errordocument-permission-error' (section 8.2) status codes.
4. Transport Layer Security 1.2 [RFC5246] or higher
5. Upgrading to TLS Within HTTP/1.1 [RFC2817].
6. Negotiation of a TLS session prior to accepting a request containing the"document-password" operation attribute
To claim conformance for the OPTIONAL job ticket preflighting using the Validate-Job
operation, Printers MUST support:
1. The "preferred-attributes" (section 5.1.5) operation attribute, and
2. The "preferred-attributes-supported" (section 5.6.19) Printer Description attribute.
To claim conformance for the OPTIONAL "job-constraints-supported" (section 5.6.8)
Printer Description attribute, Printers MUST support the "job-resolvers-supported" (section
5.6.11) Printer Description attribute, and vice-versa.

Page 72 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

To claim conformance for the OPTIONAL "printer-strings-uri" (section 5.6.38) PrinterDescription attribute, Printers MUST supply the "printer-strings-languages-supported"(section 5.6.37) Printer Description attribute, and vice-versa.
To claim conformance for the OPTIONAL "printer-supply" (section 5.6.37) PrinterDescription attribute, Printers MUST supply the "printer-supply-description" (section
5.6.40) Printer Description attribute, and vice-versa.
To claim conformance for the OPTIONAL "media-source" (section 7.6.4) member attribute
MUST support:
1. The "media-source-supported" (section 5.6.15) Printer Description attribute, and
2. The "media-source-properties" (section 7.6.6) member attribute.
To claim conformance for the OPTIONAL Create-Job operation, Printers MUST support
the "multiple-operation-timeout-action" (section 5.6.17) Printer Description attribute.
To claim conformance for the OPTIONAL Paid Imaging Services, Printers MUST support
the following:
1. The "printer-charge-info" (section 5.6.19) Printer Description attribute
2. The "printer-charge-info-uri" (section 5.6.18) Printer Description attribute
3. The "printer-mandatory-job-attributes" (section 5.6.32) Printer Description
attribute
To claim conformance for the OPTIONAL Kerberized Printing, Printers MUST support thefollowing:
1. HTTP Negotiate authentication based on SPNEGO-based Kerberos and NTLM
HTTP Authentication in Microsoft Windows [RFC4559]
2. The 'negotiate' value (section 7.8) in the "uri-authentication-supported" PrinterDescription attribute

11.3 Conditional Conformance Requirements for Clients
To claim conformance for the OPTIONAL "document-password" (section 5.1.2) operation
attribute, Clients MUST support the following:
1. Transport Layer Security 1.2 [RFC5246] or higher and Upgrading to TLS Within
HTTP/1.1 [RFC2817]
2. Negotiation of a TLS session prior to sending a request containing the"document-password" operation attribute

Page 73 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 201211.4 HTTP Recommendations
In order to support efficient retrieval of printer icons, ICC profiles, and localization files,
Clients SHOULD provide and Printers SHOULD support the If-Modified-Since request
header as defined in section 14.28 of the Hypertext Transfer Protocol -- HTTP/1.1[RFC2616] to allow Clients to locally cache these resources to minimize network
bandwidth usage and provide a responsive user interface. HTTP caching semantics(section 13 of [RFC2616]), particularly with HTTP proxies (section 15.7 of [RFC2616])
MUST be followed.

12. Internationalization Considerations
For interoperability and basic support for multiple languages, conforming implementations
MUST support the UTF-8 [RFC3629] encoding of Unicode [UNICODE] [ISO10646].

13. Security Considerations
The IPP attributes and operations defined in this document require the same security
considerations as defined in the IPP/1.1 Model and Semantics [RFC2911].
The "document-password" (section 5.1.2) operation attribute MUST be treated as private
and confidential, MUST be retained for as long as the corresponding Job and Document
are retained, MUST NOT be persisted beyond the life of the Job or Document, and MUSTNOT be returned to Clients in any IPP response.

Page 74 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

14. IANA Considerations
14.1 MIME Media Type Registration
Name : Michael Sweet
E-mail : msweet@apple.com
MIME media type name : text
MIME subtype name : Standards Tree – strings
Required parameters : NONE
Optional parameters : NONE
Encoding considerations :UTF-8 encoded Unicode text.
Security considerations :Localized strings may be arbitrarily large and could potentially cause a denial-ofservice.
Localized strings may contain printf-style format characters that could cause a
program to display unintended information or crash.
Interoperability considerations :NONE
Published specification :ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-201207275100.13.pdf
Applications which use this media :All Cocoa, NeXTStep, and OpenStep applications
CUPS
IPP Everywhere
Additional information :1. Magic number(s) :2. File extension(s) :Page 75 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

strings
3. Macintosh file type code :Person to contact for further information :1. Name : Michael Sweet
2. E-mail : msweet@apple.com
Intended usage : Common
Used for providing localizations of English keywords and numeric values.
Author/Change controller :The Printer Working Group
c/o The IEEE Industry Standards and Technology Organization
445 Hoes Lane
Piscataway, NJ 08854
USA

14.2 Attribute Registrations
The attributes defined in this document will be published by IANA according to theprocedures in IPP Model and Semantics [RFC2911] section 6.2 in the following file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Operation attributes:-------------------document-metadata (1setOf octetString(MAX))
document-password (octetString(1023))
first-index (integer(1:MAX))
identify-actions (1setOf type2 keyword)
preferred-attributes (collection)<Any Template attribute>requesting-user-uri (uri)

Reference--------[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

Job Template attributes:----------------------job-error-action (type2 keyword)
media-col (collection)
media-bottom-margin (integer(0:MAX))
media-left-margin (integer(0:MAX))
media-right-margin (integer(0:MAX))
media-size-name (type3 keyword | name(MAX))
media-source (type3 keyword | name(MAX))
media-top-margin (integer(0:MAX))

Reference--------[PWG5100.13][PWG5100.3][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

Page 76 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

pages-per-subset (1setOf integer(1:MAX))
print-color-mode (type2 keyword)print-rendering-intent (type2 keyword)[PWG5100.13][PWG5100.13][PWG5100.13]

Job Description attributes:-------------------------document-metadata (1setOf octetString(MAX))
job-originating-user-uri (uri)job-pages (integer(0:MAX)
job-pages-completed (integer(0:MAX)
job-pages-completed-current-copy (integer(0:MAX)
job-uuid (uri(45))

Reference--------[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

Document Template attributes:----------------------print-color-mode (type2 keyword)print-rendering-intent (type2 keyword)

Reference--------[PWG5100.13][PWG5100.13]

Document Description attributes:-------------------------document-metadata (1setOf octetString(MAX))
document-uuid (uri(45))
pages (integer(0:MAX)pages-completed (integer(0:MAX)pages-completed-current-copy (integer(0:MAX)

Reference--------[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

Printer Description attributes:
Reference-------------------------------------device-service-count (integer(1:MAX))[PWG5100.13]
device-uuid (uri(45))[PWG5100.13]
document-password-supported (integer(0:1023))[PWG5100.13]
identify-actions-default (1setOf type2 keyword)[PWG5100.13]
identify-actions-supported (1setOf type2 keyword)[PWG5100.13]
ipp-features-supported (1setOf type2 keyword)[PWG5100.13]
job-constraints-supported (1setOf collection)[PWG5100.13]
job-error-action-default (type2 keyword)[PWG5100.13]
job-error-action-supported (1setOf type2 keyword)[PWG5100.13]
job-resolvers-supported (1setOf collection)[PWG5100.13]
media-bottom-margin-supported (1setOf integer(0:MAX))[PWG5100.13]
media-col-database (1setOf collection)[PWG5100.11]
media-source-properties (collection)[PWG5100.13]
media-source-feed-direction (type2 keyword)[PWG5100.13]
media-source-feed-orientation (type2 enum)[PWG5100.13]
media-col-ready (1setOf collection)[PWG5100.3]
media-source-properties (collection)[PWG5100.13]
media-source-feed-direction (type2 keyword)[PWG5100.13]
media-source-feed-orientation (type2 enum)[PWG5100.13]
media-left-margin-supported (1setOf integer(0:MAX))[PWG5100.13]
media-right-margin-supported (1setOf integer(0:MAX))[PWG5100.13]
media-source-supported (1setOf (type3 keyword | name(MAX))[PWG5100.13]
media-top-margin-supported (1setOf integer(0:MAX))[PWG5100.13]
multiple-operation-timeout-action (type2 keyword)[PWG5100.13]
pages-per-subset-supported (boolean)[PWG5100.13]
preferred-attributes-supported (boolean)[PWG5100.13]
print-color-mode-default (type2 keyword)[PWG5100.13]

Page 77 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

print-color-mode-supported (1setOf type2 keyword)print-rendering-intent-default (type2 keyword)print-rendering-intent-supported (1setOf type2 keyword)printer-charge-info (text(MAX))
printer-charge-info-uri (uri)printer-geo-location (uri)printer-get-attributes-supported (1setOf type2 keyword)printer-icc-profiles (1setOf collection)<Any Template attribute>
profile-name (name(MAX))
profile-url (uri)printer-icons (1setOf uri)printer-mandatory-job-attributes (1setOf type2 keyword)printer-organization (1setOf text(MAX))
printer-organizational-unit (1setOf text(MAX))
printer-supply (1setOf octetString(MAX))
printer-supply-description (1setOf text(MAX))
printer-supply-info-uri (uri)printer-uuid (uri(45))
requesting-user-uri-supported (boolean)[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

Subscription Description attributes:----------------------------------notify-subscriber-user-uri (uri)subscription-uuid (uri)

Reference--------[PWG5100.13][PWG5100.13]

14.3 Attribute Value Registrations
The keyword attribute values defined in this document will be published by IANA
according to the procedures in the IPP Model and Semantics [RFC2911] section 6.1 in thefollowing file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Attributes (attribute syntax)
Keyword Attribute Value----------------------document-state-reasons (1setOf type2 keyword)
document-password-error
document-permission-error
document-security-error
document-unprintable-error

Reference--------[PWG5100.5][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

identify-actions (1setOf type2 keyword)
display
flash
sound
speak
identify-actions-default (1setOf type2 keyword)<Any "identify-actions" keyword value>
identify-actions-supported (1setOf type2 keyword)<Any "identify-actions" keyword value>[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

Page 78 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

ipp-features-supported (1setOf type2 keyword)
document-object
job-savenone
page-overrides
proof-print
subscription-object[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

job-error-action (type2 keyword)abort-jobcancel-job
continue-job
suspend-job
job-error-action-default (type2 keyword)<Any "job-error-action" keyword value>job-error-action-supported (1setOf type2 keyword)<Any "job-error-action" keyword value>[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

job-state-reasons (1setOf type2 keyword)
document-password-error
document-permission-error
document-security-error
document-unprintable-error[RFC2911][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

media-col-supported (1setOf type2 keyword)
media-bottom-margin
media-left-margin
media-right-margin
media-size-namemedia-source
media-top-margin[PWG5100.3][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

media-source-feed-direction (type2 keyword)<Any "feed-orientation" keyword value>[PWG5100.13]

media-source (type3 keyword | name(MAX))
alternate
alternate-rollautobottomby-pass-tray
centerdisc
envelope
hagakilarge-capacity
left
main
main-roll
manualmiddle
photo
rear
right
roll-1roll-10[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

Page 79 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012roll-2[PWG5100.13]
roll-3[PWG5100.13]
roll-4[PWG5100.13]
roll-5[PWG5100.13]
roll-6[PWG5100.13]
roll-7[PWG5100.13]
roll-8[PWG5100.13]
roll-9[PWG5100.13]
side[PWG5100.13]
top[PWG5100.13]
tray-1[PWG5100.13]
tray-10[PWG5100.13]
tray-11[PWG5100.13]
tray-12[PWG5100.13]
tray-13[PWG5100.13]
tray-14[PWG5100.13]
tray-15[PWG5100.13]
tray-16[PWG5100.13]
tray-17[PWG5100.13]
tray-18[PWG5100.13]
tray-19[PWG5100.13]
tray-2[PWG5100.13]
tray-20[PWG5100.13]
tray-3[PWG5100.13]
tray-4[PWG5100.13]
tray-5[PWG5100.13]
tray-6[PWG5100.13]
tray-7[PWG5100.13]
tray-8[PWG5100.13]
tray-9[PWG5100.13]
media-source-supported (1setOf (type3 keyword | name(MAX))[PWG5100.13]<Any "media-source" keyword value>[PWG5100.13]
multiple-operation-timeout-action (type2 keyword)abort-jobhold-job
process-job[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

print-color-mode (type2 keyword)
autobi-levelcolor
highlight
monochrome
process-bi-levelprocess-monochrome
print-color-mode-default (type2 keyword)<Any "print-color-mode" keyword value>
print-color-mode-supported (1setOf type2 keyword)<Any "print-color-mode" keyword value>[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

print-content-optimize (type2 keyword)
auto[PWG5100.7][PWG5100.13]

print-rendering-intent (type2 keyword)[PWG5100.13]

Page 80 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012absolute
auto
perceptual
relative
relative-bpc
saturation
print-rendering-intent-default (type2 keyword)<Any "print-rendering-intent" keyword value>
print-rendering-intent-supported (1setOf type2 keyword)<Any "print-rendering-intent" keyword value>[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

printer-get-attributes-supported (1setOf type2 keyword)<Any Job Template attribute><Any Operation attribute at the job level>[PWG5100.13]

printer-mandatory-job-attributes (1setOf type2 keyword)<Any Job Template attribute><Any Operation attribute at the job level>[PWG5100.13]

printer-state-reasons (1setOf type2 keyword)cleaner-life-almost-overcleaner-life-over[RFC2911][PWG5100.13][PWG5100.13]

uri-authentication-supported (1setOf type2 keyword)
negotiate[RFC2911][PWG5100.13]

14.4 Type2 enum Attribute Value Registrations
The enumerations defined in this document will be published by IANA according to theprocedures in the IPP Model and Semantics [RFC2911] section 6.2 in the following file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Attributes (attribute syntax)
Enum Value
Enum Symbolic Name--------------------------finishings (1setOf type2 enum)
60
trim-after-pages
61
trim-after-documents
62
trim-after-copies
63
trim-after-job

Reference--------[RFC2911][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

media-source-feed-orientation (type2 enum)<Any "orientation-requested" enum value>[PWG5100.13]

operations-supported (1setOf type2 enum)
0x003C
Identify-Printer0x003D
Validate-Document[RFC2911][PWG5100.13][PWG5100.13]

orientation-requested (type2 enum)
7
none[RFC2911][PWG5100.13]

Page 81 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 201214.5 Operation Registrations
The operations defined in this document will be published by IANA according to theprocedures in the IPP Model and Semantics [RFC2911] section 6.2 in the following file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Operation Name-------------Create-Job (extension)
Create-Job-Subscription (extension)
Create-Printer-Subscription (extension)
Get-Documents (extension)
Get-Jobs (extension)
Get-Printer-Attributes (extension)
Get-Subscriptions (extension)
Identify-PrinterPrint-Job (extension)
Print-URI (extension)
Send-Document (extension)
Send-URI (extension)
Validate-Document
Validate-Job (extension)

Reference--------[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

14.6 Status Code Registrations
The status codes defined in this document will be published by IANA according to theprocedures in the IPP Model and Semantics [RFC2911] section 6.6 in the following file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Value
Status Code Name-------------------------------------------------0x0400:0x04FF - Client Error:
0x0418client-error-document-password-error
0x0419client-error-document-permission-error
0x041Aclient-error-document-security-error
0x041Bclient-error-document-unprintable-error

Page 82 of 86

Reference--------[PWG5100.13][PWG5100.13][PWG5100.13][PWG5100.13]

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

15. References
15.1 Normative References[DCMITERMS]"DCMI Metadata Terms", October 2010,
http://dublincore.org/documents/dcmi-terms/[PWG5100.3]

K. Ocke, T. Hastings, "Internet Printing Protocol (IPP): Production
Printing Attributes – Set1", PWG 5100.3-2001, February 2001,
ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippprodprint10-200102125100.3.pdf[PWG5100.5]

D. Carney, T. Hastings, P. Zehler, "Standard for The Internet Printing
Protocol (IPP): Document Object", PWG 5100.5-2003, October 2003,
ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippdocobject10-200310315100.5.pdf[PWG5100.11]

T. Hastings, D. Fullman, "IPP: Job and Printer Operations - Set 2",
PWG 5100.11-2010, October 2010,
ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext10-201010305100.11.pdf[PWG5100.12]

R. Bergman, H. Lewis, I. McDonald, M. Sweet, "IPP/2.0 Second
Edition", PWG 5100.12-2011, February 2011,
ftp://www.pwg.org/pub/pwg/candidates/cs-ipp20-201102145100.12.pdf[PWG5101.1]

R. Bergman, T. Hastings, "Standard for Media Standardized Names",PWG 5101.1-2002, February 2002,
ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-200202265101.1.pdf[PWG5106.1]

P. Zehler, H. Lewis, I. McDonald, J. Thrasher, W. Wagner, "PWG
Standardized Imaging System Counters 1.1", PWG 5106.1-2007,
April 2007, ftp://ftp.pwg.org/pub/pwg/candidates/cs-wimscount1120070427-5106.1.pdf[RFC2083]

T. Boutell, "PNG (Portable Network Graphics) Specification Version
1.0", RFC 2083, March 1997, http://www.ietf.org/rfc/rfc2083.txt[RFC2119]

S. Bradner, "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119/BCP 14, March 1997,
http://www.ietf.org/rfc/rfc2119.txt[RFC2141]

R. Moats, "URN Syntax", RFC 2141, May 1997,
http://www.ietf.org/rfc/rfc2141.txt

Page 83 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

[RFC2817]

R. Khare, S. Lawrence, "Upgrading to TLS Within HTTP/1.1". RFC
2817, May 2000. http://www.ietf.org/rfc/rfc2817.txt[RFC2911]

T. Hastings, R. Herriot, R. deBry, S. Isaacson, P. Powell, "Internet
Printing Protocol/1.1: Model and Semantics", RFC 2911, September
2000, http://www.ietf.org/rfc/rfc2911.txt[RFC3382]

R. deBry, R. Herriot, T. Hastings, K. Ocke, P. Zehler, "Internet
Printing Protocol (IPP): The 'collection' attribute syntax", RFC 3382,
September 2002, http://www.ietf.org/rfc/rfc3382.txt[RFC3805]

R. Bergman, H. Lewis, I. McDonald, "Printer MIB v2", RFC 3805,
June 2004, http://www.ietf.org/rfc/rfc3805.txt[RFC3995]

R. Herriot, T. Hastings, "IPP Event Notifications and Subscriptions",
RFC 3995, March 2005, http://www.ietf.org/rfc/rfc3955.txt[RFC3998]

C. Kugler, T. Hastings, H. Lewis, "IPP: Job and Printer Operations",
RFC 3998, March 2005, http://www.ietf.org/rfc/rfc3998.txt[RFC4122]

P. Leach, M. Mealling, R. Salz, "A Universally Unique IDentifier(UUID) URN Namespace", RFC 4122, July 2005,
http://www.ietf.org/rfc/rfc4122.txt[RFC4519]

A. Sciberras, "Lightweight Directory Access Protocol (LDAP): Schemafor User Applications", RFC 4519, June 2006,
http://www.ietf.org/rfc/rfc4519.txt[RFC5013]

J. Kunze, T. Baker, "The Dublin Core Metadata Element Set", RFC
5013, August 2007, http://www.ietf.org/rfc/rfc5013.txt[RFC5246]

T.Dierks, E. Rescorla, "Transport Layer Security 1.2", RFC 5246,
August 2008, http://www.ietf.org/rfc/rfc5246.txt[RFC5870]
A.
Mayrhofer, C. Spanring, "A Uniform Resource Identifier for
Geographic Locations ('geo' URI)", RFC 5870, June 2010,
http://www.ietf.org/rfc/rfc5870.txt[RFC6068]

M. Duerst, L. Masinter, J. Zawinski, "The 'mailto' URI Scheme", RFC
6068, October 2010, http://www.ietf.org/rfc/rfc6068.txt[STD68]

D. Crocker, P. Overell, “Augmented BNF for Syntax Specifications:
ABNF”, RFC 5234/STD 68, January 2008,
http://www.ietf.org/rfc/rfc5234.txt[UAX15]

M. Davis, M. Duerst, "Unicode Normalization Forms", UnicodeStandard Annex 15, March 2008, http://www.unicode.org/reports/tr15/

Page 84 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

[UNICODE]J. D. Allen, et al, "The Unicode Standard - Version 6.0", UnicodeStandard, February 2011,
http://www.unicode.org/versions/Unicode6.0.0/[WGS84]

National Geospatial-Intelligence Agency, "Department of Defense
World Geodetic System 1984, Its Definition and Relationships With
Local Geodetic Systems, Third Edition", NIMA Technical Report
TR8350.2, January 2000,
http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf[X.520]International Telecommunication Union, "Information technology Open Systems Interconnection - The Directory: Selected attributetypes", ITU-T X.520, November 200815.2 Informative References[RFC4559]

K. Jaganathan, L. Zhu, J. Brezak, "SPNEGO-based Kerberos andNTLM HTTP Authentication in Microsoft Windows", RFC 4559, June
2006, http://www.ietf.org/rfc/rfc4559.txt[PWG-CATALOG] Sample English localization of registered IPP attributes and values,
ftp://ftp.pwg.org/pub/pwg/ipp/examples/ipp.strings

Page 85 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.

PWG 5100.13 – IPP: Job and Printer Extensions – Set 3

July 27, 2012

16. Authors' Addresses
Michael Sweet
Apple Inc.
10431 N. De Anza Blvd.
MS 38-4LPT
Cupertino CA 95014
Ira McDonald
High North
PO Box 221
Grand Marais, MI 49839
Peter Zehler
Xerox Corporation
800 Phillips Road
M/S 128-25E
Webster, NY 14580-9701
Send comments to the PWG IPP Mailing List:
ipp@pwg.org (subscribers only)
To subscribe, see the PWG web page:
http://www.pwg.org/
Implementers of this specification document are encourages to join the IPP Mailing List inorder to participate in any discussions of clarification issues and review of registration
proposals for additional attributes and values.
The editor would like to especially thank the following individuals who also contributed
significantly to the development of this document:
Robert Herriot - Xerox
Andrew Mitchell - Hewlett Packard
Kirk Ocke - Xerox

Page 86 of 86

Copyright © 2011-2012 The Printer Working Group. All rights reserved.