RFC 2911:Internet Printing Protocol/1.1: Model and...
RFC-Ref

IPP


Click on the red underlined text to get to the source

... The Internet Printing Protocol (IPP) is an application level protocol that can be used for distributed printing using Internet tools ...
... Internet tools and technologies. IPP version 1.1 (IPP/1.1) focuses primarily on end ...
... technologies. IPP version 1.1 (IPP/1.1) focuses primarily on end user functionality with a few administrative operations included. This document is just one of a suite of documents that fully define ...
... user functionality with a few administrative operations included. This document is just one of a suite of documents that fully define IPP. The full set of IPP documents includes: ...
... This document is just one of a suite of documents that fully define IPP. The full set of IPP documents includes: Design Goals for an Internet Printing Protocol ...
... IPP-IIG] Mapping between LPD and IPP Protocols [RFC2569] ...
... Anyone reading these documents for the first time is strongly encouraged to read the IPP documents in the above order. This document is laid out as follows: ...
... This document is laid out as follows: - The rest of Section 1 is an introduction to the IPP simplified model for distributed printing. - Section 2 introduces the object types covered in the model with ...
... - Section 2 introduces the object types covered in the model with their basic behaviors, attributes, and interactions. - Section 3 defines the operations included in IPP/1.1. IPP operations are synchronous ...
... their basic behaviors, attributes, and interactions. - Section 3 defines the operations included in IPP/1.1. IPP operations are synchronous, therefore, for each operation, there is ...
... Printer not just by name, but by filtered searches as well. - Section 17 is an appendix summarizing the additions and changes from the IPP/1.0 "Model and Semantics" document [RFC2566] to make ...
... Semantics" document [RFC2566] to make this IPP/1.1 document. - Section 18 is the full copyright notice. ...
... protocol for the Internet, the Internet Printing Protocol (IPP) is based on a simplified printing model that abstracts the many components of real world printing solutions. The Internet ...
... service providers. This model and semantics document describes a simple, abstract model for IPP even though the underlying configurations may be complex "n-tier" client/server systems. An ...
... configurations may be complex "n-tier" client/server systems. An important simplifying step in the IPP model is to expose only the key objects and interfaces required for printing. The model described in ...
... interfaces, and relationships that are beyond the scope of the first version of IPP (IPP/1.1). IPP ...
... version of IPP (IPP/1.1). IPP/1.1 incorporates many of the relevant ideas and lessons learned from other specification and development efforts ...
... IPP (IPP/1.1). IPP/1.1 incorporates many of the relevant ideas and lessons learned from other specification and development efforts [HTPP ...
... PSIS] [RFC1179] [SWP]. IPP is heavily influenced by the printing model introduced in the Document Printing Application (DPA) [ISO10175 ...
... Printing Application (DPA) [ISO10175] standard. Although DPA specifies both end user and administrative features, IPP version 1.1 (IPP ...
... IPP version 1.1 (IPP/1.1) focuses primarily on end user functionality with a few additional OPTIONAL operator operations. ...
... additional OPTIONAL operator operations. The IPP/1.1 model encapsulates the important components of distributed printing into two object types: ...
... It is important, however, to understand that in real system implementations (which lie underneath the abstracted IPP/1.1 model), there are other components of a print service which are not ...
... there are other components of a print service which are not explicitly defined in the IPP/1.1 model. The following figure illustrates where IPP/1.1 fits with respect to these other ...
... explicitly defined in the IPP/1.1 model. The following figure illustrates where IPP/1.1 fits with respect to these other components. ...
... | | | | | +---+------------+---+ | N D S | | IPP Client |------------+ O I E | +---------+----------+ T R C | | ...
... C O T | --+ A R Y +--------+--------+ | T Y | IPP Server | | I +--------+--------+ | O | | ...
... I +--------+--------+ | O | | N +-----------------+ | IPP Printer | Print Service | | ...
... +-----------------+ An IPP Printer object encapsulates the functions normally associated with physical ...
... which only represents the Printer object. IPP clients implement the IPP protocol on the client side and give ...
... IPP clients implement the IPP protocol on the client side and give end users (or programs running on behalf of end users) the ability to ...
... end users (or programs running on behalf of end users) the ability to query Printer objects and submit and manage print jobs. An IPP server is just that part of the Printer object that implements the server-side ...
... The notification service is out of scope for this IPP/1.1 document, but using such a notification service, the end user is able to ...


... IPP Objects ...
... The IPP/1.1 model introduces objects of type Printer and Job. Each type of object models relevant aspects of a real-world entity such as ...
... The major component of the IPP/1.1 model is the Printer object. A Printer object implements the server-side of the IPP ...
... IPP/1.1 model is the Printer object. A Printer object implements the server-side of the IPP/1.1 protocol. Using the protocol, end users may query the attributes of the Printer ...
... 2) An output device with a built-in spooler 3) A print server supporting IPP with one or more associated output devices 3a) The associated output devices may or may not be capable of ...
... 3a) The associated output devices may or may not be capable of spooling jobs 3b) The associated output devices may or may not support IPP The following figures show some examples of how Printer objects can ...
... client" refers to a software entity that sends IPP operation requests to an IPP Printer object and accepts IPP ...
... entity that sends IPP operation requests to an IPP Printer object and accepts IPP operation responses. A client ...
... sends IPP operation requests to an IPP Printer object and accepts IPP operation responses. A client MAY be: ...
... activated by the "Print" menu item in an application or 2. the print server component that sends IPP requests to either an output device or another "downstream ...
... downstream" print server. The term "IPP Printer" is a network entity that accepts IPP ...
... IPP Printer" is a network entity that accepts IPP operation requests and returns IPP operation responses. As such, an IPP ...
... entity that accepts IPP operation requests and returns IPP operation responses. As such, an IPP object MAY be: ...
... IPP operation requests and returns IPP operation responses. As such, an IPP object MAY be: ...
... MAY be: 1. an (embedded) device component that accepts IPP requests and controls the device or ...
... controls the device or 2. a component of a print server that accepts IPP requests (where the print server controls one or more networked devices using IPP ...
... IPP requests (where the print server controls one or more networked devices using IPP or other protocols). Legend: ...
... any indicates any network protocol or direct connect, including IPP embedded printer: ...
... O +--------+ | ########### | /|\ | client |------------IPP------------># Printer # | / \ +--------+ | # Object # | | ########### | ...
... O +--------+ ########### | | /|\ | client |--IPP--># Printer #-any->| output device | / \ +--------+ # Object # | | ...
... O +--------+ ########### / +---------------+ /|\ | client |-IPP-># Printer #--* / \ +--------+ # Object # \ +---------------+ ########### any\ | | ...
... create a Job object is sent in a create request from the end user via an IPP Client to the Printer object. The Printer object validates the create ...
... stream of document data In IPP/1.1, a document is not modeled as an IPP object, therefore it has no object identifier ...
... In IPP/1.1, a document is not modeled as an IPP object, therefore it has no object identifier or associated attributes. All job ...
... IPP objects have relationships that are maintained persistently along with the persistent storage of the object attributes. ...
... RFC2246] (the mechanism for security configuration is outside the scope of this IPP/1.1 document). In some situations, both types of connections (both authenticated ...
... one of the communication channels to the Printer object. To support this flexibility, the IPP Printer object type defines a multi-valued identification attribute called the "printer-uri-supported" attribute. It MUST contain at least one URI ...
... "printer-uri-supported" Printer attribute. IPP/1.1 does not specify how the client obtains the client supplied ...
... directory service and describes how the entry acts as a bridge to the actual IPP Printer object. The entry in the directory that represents the IPP Printer object includes the possibly many URIs for that Printer ...
... and describes how the entry acts as a bridge to the actual IPP Printer object. The entry in the directory that represents the IPP Printer object includes the possibly many URIs for that Printer object as values in one its attributes. ...
... create request was originally submitted. Therefore, in order to allow both types of client access to IPP Job objects (either by Job URI or by numeric Job ID), when the Printer ...
... is chosen and set by an administrator through some mechanism outside the scope of this IPP/1.1 document. A Job object's name is optionally chosen and supplied by the IPP client submitting the job. ...
... the scope of this IPP/1.1 document. A Job object's name is optionally chosen and supplied by the IPP client submitting the job. If the client does not supply a Job object name, the Printer object ...
... unique). The administrator chooses and sets this name through some mechanism outside the scope of this IPP/1.1 document. The Printer object's "printer-name" attribute contains the name. - Each Job object has a name (which is not necessarily unique). ...


... IPP Operations ...
... IPP objects support operations. An operation consists of a request and a response. When a client communicates with an IPP ...
... IPP objects support operations. An operation consists of a request and a response. When a client communicates with an IPP object, the client issues an operation request to the URI ...
... This section describes the semantics of the IPP operations, both requests and responses, in terms of the parameters, attributes, and other data associated with each operation. ...
... other data associated with each operation. The IPP/1.1 Printer operations are: Print-Job ...
... All IPP operations require some common parameters and operation attributes. These common elements and their semantic ...
... Each IPP operation request includes an identifying "operation-id" value. Valid values are defined in the "operations-supported" ...
... clients to manage multiple outstanding requests. The receiving IPP object copies all 32-bits of the client- ...
... the "request-id" is out of range. If the request is terminated before the complete "request-id" is received, the IPP object rejects the request and returns a response with a "request-id" of 0. ...
... Note: In some cases, the transport protocol underneath IPP might be a connection oriented protocol that would make it impossible for a ...
... - Operation Attributes: These attributes are passed in the operation and affect the IPP object's behavior while processing the operation request and may affect other attributes or groups ...
... which operation attributes are REQUIRED and which are OPTIONAL for an IPP object to support and which attributes a client MUST supply in a request and an IPP ...
... IPP object to support and which attributes a client MUST supply in a request and an IPP object MUST supply in a response. - Job Template Attributes: These attributes affect the processing of a job. A client ...
... and how unsupported attributes are returned to the client. Because of extensibility, any IPP object might receive a request that contains new or unknown attributes or values for which it has no support. In such cases, the IPP ...
... IPP object might receive a request that contains new or unknown attributes or values for which it has no support. In such cases, the IPP object processes what it can and returns the unsupported attributes in the response. The Unsupported Attribute group ...
... one of the attribute instances, depending on implementation. Which attribute is selected when there are duplicate attributes depends on implementation. The IPP Printer MUST NOT use the values from more than one such duplicate attribute instance. ...
... data. Some operations are REQUIRED for IPP objects to support; the others are OPTIONAL (see section 5.2.2). Therefore, before using an OPTIONAL operation, a client ...
... Job operations are actually supported. The client SHOULD NOT use an OPTIONAL operation that is not supported. When an IPP object receives a request to perform an operation it does not support, it returns the 'server-error-operation-not-supported' status code ...
... returns the 'server-error-operation-not-supported' status code (see section 13.1.5.2). An IPP object is non-conformant if it does not support a REQUIRED operation. ...
... attribute MUST be the second attribute in the group. In other words, these attributes MUST be supplied in every IPP request and response, they MUST come first in the group ...
... group, and MUST come in the specified order. For job creation operations, the IPP Printer implementation saves these two attributes with the new Job object as Job Description attributes. For the sake of brevity in this document, these ...
... client MUST supply and the Printer object MUST support the following REQUIRED operation attributes in every IPP/1.1 operation request: ...
... All clients and IPP objects MUST support the 'utf-8' charset [RFC2279 ...
... Note to client implementers: Since IPP objects are only required to support the 'utf-8' charset, in order to maximize ...
... charset, in order to maximize interoperability with multiple IPP object implementations, a client may want to supply 'utf-8' in the "attributes-charset ...
... the response that it cannot present to its user. On the other hand, if both the client and the IPP objects also support a charset in common besides utf-8, the client ...
... natural languages supported by the Printer object and any contained Job objects for all text strings generated by the IPP object. A client MAY query ...
... operation attribute of the request. The IPP object MUST accept any natural language and any Natural Language ...
... language and any Natural Language Override, whether the IPP object supports that natural language or not (and independent of the value of the "ipp- ...
... language or not (and independent of the value of the "ipp- attribute-fidelity" Operation attribute). That is the IPP object accepts all client supplied values no matter what the ...
... language-supported", only applies to generated messages, not client supplied messages. The IPP object MUST remember that natural language for all client ...
... attributes, and when returning those attributes in response to a query, the IPP object MUST indicate that natural language. ...
... language" attribute, or if different, as identified by the Natural Language Override mechanism. If supplied, the IPP object will use the value of the "job-name" attribute to populate the Job object's "job-name" attribute. Whenever any ...
... client queries the Job object's "job-name" attribute, the IPP object returns the attribute as stored and uses the Natural Language ...
... language" operation attribute of the response. The IPP object MAY use the Natural Language Override mechanism redundantly, ...
... operation attribute of the response. An IPP object MUST NOT reject a request based on a supplied natural language in an "attributes-natural-language ...
... client MUST support the following REQUIRED operation attributes in every IPP/1.1 operation response: ...
... operation attribute identifies the natural language used by any 'text' and 'name' attributes that the IPP object is returning in this response. Unlike the "attributes-charset" ...
... charset" operation attribute, the IPP object NEED NOT return the same value as that supplied by the client in the request. The IPP ...
... IPP object NEED NOT return the same value as that supplied by the client in the request. The IPP object MAY return the natural language of the Job object or the ...
... returned in the "attributes-natural-language" operation attribute, the IPP object MUST use the Natural Language Override mechanism (see sections 4.1.1.2 and 4.1.2.2) on each ...
... Language Override mechanism (see sections 4.1.1.2 and 4.1.2.2) on each attribute value returned. The IPP object MAY use the Natural Language Override mechanism redundantly, i.e., use it even when ...
... All IPP operations are directed at IPP objects. For Printer operations, the operation is always directed at a Printer object ...
... All IPP operations are directed at IPP objects. For Printer operations, the operation is always directed at a Printer object using one of its URIs ...
... In all cases, the target URIs contained within the body of IPP operation requests and responses must be in absolute format rather than relative format (a relative URL ...
... port numbers in URIs that identify IPP objects: 1. If the URI scheme ...
... URI, then that port number MUST be used by the client to contact the IPP object. 2. If the URI scheme ...
... port number implied by that URI scheme MUST be used by the client to contact the IPP object. 3. If the URI scheme ...
... by that URI MUST be used by the client to contact the IPP object. ...
... object. Note: The IPP "Encoding and Transport document [RFC2910 ...
... Transport document [RFC2910] shows a mapping of IPP onto HTTP/1.1 [RFC2616] and defines a new default port number ...
... HTTP/1.1 [RFC2616] and defines a new default port number for using IPP over HTTP/1.1. ...
... status code is intended for use by automata. A client implementation of IPP SHOULD convert status code values into any localized message that has semantic ...
... status message is intended for the human end user. If a response does include a "status-message" attribute, an IPP client NEED NOT examine or display the messages, however it SHOULD do so in some implementation specific manner. The "status-message" is especially useful for a later version ...
... Most Internet protocols use decimal error codes (unlike IPP), so the ASCII error code ...
... allows the client to identify which version of IPP it is interested in using, i.e., the version whose conformance requirements ...
... may be depending upon the Printer to meet. If the IPP object does not support that major version number supplied by the client ...
... If the major version number is supported, but the minor version number is not, the IPP object SHOULD accept and attempt to perform the request (or reject the request if the operation is not supported), else it rejects the request and returns the 'server- ...
... error-version-not-supported' status code. In all cases, the IPP object MUST return the "version-number" that it supports that is ...
... a 'server-error-version-not-supported' status code from an IPP object, a client SHOULD try again with a different version number ...
... versions are supported. An IPP object implementation MUST support version '1.1', i.e., meet the conformance requirements ...
... version '1.1', i.e., meet the conformance requirements for IPP/1.1 as specified in this document and [RFC2910]. It is recommended that IPP ...
... IPP/1.1 as specified in this document and [RFC2910]. It is recommended that IPP object implementations accept any request with the major version '1' (or ...
... There is only one notion of "version number" that covers both IPP Model and IPP Protocol changes. Thus the version number ...
... version number" that covers both IPP Model and IPP Protocol changes. Thus the version number MUST change when introducing a new version ...
... document indicate structural or syntactic changes that make it impossible for older version of IPP clients and Printer objects to correctly parse and correctly process the new or changed attributes, operations and responses. If the major version number ...
... version '1.0'), would have required a change to the major version number, since an IPP/1.0 Printer would not have processed a request with the correct semantics that contained the ...
... - reordering of ordered attributes or attribute sets - changes to the syntax of existing attributes - adding REQUIRED (for an IPP object to support) operation attribute groups ...
... version number indicate the addition of new features, attributes and attribute values that may not be understood by all IPP objects, but which can be ignored if not understood. Items that might affect the changing of the minor version number ...
... - adding new object attributes - adding OPTIONAL (for an IPP object to support) operation attributes (i.e., those attributes that an IPP object can ignore ...
... - adding OPTIONAL (for an IPP object to support) operation attributes (i.e., those attributes that an IPP object can ignore without confusing clients) ...
... without confusing clients) - adding OPTIONAL (for an IPP object to support) operation attribute groups (i.e., those attributes that an IPP ...
... IPP object to support) operation attribute groups (i.e., those attributes that an IPP object can ignore without confusing clients) ...
... versions. As each new version is defined (through the release of a new IPP specification document), that version will specify which previous versions ...
... not the supplied attributes, attribute syntaxes, and values are supported by matching them with the Printer object's corresponding "xxx-supported" attributes. See section 3.1.7 for details. [IPP- IIG] presents suggested steps for an IPP object to either accept or ...
... "xxx-supported" attributes. See section 3.1.7 for details. [IPP- IIG] presents suggested steps for an IPP object to either accept or reject any request and additional steps for processing create ...
... client MUST be prepared to keep submitting a create request until the IPP Printer object accepts the create request. ...
... Asynchronous notification of events is outside the scope of this IPP/1.1 document. ...
... tools, or even stored along with the document as a document level attribute. IPP/1.1 does not support the concept of document level attributes. ...
... attributes for the supported Job Template attributes that were not supplied by the client as IPP attribute or embedded instructions in the document data. ...
... status code. The IPP Printer MAY validate the accessibility of the document as part of the operation or subsequently. If the Printer determines an ...
... populate the job's "job-document-access-errors" Job Description attribute (see section 4.3.11). See The Implementer's Guide [IPP- IIG] for suggested additional checks. ...
... 4.4.27). It is up to the IPP object to interpret the URI and subsequently "pull" the document from the source referenced by the URI ...
... operation attribute with any supplied values (attribute keywords) that were requested by the client but are not supported by the IPP object. If the Printer object does return unsupported attributes referenced in the "requested-attributes ...
... operation attribute with any supplied values (attribute keywords) that were requested by the client but are not supported by the IPP object. If the Printer object does return unsupported attributes referenced in the "requested-attributes ...
... Printer operation MUST be supported, and vice-versa. The IPP Printer stops the current job(s) on its device(s) that were in the 'processing' or 'processing-stopped' states as soon as the implementation permits. If the implementation will take appreciable ...
... in the 'processing' or 'processing-stopped' states as soon as the implementation permits. If the implementation will take appreciable time to stop, the IPP Printer adds the 'moving-to-paused' value to the Printer object's "printer-state-reasons" attribute (see section ...
... the Printer object's "printer-state-reasons" attribute (see section 4.4.12). When the device(s) have all stopped, the IPP Printer transitions the Printer object to the 'stopped' state, removes ...
... When the current job(s) complete that were in the 'processing' state, the IPP Printer transitions them to the 'completed' state. When the current job(s) stop in mid processing that were in the 'processing' ...
... current job(s) stop in mid processing that were in the 'processing' state, the IPP Printer transitions them to the 'processing-stopped' state and adds the 'printer-stopped' value to the job's "job-state ...
... stopped' value of the jobs' "job-state-reasons" attribute also applies. However, the IPP Printer NEED NOT update those jobs' "job- state ...
... Whether the Pause-Printer operation affects jobs that were submitted to the device from other sources than the IPP Printer object in the same way that the Pause-Printer operation affects jobs that were ...
... same way that the Pause-Printer operation affects jobs that were submitted to the IPP Printer object using IPP, depends on implementation, i.e., on whether the IPP ...
... Printer operation affects jobs that were submitted to the IPP Printer object using IPP, depends on implementation, i.e., on whether the IPP protocol is being used as a ...
... IPP Printer object using IPP, depends on implementation, i.e., on whether the IPP protocol is being used as a universal management protocol or just to manage IPP ...
... IPP protocol is being used as a universal management protocol or just to manage IPP jobs, respectively. ...
... respectively. The IPP Printer MUST accept the request in any state and transition the Printer to the indicated new "printer-state ...
... follows: Current New "printer IPP Printer's response status "printer- "printer- -state- code and action: ...
... this operation must be an operator or administrator of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP Printer MUST reject the operation and return: 'client-error-forbidden', 'client ...
... "printer-state-reasons" attribute, if present. If there are no other reasons to keep a device paused (such as media-jam), the IPP Printer is free to transition itself to the 'processing' or 'idle' states, depending on whether there are jobs to be processed or not, ...
... Printer operation MUST be supported, and vice-versa. The IPP Printer removes the 'printer-stopped' value from any job's "job-state ...
... state-reasons" attributes contained in that Printer. The IPP Printer MUST accept the request in any state, transition the Printer object to the indicated new state ...
... state as follows: Current New "printer- IPP Printer's response status code and "printer- state ...
... this operation must be an operator or administrator of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP Printer MUST reject the operation and return: 'client-error-forbidden', 'client ...
... client to remove all jobs from an IPP Printer object, regardless of their job states, including jobs in the Printer object's Job History (see Section 4.3.7.2). After a Purge-Jobs operation has been performed, a Printer object MUST return ...
... Whether the Purge-Jobs (and Get-Jobs) operation affects jobs that were submitted to the device from other sources than the IPP Printer object in the same way that the Purge-Jobs operation affects jobs that were submitted to the IPP Printer ...
... IPP Printer object in the same way that the Purge-Jobs operation affects jobs that were submitted to the IPP Printer object using IPP, depends on implementation, i.e., on whether the IPP ...
... object in the same way that the Purge-Jobs operation affects jobs that were submitted to the IPP Printer object using IPP, depends on implementation, i.e., on whether the IPP protocol is being used as a ...
... IPP Printer object using IPP, depends on implementation, i.e., on whether the IPP protocol is being used as a universal management protocol or just to manage IPP ...
... IPP protocol is being used as a universal management protocol or just to manage IPP jobs, respectively. ...
... this operation must be an operator or administrator of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP object MUST reject the operation and return: client-error-forbidden, client ...
... URI or a combination of a Printer URI with a Job ID. The IPP object implementation MUST support both forms of identification for every job. ...
... period of time for a particular job, a client MUST send another send operation within an IPP Printer defined minimum time interval after the receipt of the previous request for the job. If a Printer object supports the Create-Job ...
... before taking some recovery action. An IPP object MUST recover from an errant client that does not supply a send operation, sometime after the minimum time interval specified ...
... Create-Job operation) or an operator or administrator of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP object MUST reject the operation and return: 'client-error-forbidden', 'client ...
... URI before returning a response, just as in the Print-URI operation. The IPP Printer MAY validate the accessibility of the document as part of the operation or subsequently (see section ...
... before the job is actually terminated. The IPP object MUST accept or reject the request based on the job's current state and transition the job to the indicated new state ...
... follows: Current "job- New "job- IPP object's response status state" state ...
... Rule 1: If the implementation requires some measurable time to cancel the job in the 'processing' or 'processing-stopped' job states, the IPP object MUST add the 'processing-to-stop-point' value to the job's "job-state-reasons" attribute and then transition the ...
... administrator of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP object MUST reject the operation and return: 'client-error-forbidden', 'client-error-not-authenticated ...
... requested-attributes" (1setOf keyword): The client OPTIONALLY supplies this attribute. The IPP object MUST support this attribute. It is a set of attribute names ...
... group names in whose values the requester is interested. If the client omits this attribute, the IPP object MUST respond as if this attribute had been supplied with a value of 'all'. ...
... operation attribute with any supplied values (attribute keywords) that were requested by the client but are not supported by the IPP object. If the Printer object does return unsupported attributes referenced in the "requested-attributes ...
... This is the set of requested attributes and their current values. The IPP object ignores (does not respond with) any requested attribute or value which is not supported or which is restricted by the security policy ...
... security policy in force, including whether the requesting user is the user that submitted the job (job originating user) or not (see section 8). However, the IPP object MUST respond with the 'unknown' value for any supported attribute (including all REQUIRED attributes) for which the IPP ...
... IPP object MUST respond with the 'unknown' value for any supported attribute (including all REQUIRED attributes) for which the IPP object does not know the value, unless it would violate the security policy. See the ...
... indefinitely or until a specified time period, if supported. The IPP object MUST accept or reject the request based on the job's current state and transition the job to the indicated new state ...
... Current "job- New "job-state" IPP object's response status state" code and action: ...
... Rule 1: If the implementation supports multiple reasons for a job to be in the 'pending-held' state, the IPP object MUST add the 'job- hold-until-specified' value to the job's "job-state-reasons" ...
... attribute. Rule 2: If the IPP object supports the "job-hold-until" operation attribute, but the specified time period has already started (or is the 'no-hold' value) and there are no other reasons to hold the job, ...
... operation attribute, but the specified time period has already started (or is the 'no-hold' value) and there are no other reasons to hold the job, the IPP object MUST make the job be a candidate for processing immediately (see Section 4.2.2) by putting the job in the 'pending' ...
... administrator of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP object MUST reject the operation and return: 'client-error-forbidden', 'client-error-not-authenticated ...
... client OPTIONALLY supplies this Operation attribute. The IPP object MUST support this operation attribute in a Hold-Job request, if it supports the "job-hold-until" Job template ...
... request, if it supports the "job-hold-until" Job template attribute in create operations. See section 4.2.2. The IPP object SHOULD support the "job-hold-until" Job Template attribute for use in job create ...
... If supplied and supported as specified in the Printer's "job- hold-until-supported" attribute, the IPP object copies the supplied operation attribute to the Job object, replacing the ...
... If supplied, but either the "job-hold-until" Operation attribute itself or the value supplied is not supported, the IPP object accepts the request, returns the unsupported attribute or value in the Unsupported Attributes Group ...
... client (1) supplies a value that specifies a time period that has already started or the 'no-hold' value (meaning don't hold the job) and (2) the IPP object supports the "job-hold- until" operation attribute and there are no other reasons to ...
... until" operation attribute and there are no other reasons to hold the job, the IPP object MUST accept the operation and make the job be a candidate for processing immediately (see Section ...
... If the client does not supply a "job-hold-until" Operation attribute in the request, the IPP object MUST populate the job object with a "job-hold-until" attribute with the 'indefinite' value (if IPP ...
... IPP object MUST populate the job object with a "job-hold-until" attribute with the 'indefinite' value (if IPP object supports the "job-hold-until" attribute) and hold the job indefinitely, until a client performs a ...
... Restart-Job operation and removes its effect on the job. The IPP object MUST remove the 'job-hold-until- specified' value from the job's "job-state ...
... present. See section 4.3.8. The IPP object MUST accept or reject the request based on the job's current state and transition the job to the indicated new state ...
... Current "job- New "job-state" IPP object's response status state" code and action: ...
... administrator of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP object MUST reject the operation and return: 'client-error-forbidden', 'client-error-not-authenticated ...
... state and restarts at the beginning on the same IPP Printer object with the same attribute values. If any of the documents in the job were passed by reference (Print-URI ...
... only. The IPP object MUST accept or reject the request based on the job's current state, transition the job to the indicated new state ...
... Current "job- New "job-state" IPP object's response status state" code and action: ...
... Rule 1: If the Job Retention Period has expired for the job in this state, then the IPP object rejects the operation. See section 4.3.7.2. ...
... administrator of the Printer object (see Sections 1 and 8.5). Otherwise, the IPP object MUST reject the operation and return: 'client-error-forbidden', 'client-error-not-authenticated ...
... "job-hold-until" (type3 keyword | name(MAX)): The client OPTIONALLY supplies this attribute. The IPP object MUST support this Operation attribute in a Restart ...
... if it supports the "job-hold-until" Job Template attribute in create operations. See section 4.2.2. Otherwise, the IPP object NEED NOT support the "job-hold-until" Operation attribute in a Restart ...
... If supplied and supported as specified in the Printer's "job- hold-until-supported" attribute, the IPP object copies the supplied Operation attribute to the Job object, replacing the ...
... named time period. See section 4.2.2. If supplied, but the value is not supported, the IPP object accepts the request, returns the unsupported attribute or value in the Unsupported Attributes Group ...
... If supplied, but the "job-hold-until" Operation attribute itself is not supported, the IPP object accepts the request, returns the unsupported attribute with the out-of-band ...
... client (1) supplies a value that specifies a time period that has already started or the 'no-hold' value (meaning don't hold the job) and (2) the IPP object supports the "job-hold- until" operation attribute and there are no other reasons to ...
... until" operation attribute and there are no other reasons to hold the job, the IPP object makes the job a candidate for processing immediately (see Section 4.2.2). ...
... If the client does not supply a "job-hold-until" operation attribute in the request, the IPP object removes the "job- hold-until" attribute, if present, from the job. If there are ...


... This section describes the attributes with their corresponding attribute syntaxes and values that are part of the IPP model. The sections below show the objects and their associated attributes which are included within the scope of this protocol. Many of these ...
... This section defines the basic attribute syntax types that all clients and IPP objects MUST be able to accept in responses and accept in requests, respectively. Each attribute description in sections 3 and 4 includes the name of attribute syntax(es) in the ...
... out-of-band" values are: 'unknown': The attribute is supported by the IPP object, but the value is unknown to the IPP object for some reason. ...
... 'unknown': The attribute is supported by the IPP object, but the value is unknown to the IPP object for some reason. 'unsupported': The attribute is unsupported by the IPP object. ...
... value is unknown to the IPP object for some reason. 'unsupported': The attribute is unsupported by the IPP object. This value MUST be returned only as the value of an attribute in the Unsupported Attributes Group ...
... interpretation of 'text' is: 'textWithoutLanguage | textWithLanguage'. That is, for any attribute defined in this document using the 'text' attribute syntax, all IPP objects and clients ...
... is the so-called Natural Language Override mechanism and MUST be supported by all IPP objects and clients. ...
... Also like 'text', 'name' is really an abbreviated notation for either 'nameWithoutLanguage' or 'nameWithLanguage'. That is, all IPP objects and clients MUST support both the 'nameWithoutLanguage' and ...
... rather than the normal 'textWithoutLanguage' syntax is the so-called Natural Language Override mechanism and MUST be supported by all IPP objects and clients. ...
... so-called Natural Language Override mechanism and MUST be supported by all IPP objects and clients. If a name is in a language that is ...
... When a keyword is used to represent an attribute (its name), it MUST be unique within the full scope of all IPP objects and attributes. When a keyword is used to represent a value of an attribute, it MUST be unique just within the scope of that attribute. That is, the same ...
... Note: SNMP MIBs use '2' for 'unknown' which corresponds to the IPP "out-of-band" value 'unknown'. See the description of the "out-of- ...
... Uniform Resource Locators or URLs. The maximum length of URIs used as values of IPP attributes is 1023 octets. Although most other IPP attribute syntax ...
... URIs used as values of IPP attributes is 1023 octets. Although most other IPP attribute syntax types allow for only lower-cased values, this attribute syntax type conforms to the case-sensitive and case-insensitive ...
... RFC 2396(-> 3986std66) requires that the values be case-insensitive, IPP requires all lower case values in IPP attributes to simplify comparing by IPP clients ...
... case-insensitive, IPP requires all lower case values in IPP attributes to simplify comparing by IPP clients and Printer objects. ...
... IPP requires all lower case values in IPP attributes to simplify comparing by IPP clients and Printer objects. Standard values for this syntax type are the following keywords: ...
... Standard values for this syntax type are the following keywords: 'ipp': for IPP schemed URIs (e.g., "ipp:...") 'http': for HTTP ...
... IANA-MT]. The maximum length of URI 'scheme' values used to represent IPP attribute values is 63 octets. ...
... case-insensitive US-ASCII [ASCII], IPP requires all lower case values in IPP attributes to simplify comparing by IPP clients ...
... ASCII], IPP requires all lower case values in IPP attributes to simplify comparing by IPP clients and Printer objects. When a character-set in the IANA registry ...
... IPP requires all lower case values in IPP attributes to simplify comparing by IPP clients and Printer objects. When a character-set in the IANA registry has more than one ...
... The maximum length of 'charset' values used to represent IPP attribute values is 63 octets. ...
... control characters from conformant usage in MIME and IPP. 'iso-8859-1': 8-bit One-Byte ...
... case-insensitive US-ASCII [ASCII], IPP requires all lower case to simplify comparing by IPP clients and ...
... ASCII], IPP requires all lower case to simplify comparing by IPP clients and Printer objects. Examples include: ...
... 'de': for German The maximum length of 'naturalLanguage' values used to represent IPP attribute values is 63 octets. ...
... the IANA Registry [IANA-MT]. Although most other IPP syntax types allow for only lower-cased values, this syntax type allows for mixed-case values which are case-insensitive ...
... stream': Auto-sense - see section 4.1.9.1 The maximum length of a 'mimeMediaType' value to represent IPP attribute values is 255 octets. ...
... priority" attribute. However, the enforcement of that additional constraint is up to the IPP objects, not the protocol. ...
... 8 octet representation of a "DateAndTime" value, but IPP objects MUST use the 11 octet representation. A user interface ...
... information is supplied by the client (either explicitly as an IPP attribute in the create request or implicitly as an embedded instruction within the document data). ...
... client does supply the "finishings" attribute in the create request, the IPP object validates the value or values to make sure that they are a subset of ...
... entire range with any Printer object. If privileged jobs are implemented outside IPP/1.1, they MUST have priorities higher than 100, rather than restricting the range ...
... An administrator MUST associate allowable print times with a named time period (by means outside the scope of this IPP/1.1 document). An administrator is encouraged to pick names that suggest the type of ...
... Printer object can process the job in a single pass. If the ranges are not ascending or are overlapping, the IPP object MUST reject the request and return the 'client-error-bad-request' status code ...
... include the subset of "media-supported" values that are physically loaded and ready for printing with no operator intervention required. If an IPP object supports "media-supported", it NEED NOT support "media-ready". ...
... authenticated printable name that it can obtain from the authentication service over which the IPP operation was received. Only if such is not available, does the Printer object use the value supplied by the client ...
... This REQUIRED attribute identifies the current state of the job. Even though the IPP protocol defines seven values for job states (plus the out-of-band 'unknown' value - see Section 4.1), ...
... output device is actually making marks on paper and/or the 'processing-to-stop-point' value to indicate that the IPP object is in the process of canceling or aborting the job. Most implementations won't bother with this nuance. ...
... As with all other IPP attributes, if the implementation cannot determine the correct value for this attribute, it SHOULD respond with the out-of-band ...
... provides detailed status about the print job, the implementation MAY set the IPP Job object's state to 'completed', provided that it also sets the 'queued-in-device' value in the job's "job-state ...
... Job Retention: When a job enters one of the three terminal job states: 'completed', 'canceled', or 'aborted', the IPP Printer object MAY "retain" the job in a restartable condition for an implementation-defined ...
... restart the job using the Restart-Job operation. If the IPP object supports the Restart-Job operation, then it SHOULD indicate that the job is restartable by ...
... implementation-defined time, such as when the number of jobs exceeds a fixed number or after a fixed time period (which MAY be zero seconds), the IPP Printer removes the job from the system. ...
... security policy, in effect, everyone is an operator as far as canceling jobs with IPP is concerned. This value SHOULD be supported if the implementation permits canceling by other than the owner of the job. ...
... If the implementation requires some measurable time to cancel the job in the 'processing' or 'processing-stopped' job states, the IPP object MUST use this value to indicate that the Printer object is still performing some actions on the job while the job remains in the 'processing' or 'processing-stopped' state ...
... operation (see section 3.3.7). If 'job-restartable' is a value of the job's 'job-state-reasons' attribute, then the IPP object MUST accept a Restart-Job operation for that job. This value ...
... Most Internet protocols use decimal error codes (unlike IPP), so the ASCII error code ...
... time at which certain events occur for a job. If the job event has not yet occurred, then the IPP object MUST return the 'no-value' out-of-band value (see the beginning of Section 4.1). The "time-at- ...
... charset is implementation-defined. The IPP object MUST convert from whatever the internal charset is to that being requested in an ...
... Note: How these attributes are set by an Administrator is outside the scope of this IPP/1.1 document. +----------------------------+---------------------------+-----------+ ...
... URI(s) and configures this attribute to contain those URIs by some means outside the scope of this IPP/1.1 document. The precise format of this URI is implementation dependent and depends on the protocol. ...
... Note: 'xxx' is not a valid scheme. See the IPP/1.1 "Transport and Encoding ...
... channel is secure. It is expected that many IPP Printer objects will be configured to support only one channel (either configured to use TLS ...
... 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 ...
... installer for this Printer object. This attribute is intended for consumption by automata. The mechanics of print driver installation is outside the scope of this IPP/1.1 document. The device manufacturer may initially populate this attribute. ...
... 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, print ...
... NOT update this attribute continually, since asynchronous event notification is not part of IPP/1.1. A Printer NEED NOT implement all values if they are not applicable to a given implementation. ...
... This REQUIRED attribute identifies the IPP protocol version(s) that this Printer supports, including major and minor versions ...
... '1.0': Meets the conformance requirement of IPP version 1.0 as specified in RFC 2566(-> 2911prop) ...
... version or any future version of the IPP "Model and Semantics" document or the IPP "Encoding ...
... the IPP "Model and Semantics" document or the IPP "Encoding and Transport ...
... version-number" parameter is '1.0'. '1.1': Meets the conformance requirement of IPP version 1.1 as specified in this document and [RFC2910 ...
... extensions registered according to Section 6 and any extension defined in any future versions of the IPP "Model and Semantics" document or the IPP ...
... IPP "Model and Semantics" document or the IPP Encoding and Transport document following ...
... the Printer and contained Job objects support in attributes with attribute syntax 'text' and 'name'. At least the value 'utf-8' MUST be present, since IPP objects MUST support the UTF-8 [RFC2279] ...
... charset. If a Printer object supports a charset, it means that for all attributes of syntax 'text' and 'name' the IPP object MUST (1) accept the charset in requests and return the charset ...
... If more charsets than UTF-8 are supported, the IPP object MUST perform charset conversion between the charsets ...
... language(s) supported depends on implementation and/or configuration. Unlike charsets, IPP objects MUST accept requests with any natural language or any Natural Language ...
... any type of color printing at all, including highlight color. All document instructions having to do with color are embedded within the document PDL (none are external IPP attributes in IPP/1.1). ...
... document instructions having to do with color are embedded within the document PDL (none are external IPP attributes in IPP/1.1). Note: end-users are able to determine the nature and details of the ...
... This REQUIRED Printer attribute expresses the ability for a particular Printer implementation to either attempt to override document data instructions with IPP attributes or not. This attribute takes on the following keyword values: ...
... - 'attempted': This value indicates that the Printer object attempts to make the IPP attribute values take precedence over embedded instructions in the document data, however there is no guarantee. ...
... guarantee. - 'not-attempted': This value indicates that the Printer object makes no attempt to make the IPP attribute values take precedence over embedded instructions in the document data. ...
... Section 15 contains a full description of how this attribute interacts with and affects other IPP attributes, especially the "ipp-attribute-fidelity" attribute. ...
... vendors supply a value for this attribute that is between 60 and 240 seconds. An implementation MAY allow a system administrator to set this attribute (by means outside this IPP/1.1 document). If so, the system administrator MAY be able to set values ...
... compression does not apply to the encoding of the IPP operation itself. The supported values are used to validate the client ...


... 1. contained within software controlled by an end user, e.g. activated by the "Print" menu item in an application that sends IPP requests or 2. the print server component that sends IPP ...
... IPP requests or 2. the print server component that sends IPP requests to either an output device or another "downstream ...
... conformance requirements placed on the user interfaces provided by IPP clients or their applications. For example, one application might not allow an end user to submit multiple documents per job, while another does. One application ...
... whereas a different implementation might not. When sending a request, an IPP client NEED NOT supply any attributes that are indicated as OPTIONALLY supplied by the client. ...
... A client MUST support Client Authentication as defined in the IPP/1.1 Encoding and Transport ...
... Operation Privacy and Server Authentication as defined in the IPP/1.1 Encoding and Transport ...
... IPP Object Conformance Requirements ...
... This section specifies the conformance requirements for conforming implementations of IPP objects (see section 2). These requirements apply to an IPP ...
... IPP objects (see section 2). These requirements apply to an IPP object whether it is: (1) an (embedded) device component that accepts IPP ...
... IPP object whether it is: (1) an (embedded) device component that accepts IPP requests and controls the device or ...
... controls the device or (2) a component of a print server that accepts IPP requests (where the print server control one or more networked devices using IPP or ...
... (2) a component of a print server that accepts IPP requests (where the print server control one or more networked devices using IPP or other protocols). ...
... Conforming IPP object implementations MUST implement all of the REQUIRED model operations, including REQUIRED responses, as defined in this document in the indicated sections: ...
... Restart-Job (section 3.3.7) OPTIONAL Conforming IPP objects MUST support all REQUIRED operation attributes and all values of such attributes if so indicated in the description. ...
... operation attributes and all values of such attributes if so indicated in the description. Conforming IPP objects MUST ignore all unsupported or unknown operation attributes or operation attribute ...
... operation attribute that contains an unsupported value. Conforming IPP objects MAY return operation responses that contain attributes groups, attributes names, attribute syntaxes, attribute ...
... IPP Object Attributes ...
... Conforming IPP objects MUST support all of the REQUIRED object attributes, as defined in this document in the indicated sections. ...
... IPP/1.1 clients MUST meet the conformance requirements for clients ...
... clients specified in this document and [RFC2910]. IPP/1.1 clients MUST send requests containing a "version ...
... version-number" parameter with a '1.1' value. IPP/1.1 Printer and Job objects MUST meet the conformance requirements for IPP objects specified in this document and ...
... IPP/1.1 Printer and Job objects MUST meet the conformance requirements for IPP objects specified in this document and [RFC2910]. IPP ...
... IPP objects specified in this document and [RFC2910]. IPP/1.1 objects MUST accept requests containing a "version-number" parameter with a '1.1' value (or reject the request ...
... It is beyond the scope of this specification to mandate conformance with previous versions. IPP/1.1 was deliberately designed, however, to make supporting previous versions easy. It is worth noting that, ...
... versions easy. It is worth noting that, at the time of composing this specification (1999), we would expect IPP/1.1 Printer implementations to: understand any valid ...
... understand any valid request in the format of IPP/1.0, or 1.1; respond appropriately with a response containing the same ...
... by the client in the request. And we would expect IPP/1.1 clients to: ...
... understand any valid response in the format of IPP/1.0, or 1.1. It is recommended that IPP ...
... IPP/1.0, or 1.1. It is recommended that IPP/1.1 clients try supplying alternate version numbers ...
... A conforming IPP object MAY support IETF standards track extensions and vendor ...
... For each attribute included in an operation response, a conforming IPP object MUST return a value whose type and value syntax conforms to the requirement ...
... An IPP object MUST be able to accept any of the attribute syntaxes defined in Section 4.1, including their full range, in any operation ...
... client may supply attributes or the system administrator may configure attributes (by means outside the scope of this IPP/1.1 document). In particular for each attribute that the IPP object ...
... may configure attributes (by means outside the scope of this IPP/1.1 document). In particular for each attribute that the IPP object supports whose attribute syntax is 'text', the IPP object MUST accept ...
... document). In particular for each attribute that the IPP object supports whose attribute syntax is 'text', the IPP object MUST accept and process both the 'textWithoutLanguage' and 'textWithLanguage' forms. Similarly, for each attribute that the IPP ...
... IPP object MUST accept and process both the 'textWithoutLanguage' and 'textWithLanguage' forms. Similarly, for each attribute that the IPP object supports whose attribute syntax is 'name', the IPP object MUST accept and ...
... forms. Similarly, for each attribute that the IPP object supports whose attribute syntax is 'name', the IPP object MUST accept and process both the 'nameWithoutLanguage' and 'nameWithLanguage' forms. Furthermore, an IPP ...
... IPP object MUST accept and process both the 'nameWithoutLanguage' and 'nameWithLanguage' forms. Furthermore, an IPP object MUST return attributes to the client in operation responses that conform to the syntax specified in Section ...
... An IPP Printer implementation SHOULD contain support for Client Authentication as defined in the IPP/1.1 Encoding ...
... An IPP Printer implementation SHOULD contain support for Client Authentication as defined in the IPP/1.1 Encoding and Transport ...
... authenticated. See also section 8 of this document. An IPP Printer implementation SHOULD contain support for Operation Privacy and Server Authentication ...
... Privacy and Server Authentication as defined in the IPP/1.1 Encoding and Transport ...
... client supplies a lower "version-number" parameter in a request. For example, if an IPP/1.1 conforming Printer object accepts version '1.0' requests and is ...
... All clients and IPP objects MUST support the 'utf-8' charset as defined in section 4.1.7. ...
... defined in section 4.1.7. IPP objects MUST be able to accept any client request which correctly uses the "attributes-natural-language ...
... Language Override mechanism on any individual attribute whether or not the natural language is supported by the IPP object. If an IPP object supports a natural language ...
... language is supported by the IPP object. If an IPP object supports a natural language, then it MUST be able to translate (perhaps by table lookup ...
... attribute values into one of the supported languages (see section 3.1.4). That is, the IPP object that supports a natural language NEED NOT be a general purpose translator of any arbitrary 'text' or ...


... IETF standards track extensions and vendor extensions to the IPP/1.1 Model and Semantics document: ...
... out-of-band attribute values Extensions registered for use with IPP/1.1 are OPTIONAL for client and IPP ...
... IPP/1.1 are OPTIONAL for client and IPP object conformance to the IPP/1.1 "Model and Semantics" ...
... client and IPP object conformance to the IPP/1.1 "Model and Semantics" document (this document). ...
... IANA will reject registration proposals that leave out required information or do not follow the appropriate format described in Section 11. The IPP/1.1 Model and Semantics document may also be extended by an appropriate RFC that ...
... IPP allows for 'keyword' and 'enum' extensions (see sections 4.1.2.3 and 4.1.4). This document uses prefixes to the 'keyword' and 'enum' ...
... meaning. "type1": This IPP specification document must be revised (or another IETF standards track document which augments this ...
... IANA will forward the registration proposal to the IPP Designated Expert who will review the proposal with a mailing list ...
... Designated Expert keeps for this purpose. Initially, that list will be the mailing list used by the IPP WG: ...
... ipp@pwg.org even after the IPP WG is disbanded as permitted by [IANA-CON]. ...
... IANA-CON]. The IPP Designated Expert is appointed by the IESG Area Director ...
... Designated Expert is appointed by the IESG Area Director responsible for IPP, according to [IANA-CON]. ...
... IANA-CON]. When a type2 keyword or enum is approved, the IPP Designated Expert becomes the point of contact for any future maintenance that might be required for that registration ...
... values by submitting the complete specification to IANA as for type2 who will forward the proposal to the IPP Designated Expert. While no additional technical review is required, the IPP ...
... IPP Designated Expert. While no additional technical review is required, the IPP Designated Expert may, at his/her discretion, forward the proposal to the same mailing list ...
... for advice and comment. When a type3 keyword or enum is approved by the IPP Designated Expert, the original proposer becomes the point of contact for any future maintenance that might be required for that ...
... technical review. After type2 and type3 enums specifications are approved, the IPP Designated Expert in consultation with IANA ...
... value MAY be registered in a type 1 manner (by being included in a future version of an IPP specification), however, it is NOT REQUIRED. This document defines keyword and enum values for all of the above ...
... vendor extension. For attribute syntaxes, the IPP Designated Expert in consultation with IANA ...
... "operations-supported" Printer attribute. For operations, the IPP Designated Expert in consultation with IANA ...
... For attribute groups, the IPP Designated Expert in consultation with IANA ...
... client-error" - The request contains bad syntax or cannot be fulfilled "server-error" - The IPP object failed to fulfill an apparently valid request ...
... For operation status codes, the IPP Designated Expert in consultation with IANA ...
... For out-of-band attribute value tags, the IPP Designated Expert in consultation with IANA ...


... charset and natural language for attributes returned by the IPP object in operation responses (as described in Section 3.1.4.1). ...
... described section 4.1.1.2 and 4.1.2.2 respectively. All IPP objects MUST support the UTF-8 [RFC2279] charset ...
... RFC2279] charset in all 'text' and 'name' attributes supported. If an IPP object supports more than the UTF-8 charset ...
... charset to the client according to Section 3.1.4.2. If an IPP object supports more than one natural language, the object SHOULD return 'text' and 'name' values in the ...
... charsets. If a charset is supported, the IPP object MUST be capable of converting to and from that charset into any other supported charset ...
... charset into any other supported charset. In many cases, an IPP object will support only one charset and it MUST be the UTF-8 ...
... charset which is the native charset given the current configuration of the IPP object (administrator defined). ...
... client supplied 'text' and 'name' attributes. For client supplied 'text' and 'name' attributes, an IPP object MUST accept ALL supplied natural languages. Just because a Printer object is currently ...
... language for generated messages which is the native natural language given the current configuration of the IPP object (administrator defined). ...
... object's "job-name" and "job-originating-user-name" attributes). The IPP object MUST accept these attributes in any natural language no matter what the set of supported ...
... must be reported using the Natural Language Override mechanism. 5. Some attributes are generated by the IPP object (e.g., the Job object's "job-state-message" attribute, the Printer object's ...
... client requests some natural language for these attributes other than one of the supported values, the IPP object SHOULD respond using the value of the "natural-language-configured" ...


... It is difficult to anticipate the security risks that might exist in any given IPP environment. For example, if IPP is used within a given corporation over a private network ...
... security risks that might exist in any given IPP environment. For example, if IPP is used within a given corporation over a private network, the risks of exposing document ...
... connection between the client and the IPP object is over a public network, the client may ...
... Furthermore, the value of the information being printed may vary from one IPP environment to the next. Printing payroll checks, for example, would have a different value than printing public information from a file. There is also the possibly of denial-of- ...
... Once the authenticated identity of the requester has been supplied to the IPP object, the object uses that identity to enforce any authorization policy ...
... policy might be that only the job owner is allowed to cancel a job. The details and mechanisms to set up a particular access control policy are not part of IPP/1.1, and must be established via some other type of administrative or access control framework ...
... framework. However, there are operation status codes that allow an IPP server to return information back to a client about any potential access control ...
... client about any potential access control violations for an IPP object. During a create ...
... Since the security levels or the specific threats that an IPP system administrator may be concerned with cannot be anticipated, IPP MUST ...
... security levels or the specific threats that an IPP system administrator may be concerned with cannot be anticipated, IPP MUST be capable of operating with different security mechanisms and ...
... The following sections describe specific security attacks for IPP environments. Where examples are provided they should be considered illustrative of the environment and not an exhaustive set. Not all of ...
... illustrative of the environment and not an exhaustive set. Not all of these environments will necessarily be addressed in initial implementations of IPP. ...
... In many IPP operations, a client supplies a list of attributes to be returned in the response. For security ...
... client supplies a list of attributes to be returned in the response. For security reasons, an IPP object may be configured not to return all attributes (or all values) that a client requests. The job attributes returned MAY depend on whether the ...
... client requests. The job attributes returned MAY depend on whether the requesting user is the same as the user that submitted the job. The IPP object MAY even return none of the requested attributes. In such cases, the status returned is the same as if the object had returned all requested attributes. The client ...
... is intended to be an operator or administrator of the Printer object (see section 1). Otherwise, the IPP Printer MUST reject the operation and return: 'client-error-forbidden', 'client ...
... Queries on jobs submitted using non-IPP protocols ...
... If the device that an IPP Printer is representing is able to accept jobs using other job submission protocols in addition to IPP ...
... IPP Printer is representing is able to accept jobs using other job submission protocols in addition to IPP, it is RECOMMENDED that such an implementation at least allow such "foreign" jobs to be queried using Get-Jobs returning "job-id" and "job-uri" as ...
... jobs to be queried using Get-Jobs returning "job-id" and "job-uri" as 'unknown'. Such an implementation NEED NOT support all of the same IPP job attributes as for IPP jobs. The IPP object returns the ...
... 'unknown'. Such an implementation NEED NOT support all of the same IPP job attributes as for IPP jobs. The IPP object returns the 'unknown' out-of-band ...
... IPP job attributes as for IPP jobs. The IPP object returns the 'unknown' out-of-band value for any requested attribute of a foreign ...
... 'unknown' out-of-band value for any requested attribute of a foreign job that is supported for IPP jobs, but not for foreign jobs. It is further RECOMMENDED, that the IPP Printer ...
... IPP jobs, but not for foreign jobs. It is further RECOMMENDED, that the IPP Printer generate "job-id" and "job-uri" values for such "foreign jobs", if possible, so that they may be targets ...
... "job-uri" values for such "foreign jobs", if possible, so that they may be targets of other IPP operations, such as Get-Job-Attributes and Cancel-Job. Such an implementation also needs to deal with the problem of authentication ...
... authentication of such foreign jobs. One approach would be to treat all such foreign jobs as belonging to users other than the user of the IPP client. Another approach would be for the foreign job to belong to 'anonymous'. Only if the IPP client has ...
... the user of the IPP client. Another approach would be for the foreign job to belong to 'anonymous'. Only if the IPP client has been authenticated as an operator or administrator ...
... been authenticated as an operator or administrator of the IPP Printer object, could the foreign jobs be queried by an IPP request. ...
... administrator of the IPP Printer object, could the foreign jobs be queried by an IPP request. Alternatively, if the security policy is to allow users to query ...
... other users' jobs, then the foreign jobs would also be visible to an end-user IPP client using Get-Jobs and Get-Job-Attributes. ...


... Herriot, R., Hastings, T., Jacobs, N. and J. Martin, "Mapping between LPD and IPP Protocols", RFC 2569exp, April 1999. ...


... EMail: papowell@astart.com IPP Web Page: http://www.pwg.org/ipp/ IPP Mailing List ...
... IPP Web Page: http://www.pwg.org/ipp/ IPP Mailing List: ipp@pwg.org ...
... Implementers of this specification document are encouraged to join IPP Mailing List in order to participate in any discussions of ...


... Formats for IPP Registration Proposals ...
... In order to propose an IPP extension for registration, the proposer must submit an application to IANA ...
... information and the formats for proposing registrations of extensions to IPP as provided in Section 6 for: 1. type2 'keyword' attribute values ...
... Name of attribute to which this keyword specification is to be added: Proposed keyword name of this keyword value: Specification of this keyword value (follow the style of IPP Model Section 4.1.2.3): Name of proposer: ...
... Name of attribute to which this keyword specification is to be added: Proposed keyword name of this keyword value: Specification of this keyword value (follow the style of IPP Model Section 4.1.2.3): Name of proposer: ...
... Name of attribute to which this enum specification is to be added: Keyword symbolic name of this enum value: Numeric value (to be assigned by the IPP Designated Expert in consultation with IANA ...
... IANA): Specification of this enum value (follow the style of IPP Model Section 4.1.4): Name of proposer: ...
... Name of attribute to which this enum specification is to be added: Keyword symbolic name of this enum value: Numeric value (to be assigned by the IPP Designated Expert in consultation with IANA ...
... consultation with IANA): Specification of this enum value (follow the style of IPP Model Section 4.1.4): Name of proposer: ...
... If this is a Job Template attribute, how does its specification depend on the value of the "multiple-document-handling" attribute: Specification of this attribute (follow the style of IPP Model Section 4.2): Name of proposer: ...
... Email address of proposer: Note: For attributes, the IPP Designated Expert will be the point of contact for the approved registration ...
... Numeric tag according to [RFC2910] (to be assigned by the IPP Designated Expert in consultation with IANA ...
... Designated Expert in consultation with IANA): Specification of this attribute (follow the style of IPP Model Section 4.1): Name of proposer: ...
... Email address of proposer: Note: For attribute syntaxes, the IPP Designated Expert will be the point of contact for the approved registration ...
... Proposed name of this operation: Numeric operation-id value according to section 4.4.15 (to be assigned by the IPP Designated Expert in consultation with IANA): ...
... Object Target (Job, Printer, etc. that operation is upon): Specification of this operation (follow the style of IPP Model Section 3): Name of proposer: ...
... Email address of proposer: Note: For operations, the IPP Designated Expert will be the point of contact for the approved registration ...
... Numeric tag according to [RFC2910] (to be assigned by the IPP Designated Expert in consultation with IANA ...
... group occurs: Specification of this attribute group (follow the style of IPP Model Section 3): Name of proposer: ...
... Note: For attribute groups, the IPP Designated Expert will be the point of contact for the approved registration ...
... Keyword symbolic name of this status code value: Numeric value (to be assigned by the IPP Designated Expert in consultation with IANA ...
... status code may be used with: Specification of this status code (follow the style of IPP Model Section 13 APPENDIX B: Status Codes and Suggested Status Code ...
... Numeric tag according to [RFC2910] (to be assigned by the IPP Designated Expert in consultation with IANA): ...
... Specification of this out-of-band attribute value (follow the style of the beginning of IPP Model Section 4.1): Name of proposer: Address ...
... Note: For out-of-band attribute values, the IPP Designated Expert will be the point of contact for the approved registration ...


... An attribute is an item of information that is associated with an instance of an IPP object. An attribute consists of an attribute name and one or more attribute values. Each attribute has a specific attribute syntax. All object attributes ...
... Printer object supports an attribute value if the value is one of the Printer object's "supported values" attributes. The device behind a Printer object may exhibit a behavior that corresponds to some IPP attribute, but if the Printer object, when queried for that attribute, doesn't respond with the attribute, then as far as IPP ...
... IPP attribute, but if the Printer object, when queried for that attribute, doesn't respond with the attribute, then as far as IPP is concerned, that implementation does not support that feature. If the Printer object's "xxx-supported" attribute is not populated with a ...
... A conforming implementation MUST support all REQUIRED attributes. However, even for REQUIRED attributes, conformance to IPP does not mandate that all implementations support all possible values representing all possible job processing behaviors and features. For ...
... that attribute. This limited set of values represents the Printer's set of supported document formats. Supporting an attribute and some set of values for that attribute enables IPP end users to be aware of and make use of those features associated with that attribute and those values. If an implementation chooses to not support an ...
... and make use of those features associated with that attribute and those values. If an implementation chooses to not support an attribute or some specific value, then IPP end users would have no ability to make use of that feature within the context of IPP ...
... IPP end users would have no ability to make use of that feature within the context of IPP itself. However, due to existing practice and legacy systems which are not ...
... However, due to existing practice and legacy systems which are not IPP aware, there might be some other mechanism outside the scope of IPP to control or request the "unsupported" feature (such as embedded ...
... IPP aware, there might be some other mechanism outside the scope of IPP to control or request the "unsupported" feature (such as embedded instructions within the document data itself). ...
... value of 'staple'. 2) A Printer object is physically capable of stapling, however an implementation chooses not to support stapling in the IPP "finishings" attribute. In this case, 'staple' MUST NOT be a value in the "finishings-supported" Printer object attribute ...
... value in the "finishings-supported" Printer object attribute. Without support for the value 'staple', an IPP end user would have no means within the protocol itself to request that a Job be stapled. However, an existing document data formatter might ...
... be able to request that the document be stapled directly with an embedded instruction within the document data. In this case, the IPP implementation does not "support" stapling, however the end user is still able to have some control over the stapling of the completed job. ...
... the stapling of the completed job. 3) A Printer object is physically capable of stapling, and an implementation chooses to support stapling in the IPP "finishings" attribute. In this case, 'staple' MUST be a value in the "finishings-supported" Printer object attribute ...
... object attribute. Doing so, would enable end users to be aware of and make use of the stapling feature using IPP attributes. Even though support for Job Template attributes by a Printer object ...
... is OPTIONAL, it is RECOMMENDED that if the device behind a Printer object is capable of realizing any feature or function that corresponds to an IPP attribute and some associated value, then that implementation SHOULD support that IPP attribute and value. ...
... corresponds to an IPP attribute and some associated value, then that implementation SHOULD support that IPP attribute and value. The set of values in any of the supported value attributes is set ...
... The set of values in any of the supported value attributes is set (populated) by some administrative process or automatic sensing mechanism that is outside the scope of this IPP/1.1 document. For administrative policy and control reasons, an administrator may ...
... choose to make only a subset of possible values visible to the end user. In this case, the real output device behind the IPP Printer abstraction may be capable of a certain feature, however an administrator ...
... administrator is specifying that access to that feature not be exposed to the end user through the IPP protocol. Also, since a Printer object may represent a logical print device (not just a physical ...


... user. Since the status message is an OPTIONAL component of the operation response, an IPP application (i.e., a browser, GUI, print driver or gateway ...
... client-error" - The request contains bad syntax or cannot be fulfilled "server-error" - The IPP object failed to fulfill an apparently valid request ...
... valid request As with type2 enums, IPP status codes are extensible. IPP clients ...
... As with type2 enums, IPP status codes are extensible. IPP clients are NOT REQUIRED to understand the meaning of all registered status codes, though such understanding is obviously desirable. However, ...
... are NOT REQUIRED to understand the meaning of all registered status codes, though such understanding is obviously desirable. However, IPP clients MUST understand the class of any status code, as ...
... client- error-bad-request" status code. In such cases, IPP applications SHOULD present the OPTIONAL message (if present) to the end user since the message is likely to contain human readable information ...
... Implementer's Guide [IPP-IIG] describe the suggested steps for processing IPP attributes for all operations, including returning status codes. ...
... There are no status codes defined in IPP/1.1 for this class of status code. ...
... requested-attributes" operation attribute are requesting attributes that are not supported, the IPP object MAY, but is NOT REQUIRED to, return the "requested-attributes" attribute in ...
... There are no status codes defined in IPP/1.1 for this class of status code. ...
... status code is intended for cases in which the client seems to have erred. The IPP object SHOULD return a message containing an explanation of the error situation and whether it is a temporary or permanent condition. ...
... The request could not be understood by the IPP object due to malformed syntax (such as the value of a fixed length attribute whose length does not match the prescribed length for that attribute - see ...
... the Implementer's Guide [IPP-IIG] ). The IPP application SHOULD NOT repeat the request without modifications. ...
... The IPP object understood the request, but is refusing to fulfill it. Additional authentication information or authorization ...
... credentials will not help and the request SHOULD NOT be repeated. This status code is commonly used when the IPP object does not wish to reveal exactly why the request has been refused or when no other response is applicable. ...
... The request requires user authentication. The IPP client may repeat the request with suitable authentication information. If the request ...
... and the request SHOULD NOT be repeated. This status code is used when the IPP object wishes to reveal that the authentication information is understandable, however, the requester is explicitly not authorized to perform the request. This status codes ...
... status code is used when the request is for something that can not happen. For example, there might be a request to cancel a job that has already been canceled or aborted by the system. The IPP client SHOULD NOT repeat the request. ...
... The client did not produce a request within the time that the IPP object was prepared to wait. For example, a client issued a Create ...
... Document operation and this error status code was returned in response to the Send-Document request (see section 3.3.1). The IPP object might have been forced to clean up resources that had been held for the waiting additional Documents. The IPP ...
... IPP object might have been forced to clean up resources that had been held for the waiting additional Documents. The IPP object was forced to close the Job since the client took too long. The client ...
... The IPP object has not found anything matching the request URI. No indication is given of whether the condition is temporary or ...
... the document can not be found. In practice, an IPP application should avoid a not found situation by first querying and presenting a list of valid Printer URIs ...
... delete references to the request URI after user approval. If the IPP object does not know or has no facility to determine, whether or not the condition is permanent, the status code ...
... by notifying the recipient that the resource is intentionally unavailable and that the IPP object administrator desires that remote links ...
... permanently unavailable resources as "gone" or to keep the mark for any length of time -- that is left to the discretion of the IPP object administrator and/or Printer implementation. ...
... The IPP object is refusing to process a request because the request entity is larger than the IPP ...
... IPP object is refusing to process a request because the request entity is larger than the IPP object is willing or able to process. An IPP Printer returns this status code ...
... entity is larger than the IPP object is willing or able to process. An IPP Printer returns this status code when it limits the size of print jobs and it receives a print job ...
... encoding causes the request entity to exceed IPP object capacity. ...
... The IPP object is refusing to service the request because one or more of the client ...
... of the client-supplied attributes has a variable length value that is longer than the maximum length specified for that attribute. The IPP object might not have sufficient resources (memory, buffers, etc.) to ...
... than the maximum length. Another use of this error code is when the IPP object supports the processing of a large value that is less than the maximum length, but during the processing of the request as a whole, the object may pass the value onto some other system component ...
... client has improperly submitted a request with long query information (e.g. an IPP application allows an end- user to enter an invalid URI), when the client ...
... prefix that points to a suffix of itself), or when the IPP object is under attack by a client ...
... by a client attempting to exploit security holes present in some IPP objects using fixed-length buffers for reading or manipulating the ...
... The IPP object is refusing to service the request because the document data is in a format, as specified in the "document-format" ...
... Jobs, Get-Printer-Attributes, or Get-Job-Attributes operation), if the IPP object does not support one or more of the requested attributes, the IPP object simply ignores the unsupported requested ...
... the IPP object does not support one or more of the requested attributes, the IPP object simply ignores the unsupported requested attributes and processes the request as if they had not been supplied, rather than returning this status code ...
... supplied, rather than returning this status code. In this case, the IPP object MUST return the 'successful-ok-ignored-or-substituted- attributes' status code and MAY return the unsupported attributes as ...
... For any operation, if the IPP Printer does not support the charset supplied by the client ...
... The IPP object is refusing to service the request because the document data, as specified in the "compression ...
... The IPP object is refusing to service the request because the document data cannot be decompressed when using the algorithm ...
... The IPP object is refusing to service the request because Printer encountered an error in the document data while interpreting it. ...
... The IPP object is refusing to service the Print-URI or Send-URI ...
... This class of status codes indicates cases in which the IPP object is aware that it has erred or is incapable of performing the request. The IPP ...
... IPP object is aware that it has erred or is incapable of performing the request. The IPP object SHOULD include a message containing an explanation of the error situation, and whether it is a temporary or permanent condition. ...
... The IPP object encountered an unexpected condition that prevented it from fulfilling the request. This error status code differs from ...
... The IPP object does not support the functionality required to fulfill the request. This is the appropriate response when the IPP object ...
... The IPP object does not support the functionality required to fulfill the request. This is the appropriate response when the IPP object does not recognize an operation or is not capable of supporting it. See sections 3.1.6.1 and 3.1.7. ...
... The IPP object is currently unable to handle the request due to a temporary overloading or maintenance of the IPP object. The ...
... The IPP object is currently unable to handle the request due to a temporary overloading or maintenance of the IPP object. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay may be ...
... implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay may be indicated in the message. If no delay is given, the IPP application should handle the response as it would for a "server-error- temporary-error" response. If the condition is more permanent, the ...
... The IPP object does not support, or refuses to support, the IPP protocol version ...
... The IPP object does not support, or refuses to support, the IPP protocol version that was supplied as the value of the "version ...
... version that was supplied as the value of the "version- number" operation parameter in the request. The IPP object is indicating that it is unable or unwilling to complete the request using the same major and minor version number ...
... version is not supported and what other versions are supported by that IPP object. See sections 3.1.6.1, 3.1.7, and 3.1.8. ...
... version-number" operation parameter the closest version number that the IPP object does support. For example, if a client supplies version ...
... client supplies version '1.0' and an IPP/1.1 object supports version '1.0', then it responds with version ...
... version '1.0', then it responds with version '1.0' in all responses to such a request. If the IPP/1.1 object does not support version '1.0', then it should accept the request and ...
... '1.1'. If a client supplies a version '1.2', the IPP/1.1 object should accept the request and return version '1.1' or may reject the ...
... A printer error, such as a paper jam, occurs while the IPP object processes a Print or Send operation. The response contains the true Job Status (the values of the "job-state ...
... buffer full write error, a memory overflow (i.e. the document data exceeds the memory of the Printer), or a disk full condition, occurs while the IPP Printer processes an operation. The client MAY try the unmodified request again at some ...
... administrator has set the value of the Printer's "printer-is-accepting-jobs" attribute to 'false' (by means outside the scope of this IPP/1.1 document). ...
... the system while the client was transmitting the data to the IPP Printer. If a job-id and job-uri had been created, then they are returned in the Print-Job ...
... The IPP object does not support multiple documents per job and a client attempted to supply document data with a second Send-Document ...
... Status Codes for IPP Operations ...
... Get-Printer-Attributes, GJ = Get-Jobs, C = Cancel-Job IPP Operations IPP Status Keyword PJ PU CJ SD ...
... IPP Operations IPP Status Keyword PJ PU CJ SD SU V GA GJ C ------------------ -- -- -- -- -- - -- -- - ...
... RP = Resume-Printer, PJ = Purge-Jobs IPP Operations (cont.) IPP Status Keyword HJ RJ RS ...
... IPP Operations (cont.) IPP Status Keyword HJ RJ RS PP RP ...


... APPENDIX D: Processing IPP Attributes ...
... When submitting a print job to a Printer object, the IPP model allows a client to supply operation and Job Template attributes along with ...
... The following sections describe how these two types of conflicts are handled in the IPP model. ...
... ignored." The IPP model accounts for this situation by introducing an "ipp- attribute-fidelity" attribute. ...
... If there is a conflict between the value of an IPP Job Template attribute and a corresponding instruction in the document data, the value of the IPP ...
... IPP Job Template attribute and a corresponding instruction in the document data, the value of the IPP attribute SHOULD take precedence over the document instruction. Consider the case where a previously formatted file of document data is sent to an IPP Printer ...
... IPP attribute SHOULD take precedence over the document instruction. Consider the case where a previously formatted file of document data is sent to an IPP Printer. In this case, if the client supplies any attributes at job submission time, the client ...
... an end user that only has access to a printer with 'na-letter' media loaded. That end user most likely wants to submit that document to an IPP Printer with the "media" Job Template attribute set to 'na- letter'. The job submission attribute should take precedence over the embedded PDL instruction. However, until companies ...
... the embedded PDL instruction. However, until companies that supply document data interpreters allow a way for external IPP attributes to take precedence over embedded job production instructions, a Printer might not be able to support the semantics ...
... take precedence over embedded job production instructions, a Printer might not be able to support the semantics that IPP attributes override the embedded instructions. ...
... override the embedded instructions. The IPP model accounts for this situation by introducing a "pdl- override-supported" attribute that describes the Printer objects capabilities to override instructions embedded in the PDL data stream ...
... capabilities to override instructions embedded in the PDL data stream. The value of the "pdl-override-supported" attribute is configured by means outside the scope of this IPP/1.1 document. This REQUIRED Printer attribute takes on the following values: ...
... - 'attempted': This value indicates that the Printer object attempts to make the IPP attribute values take precedence over embedded instructions in the document data, however there is no guarantee. ...
... guarantee. - 'not-attempted': This value indicates that the Printer object makes no attempt to make the IPP attribute values take precedence over embedded instructions in the document data. ...
... 1) Generate an output device specific command sequence to realize the feature represented by the IPP attribute value. 2) Parse the document data itself and replace the conflicting embedded instruction with a new embedded instruction that ...
... 2) Parse the document data itself and replace the conflicting embedded instruction with a new embedded instruction that matches the intent of the IPP attribute value. 3) Indicate to the Printer that external supplied attributes take precedence over embedded instructions and then pass the ...
... 3) Indicate to the Printer that external supplied attributes take precedence over embedded instructions and then pass the external IPP attribute values to the document data interpreter. 4) Anything else that allows for the semantics that IPP ...
... IPP attribute values to the document data interpreter. 4) Anything else that allows for the semantics that IPP attributes override embedded document data instructions. ...
... Since 'attempted' does not offer any type of guarantee, even though a given Printer object might not do a very "good" job of attempting to ensure that IPP attributes take a higher precedence over instructions embedded in the document data, it would still be a conforming implementation. ...
... semantics for the client-supplied IPP attributes as for the Printer object defaults. ...
... instruction with a new embedded instruction that approximates, but does not match, the semantic intent of the IPP attribute value. ...
... ability of the Printer to override the instructions embedded in the document data with the semantics of the IPP attributes. If the document data attributes can be overridden ("pdl-override-supported" set to 'attempted'), the Printer makes an attempt to use the IPP ...
... IPP attributes. If the document data attributes can be overridden ("pdl-override-supported" set to 'attempted'), the Printer makes an attempt to use the IPP attributes when processing the Job. If the document data attributes can not be overridden ("pdl-override-supported" set to 'not- ...
... can not be overridden ("pdl-override-supported" set to 'not- attempted'), the Printer makes no attempt to override the embedded document data instructions with the IPP attributes when processing the Job, and hence, the IPP attributes may fail to affect the Job ...
... document data instructions with the IPP attributes when processing the Job, and hence, the IPP attributes may fail to affect the Job processing and output when the corresponding instruction is embedded in the document data. ...


... service users can locate service providers. In IPP environments, this means that IPP Printers can be registered (either automatically or with the help of an administrator ...
... locate service providers. In IPP environments, this means that IPP Printers can be registered (either automatically or with the help of an administrator) as entries of type printer in the directory using ...
... that they are only allowed to find entries to which they have certain access rights. IPP itself does not require any specific directory service protocol or provider. ...
... In each case, each alias refers to the same directory entry object which refers to a single IPP Printer object. The generic schema is a subset of IPP Printer ...
... IPP Printer object. The generic schema is a subset of IPP Printer Job Template and Printer Description attributes (sections 4.2 and 4.4). These attributes are identified as either RECOMMENDED or OPTIONAL for the ...
... attributes are identified as either RECOMMENDED or OPTIONAL for the directory entry itself. This conformance labeling is NOT the same conformance labeling applied to the attributes of IPP Printers objects. The conformance labeling in this Appendix is intended to apply to directory templates and to IPP Printer ...
... IPP Printers objects. The conformance labeling in this Appendix is intended to apply to directory templates and to IPP Printer implementations that subscribe by adding one or more entries to a directory. RECOMMENDED ...
... The names of attributes in directory schema and entries SHOULD be the same as the IPP Printer attribute names as shown, as much as possible. ...
... In order to bridge between the directory service and the IPP Printer object, one of the RECOMMENDED directory entry attributes is the Printer object's "printer-uri-supported" attribute. The directory ...
... client queries the "printer-uri-supported" attribute (or its equivalent) in the directory entry and then the IPP client addresses the IPP Printer ...
... IPP client addresses the IPP Printer object using one of its URIs. The "uri-security- ...


... APPENDIX F: Differences between the IPP/1.0 and IPP/1.1 "Model and Semantics ...
... APPENDIX F: Differences between the IPP/1.0 and IPP/1.1 "Model and Semantics" Documents ...
... This Appendix is divided into two lists that summarize the differences between IPP/1.1 (this document) and IPP/1.0 [RFC2566]. ...
... This Appendix is divided into two lists that summarize the differences between IPP/1.1 (this document) and IPP/1.0 [RFC2566]. The section numbers refer to the numbers in this document which in ...
... semantics or conformance. However, client and IPP object implementations of IPP/1.0 MAY implement any of the extensions and clarifications in this document. ...
... client and IPP object implementations of IPP/1.0 MAY implement any of the extensions and clarifications in this document. ...
... contained in software controlled by an end user or a part of a print server that controls devices. 2. Section 2 - clarified that the term "IPP object" and "Printer object" can either be embedded in a device object or part of a print server that accepts IPP ...
... IPP object" and "Printer object" can either be embedded in a device object or part of a print server that accepts IPP requests. 3. Section 2.4 - added the description of the new "uri- authentication ...
... 5. Section 3.1.3 - clarified that multiple occurrences of the same attribute in an attribute group is mal-formed. An IPP Printer MAY reject the request or choose one of the attributes. 6. Section 3.1.6 - reorganized this section into sub-sections to ...
... channel is flow controlled off by the IPP Printer. 63. Section 5.2 - clarified that the IPP object requirements ...
... flow controlled off by the IPP Printer. 63. Section 5.2 - clarified that the IPP object requirements apply to objects embedded in devices or that are parts of servers. ...
... requirements apply to objects embedded in devices or that are parts of servers. 64. Section 5.2.2 - clarified that IPP objects MAY return operation responses that contain attribute groups, attribute names ...
... media names and drawings for the synchro cut sizes. 75. Section 16 - softened the RECOMMENDATION for IPP Printer attributes in a Directory schema so that they can have ...
... meaning of such messages. 2. Section 3.1.8, 5.2.4, and 13.1.5.4 - Clients and IPP objects MUST support version 1.1 conformance requirements ...
... conformance requirements. It is recommended that they interoperate with 1.0. Also clarified that IPP Printers MUST accept '1.1' requests. It is recommended that they also accept '1.x' requests. 3. Section 3.2.1.1 and section 4.4.32 - changed the "compression ...
... 18. Section 4.4.14 - added the REQUIRED "ipp-versions-supported (1setOf keyword)" Printer Description attribute, since IPP/1.1 Printers do not have to support version '1.0' conformance requirements ...
... security requirements from RECOMMENDED non-standards track SSL3 to MUST support Client Authentication as defined in the IPP/1.1 Encoding and Transport ...
... Privacy and Server Authentication as defined in the IPP/1.1 Encoding and Transport document [RFC2910 ...
... Transport document [RFC2910]. 22. Section 5.2.7 - changed the IPP object security requirements from OPTIONAL non-standards track SSL3 to SHOULD contain ...
... from OPTIONAL non-standards track SSL3 to SHOULD contain support for Client Authentication as defined in the IPP/1.1 Encoding and Transport ...
... Printer so that all, some, or none of the users are authenticated. An IPP Printer implementation SHOULD contain support for Operation Privacy and Server Authentication ...
... Privacy and Server Authentication as defined in the IPP/1.1 Encoding and Transport document ...
... 'iso-10-white' to 'iso-a10-white'. See also the "IPP/1.1 Encoding and Transport" [RFC2910 ...
... Transport" [RFC2910] document for differences between IPP/1.0 [RFC2565] and IPP/1.1 [RFC2910 ...
... differences between IPP/1.0 [RFC2565] and IPP/1.1 [RFC2910]. ...



Google
Web
RFC-Ref