tech-invite   World Map     

3GPP     Specs     Glossaries     Architecture     IMS     UICC       IETF     RFCs     Groups     SIP     ABNFs       Search

RFC 8011

 
 
 

Internet Printing Protocol/1.1: Model and Semantics

Part 9 of 12, p. 145 to 166
Prev Section       Next Section

 


prevText      Top      ToC       Page 145 
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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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