11. Conformance Requirements
The Job and Printer Administrative operations defined in this
document are OPTIONAL operations. However, some operations MUST be
implemented if others are implemented, as shown in Table 9.
Table 9. Conformance Requirement Dependencies for Operations
Operations REQUIRED If any of these operations are
Schedule-Job-After Promote-JobTables 10 and 11 list the "printer-state-reasons" and "job-state-
reasons" values that are REQUIRED if the indicated operations are
Table 10. Conformance Requirement Dependencies for
"printer-state- Conformance If any of the following Printer
reasons" values: Requirement Operations are supported:
'paused' REQUIRED Pause-Printer,
'hold-new-jobs' REQUIRED Hold-New-Jobs
'moving-to-paused' OPTIONAL Pause-Printer,
'deactivated' REQUIRED Deactivate-Printer
Table 11. Conformance Requirement Dependencies for "job-state-
"job-state-reasons" Conformance If any of the following Job
values: Requirement operations are supported:
'job-suspended' REQUIRED Suspend-Current-Job
'printer-stopped' REQUIRED Always REQUIRED12. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2246] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0",
RFC 2246, January 1999.
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
[RFC2910] Herriot, R., Butler, S., Moore, P., Turner, R., and J.
Wenn, "Internet Printing Protocol/1.1: Encoding and
Transport", RFC 2910, September 2000.
[RFC2911] Hastings, T., Herriot, R., deBry, R., Isaacson, S., and P.
Powell, "Internet Printing Protocol/1.1: Model and
Semantics", RFC 2911, September 2000.
[RFC3380] Hastings, T., Herriot, R., Kugler, C., and H. Lewis,
"Internet Printing Protocol (IPP): Job and Printer Set
Operations", RFC 3380, September 2002.
13. Informative References
[RFC2567] Wright, F., "Design Goals for an Internet Printing
Protocol", RFC 2567, April 1999.
[RFC2568] Zilles, S., "Rationale for the Structure of the Model and
Protocol for the Internet Printing Protocol", RFC 2568,
[RFC2569] Herriot, R., Hastings, T., Jacobs, N., and J. Martin,
"Mapping between LPD and IPP Protocols", RFC 2569, April
[RFC3196] Hastings, T., Manros, C., Zehler, P., Kugler, C., and H.
Holst, "Internet Printing Protocol/1.1: Implementor's
Guide", RFC 3196, November 2001.
[RFC3239] Kugler, C., Lewis, H., and T. Hastings, "Internet Printing
Protocol (IPP): Requirements for Job, Printer, and Device
Administrative Operations", RFC 3239, February 2002.
[RFC3995] Herriot, R. and T. Hastings, "Internet Printing Protocol
(IPP): Event Notifications and Subscriptions", RFC 3995,
14. IANA Considerations
This section contains the registration information that IANA added to
the IPP Registry according to the procedures defined in [RFC2911],
section 6, to cover the definitions in this document. The resulting
registrations have been published as additions to the
14.1. Attribute Registrations
The following table lists all the attributes defined in this
document. These have been registered according to the procedures in
[RFC2911], section 6.2.
Name Reference Section
-------------------------------------- --------- -------
Job Description attributes:
original-requesting-user-name (name(MAX)) [RFC3998] 10.8.2
Printer Description attributes:
subordinate-printers-supported (1setOf uri) [RFC3998] 7.1
parent-printers-supported (1setOf uri) [RFC3998] 7.2
original-requesting-user-name (name(MAX)) [RFC3998] 10.8.214.2. Attribute Value Registrations
This section lists the additional values defined in this document for
Value Reference Section
--------------------- --------- -------
job-state-reasons (1setOf type2 keyword)
job-suspended [RFC3998] 9.1
printer-state-reasons (1setOf type2 keyword)
hold-new-jobs [RFC3998] 8.1
deactivated [RFC3998] 8.214.3. Additional Enum Attribute Value Registrations
The following table lists all the new enum attribute values defined
in this document. These have been registered according to the
procedures in [RFC2911], section 6.1.
14.5. Status Code Registrations
The following table lists the status code defined in this document.
This has been registered according to the procedures in [RFC2911],
Value Name Reference Section
------ ------------------------ --------- -------
0x0000:0x00FF - "successful"
none at this time
0x0100:0x01FF - "informational"
none at this time
0x0300:0x03FF - "redirection" See RFC 2911 Errata
none at this time
0x0400:0x04FF - "client-error"
none at this time
0x0500:0x05FF - "server-error"
0x050A server-error-printer-is-deactivated [RFC3998] 5.115. Internationalization Considerations
This document has the same localization considerations as [RFC2911].
16. Security Considerations
The IPP Model and Semantics document [RFC2911] discusses high level
security requirements (Client Authentication, Server Authentication,
and Operation Privacy). Client Authentication is the mechanism by
which the client proves its identity to the server in a secure
manner. Server Authentication is the mechanism by which the server
proves its identity to the client in a secure manner. Operation
Privacy is defined as a mechanism for protecting operations from
Printer operations defined in this specification (see section 3), as
well as Pause-Printer, Resume-Printer, and Purge-Job (defined in
[RFC2911]) are intended for use by an operator and/or administrator.
Job operations defined in this specification (see section 4) and
Cancel-Job, Hold-Job, and Release-Job (defined in [RFC2911]) are
intended for use by the job owner, operator, or administrator of the
Printer object. These operator and administrator operations affect
service for all users.
Inappropriate use of an administrative operation by an
unauthenticated end user can affect the quality of service for all
users. Therefore, IPP Printer implementations MUST support both
successful certificate-based TLS [RFC2246] client authentication and
successful operator/administrator authorization (see [RFC2911],
sections 5.2.7 and 8, and [RFC2910]) to perform the administrative
operations defined in this document. [RFC2910] requires the IPP
Printer to support the minimum cipher suite specified for TLS/1.0.
The means for authorizing an operator or administrator of the Printer
object are outside the scope of this specification, RFC 2910, and RFC
The use of TLS and Client Authentication solves the Denial of
Service, Man in the Middle, and Masquerading security threats.
17. Summary of Base IPP Documents
The base set of IPP documents includes the following:
Design Goals for an Internet Printing Protocol [RFC2567]
Rationale for the Structure and Model and Protocol for the
Internet Printing Protocol [RFC2568]
Internet Printing Protocol/1.1: Model and Semantics [RFC2911]
Internet Printing Protocol/1.1: Encoding and Transport [RFC2910]
Internet Printing Protocol/1.1: Implementer's Guide [RFC3196]
Mapping between LPD and IPP Protocols [RFC2569]
"Design Goals for an Internet Printing Protocol" takes a broad look
at distributed printing functionality, and it enumerates real-life
scenarios that help clarify the features that have to be included in
a printing protocol for the Internet. It identifies requirements for
three types of users: end users, operators, and administrators. It
calls out a subset of end user requirements that are satisfied in
IPP/1.0. A few OPTIONAL operator operations have been added to
"Rationale for the Structure and Model and Protocol for the Internet
Printing Protocol" describes IPP from a high level view, defines a
roadmap for the various documents that form the suite of IPP
specification documents, and gives background and rationale for the
IETF working group's major decisions.
"Internet Printing Protocol/1.1: Model and Semantics" describes a
simplified model with abstract objects, their attributes, and their
operations that are independent of encoding and transport. It
introduces a Printer and a Job object. The Job object optionally
supports multiple documents per Job. It also addresses security,
internationalization, and directory issues.
"Internet Printing Protocol/1.1: Encoding and Transport" is a formal
mapping of the abstract operations and attributes defined in the
model document onto HTTP/1.1 [RFC2616]. It defines the encoding
rules for a new Internet MIME media type called "application/ipp".
This document also defines the rules for transporting over HTTP a
message body whose Content-Type is "application/ipp". This document
defines the 'ippget' scheme for identifying IPP printers and jobs.
"Internet Printing Protocol/1.1: Implementer's Guide" gives insight
and advice to implementers of IPP clients and IPP objects. It is
intended to help them understand IPP/1.1 and some of the
considerations that may assist them in the design of their client
and/or IPP object implementations. For example, a typical order of
processing requests is given, including error checking. Motivation
for some of the specification decisions is also included.
"Mapping between LPD and IPP Protocols" gives some advice to
implementers of gateways between IPP and LPD (Line Printer Daemon)
IBM Corporation, 003G
6300 Diagonal Hwy
Boulder, CO 80301
Phone: (303) 924-5060
Tom Hastings, editor
701 S Aviation Blvd. ESAE 242
El Segundo, CA 90245
6300 Diagonal Hwy
Boulder, CO 80301
Phone: (303) 924-5337
Full Copyright Statement
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
Funding for the RFC Editor function is currently provided by the