Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 8011

Internet Printing Protocol/1.1: Model and Semantics

Pages: 221
Internet Standard: 92
Errata
Obsoletes:  291133813382
Part 9 of 12 – Pages 145 to 166
First   Prev   Next

Top   ToC   RFC8011 - Page 145   prevText

5.4. Printer Description and Status Attributes

These attributes form the attribute group called "printer-description". Tables 16 and 17 summarize these attributes, their syntax, and whether they are REQUIRED for a Printer to support. If they are not indicated as REQUIRED, they are OPTIONAL. The maximum size in octets for 'text' and 'name' attributes is indicated in parentheses. Note: How these attributes are set by an Administrator is outside the scope of this document. +-----------------------------+-----------------------+-------------+ | Attribute | Syntax | REQUIRED? | +-----------------------------+-----------------------+-------------+ | charset-configured | charset | REQUIRED | +-----------------------------+-----------------------+-------------+ | charset-supported | 1setOf charset | REQUIRED | +-----------------------------+-----------------------+-------------+ | color-supported | boolean | RECOMMENDED | +-----------------------------+-----------------------+-------------+ | compression-supported | 1setOf type2 keyword | REQUIRED | +-----------------------------+-----------------------+-------------+ | document-format-default | mimeMediaType | REQUIRED | +-----------------------------+-----------------------+-------------+ | document-format-supported | 1setOf mimeMediaType | REQUIRED |
Top   ToC   RFC8011 - Page 146
   +-----------------------------+-----------------------+-------------+
   | generated-natural-language- | 1setOf                | REQUIRED    |
   | supported                   | naturalLanguage       |             |
   +-----------------------------+-----------------------+-------------+
   | ipp-versions-supported      | 1setOf type2 keyword  | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | job-impressions-supported   | rangeOfInteger(0:MAX) | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | job-k-octets-supported      | rangeOfInteger(0:MAX) |             |
   +-----------------------------+-----------------------+-------------+
   | job-media-sheets-supported  | rangeOfInteger(1:MAX) |             |
   +-----------------------------+-----------------------+-------------+
   | multiple-document-jobs-     | boolean               | RECOMMENDED |
   | supported                   |                       |             |
   +-----------------------------+-----------------------+-------------+
   | multiple-operation-time-out | integer(1:MAX)        | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | natural-language-configured | naturalLanguage       | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | operations-supported        | 1setOf type2 enum     | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | pdl-override-supported      | type2 keyword         | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | printer-driver-installer    | uri                   |             |
   +-----------------------------+-----------------------+-------------+
   | printer-info                | text(127)             | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | printer-location            | text(127)             | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | printer-make-and-model      | text(127)             | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | printer-message-from-       | text(127)             |             |
   | operator                    |                       |             |
   +-----------------------------+-----------------------+-------------+
   | printer-more-info-          | uri                   |             |
   | manufacturer                |                       |             |
   +-----------------------------+-----------------------+-------------+
   | printer-name                | name(127)             | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | reference-uri-schemes-      | 1setOf uriScheme      |             |
   | supported                   |                       |             |
   +-----------------------------+-----------------------+-------------+

           Table 16: Printer Description Attributes (READ-WRITE)
Top   ToC   RFC8011 - Page 147
   +------------------------------+----------------------+-------------+
   | Attribute                    | Syntax               | REQUIRED?   |
   +------------------------------+----------------------+-------------+
   | pages-per-minute-color       | integer(0:MAX)       | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | pages-per-minute             | integer(0:MAX)       | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-current-time         | dateTime|unknown     | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-is-accepting-jobs    | boolean              | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-more-info            | uri                  | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-state                | type1 enum           | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-state-message        | text(MAX)            | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-state-reasons        | 1setOf type2 keyword | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-up-time              | integer(1:MAX)       | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-uri-supported        | 1setOf uri           | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | queued-job-count             | integer(0:MAX)       | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | uri-authentication-supported | 1setOf type2 keyword | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | uri-security-supported       | 1setOf type2 keyword | REQUIRED    |
   +------------------------------+----------------------+-------------+

              Table 17: Printer Status Attributes (READ-ONLY)

5.4.1. printer-uri-supported (1setOf uri)

This REQUIRED Printer attribute contains one or more URIs for the Printer. It MAY contain more than one URI for the Printer. An Administrator determines a Printer's URIs and configures this attribute to contain those URIs by some means outside the scope of this IPP/1.1 document. The precise format of the URIs is implementation dependent and depends on the protocol. See Sections 5.4.2 and 5.4.3 for a description of the "uri-authentication-supported" and "uri-security-supported" attributes, both of which are the REQUIRED companion attributes to this "printer-uri-supported" attribute. See Sections 3.4 ("Object Identity") and 9.2 ("URIs in Operation, Job, and Printer Attributes") for more information.
Top   ToC   RFC8011 - Page 148

5.4.2. uri-authentication-supported (1setOf type2 keyword)

This REQUIRED Printer attribute MUST have the same cardinality (contain the same number of values) as the "printer-uri-supported" attribute. This attribute identifies the Client Authentication mechanism associated with each URI listed in the "printer-uri-supported" attribute. The Printer uses the specified mechanism to identify the authenticated user (see Section 9.3). The "i-th" value in "uri-authentication-supported" corresponds to the "i-th" value in "printer-uri-supported", and it describes the authentication mechanisms used by the Printer when accessed via that URI. See [RFC8010] for more details on Client Authentication. The following standard 'keyword' values are defined: o 'none': There is no authentication mechanism associated with the URI. The Printer assumes that the authenticated user is 'anonymous'. o 'requesting-user-name': When a Client performs an operation whose target is the associated URI, the Printer assumes that the authenticated user is specified by the "requesting-user-name" operation attribute (see Section 9.3). If the "requesting-user-name" attribute is absent in a request, the Printer assumes that the authenticated user is 'anonymous'. o 'basic': When a Client performs an operation whose target is the associated URI, the Printer challenges the Client with HTTP Basic authentication [RFC7617]. The Printer assumes that the authenticated user is the name received via the Basic authentication mechanism. o 'digest': When a Client performs an operation whose target is the associated URI, the Printer challenges the Client with HTTP Digest authentication [RFC7616]. The Printer assumes that the authenticated user is the name received via the Digest authentication mechanism. o 'certificate': When a Client performs an operation whose target is the associated URI, the Printer expects the Client to provide an X.509 certificate. The Printer assumes that the authenticated user is one of the textual names (Common Name or Subject Alternate Names) contained within the certificate.
Top   ToC   RFC8011 - Page 149

5.4.3. uri-security-supported (1setOf type2 keyword)

This REQUIRED Printer attribute MUST have the same cardinality (contain the same number of values) as the "printer-uri-supported" attribute. This attribute identifies the security mechanisms used for each URI listed in the "printer-uri-supported" attribute. The "i-th" value in "uri-security-supported" corresponds to the "i-th" value in "printer-uri-supported", and it describes the security mechanisms used for accessing the Printer via that URI. See [RFC8010] for more details on security mechanisms. The following standard 'keyword' values are defined: o 'none': There are no secure communication channel protocols in use for the given URI. o 'tls': TLS [RFC5246] [RFC7525] is the secure communications channel protocol in use for the given URI. This attribute is orthogonal to the definition of a Client Authentication mechanism. Specifically, 'none' does not exclude Client Authentication. See Section 5.4.2. Consider the following example. For a single Printer, an Administrator configures the "printer-uri-supported", "uri-authentication-supported", and "uri-security-supported" attributes as follows: "printer-uri-supported": 'ipp://printer.example.com/ipp/print/ open-use-printer', 'ipp://printer.example.com/ipp/print/ restricted-use-printer', 'ipps://printer.example.com/ipp/print/ private-printer' "uri-authentication-supported": 'none', 'digest', 'basic' "uri-security-supported": 'none', 'none', 'tls' In this case, one Printer has three URIs. o For the first URI, 'ipp://printer.example.com/ipp/print/ open-use-printer', the value 'none' in "uri-security-supported" indicates that there is no secure channel protocol configured to run under HTTP. The value of 'none' in "uri-authentication-supported" indicates that all users are 'anonymous'. There will be no challenge, and the Printer will ignore "requesting-user-name".
Top   ToC   RFC8011 - Page 150
   o  For the second URI, 'ipp://printer.example.com/ipp/print/
      restricted-use-printer', the value 'none' in
      "uri-security-supported" indicates that there is no secure channel
      protocol configured to run under HTTP.  The value of 'digest' in
      "uri-authentication-supported" indicates that the Printer will
      issue a challenge and that the Printer will use the name supplied
      by the Digest mechanism to determine the authenticated user (see
      Section 9.3).

   o  For the third URI, 'ipps://printer.example.com/ipp/print/
      private-printer', the value 'tls' in "uri-security-supported"
      indicates that TLS is being used to secure the channel.  The
      Client SHOULD be prepared to use TLS framing to negotiate an
      acceptable ciphersuite to use while communicating with the
      Printer.  In this case, the name implies the use of a secure
      communications channel, but the fact is made explicit by the
      presence of the 'tls' value in "uri-security-supported".  The
      Client does not need to resort to understanding which security
      mechanisms it must use by following naming conventions or by
      parsing the URI to determine which security mechanisms are
      implied.  The value of 'basic' in "uri-authentication-supported"
      indicates that the Printer will issue a challenge and that the
      Printer will use the name supplied by the Basic mechanism to
      determine the authenticated user (see Section 9.3).  Because this
      challenge occurs in a TLS session, the channel is secure.

   Some Printers will be configured to support only one channel (either
   configured to use TLS access or not) and only one authentication
   mechanism.  Such Printers only have one URI listed in the
   "printer-uri-supported" attribute.  No matter the configuration of
   the Printer (whether it has only one URI or more than one URI), a
   Client MUST supply only one URI in the target "printer-uri" operation
   attribute.

5.4.4. printer-name (name(127))

This REQUIRED Printer attribute contains the name of the Printer. It is a name that is more End User friendly than a URI. An Administrator determines a Printer's name and sets this attribute to that name. This name can be the last part of the Printer's URI, or it can be unrelated. In non-US-English locales, a name can contain characters that are not allowed in a URI.

5.4.5. printer-location (text(127))

This RECOMMENDED Printer attribute identifies the location of the device. This could include things like 'in Room 123A, second floor of building XYZ'.
Top   ToC   RFC8011 - Page 151

5.4.6. printer-info (text(127))

This RECOMMENDED Printer attribute provides descriptive information about this Printer. This could include things like 'This printer can be used for printing color transparencies for HR presentations', or 'Out of courtesy for others, please print only small (1-5 page) jobs at this printer', or even 'This printer is going away on July 1; please find a new printer'.

5.4.7. printer-more-info (uri)

This RECOMMENDED Printer attribute contains a URI used to obtain more information about this specific Printer. For example, this could be an HTTP URI referencing an HTML page accessible to a web browser. The information obtained from this URI is intended for End User consumption. Features outside the scope of IPP can be accessed from this URI. The information is intended to be specific to this Printer instance and site-specific services, e.g., Job pricing, services offered, and End User assistance. The device manufacturer can initially populate this attribute.

5.4.8. printer-driver-installer (uri)

This Printer attribute contains a URI to use to locate the driver installer for this Printer. This attribute is intended for consumption by automata. The mechanics of Printer driver installation are outside the scope of this document. The device manufacturer can initially populate this attribute.

5.4.9. printer-make-and-model (text(127))

This RECOMMENDED Printer attribute identifies the make and model of the device. The device manufacturer can initially populate this attribute.

5.4.10. printer-more-info-manufacturer (uri)

This Printer attribute contains a URI used to obtain more information about this type of device. The information obtained from this URI is intended for End User consumption. Features outside the scope of IPP can be accessed from this URI (e.g., latest firmware, upgrades, Printer drivers, optional features available, details on color support). The information is intended to be germane to this Printer without regard to site-specific modifications or services. The device manufacturer can initially populate this attribute.
Top   ToC   RFC8011 - Page 152

5.4.11. printer-state (type1 enum)

This REQUIRED Printer attribute identifies the current state of the device. The "printer-state reasons" attribute augments the "printer-state" attribute to give more detailed information about the Printer in the given Printer state. A Printer updates this attribute continually if asynchronous event notification [RFC3995] is supported. Standard enum values are defined in Table 18. Values of "printer-state-reasons", such as 'spool-area-full' and 'stopped-partly', MAY be used to provide further information. +-------+-----------------------------------------------------------+ | Value | Symbolic Name and Description | +-------+-----------------------------------------------------------+ | '3' | 'idle': Indicates that new Jobs can start processing | | | without waiting. | +-------+-----------------------------------------------------------+ | '4' | 'processing': Indicates that Jobs are processing; new | | | Jobs will wait before processing. | +-------+-----------------------------------------------------------+ | '5' | 'stopped': Indicates that no Jobs can be processed and | | | intervention is required. | +-------+-----------------------------------------------------------+ Table 18: "printer-state" Enum Values

5.4.12. printer-state-reasons (1setOf type2 keyword)

This REQUIRED Printer attribute supplies additional detail about the device's state. Some of the value definitions indicate conformance requirements; the rest are OPTIONAL. Each 'keyword' value MAY have a suffix to indicate its level of severity. The three levels are 'report' (least severe), 'warning', and 'error' (most severe): o '-report': This suffix indicates that the reason is a "report". An implementation can choose to omit some or all reports. Some reports specify finer granularity about the Printer state; others serve as a precursor to a warning. A report MUST contain nothing that could affect the printed output. Reports correspond to the 'other' value for the prtAlertSeverityLevel property in the Printer MIB [RFC3805].
Top   ToC   RFC8011 - Page 153
   o  '-warning': This suffix indicates that the reason is a "warning".
      An implementation can choose to omit some or all warnings.
      Warnings serve as a precursor to an error.  A warning MUST contain
      nothing that prevents a Job from completing, though in some cases
      the output can be of lower quality.  Warnings correspond to the
      'warning' value for the prtAlertSeverityLevel property in the
      Printer MIB [RFC3805].

   o  '-error': This suffix indicates that the reason is an "error".  An
      implementation MUST include all errors.  If this attribute
      contains one or more errors, the Printer MUST be in the 'stopped'
      state.  Errors correspond to the 'critical' value for the
      prtAlertSeverityLevel property in the Printer MIB [RFC3805].

   If the implementation does not add any one of the three suffixes and
   the value is not 'none', Clients can assume that the reason is an
   "error" if the Printer is in the 'stopped' state and a "warning" if
   the Printer is in any other state.

   If a Printer controls more than one Output Device, each value of this
   attribute MAY apply to one or more of the Output Devices.  An error
   on one Output Device that does not stop the Printer as a whole MAY
   appear as a warning in the Printer's "printer-state-reasons"
   attribute.  If "printer-state" for such a Printer has a value of
   'stopped', then there MUST be an error reason among the values in the
   "printer-state-reasons" attribute.

   The following standard 'keyword' values are defined:

   o  'none': There are no reasons.  This state reason is semantically
      equivalent to "printer-state-reasons" without any value and MUST
      be used, since the '1setOf' attribute syntax requires at least one
      value.

   o  'other': The device has detected a condition other than one listed
      in this document.

   o  'connecting-to-device': The Printer has scheduled a Job on the
      Output Device and is in the process of connecting to a shared
      network Output Device (and might not be able to actually start
      printing the Job for an arbitrarily long time, depending on the
      usage of the Output Device by other servers on the network).

   o  'cover-open': One or more covers on the device are open,
      equivalent to a prtCoverStatus [RFC3805] of 3 (coverOpen).

   o  'developer-empty: The device is out of developer.
Top   ToC   RFC8011 - Page 154
   o  'developer-low': The device is low on developer.

   o  'door-open': One or more doors on the device are open, equivalent
      to a prtCoverStatus [RFC3805] of 3 (coverOpen).

   o  'fuser-over-temp': The fuser temperature is above normal,
      equivalent to a prtMarkerStatus [RFC3805] of 19 (the sum of
      "Unavailable because Broken" (3) and "Critical Alerts" (16)).

   o  'fuser-under-temp': The fuser temperature is below normal,
      equivalent to a prtMarkerStatus [RFC3805] of 19 (the sum of
      "Unavailable because Broken" (3) and "Critical Alerts" (16)).

   o  'input-tray-missing': One or more input trays are not in the
      device, equivalent to a prtInputStatus [RFC3805] of 19 (the sum of
      "Unavailable because Broken" (3) and "Critical Alerts" (16)).

   o  'interlock-open': One or more interlock devices on the Printer are
      unlocked, equivalent to a prtCoverStatus [RFC3805] of 5
      (interlockOpen).

   o  'interpreter-resource-unavailable': An interpreter resource is
      unavailable (i.e., font, form).

   o  'marker-supply-empty: The device is out of at least one marker
      supply, e.g., toner, ink, ribbon.

   o  'marker-supply-low': The device is low on at least one marker
      supply, e.g., toner, ink, ribbon.

   o  'marker-waste-almost-full': The device marker supply waste
      receptacle is almost full.

   o  'marker-waste-full': The device marker supply waste receptacle is
      full.

   o  'media-empty': At least one input tray is empty, equivalent to a
      prtInputStatus [RFC3805] of 19 (the sum of "Unavailable because
      Broken" (3) and "Critical Alerts" (16)).

   o  'media-jam': The device has a media jam, equivalent to a
      prtInputStatus [RFC3805] of 19 (the sum of "Unavailable because
      Broken" (3) and "Critical Alerts" (16)).

   o  'media-low': At least one input tray is low on media, equivalent
      to a prtInputStatus [RFC3805] of 8 (Non-Critical Alerts).
Top   ToC   RFC8011 - Page 155
   o  'media-needed': A tray has run out of media, equivalent to a
      prtInputStatus [RFC3805] value of 17 (the sum of "Unavailable and
      OnRequest" (1) and "Critical Alerts" (16)).

   o  'moving-to-paused': Someone has paused the Printer using the
      Pause-Printer operation (see Section 4.2.7) or other means, but
      the device(s) is taking an appreciable time to stop.  Later, when
      all output has stopped, "printer-state" becomes 'stopped', and the
      'paused' value replaces the 'moving-to-paused' value in the
      "printer-state-reasons" attribute.  This value MUST be supported
      if the Pause-Printer operation is supported and the implementation
      takes significant time to pause a device in certain circumstances.

   o  'opc-life-over': The optical photo conductor is no longer
      functioning, equivalent to a prtMarkerStatus [RFC3805] of 19
      (the sum of "Unavailable because Broken" (3) and
      "Critical Alerts" (16)).

   o  'opc-near-eol': The optical photo conductor is near its end of
      life, equivalent to a prtMarkerStatus [RFC3805] of 8 (Non-Critical
      Alerts).

   o  'output-area-almost-full': One or more output areas are almost
      full, e.g., tray, stacker, collator, equivalent to a
      prtOutputStatus [RFC3805] of 8 (Non-Critical Alerts).

   o  'output-area-full': One or more output areas are full, e.g., tray,
      stacker, collator, equivalent to a prtInputStatus [RFC3805] of 19
      (the sum of "Unavailable because Broken" (3) and
      "Critical Alerts" (16)).

   o  'output-tray-missing': One or more output trays are not in the
      device, equivalent to a prtOutputStatus [RFC3805] of 19 (the sum
      of "Unavailable because Broken" (3) and "Critical Alerts" (16)).

   o  'paused': Someone has paused the Printer using the Pause-Printer
      operation (see Section 4.2.7) or other means, and the Printer's
      "printer-state" is 'stopped'.  In this state, a Printer MUST NOT
      produce printed output, but it MUST perform other operations
      requested by a Client.  If a Printer had been printing a Job when
      the Printer was paused, the Printer MUST resume printing that Job
      when the Printer is no longer paused and leave no evidence in the
      printed output of such a pause.  This value MUST be supported if
      the Pause-Printer operation is supported.
Top   ToC   RFC8011 - Page 156
   o  'shutdown': Someone has removed a Printer from service, and the
      device can be powered down or physically removed.  In this state,
      a Printer MUST NOT produce printed output, and unless the Printer
      is realized by a print server that is still active, the Printer
      MUST perform no other operations requested by a Client, including
      returning this value.  If a Printer had been printing a Job when
      it was shut down, the Printer MAY resume printing that Job when
      the Printer is restarted.  If the Printer resumes printing such a
      Job, it can leave evidence in the printed output of such a
      shutdown, e.g., the part printed before the shutdown can be
      printed a second time after the shutdown.

   o  'spool-area-full': The limit of persistent storage allocated for
      spooling has been reached.  The Printer is temporarily unable to
      accept more Jobs.  The Printer will remove this value when it is
      able to accept more Jobs.  This value SHOULD be used by a
      non-spooling Printer that only accepts one or a small number of
      Jobs at a time or by a spooling Printer that has filled the spool
      space.

   o  'stopped-partly': When a Printer controls more than one Output
      Device, this reason indicates that one or more Output Devices are
      stopped.  If the reason is a report, fewer than half of the Output
      Devices are stopped.  If the reason is a warning, fewer than all
      of the Output Devices are stopped.

   o  'stopping': The Printer is in the process of stopping the device
      and will be stopped in a while.  When the device is stopped, the
      Printer will change the Printer's state to 'stopped'.  The
      'stopping-warning' reason is never an error, even for a Printer
      with a single Output Device.  When an Output Device ceases
      accepting Jobs, the Printer will have this reason while the Output
      Device completes printing.

   o  'timed-out': The server was able to connect to the Output Device
      (or is always connected) but was unable to get a response from the
      Output Device.

   o  'toner-empty': The device is out of toner.

   o  'toner-low': The device is low on toner.
Top   ToC   RFC8011 - Page 157

5.4.13. printer-state-message (text(MAX))

This RECOMMENDED Printer attribute specifies information about the "printer-state" and "printer-state-reasons" attributes in human- readable text. If the Printer supports this attribute, the Printer MUST be able to generate this message in any of the natural languages identified by the Printer's "generated-natural-language-supported" attribute (see the "attributes-natural-language" operation attribute specified in Section 4.1.4.1).

5.4.14. ipp-versions-supported (1setOf type2 keyword)

This REQUIRED attribute identifies the IPP version(s) that this Printer supports, including major and minor versions, i.e., the version numbers for which this Printer implementation meets the conformance requirements. For version number validation, the Printer matches the (2-octet binary) "version-number" parameter supplied by the Client in each request (see Sections 4.1.1 and 4.1.8) with the (US-ASCII) 'keyword' values of this attribute. The following standard 'keyword' values are defined in this document: o '1.0': Meets the conformance requirements of IPP version 1.0 as specified in RFC 2566 [RFC2566] and RFC 2565 [RFC2565], including any extensions registered according to Section 7 and any extension defined in this version or any future version of the IPP Model and Semantics document (this document) or the IPP Encoding and Transport document [RFC8010] following the rules, if any, when the "version-number" parameter is '1.0'. o '1.1': Meets the conformance requirements of IPP version 1.1 as specified in this document and [RFC8010], including any extensions registered according to Section 7 and any extension defined in any future versions of this document or [RFC8010] following the rules, if any, when the "version-number" parameter is '1.1'. Additional values are defined in "IPP Version 2.0, 2.1, and 2.2" [PWG5100.12].

5.4.15. operations-supported (1setOf type2 enum)

This REQUIRED Printer attribute specifies the set of supported operations for this Printer and contained Jobs. This attribute is encoded as any other enum attribute syntax according to [RFC8010] as 32 bits. However, all 32-bit enum values for this attribute MUST NOT exceed 0x00007fff, since these same values are also passed in two octets in the "operation-id" field (see
Top   ToC   RFC8011 - Page 158
   Section 4.1.1) in each Protocol request with the two high-order
   octets omitted in order to indicate the operation being performed
   [RFC8010].

   Table 19 lists the "operations-supported" attribute and
   "operation-id" parameter (see Section 4.1.2) enum values that are
   defined in this document.

   +---------------+---------------------------------------------------+
   | Value         | Operation Name                                    |
   +---------------+---------------------------------------------------+
   | 0x0000        | reserved, not used                                |
   +---------------+---------------------------------------------------+
   | 0x0001        | reserved, not used                                |
   +---------------+---------------------------------------------------+
   | 0x0002        | Print-Job                                         |
   +---------------+---------------------------------------------------+
   | 0x0003        | Print-URI                                         |
   +---------------+---------------------------------------------------+
   | 0x0004        | Validate-Job                                      |
   +---------------+---------------------------------------------------+
   | 0x0005        | Create-Job                                        |
   +---------------+---------------------------------------------------+
   | 0x0006        | Send-Document                                     |
   +---------------+---------------------------------------------------+
   | 0x0007        | Send-URI                                          |
   +---------------+---------------------------------------------------+
   | 0x0008        | Cancel-Job                                        |
   +---------------+---------------------------------------------------+
   | 0x0009        | Get-Job-Attributes                                |
   +---------------+---------------------------------------------------+
   | 0x000a        | Get-Jobs                                          |
   +---------------+---------------------------------------------------+
   | 0x000b        | Get-Printer-Attributes                            |
   +---------------+---------------------------------------------------+
   | 0x000c        | Hold-Job                                          |
   +---------------+---------------------------------------------------+
   | 0x000d        | Release-Job                                       |
   +---------------+---------------------------------------------------+
   | 0x000e        | Restart-Job                                       |
   +---------------+---------------------------------------------------+
   | 0x000f        | reserved for a future operation                   |
Top   ToC   RFC8011 - Page 159
   +---------------+---------------------------------------------------+
   | 0x0010        | Pause-Printer                                     |
   +---------------+---------------------------------------------------+
   | 0x0011        | Resume-Printer                                    |
   +---------------+---------------------------------------------------+
   | 0x0012        | Purge-Jobs                                        |
   +---------------+---------------------------------------------------+
   | 0x0013-0x3fff | additional registered operations (see the IANA    |
   |               | IPP registry and Section 7.8)                     |
   +---------------+---------------------------------------------------+
   | 0x4000-0x7fff | reserved for vendor extensions (see Section 7.8)  |
   +---------------+---------------------------------------------------+

               Table 19: "operations-supported" Enum Values

5.4.16. multiple-document-jobs-supported (boolean)

This RECOMMENDED Printer attribute indicates whether the Printer supports more than one Document per Job, i.e., more than one Send-Document operation with Document data and/or Send-URI operations. If the Printer supports the Create-Job and Send-Document operations (see Sections 4.2.4 and 4.3.1), it MUST support this attribute.

5.4.17. charset-configured (charset)

This REQUIRED Printer attribute identifies the charset that the Printer has been configured to represent 'text' and 'name' Printer attributes that are set by the Operator, Administrator, or manufacturer, i.e., for "printer-name" (name), "printer-location" (text), "printer-info" (text), and "printer-make-and-model" (text). Therefore, the value of the Printer's "charset-configured" attribute MUST also be among the values of the Printer's "charset-supported" attribute.

5.4.18. charset-supported (1setOf charset)

This REQUIRED Printer attribute identifies the set of charsets that the Printer and contained Jobs support in attributes with attribute syntaxes 'text' and 'name'. At least the value 'utf-8' MUST be present, since IPP objects MUST support the UTF-8 [RFC3629] charset. If a Printer supports a charset, it means that for all attributes of syntaxes 'text' and 'name' the Printer MUST (1) accept the charset in requests and (2) return the charset in responses as needed. If more charsets than UTF-8 are supported, the Printer MUST perform charset conversion between the charsets as described in Section 4.1.4.2.
Top   ToC   RFC8011 - Page 160

5.4.19. natural-language-configured (naturalLanguage)

This REQUIRED Printer attribute identifies the natural language that the Printer has been configured to represent 'text' and 'name' Printer attributes that are set by the Operator, Administrator, or manufacturer, i.e., for "printer-name" (name), "printer-location" (text), "printer-info" (text), and "printer-make-and-model" (text). When returning these Printer attributes, the Printer MAY return them in the configured natural language specified by this attribute, instead of the natural language requested by the Client in the "attributes-natural-language" operation attribute. See Section 4.1.4.1 for the specification of the OPTIONAL support for multiple natural languages. Therefore, the value of the Printer's "natural-language-configured" attribute MUST also be among the values of the Printer's "generated-natural-language-supported" attribute.

5.4.20. generated-natural-language-supported (1setOf naturalLanguage)

This REQUIRED Printer attribute identifies the natural language(s) that the Printer and contained Jobs support in attributes with attribute syntaxes 'text' and 'name'. The natural language(s) supported depends on implementation and/or configuration. Unlike charsets, Printers MUST accept requests with any natural language or any Natural Language Override whether the natural language is supported or not. If a Printer supports a natural language, it means that for any of the attributes for which the Printer or Job generates messages, i.e., for the "job-state-message" and "printer-state-message" attributes and operation messages (see Section 4.1.5) in operation responses, the Printer and Job MUST be able to generate messages in any of the Printer's supported natural languages. See Sections 4.1.4, 5.1.2, and 5.1.3 for the definitions of 'text' and 'name' attributes in operation requests and responses. Note: A Printer that supports multiple natural languages often has separate catalogs of messages, one for each natural language supported.

5.4.21. document-format-default (mimeMediaType)

This REQUIRED Printer attribute identifies the Document format that the Printer has been configured to assume if the Client does not supply a "document-format" operation attribute in any of the operation requests that supply Document data. The standard values for this attribute are Internet media types (sometimes called "MIME media types"). For further details, see the description of the 'mimeMediaType' attribute syntax in Section 5.1.10.
Top   ToC   RFC8011 - Page 161

5.4.22. document-format-supported (1setOf mimeMediaType)

This REQUIRED Printer attribute identifies the set of Document formats that the Printer and contained Jobs can support. For further details, see the description of the 'mimeMediaType' attribute syntax in Section 5.1.10.

5.4.23. printer-is-accepting-jobs (boolean)

This REQUIRED Printer attribute indicates whether the Printer is currently able to accept Jobs, i.e., is accepting Print-Job, Print-URI, and Create-Job requests. If the value is 'true', the Printer is accepting Jobs. If the value is 'false', the Printer is currently rejecting any Jobs submitted to it. In this case, the Printer returns the 'server-error-not-accepting-jobs' status-code. This value is independent of the "printer-state" and "printer-state-reasons" attributes because its value does not affect the current Job; rather, it affects future Jobs. This attribute, when 'false', causes the Printer to reject Jobs even when "printer-state" is 'idle' or, when 'true', causes the Printer to accept Jobs even when "printer-state" is 'stopped'.

5.4.24. queued-job-count (integer(0:MAX))

This REQUIRED Printer attribute contains a count of the number of Jobs that are either 'pending', 'processing', 'pending-held', or 'processing-stopped' and is set by the Printer.

5.4.25. printer-message-from-operator (text(127))

This Printer attribute provides a message from an Operator, Administrator, or "intelligent" process to indicate to the End User information or status of the Printer, such as why it is unavailable or when it is expected to be available.

5.4.26. color-supported (boolean)

This RECOMMENDED Printer attribute identifies whether the device is capable of any type of color printing at all, including highlight color. All Document instructions having to do with color are embedded within the Document PDL, although IPP attributes can affect the rendering of those colors. Note: End Users are able to determine the nature and details of the color support by querying the "printer-more-info-manufacturer" Printer attribute.
Top   ToC   RFC8011 - Page 162

5.4.27. reference-uri-schemes-supported (1setOf uriScheme)

This Printer attribute specifies which URI schemes are supported for use in the "document-uri" operation attribute of the Print-URI or Send-URI operations. If a Printer supports these OPTIONAL operations, it MUST support the "reference-uri-schemes-supported" Printer attribute with at least the following URI scheme value: o 'ftp': The Printer will use an FTP 'get' operation as defined in [RFC959] using FTP URLs as defined by [RFC3986]. The Printer MAY support other URI schemes (see Section 5.1.7).

5.4.28. pdl-override-supported (type2 keyword)

This REQUIRED Printer attribute expresses the ability of a particular Printer implementation to override Document data instructions with IPP attributes. The following 'keyword' values are defined in this document: o 'attempted': This value indicates that the Printer attempts to make the IPP attribute values take precedence over embedded instructions in the Document data; however, there is no guarantee. o 'not-attempted': This value indicates that the Printer makes no attempt to make the IPP attribute values take precedence over embedded instructions in the Document data. Appendix C contains a full description of how this attribute interacts with and affects other IPP attributes, especially the "ipp-attribute-fidelity" attribute.

5.4.29. printer-up-time (integer(1:MAX))

This REQUIRED Printer attribute indicates the amount of time (in seconds) that this Printer instance has been up and running. The value is a monotonically increasing value starting from 1 when the Printer is started up (initialized, booted, etc.). This value is used to populate the Event Time Job Status attributes "time-at-creation", "time-at-processing", and "time-at-completed" (see Section 5.3.14).
Top   ToC   RFC8011 - Page 163
   If the Printer goes down at some value 'n' and comes back up, the
   implementation MAY:

   1.  know how long it has been down and resume at some value greater
       than 'n', or

   2.  restart from 1.

   In other words, if the device or devices that the Printer is
   representing are restarted or power-cycled, the Printer MAY continue
   counting this value or MAY reset this value to 1, depending on
   implementation.  However, if the Printer software ceases running and
   restarts without knowing the last value for "printer-up-time", the
   implementation MUST reset this value to 1.  If this value is reset
   and the Printer has persistent Jobs, the Printer MUST reset the
   "time-at-xxx (integer)" Event Time Job Status attributes according to
   Section 5.3.14.  An implementation MAY use both implementation
   alternatives, depending on warm versus cold start, respectively.

5.4.30. printer-current-time (dateTime|unknown)

This RECOMMENDED Printer attribute indicates the current date and time. This value is used to populate the Event Time Job Status attributes "date-time-at-creation", "date-time-at-processing", and "date-time-at-completed" (see Section 5.3.14). This value is obtained on a "best effort" basis and in practice does not have to be precise in order to be useful. A Printer implementation sets the value of this attribute by obtaining the date and time via some implementation-dependent means, such as getting the value from a network time server, initialization at time of manufacture, or setting by an Administrator. See [RFC3196] and [PWG5100.19] for examples. If an implementation supports this attribute and the implementation knows that it has not yet been set, then the implementation MUST return the value of this attribute using the out-of-band 'unknown', meaning the value is not yet known. See the beginning of Section 5.1. The time zone of this attribute might not be the time zone used by people located near the Printer or device. The Client MUST NOT expect the time zone of any received 'dateTime' value to be in the time zone of the Client or in the time zone of the people located near the Printer.
Top   ToC   RFC8011 - Page 164
   The Client SHOULD display any dateTime attributes to the user in the
   Client's local time by converting the 'dateTime' value returned by
   the server to the time zone of the Client, rather than using the time
   zone returned by the Printer in attributes that use the 'dateTime'
   attribute syntax.

   Note: Prior versions of this document incorrectly specified the use
   of the 'no-value' out-of-band value when the current date and time
   had not been set.  The correct out-of-band value is 'unknown', since
   there is always an intrinsic current date and time.

5.4.31. multiple-operation-time-out (integer(1:MAX))

This RECOMMENDED Printer attribute identifies the minimum time (in seconds) that the Printer waits for additional Send-Document or Send-URI operations to follow a still-open Job before taking any recovery actions, such as the ones indicated in Section 4.3.1. If the Printer supports the Create-Job and Send-Document operations (see Sections 4.2.4 and 4.3.1), it MUST support this attribute. Printers SHOULD use a value between '60' and '240' (seconds). An implementation MAY allow an Administrator to set this attribute by means not defined in this document. If so, the Administrator MAY be able to set values outside this range.

5.4.32. compression-supported (1setOf type2 keyword)

This REQUIRED Printer attribute identifies the set of supported compression algorithms for Document data. Compression only applies to the Document data; compression does not apply to the encoding of the IPP operation itself. The supported values are used to validate the Client-supplied "compression" operation attributes in Print-Job and Send-Document requests. Standard 'keyword' values defined in this document are: o 'none': no compression is used. o 'deflate': ZIP inflate/deflate compression technology described in RFC 1951 [RFC1951]. o 'gzip': GNU zip compression technology described in RFC 1952 [RFC1952]. o 'compress': UNIX compression technology described in RFC 1977 [RFC1977].
Top   ToC   RFC8011 - Page 165

5.4.33. job-k-octets-supported (rangeOfInteger(0:MAX))

This Printer attribute specifies the upper and lower bounds of total sizes of Jobs in K octets, i.e., in units of 1024 octets. The supported values are used to validate the Client-supplied "job-k-octets" operation attribute in Job Creation requests. The corresponding Job Description attribute "job-k-octets" is defined in Section 5.3.17.1.

5.4.34. job-impressions-supported (rangeOfInteger(0:MAX))

This RECOMMENDED Printer attribute specifies the upper and lower bounds for the number of Impressions per Job. The supported values are used to validate the Client-supplied "job-impressions" operation attribute in Job Creation requests. The corresponding Job Description attribute "job-impressions" is defined in Section 5.3.17.2.

5.4.35. job-media-sheets-supported (rangeOfInteger(1:MAX))

This Printer attribute specifies the upper and lower bounds for the number of Media Sheets per Job. The supported values are used to validate the Client-supplied "job-media-sheets" operation attribute in Job Creation requests. The corresponding Job attribute "job-media-sheets" is defined in Section 5.3.17.3.

5.4.36. pages-per-minute (integer(0:MAX))

This RECOMMENDED Printer attribute specifies the nominal number of pages per minute to the nearest whole number that can be generated by this Printer (e.g., simplex, black-and-white). This attribute is informative, not a service guarantee. Generally, it is the value used in the marketing literature to describe the speed of the device. A value of 0 indicates a device that takes more than two minutes to process a page.

5.4.37. pages-per-minute-color (integer(0:MAX))

This RECOMMENDED Printer attribute specifies the nominal number of pages per minute to the nearest whole number that can be generated by this Printer when printing color (e.g., simplex, color). For purposes of this attribute, the meaning of "color" is the same as that for the "color-supported" attribute; namely, the device is capable of any type of color printing at all, including highlight color. This attribute is informative, not a service guarantee. Generally, it is the value used in the marketing literature to describe the color capabilities of this device.
Top   ToC   RFC8011 - Page 166
   A value of 0 indicates a device that takes more than two minutes to
   process a page in color.

   If a color device has several color modes, it MAY use the
   "pages-per-minute" value for this attribute that corresponds to the
   mode that produces the highest number.

   Printers that are black-and-white only MUST NOT support this
   attribute.  If this attribute is present, then the "color-supported"
   Printer Description attribute MUST be present and have a 'true'
   value.

   The values of the "pages-per-minute" and "pages-per-minute-color"
   attributes returned by the Get-Printer-Attributes operation MAY be
   affected by the "document-format" attribute supplied by the Client in
   the Get-Printer-Attributes request.  In other words, the
   implementation MAY have different speeds, depending on the Document
   format being processed.  See Section 4.2.5.1 ("Get-Printer-Attributes
   Request").



(page 166 continued on part 10)

Next Section