tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Gloss.     Arch.     IMS     UICC    |    Misc.    |    search     info

RFC 3998


Internet Printing Protocol (IPP): Job and Printer Administrative Operations

Part 3 of 3, p. 38 to 46
Prev RFC Part


prevText      Top      Up      ToC       Page 38 
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
   Enable-Printer                  Disable-Printer
   Disable-Printer                 Enable-Printer
   Pause-Printer                   Resume-Printer
   Resume-Printer                  Pause-Printer,
   Hold-New-Jobs                   Release-Held-New-Jobs
   Release-Held-New-Jobs           Hold-New-Jobs
   Activate-Printer,               Deactivate-Printer
   Deactivate-Printer,             Activate-Printer
   Restart-Printer                 none
   Shutdown-Printer                none
   Startup-Printer                 none
   Reprocess-Job                   none
   Cancel-Current-Job              none
   Resume-Job                      Suspend-Current-Job
   Suspend-Current-Job             Resume-Job

Top      Up      ToC       Page 39 
   Promote-Job                     none
   Schedule-Job-After              Promote-Job

   Tables 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-reasons" Values

   "printer-state-       Conformance   If any of the following Printer
   reasons" values:      Requirement   Operations are supported:
   'paused'              REQUIRED      Pause-Printer,
                                       or Deactivate-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-
              reasons" Values

   "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 REQUIRED

12.  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.

Top      Up      ToC       Page 40 
   [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,
             April 1999.

   [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,
             February 2005.

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 file.

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

   Operation attributes:
   original-requesting-user-name (name(MAX))     [RFC3998]  10.8.2

14.2.  Attribute Value Registrations

   This section lists the additional values defined in this document for
   existing attributes.

     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.2

14.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.

Top      Up      ToC       Page 42 
   Attribute (attribute syntax)
     Value    Name                                  Reference   Section
   -------    --------------------                  ---------   -------
   operations-supported (1setOf type2 enum)         [RFC2911]   4.4.1
     0x0022   Enable-Printer                        [RFC3998]   3
     0x0023   Disable-Printer                       [RFC3998]   3
     0x0024   Pause-Printer-After-Current-Job       [RFC3998]   3
     0x0025   Hold-New-Jobs                         [RFC3998]   3
     0x0026   Release-Held-New-Jobs                 [RFC3998]   3
     0x0027   Deactivate-Printer                    [RFC3998]   3
     0x0028   Activate-Printer                      [RFC3998]   3
     0x0029   Restart-Printer                       [RFC3998]   3
     0x002A   Shutdown-Printer                      [RFC3998]   3
     0x002B   Startup-Printer                       [RFC3998]   3
     0x002C   Reprocess-Job                         [RFC3998]   4
     0x002D   Cancel-Current-Job                    [RFC3998]   4
     0x002E   Suspend-Current-Job                   [RFC3998]   4
     0x002F   Resume-Job                            [RFC3998]   4
     0x0030   Promote-Job                           [RFC3998]   4
     0x0031   Schedule-Job-After                    [RFC3998]   4

14.4.  Operation Registrations

   The following table lists all the operations defined in this
   document.  These have been registered according to the procedures in
   [RFC2911], section 6.4.

   Name                                         Reference   Section
   -----------------------------                ---------   -------
   Activate-Printer                             [RFC3998]   3.4.2
   Cancel-Current-Job                           [RFC3998]   4.2
   Deactivate-Printer                           [RFC3998]   3.4.1
   Disable-Printer                              [RFC3998]   3.1.1
   Enable-Printer                               [RFC3998]   3.1.2
   Hold-New-Jobs                                [RFC3998]   3.3.1
   Pause-Printer-After-Current-Job              [RFC3998]   3.2.1
   Promote-Job                                  [RFC3998]   4.4.1
   Release-Held-New-Jobs                        [RFC3998]   3.3.2
   Reprocess-Job                                [RFC3998]   4.1
   Restart-Printer                              [RFC3998]   3.5.1
   Resume-Job                                   [RFC3998]   4.3.2
   Schedule-Job-After                           [RFC3998]   4.4.2
   Shutdown-Printer                             [RFC3998]   3.5.2
   Startup-Printer                              [RFC3998]   3.5.3
   Suspend-Current-Job                          [RFC3998]   4.3.1

Top      Up      ToC       Page 43 
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],
   section 6.6.

   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.1

15.  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.

Top      Up      ToC       Page 44 
   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.

Top      Up      ToC       Page 45 
   "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)

Authors' Addresses

   Carl Kugler
   IBM Corporation, 003G
   6300 Diagonal Hwy
   Boulder, CO 80301

   Phone: (303) 924-5060

   Tom Hastings, editor
   Xerox Corporation
   701 S Aviation Blvd.  ESAE 242
   El Segundo, CA  90245

   Phone: 310-333-6413
   Fax: 310-333-6342

   Harry Lewis
   IBM Corporation
   6300 Diagonal Hwy
   Boulder, CO 80301

   Phone: (303) 924-5337

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

Intellectual Property

   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
   Internet Society.