PWG WORKING DRAFT draft-pwg-ipp-ops-set2-00-980806.txt T. Hastings Xerox Corporation August 6, 1998 Internet Printing Protocol/1.0 Extension Additional Optional Operations - Set 2 Status of this Memo: This document is a PWG Working Draft. It proposes an OPTIONAL extension to the IPP/1.0 Model and Semantics document [ipp-mod]. There are no issues listed. The operations-ids have not been assigned until there is general consensus by the WG to add these operations as extensions. These operations will be registered with IANA after approval by the WG and after IPP/1.0 has been published as RFCs. We may want to publish this document as an RFC as well. Abstract This document specifies a pair of OPTIONAL Printer object operations for use with the Internet Printing Protocol/1.0 (IPP) [ipp-mod, ipp-pro]. These operations allow an authenticated operator to set the REQUIRED IPP/1.0 "printer-is-accepting-jobs" Printer Description attribute to prevent or allow the creation of new jobs. The Set 2 operations are: Reject-Jobs Accept-Jobs Table of Contents 1 Summary of Set 2 and Operation-Id Assignments..............2 2 Justification for these operations.........................2 3 Printer operations.........................................3 3.1Reject-Jobs...............................................3 3.2Accept-Jobs...............................................4 4 References.................................................4 Hastings PWG-DRAFT IPP Set 2 Additional Optional Operations August 6, 1998 1 Summary of Set 2 and Operation-Id Assignments The Set 2 operations are summarized in the following table: Operation Operati Brief description Name on-Id Reject-Jobs TBD Causes the IPP Printer object to reject subsequent job create operations. Accept-Jobs TBD Causes the IPP Printer object to accept subsequent job create operations. 2 Justification for these operations The justification for these two operations is: a.These operations are similar to the operator-only Pause-Printer and Resume-Printer operations [ipp-ops1]. Pause-Printer and Resume-Printer are "job on/off switches" for the output side of the Printer object while Reject-Jobs and Accept-Jobs are "job on-off switches" for the input side of the Printer object. b.These operations only set the existing REQUIRED IPP/1.0 "printer- is-accepting-jobs" Printer Description attribute to 'false' or 'true', respectively (see [ipp-mod] 4.4.20). c.These operations support the existing IPP/1.0 status code: 'server- error-not-accepting-jobs' (see [ipp-mod] 14.1.5.7). d.We need these operations in order to cause the notification events 'printer-is-accepting-jobs' and 'printer-is-not-accepting-jobs' [ipp-not]. e.We need these operations to justify adding these two events to the Printer MIB [RFC1759] as trap event code enums using the registration procedures in [RFC1759] as agreed to in [ipp-not]. f.Many private Printer MIBs have ways to cause the printer to reject or accept jobs, but we can't add a new object to the Printer MIB for this purpose to be used with SNMP. IPP is the only way to define a standard operation. Also IPP has better security than the SNMP that is generally deployed since these are operator-only operations. g.These operations have the same semantics as the ISO DPA Part 3 [ISO-10175] Disable and Enable operations for the Printer object. The Disable and Enable operations also work on ISO DPA server objects. Hastings 2 PWG-DRAFT IPP Set 2 Additional Optional Operations August 6, 1998 3 Printer operations The operation attributes for these Printer operation requests are as follows: Group 1: Operation Attributes Natural Language and Character Set: The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of [ipp-mod]. Target: The "printer-uri" (uri) operation attribute which is the target for this operation as described in section 3.1.5 of [ipp-mod]. Requesting User Name: The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the client as described in section 8.3 of [ipp-mod]. The operation attributes for these Printer operation responses are the same as the Pause-Printer, Resume-Printer, and Purge-Jobs printer operation responses (see [ipp-ops1]): Group 1: Operation Attributes Status Message: In addition to the REQUIRED status code returned in every response, the response OPTIONALLY includes a "status-message" (text) operation attribute as described in section 3.1.6 of [ipp-mod]. Natural Language and Character Set: The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of [ipp-mod]. Group 2: Unsupported Attributes This is a set of Operation attributes supplied by the client (in the request) that are not supported by the Printer object or that conflict with one another (see [ipp-mod] sections 3.2.1.2 and 16). Group 3: Printer Attributes Printer state: The Printer object MUST return the "printer-state" [ipp-mod 4.4.10] and, if supported, the "printer-state-reasons" [ipp-mod 4.4.11] attributes, even though these operations have no effect on these attributes. 3.1 Reject-Jobs This operation allows a client to stop the Printer object from accepting new jobs. The Printer object sets the REQUIRED "printer-is-accepting- jobs" Printer Description attribute ([ipp-mod] section 4.4.20) to 'false'. Previously submitted jobs are unaffected and the Printer object continues to schedule and process jobs as usual. The Printer Hastings 3 PWG-DRAFT IPP Set 2 Additional Optional Operations August 6, 1998 object MUST reject any subsequent job creation operations (Print-Job, Print-URI, Validate-Job, Create-Job, and Reprocess-Job [ipp-ops1]) and return the 'server-error-not-accepting-jobs' ([ipp-mod] section 14.1.5.7). If the Reject-Jobs operation is supported, then the Accept-Jobs operation MUST be supported, and vice-versa. The IPP Printer MUST accept the request in any state as indicated by the values of the Printer's "printer-state", "printer-state-reasons", and "printer-is-accepting-jobs" attributes. However, the state of the Printer is not affected by this operation, except to set the value of the "printer-is-accepting-job" attribute to 'false'. Whether the value of the Printer object's "printer-is-accepting-jobs" attribute is 'true' or 'false' on power up is implementation dependent. Access Rights: The requesting user must be an operator or administrator of the printer. Otherwise, the IPP Printer MUST reject the operation and return: 'client-error-forbidden', 'client-error-not-authenticated', or 'client-error-not-authorized' as appropriate. 3.2 Accept-Jobs This operation allows a client to start the Printer object accepting new jobs. The Printer object sets the REQUIRED "printer-is-accepting-jobs" Printer Description attribute ([ipp-mod] section 4.4.20) to 'true'. Previously submitted jobs are unaffected and the Printer object continues to schedule and process jobs as usual. The Printer object MUST accept any subsequent job creation operations (Print-Job, Print- URI, Validate-Job, Create-Job, and Reprocess-Job [ipp-ops1]) that are validated, authorized, etc. If the Accept-Jobs operation is supported, then the Reject-Jobs operation MUST be supported, and vice-versa. The IPP Printer MUST accept the request in any state as indicated by the values of the Printer's "printer-state", "printer-state-reasons", and "printer-is-accepting-jobs" attributes. However, the state of the Printer is not affected by this operation, except to set the value of the "printer-is-accepting-job" attribute to 'true'. Whether the value of the Printer object's "printer-is-accepting-jobs" attribute is 'true' or 'false' on power up is implementation dependent. Access Rights: The requesting user must be an operator or administrator of the printer. Otherwise, the IPP Printer MUST reject the operation and return: 'client-error-forbidden', 'client-error-not-authenticated', or 'client-error-not-authorized' as appropriate. 4 References [ipp-mod] Isaacson, S., deBry, R., Hastings, T., Herriot, R., Powell, P., “Internet Printing Protocol/1.0: Model and Semantics” draft-ietf- ipp-mod-10.txt, June, 1998. Hastings 4 PWG-DRAFT IPP Set 2 Additional Optional Operations August 6, 1998 [ipp-not] Isaacson, S., Martin, J., deBry, R., Hastings, T., “IPP Event Notifications (Very Short)” , work in progress, July 1, 1998. [ipp-ops1] Bergman, R., Hastings, T., Herriot, R., Moore, P., "Internet Printing Protocol/1.0: Additional Optional Operations - Set 1", draft-pwg-ipp-ops-set1-00-980727.txt, July 27, 1998. [ipp-pro] Herriot, R., Butler, S., Moore, P., Tuner, R., "Internet Printing Protocol/1.0: Encoding and Transport", draft-ietf-ipp-pro-06.txt, June, 1998. [ISO-10175] ISO/IEC 10175 Document Printing Application (DPA), June 1996. [RFC1759] Smith, R., Wright, F., Hastings, T., Zilles, S., and Gyllenskog, J., "Printer MIB", RFC 1759, March 1995. Hastings 5