draft-ietf-ipp-notify-get-09.txt   draft-ietf-ipp-notify-get-10.txt 
Internet Printing Protocol WG R. Herriot Internet Printing Protocol WG R. Herriot
INTERNET-DRAFT consultant INTERNET-DRAFT Global Workflow Solutions
<draft-ietf-ipp-notify-get-09.txt> T. Hastings <draft-ietf-ipp-notify-get-10.txt> T. Hastings
Updates: RFC 2911 and [ipp-ntfy] Xerox Corp. Updates: RFC 2911 and [ipp-ntfy] Xerox Corp.
[Target category: standards track] H. Lewis [Target category: standards track] H. Lewis
Expires: August 21, 2003 IBM Corp. Expires: December 21,2004 IBM Corp.
February 21, 2003 June 21,2004
Internet Printing Protocol (IPP): Internet Printing Protocol (IPP):
The 'ippget' Delivery Method for Event Notifications The 'ippget' Delivery Method for Event Notifications
Copyright (C) The Internet Society (2003). All Rights Reserved. Copyright (C) The Internet Society (2003). All Rights Reserved.
Status of this Memo: Status of this Memo:
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026. Internet-Drafts are all provisions of Section 10 of RFC 2026. Internet-Drafts are
skipping to change at page 2, line 18 skipping to change at page 2, line 18
2 Terminology......................................................4 2 Terminology......................................................4
2.1 Conformance Terminology........................................4 2.1 Conformance Terminology........................................4
2.2 Other terminology..............................................5 2.2 Other terminology..............................................5
3 Model and Operation..............................................5 3 Model and Operation..............................................5
4 General Information..............................................7 4 General Information..............................................7
5 Get-Notifications operation......................................8 5 Get-Notifications operation......................................8
5.1 Get-Notifications Request.....................................10 5.1 Get-Notifications Request......................................9
5.1.1 notify-subscription-ids (1setOf integer(1:MAX)).............10 5.1.1 notify-subscription-ids (1setOf integer(1:MAX)).............10
5.1.2 notify-sequence-numbers (1setOf integer(1:MAX)).............10 5.1.2 notify-sequence-numbers (1setOf integer(1:MAX)).............10
5.1.3 notify-wait (boolean).......................................11 5.1.3 notify-wait (boolean).......................................11
5.2 Get-Notifications Response....................................12 5.2 Get-Notifications Response....................................11
5.2.1 notify-get-interval (integer(0:MAX))........................14 5.2.1 notify-get-interval (integer(0:MAX))........................14
5.2.2 printer-up-time (integer(1:MAX))............................17 5.2.2 printer-up-time (integer(1:MAX))............................16
6 Additional Information about Subscription Template Attributes...21 6 Additional Information about Subscription Template Attributes...19
6.1 notify-pull-method (type2 keyword)............................21 6.1 notify-pull-method (type2 keyword)............................19
7 Subscription Description Attributes.............................21 7 Subscription Description Attributes.............................19
8 Additional Printer Description Attributes.......................22 8 Additional Printer Description Attributes.......................19
8.1 ippget-event-life (integer(15:MAX))...........................22 8.1 ippget-event-life (integer(15:MAX))...........................19
9 New Values for Existing Printer Description Attributes..........23 9 New Values for Existing Printer Description Attributes..........21
9.1 notify-pull-method-supported (1setOf type2 keyword)...........23 9.1 notify-pull-method-supported (1setOf type2 keyword)...........21
9.2 operations-supported (1setOf type2 enum)......................23 9.2 operations-supported (1setOf type2 enum)......................21
10 New Status Codes...............................................23 10 New Status Codes...............................................21
10.1 successful-ok-events-complete (0x0007).......................24 10.1 successful-ok-events-complete (0x0007).......................21
11 Encoding and Transport.........................................24 11 Encoding and Transport.........................................22
12 Conformance Requirements.......................................25 12 Conformance Requirements.......................................23
12.1 Conformance for IPP Printers.................................26 12.1 Conformance for IPP Printers.................................23
12.2 Conformance for IPP Clients..................................26 12.2 Conformance for IPP Clients..................................24
13 Normative References...........................................27 13 Normative References...........................................25
14 Informative References.........................................27 14 Informative References.........................................25
15 IANA Considerations............................................28 15 IANA Considerations............................................26
15.1 Attribute Registrations......................................29 15.1 Attribute Registrations......................................26
15.2 Delivery Method and Additional keyword attribute value 15.2 Delivery Method and Additional keyword attribute value
registrations for existing attributes.............................29 registrations for existing attributes.............................26
15.3 Additional enum attribute values.............................29 15.3 Additional enum attribute values.............................27
15.4 Operation Registrations......................................30 15.4 Operation Registrations......................................27
15.5 Status code Registrations....................................30 15.5 Status code Registrations....................................27
16 Intellectual Property..........................................30 16 Intellectual Property..........................................28
17 Internationalization Considerations............................30 17 Internationalization Considerations............................28
18 Security Considerations........................................31 18 Security Considerations........................................28
18.1 Notification Recipient client access rights..................31 18.1 Notification Recipient client access rights..................29
18.2 Printer security threats.....................................32 18.2 Printer security threats.....................................29
18.3 Notification Recipient security threats......................32 18.3 Notification Recipient security threats......................29
18.4 Security requirements for Printers...........................32 18.4 Security requirements for Printers...........................30
18.5 Security requirements for clients............................33 18.5 Security requirements for clients............................30
19 Contributors...................................................33 19 Contributors...................................................30
20 Authors' Addresses.............................................33 20 Authors' Addresses.............................................31
21 Description of Base IPP documents (Informative)................34 21 Description of Base IPP documents (Informative)................31
22 Full Copyright Statement.......................................35 22 Full Copyright Statement.......................................32
Table of Tables Table of Tables
Table 1 - Information about the Delivery Method....................7 Table 1 - Information about the Delivery Method....................7
Table 2 - Combinations of "notify-wait", "status-code", and "notify- Table 2 - Combinations of "notify-wait", "status-code", and "notify-
get-interval" .................................................16 get-interval".................................................15
Table 3 - Attributes in Event Notification Content................19 Table 3 - Attributes in Event Notification Content................17
Table 4 - Additional Attributes in Event Notification Content for Job Table 4 - Additional Attributes in Event Notification Content for Job
Events ........................................................20 Events........................................................18
Table 5 - Combinations of Events and Subscribed Events for "job- Table 5 - Combinations of Events and Subscribed Events for "job-
impressions-completed" ........................................20 impressions-completed"........................................18
Table 6 - Additional Attributes in Event Notification Content for Table 6 - Additional Attributes in Event Notification Content for
Printer Events ................................................21 Printer Events................................................19
Table 7 - Operation-id assignments................................23 Table 7 - Operation-id assignments................................21
Table 8 - The "event-notification-attributes-tag" value...........25 Table 8 - The "event-notification-attributes-tag" value...........23
1 Introduction 1 Introduction
This document describes an extension to the Internet Printing This document describes an extension to the Internet Printing
Protocol/1.1: Model and Semantics [RFC 2911], [RFC 2910]. This Protocol/1.1: Model and Semantics [RFC 2911], [RFC 2910]. This
document specifies the 'ippget' Pull Delivery Method for use with the document specifies the 'ippget' Pull Delivery Method for use with the
"Internet Printing Protocol (IPP): Event Notifications and "Internet Printing Protocol (IPP): Event Notifications and
Subscriptions" specification [ipp-ntfy]. This IPPGET Delivery Method Subscriptions" specification [ipp-ntfy]. This IPPGET Delivery Method
is REQUIRED for all clients and Printers that support [ipp-ntfy]. is REQUIRED for all clients and Printers that support [ipp-ntfy].
The Notification Recipient, acting as a client, fetches (pulls) Event The Notification Recipient, acting as a client, fetches (pulls) Event
skipping to change at page 7, line 19 skipping to change at page 7, line 19
Table 1 - Information about the Delivery Method Table 1 - Information about the Delivery Method
Document Method Conformance Requirement Delivery Method Document Method Conformance Requirement Delivery Method
Realization Realization
1. What is the URL scheme name for the 'ippget' keyword method 1. What is the URL scheme name for the 'ippget' keyword method
Push Delivery Method or the keyword name Push Delivery Method or the keyword name
method name for the Pull Delivery method name for the Pull Delivery
Method? Method?
2. Is the Delivery Method REQUIRED, REQUIRED
2. Is the Delivery Method REQUIRED,
RECOMMENDED or OPTIONAL for an IPP RECOMMENDED or OPTIONAL for an IPP
Printer to support? REQUIRED Printer to support?
3. What transport and delivery protocols IPP with one new 3. What transport and delivery protocols IPP with one new
does the Printer use to deliver the operation. does the Printer use to deliver the operation.
Event Notification Content, i.e., what Event Notification Content, i.e., what
is the entire network stack? is the entire network stack?
4. Can several Event Notifications be Yes. 4. Can several Event Notifications be Yes.
combined into a Compound Event combined into a Compound Event
Notification? Notification?
5. Is the Delivery Method initiated by This Delivery Method is 5. Is the Delivery Method initiated by This Delivery Method is
the Notification Recipient (pull), or a pull method with the Notification Recipient (pull), or a pull method with
by the Printer (push)? aspects of a push by the Printer (push)? aspects of a push
method, though the method, though the
Printer does not Printer does not
initiate the operation. initiate the operation.
6. Is the Event Notification content Machine Consumable 6. Is the Event Notification content Machine Consumable
Machine Consumable or Human Machine Consumable or Human
Consumable? Consumable?
7. What section in this document answers Section 5 7. What section in this document answers Section 5
the following question? For a Machine the following question? For a Machine
Consumable Event Notification, what is Consumable Event Notification, what is
the representation and encoding of the representation and encoding of
values defined in section 9.1 of [ipp- values defined in section 9.1 of [ipp-
ntfy] and the conformance requirements ntfy] and the conformance requirements
thereof? For a Human Consumable Event thereof? For a Human Consumable Event
thereof? For a Human Consumable Event
Notification, what is the Notification, what is the
representation and encoding of pieces representation and encoding of pieces
of information defined in section 9.2 of information defined in section 9.2
of [ipp-ntfy] and the conformance of [ipp-ntfy] and the conformance
requirements thereof? requirements thereof?
8. What are the latency and reliability Same as IPP and the 8. What are the latency and reliability Same as IPP and the
of the transport and delivery underlying HTTP of the transport and delivery underlying HTTP
protocol? transport protocol? transport
9. What are the security aspects of the Same as IPP and the
9. What are the security aspects of the
transport and delivery protocol, e.g., underlying HTTP transport and delivery protocol, e.g., underlying HTTP
how it is handled in firewalls? transportPandnintthe how it is handled in firewalls? transport and in the
same direction, so no same direction, so no
new firewall new firewall
considerations. considerations.
10.What are the content length None
10.What are the content length restrictions?
restrictions? None
11.What are the additional values or None 11.What are the additional values or None
pieces of information that a Printer pieces of information that a Printer
sends in an Event Notification content sends in an Event Notification content
and the conformance requirements and the conformance requirements
thereof? thereof?
12.What are the additional Subscription None 12.What are the additional Subscription None
Template and/or Subscription Template and/or Subscription
Description attributes and the Description attributes and the
conformance requirements thereof? conformance requirements thereof?
13.What are the additional Printer "ipp-event-life" 13.What are the additional Printer "ipp-event-life"
Description attributes and the (integer (15: MAX)) Description attributes and the (integer (15: MAX))
conformance requirements thereof? conformance requirements thereof?
5 Get-Notifications operation 5 Get-Notifications operation
This operation is issued by a client acting in the role of a This operation is issued by a client acting in the role of a
Notification Recipient requesting the Printer to return all Event Notification Recipient requesting the Printer to return all Event
Notifications held for the identified Subscription object(s). Notifications held for the identified Subscription object(s).
skipping to change at page 16, line 14 skipping to change at page 15, line 21
Table 2 - Combinations of "notify-wait", "status-code", and "notify- Table 2 - Combinations of "notify-wait", "status-code", and "notify-
get-interval" get-interval"
client sends: Printer returns: Printer Event client sends: Printer returns: Printer Event
returns: Notification returns: Notification
"notify-wait" "status-code" "notify-get- Attribute "notify-wait" "status-code" "notify-get- Attribute
interval" Groups interval" Groups
1. 'false'* 'successful-ok' MUST return N maybe 1. 'false'* 'successful-ok' MUST return N maybe
2. 'false'* 'not-found' MUST NOT MUST NOT 2. 'false'* 'not-found' MUST NOT MUST NOT
3. 'false'* 'busy' MUST return N MUST NOT 3. 'false'* 'busy' MUST return N MUST NOT
4. 'false'* 'events- MUST NOT 'job-
4. 'false'* 'events- 'job- complete' completed'
complete' MUST NOT completed'
5. 'true' 'successful-ok' MUST NOT MUST 5. 'true' 'successful-ok' MUST NOT MUST
6. 'true' 'successful-ok' MUST return N maybe 6. 'true' 'successful-ok' MUST return N maybe
7. 'true' 'not-found' MUST NOT MUST NOT 7. 'true' 'not-found' MUST NOT MUST NOT
8. 'true' 'busy' MUST return N MUST NOT 8. 'true' 'busy' MUST return N MUST NOT
9. 'true' 'events- MUST NOT 'job- 9. 'true' 'events- MUST NOT 'job-
complete' completed' or complete' completed' or
maybe other maybe other
* 'false' or client omits the "notify-wait" attribute. * 'false' or client omits the "notify-wait" attribute.
Explanation: Explanation:
1-4: client does not request Event Wait Mode 1-4: client does not request Event Wait Mode
5-9: client requests Event Wait Mode 5-9: client requests Event Wait Mode
2,7: Subscription object not found, or was canceled earlier; 2,7: Subscription object not found, or was canceled earlier;
client should NOT try again. client should NOT try again.
3,8: server busy, tells client to try later; client should try 3,8: server busy, tells client to try later; client should try
again in N seconds. again in N seconds.
skipping to change at page 25, line 17 skipping to change at page 22, line 52
future indicated by the value of the "notify-get-interval" future indicated by the value of the "notify-get-interval"
attribute value.. attribute value..
4. If the client requested Event Wait Mode ("notify-wait" = 4. If the client requested Event Wait Mode ("notify-wait" =
'true'), and the Printer initially honored the request, but 'true'), and the Printer initially honored the request, but
later wishes to leave Event Wait Mode, the Printer MUST return later wishes to leave Event Wait Mode, the Printer MUST return
the "notify-get-interval" operation attribute (see section the "notify-get-interval" operation attribute (see section
5.2.1). The Printer returns the response as an application/ipp 5.2.1). The Printer returns the response as an application/ipp
part which MUST be inside an multi-part/related type. part which MUST be inside an multi-part/related type.
Note: All of the above is without either the Printer or the NOTE: if a Notification Recipient fails to receive a response, it can
Notification Recipient closing the connection. In fact, the ask the Printer for the same Event Notifications again. The
connection SHOULD remain open for any subsequent IPP operations. Notification Recipient will receive the same Event Notifications as
However, either the Notification Recipient or the Printer can it should have received the first time except for those Event
abnormally terminate by closing the connection. But, if the Printer Notifications that have expired in the meantime.
closes the connection too soon after returning the response, the
client may not receive the response.
The Printer MAY chunk the responses, but this has no significance to The Printer MAY chunk the responses, but this has no significance to
the IPP semantics. the IPP semantics.
Note: While HTTP/1.1 allows a proxy to collect chunked responses
over a period of time and return them back as a single un-chunked
response (with a Content Length instead). However, in practice no
proxy wants to have an infinite buffer. Also no proxy want to hold
up responses, since user would be furious.
This notification delivery method uses the IPP transport and encoding This notification delivery method uses the IPP transport and encoding
[RFC2910] for the Get-Notifications operation with the following [RFC2910] for the Get-Notifications operation with the following
extension allocated in [ipp-ntfy]: extension allocated in [ipp-ntfy]:
Table 8 - The "event-notification-attributes-tag" value Table 8 - The "event-notification-attributes-tag" value
Tag Value (Hex) Meaning Tag Value (Hex) Meaning
0x07 "event-notification-attributes-tag" 0x07 "event-notification-attributes-tag"
skipping to change at page 27, line 29 skipping to change at page 25, line 10
"IPP URL Scheme" in [RFC2910]. "IPP URL Scheme" in [RFC2910].
4.MUST meet the security conformance requirements as stated in 4.MUST meet the security conformance requirements as stated in
section 18.5. section 18.5.
13 Normative References 13 Normative References
[ipp-ntfy] [ipp-ntfy]
Herriot, R., and T. Hastings, "Internet Printing Protocol/1.1: IPP Herriot, R., and T. Hastings, "Internet Printing Protocol/1.1: IPP
Event Notifications and Subscriptions", <draft-ietf-ipp-not-spec- Event Notifications and Subscriptions", <draft-ietf-ipp-not-spec-
11.txt>, February 21, 2003. 12.txt>, June 21, 2004.
[RFC2119] [RFC2119]
S. Bradner, "Key words for use in RFCs to Indicate Requirement S. Bradner, "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119 , March 1997 Levels", RFC 2119 , March 1997
[RFC2910] [RFC2910]
Herriot, R., Butler, S., Moore, P., and R. Tuner, "Internet Herriot, R., Butler, S., Moore, P., and R. Tuner, "Internet
Printing Protocol/1.1: Encoding and Transport", RFC 2910, September Printing Protocol/1.1: Encoding and Transport", RFC 2910, September
2000. 2000.
[RFC2911] [RFC2911]
deBry, R., Hastings, T., Herriot, R., Isaacson, S., and P. Powell, deBry, R., Hastings, T., Herriot, R., Isaacson, S., and P. Powell,
"Internet Printing Protocol/1.1: Model and Semantics", RFC 2911, "Internet Printing Protocol/1.1: Model and Semantics", RFC 2911,
September 2000. September 2000.
14 Informative References 14 Informative References
[notify-req] [notify-req]
Hastings, T., deBry, R., and H. Lewis, "Internet Printing Protocol Hastings, T., deBry, R., and H. Lewis, "Internet Printing Protocol
(IPP): Requirements for IPP Notifications", <draft-ietf-ipp-not- (IPP): Requirements for IPP Notifications", <draft-ietf-ipp-not-
06.txt>, work in progress, July 17, 2001. 07.txt>, June 21, 2004.
[RFC2565] [RFC2565]
Herriot, R., Butler, S., Moore, P., and R. Turner, "Internet Herriot, R., Butler, S., Moore, P., and R. Turner, "Internet
Printing Protocol/1.0: Encoding and Transport", RFC 2565, April Printing Protocol/1.0: Encoding and Transport", RFC 2565, April
1999. 1999.
[RFC2566] [RFC2566]
R. deBry, T. Hastings, R. Herriot, S. Isaacson, and P. Powell, R. deBry, T. Hastings, R. Herriot, S. Isaacson, and P. Powell,
"Internet Printing Protocol/1.0: Model and Semantics", RFC 2566, "Internet Printing Protocol/1.0: Model and Semantics", RFC 2566,
April 1999. April 1999.
skipping to change at page 33, line 25 skipping to change at page 31, line 4
"smart polling" coupled with multiple responses for a single "smart polling" coupled with multiple responses for a single
operation on the same connection, one response for each event as it operation on the same connection, one response for each event as it
occurs. Without their continual persuasion, we would not have occurs. Without their continual persuasion, we would not have
arrived at this Delivery Method specification and would not have been arrived at this Delivery Method specification and would not have been
able to agree on a single REQUIRED Delivery Method for IPP. able to agree on a single REQUIRED Delivery Method for IPP.
Carl Kugler Carl Kugler
IBM IBM
P.O. Box 1900 P.O. Box 1900
Boulder, CO 80301-9191 Boulder, CO 80301-9191
Phone: Phone:
Fax: Fax:
e-mail: kugler@us.ibm.com e-mail: kugler@us.ibm.com
20 Authors' Addresses 20 Authors' Addresses
Robert Herriot Robert Herriot
Global Workflow Solutions
706 Colorado Ave. 706 Colorado Ave.
Palo Alto, CA 94303 Palo Alto, CA 94303
Phone: 650-327-4466 Phone: 650-324-4000
Fax: 650-327-4466
email: bob@herriot.com email: bob@herriot.com
Thomas N. Hastings Thomas N. Hastings
Xerox Corporation Xerox Corporation
737 Hawaii St. ESAE 231 737 Hawaii St. ESAE 231
El Segundo CA 90245 El Segundo CA 90245
Phone: 310-333-6413 Phone: 310-333-6413
Fax: 310-333-5514 Fax: 310-333-5514
email: hastings@cp10.es.xerox.com email: hastings@cp10.es.xerox.com
skipping to change at page 34, line 4 skipping to change at page 31, line 26
email: bob@herriot.com email: bob@herriot.com
Thomas N. Hastings Thomas N. Hastings
Xerox Corporation Xerox Corporation
737 Hawaii St. ESAE 231 737 Hawaii St. ESAE 231
El Segundo CA 90245 El Segundo CA 90245
Phone: 310-333-6413 Phone: 310-333-6413
Fax: 310-333-5514 Fax: 310-333-5514
email: hastings@cp10.es.xerox.com email: hastings@cp10.es.xerox.com
Harry Lewis Harry Lewis
IBM IBM
P.O. Box 1900 P.O. Box 1900
Boulder, CO 80301-9191 Boulder, CO 80301-9191
Phone: 303-924-5337 Phone: 303-924-5337
FAX: FAX:
e-mail: harryl@us.ibm.com e-mail: harryl@us.ibm.com
IPP Web Page: http://www.pwg.org/ipp/
IPP Mailing List: ipp@pwg.org
To subscribe to the ipp mailing list, send the following email:
1) send it to majordomo@pwg.org
2) leave the subject line blank
3) put the following two lines in the message body:
subscribe ipp
end
Implementers of this specification document are encouraged to join
the IPP Mailing List in order to participate in any discussions of
clarification issues and review of registration proposals for
additional attributes and values. In order to reduce spam the
mailing list rejects mail from non-subscribers, so you must subscribe
to the mailing list in order to send a question or comment to the
mailing list.
21 Description of Base IPP documents (Informative) 21 Description of Base IPP documents (Informative)
The base set of IPP documents includes: The base set of IPP documents includes:
Design Goals for an Internet Printing Protocol [RFC2567] Design Goals for an Internet Printing Protocol [RFC2567]
Rationale for the Structure and Model and Protocol for the Internet Rationale for the Structure and Model and Protocol for the Internet
Printing Protocol [RFC2568] Printing Protocol [RFC2568]
Internet Printing Protocol/1.1: Model and Semantics [RFC2911] Internet Printing Protocol/1.1: Model and Semantics [RFC2911]
Internet Printing Protocol/1.1: Encoding and Transport [RFC2910] Internet Printing Protocol/1.1: Encoding and Transport [RFC2910]
Internet Printing Protocol/1.1: Implementer's Guide [RFC3196] Internet Printing Protocol/1.1: Implementer's Guide [RFC3196]
 End of changes. 

This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/