draft-ietf-ipp-notify-get-07.txt   draft-ietf-ipp-notify-get-08.txt 
Internet Printing Protocol WG R. Herriot Internet Printing Protocol WG R. Herriot
INTERNET-DRAFT consultant INTERNET-DRAFT consultant
<draft-ietf-ipp-notify-get-07.txt> T. Hastings <draft-ietf-ipp-notify-get-08.txt> T. Hastings
Updates: RFC 2911 Xerox Corp. Updates: RFC 2911 and [ipp-ntfy] Xerox Corp.
[Target category: standards track] June 27, 2002 [Target category: standards track] H. Lewis
Expires: December 27, 2002 Expires: April 10, 2003 IBM Corp.
October 10, 2002
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 (2002). All Rights Reserved. Copyright (C) The Internet Society (2002). 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 1, line 38 skipping to change at page 1, line 39
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.html http://www.ietf.org/ietf/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed as The list of Internet-Draft Shadow Directories can be accessed as
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
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' 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. When IPP Notification [ipp-ntfy] is Subscriptions" specification (ipp-ntfy). This IPPGET Delivery Method
supported, the Delivery Method defined in this document is the is REQUIRED for all clients and Printers that support ipp-ntfy. The
REQUIRED Delivery Method for clients and Printers to support. They Notification Recipient, acting as a client, fetches (pulls) Event
MAY support additional Delivery Methods. Notifications using the Get-Notifications operation defined in this
document.
The 'ippget' Delivery Method is a Pull Delivery Method. When an
Event occurs, the Printer saves the Event Notification for a period
of time called the Event Life. The Notification Recipient fetches
(pulls) Event Notifications using the Get-Notifications operation.
If the Notification Recipient has selected the Event Wait Mode option
to wait for additional Event Notifications, the Printer continues to
return Event Notifications to the Notification Recipient as Get-
Notification responses as Events occur using the connection
originated by the Notification Recipient.
Either the Notification Recipient or the Printer can terminate Event
Wait Mode without closing the connection.
Table of Contents Table of Contents
1 Introduction.....................................................5 1 Introduction.....................................................4
2 Terminology......................................................6 2 Terminology......................................................4
2.1 Conformance Terminology........................................4
2.2 Other terminology..............................................5
3 Model and Operation..............................................7 3 Model and Operation..............................................5
4 General Information..............................................8 4 General Information..............................................7
5 Get-Notifications operation......................................9 5 Get-Notifications operation......................................8
5.1 Get-Notifications Request.....................................11 5.1 Get-Notifications Request.....................................10
5.1.1 notify-subscription-ids (1setOf integer(1:MAX)).............11 5.1.1 notify-subscription-ids (1setOf integer(1:MAX)).............10
5.1.2 notify-sequence-numbers (1setOf integer(1:MAX)).............11 5.1.2 notify-sequence-numbers (1setOf integer(1:MAX)).............10
5.1.3 notify-wait (boolean).......................................12 5.1.3 notify-wait (boolean).......................................11
5.2 Get-Notifications Response....................................13 5.2 Get-Notifications Response....................................12
5.2.1 notify-get-interval (integer(0:MAX))........................16 5.2.1 notify-get-interval (integer(0:MAX))........................14
5.2.2 printer-up-time (integer(1:MAX))............................18 5.2.2 printer-up-time (integer(1:MAX))............................17
5.2.3 redirect-uri (uri)..........................................18
6 Additional Information about Subscription Template Attributes...22 6 Additional Information about Subscription Template Attributes...21
6.1 notify-pull-method (type2 keyword)............................22 6.1 notify-pull-method (type2 keyword)............................21
7 Subscription Description Attributes.............................22 7 Subscription Description Attributes.............................21
8 Additional Printer Description Attributes.......................23 8 Additional Printer Description Attributes.......................22
8.1 ippget-event-life (integer(15:MAX))...........................23 8.1 ippget-event-life (integer(15:MAX))...........................22
9 New Values for Existing Printer Description Attributes..........24 9 New Values for Existing Printer Description Attributes..........23
9.1 notify-pull-method-supported (1setOf type2 keyword)...........24 9.1 notify-pull-method-supported (1setOf type2 keyword)...........23
9.2 operations-supported (1setOf type2 enum)......................24 9.2 operations-supported (1setOf type2 enum)......................23
10 New Status Codes...............................................24 10 New Status Codes...............................................23
10.1 successful-ok-events-complete (0x0007).......................25 10.1 successful-ok-events-complete (0x0007).......................24
10.2 redirection-other-site (0x0300)..............................25
11 Encoding and Transport.........................................25 11 Encoding and Transport.........................................24
12 Conformance Requirements.......................................27 12 Conformance Requirements.......................................25
12.1 Conformance for IPP Printers.................................27 12.1 Conformance for IPP Printers.................................26
12.2 Conformance for IPP Clients..................................28 12.2 Conformance for IPP Clients..................................26
13 Normative References...........................................28 13 Normative References...........................................27
14 Informative References.........................................29 14 Informative References.........................................27
15 Security Considerations........................................30 15 IANA Considerations............................................28
15.1 Notification Recipient client access rights..................30 15.1 Attribute Registrations......................................29
15.2 Printer security threats.....................................31 15.2 Additional keyword attribute value registrations for existing
15.3 Notification Recipient security threats......................31 attributes........................................................29
15.4 Security requirements for Printers...........................31 15.3 Additional enum attribute values.............................29
15.5 Security requirements for clients............................32 15.4 Operation Registrations......................................29
15.5 Status code Registrations....................................30
16 Internationalization Considerations............................32 16 Internationalization Considerations............................30
17 IANA Considerations............................................32 17 Security Considerations........................................30
17.1 Additional attribute value registrations for existing attributes 17.1 Notification Recipient client access rights..................31
32 17.2 Printer security threats.....................................31
17.1.1 Additional values for the "notify-pull-method-supported" 17.3 Notification Recipient security threats......................31
Printer attribute......................................32 17.4 Security requirements for Printers...........................32
17.1.2 Additional values for the "operations-supported" Printer 17.5 Security requirements for clients............................32
attribute..............................................33
17.2 Operation Registrations......................................33
17.3 Attribute Registrations......................................33
17.4 Status code Registrations....................................34
18 Contributors...................................................34 18 Contributors...................................................32
19 Authors' Addresses.............................................35 19 Authors' Addresses.............................................32
20 Description of Base IPP documents..............................35 20 Description of Base IPP documents (Informative)................33
21 Full Copyright Statement.......................................37 21 Full Copyright Statement.......................................35
Table of Tables Table of Tables
Table 1 - Information about the Delivery Method....................8 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" .................................................17 get-interval" .................................................16
Table 3 - Attributes in Event Notification Content................20 Table 3 - Attributes in Event Notification Content................19
Table 4 - Additional Attributes in Event Notification Content for Job Table 4 - Additional Attributes in Event Notification Content for Job
Events ........................................................21 Events ........................................................20
Table 5 - Combinations of Events and Subscribed Events for "job- Table 5 - Combinations of Events and Subscribed Events for "job-
impressions-completed" ........................................21 impressions-completed" ........................................20
Table 6 - Additional Attributes in Event Notification Content for Table 6 - Additional Attributes in Event Notification Content for
Printer Events ................................................22 Printer Events ................................................21
Table 7 - Operation-id assignments................................24 Table 7 - Operation-id assignments................................23
Table 8 - The "event-notification-attributes-tag" value...........27 Table 8 - The "event-notification-attributes-tag" value...........25
1 Introduction 1 Introduction
The "IPP Event Notifications and Subscriptions" document [ipp-ntfy] This document describes an extension to the Internet Printing
defines an OPTIONAL extension to Internet Printing Protocol/1.1: Protocol/1.1: Model and Semantics [RFC 2911], [RFC 2910]. This
Model and Semantics [RFC2911, RFC2910]. For a description of the document specifies the 'ippget' Pull Delivery Method for use with the
base IPP documents, see section 20. The [ipp-ntfy] extension defines "Internet Printing Protocol (IPP): Event Notifications and
operations that a client can perform in order to create Subscription Subscriptions" specification [ipp-ntfy]. This IPPGET Delivery Method
Objects in a Printer and carry out other operations on them. A is REQUIRED for all clients and Printers that support [ipp-ntfy].
Subscription Object represents a Subscription abstraction. A client The Notification Recipient, acting as a client, fetches (pulls) Event
associates Subscription Objects with a particular Job by performing Notifications using the Get-Notifications operation defined in this
the Create-Job-Subscriptions operation or by submitting a Job with document. For a description of the base IPP documents, see section
subscription information. A client associates Subscription Objects 20 of this document. For a description of the IPP Event Notification
with the Printer by performing a Create-Printer-Subscriptions Model, see [ipp-ntfy].
operation. Four other operations are defined for Subscription
Objects: Get-Subscriptions-Attributes, Get-Subscriptions, Renew-
Subscription, and Cancel-Subscription. The Subscription Object
specifies that when one of the specified Events occurs, the Printer
sends an asynchronous Event Notification to the specified
Notification Recipient via the specified Delivery Method (i.e.,
protocol).
The "IPP Event Notifications and Subscriptions" document [ipp-ntfy]
specifies that each Delivery Method is defined in another document.
This document is one such document, and it specifies the 'ippget'
delivery method. If a client or Printer supports IPP Notification
[ipp-ntfy], the client or Printer MUST support the 'ippget' Delivery
Method defined in this document. Such a client or Printer MAY
support additional Delivery Methods.
The 'ippget' Delivery Method is a Pull Delivery Method. When an With this Pull Delivery Method, when an Event occurs, the Printer
Event occurs, the Printer saves the Event Notification for a period saves the Event Notification for a period of time called the Event
of time called the Event Life. The Notification Recipient fetches Life. The Notification Recipient fetches (pulls) the Event
(pulls) the Event Notifications using the Get-Notifications Notifications using the Get-Notifications operation. This operation
operation. This operation causes the Printer to return all Event causes the Printer to return all Event Notifications held for the
Notifications held for the specified Subscription object(s). If the specified Subscription object(s). If the Notification Recipient has
Notification Recipient has selected the Event Wait Mode option to selected the Event Wait Mode option to wait for additional Event
wait for additional Event Notifications, the Printer continues to Notifications, the Printer MAY continue to return Event Notifications
return Event Notifications to the Notification Recipient as Get- to the Notification Recipient as asynchronous Get-Notification
Notification responses as Events occur using the transaction responses as Events occur using the transaction originated by the
originated by the Notification Recipient. Notification Recipient.
The Notification Recipient can terminate Event Wait Mode (without The Notification Recipient can terminate Event Wait Mode (without
closing the connection) by supplying the "notify-wait" (boolean) closing the connection) by supplying the "notify-wait" (boolean)
attribute with a 'false' value in a subsequent Get-Notifications attribute with a 'false' value in a subsequent Get-Notifications
request. Similarly, the Printer can terminate Event Wait Mode request. Similarly, the Printer can terminate Event Wait Mode
(without closing the connection) by returning the "notify-get- (without closing the connection) by returning the "notify-get-
interval" (integer) operation attribute in a Get-Notifications interval" (integer) operation attribute in a Get-Notifications
response which tells the Notification Recipient how long to wait response which tells the Notification Recipient how long to wait
before trying again. before trying again.
2 Terminology 2 Terminology
This section defines the following terms that are used throughout This section defines the following terms that are used throughout
this document: this document:
This document uses the same terminology as [RFC2911], such as 2.1 Conformance Terminology
"client", "Printer", "Job", "attribute", "attribute value",
"keyword", "operation", "request", "response", and "support".
Capitalized terms, such as MUST, MUST NOT, REQUIRED, SHOULD, SHOULD Capitalized terms, such as MUST, MUST NOT, REQUIRED, SHOULD, SHOULD
NOT, MAY, NEED NOT, and OPTIONAL, have special meaning relating to NOT, MAY, NEED NOT, and OPTIONAL, have special meaning relating to
conformance as defined in RFC 2119 [RFC2119] and [RFC2911] section conformance as defined in RFC 2119 [RFC2119] and [RFC2911] section
12.1. If an implementation supports the extension defined in this 12.1. If an implementation supports the extension defined in this
document, then these terms apply; otherwise, they do not. These document, then these terms apply; otherwise, they do not. These
terms define conformance to this document only; they do not affect terms define conformance to this document only; they do not affect
conformance to other documents, unless explicitly stated otherwise. conformance to other documents, unless explicitly stated otherwise.
Event Life: The length of time in seconds after an Event occurs 2.2 Other terminology
during which the Printer will return that Event in a Event
Notification in a Get-Notifications response. After the Event
Life expires, the Printer will no longer return an Event
Notification for that Event in a Get-Notifications response.
Event Notification Attributes Group: The attributes group in a This document uses the same terminology as [RFC2911], such as
response that contains attributes that are part of an Event "client", "Printer", "Job", "attribute", "attribute value",
Notification. "keyword", "operation", "request", "response", and "support" with the
same meanings. This document also uses terminology defined in [ipp-
ntfy], such as "Subscription (object)", "Notification Recipient",
"Event", "Event Notification", "Compound Event Notification", "Event
Life", and "Event Notification Attribute Group" with the same
meanings. In addition, this document defines the following terms for
use in this document:
Event Wait Mode: The mode requested by a Notification Recipient Event Wait Mode: The mode requested by a Notification Recipient
client in its Get-Notifications Request and granted by a Printer client in its Get-Notifications Request and granted by a Printer
to keep the connection open where the Printer sends subsequent to keep the connection open while the Printer sends subsequent
Event Notifications to the Notification Recipient as they occur Event Notifications to the Notification Recipient as they occur
as additional Get-Notification Responses. as additional Get-Notification operation responses.
Other capitalized terms, such as Notification Recipient, Event, Event
Notification, Compound Event Notification, Printer, etc., are
defined in [ipp-ntfy], have the same meanings, and are not
reproduced here. However, for convenience the following key
terms are reproduced here:
Event - some occurrence (either expected or unexpected) within the
printing system of a change of state, condition, or
configuration of a Job or Printer object. An Event occurs only
at one instant in time and does not span the time the physical
Event takes place. For example, jam-occurred and jam-cleared
are two distinct, instantaneous Events, even though the jam may
last for a while.
Event Notification - the information about an Event that the Printer
sends when an Event occurs.
3 Model and Operation 3 Model and Operation
In a Subscription Creation Operation, when the "notify-pull-method" In a Subscription Creation Operation, when the "notify-pull-method"
attribute is present and has the 'ippget' keyword value, the client attribute is present and has the 'ippget' keyword value, the client
is requesting that the Printer use the 'ippget' Pull Delivery Method is requesting that the Printer use the 'ippget' Pull Delivery Method
for the Event Notifications associated with the new Subscription for the Event Notifications associated with the new Subscription
Object. Object.
When an Event occurs, the Printer MUST generate an Event Notification When an Event occurs, the Printer MUST generate an Event Notification
skipping to change at page 8, line 15 skipping to change at page 7, line 15
4 General Information 4 General Information
If a Printer supports this Delivery Method, the following are its If a Printer supports this Delivery Method, the following are its
characteristics. characteristics.
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 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? 'ippget' keyword 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? Printer to support? REQUIRED
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 4. Can several Event Notifications be Yes.
combined into a Compound Event combined into a Compound Event
Notification? Yes. 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 connection. 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-
skipping to change at page 9, line 15 skipping to change at page 8, line 15
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 9. What are the security aspects of the Same as IPP and 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 None
restrictions? restrictions?
11.What are the additional values or 11.What are the additional values or
pieces of information that a Printer pieces of information that a Printer
sends in an Event Notification content sends in an Event Notification content
skipping to change at page 9, line 46 skipping to change at page 8, line 46
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).
A Printer MUST support this operation. A Printer MUST support this operation, MUST accept the request in any
state (see [RFC2911] "printer-state" and "printer-state-reasons"
attributes), and MUST remain in the same state with the same
"printer-state-reasons" values.
When a Printer performs this operation, it MUST return all and only When a Printer performs this operation, it MUST return all and only
those Event Notifications: those Event Notifications:
1. Whose associated Subscription Object's "notify-subscription-id" 1. Whose associated Subscription Object's "notify-subscription-id"
Subscription Description attribute equals one of the values of Subscription Description attribute equals one of the values of
the "notify-subscription-ids" (1setOf integer(1:MAX)) operation the "notify-subscription-ids" (1setOf integer(1:MAX)) operation
attribute AND attribute AND
2. Whose associated Subscription Object's contains the "notify- 2. Whose associated Subscription Object's contains the "notify-
skipping to change at page 10, line 26 skipping to change at page 9, line 28
3. Whose "notify-sequence-number" is equal to or greater than the 3. Whose "notify-sequence-number" is equal to or greater than the
corresponding value of the "notify-sequence-numbers (1setOf corresponding value of the "notify-sequence-numbers (1setOf
integer(1:MAX)) operation attribute, if supplied AND integer(1:MAX)) operation attribute, if supplied AND
4. Whose Event Life has not yet expired AND 4. Whose Event Life has not yet expired AND
5. Where the Notification Recipient client has read-access rights 5. Where the Notification Recipient client has read-access rights
to the identified Subscription Object (see Access Rights to the identified Subscription Object (see Access Rights
paragraph below). paragraph below).
The Notification Recipient client can request Event Wait Mode by The Notification Recipient client MUST either: (a) request Event Wait
supplying the "notify-wait" operation attribute with a 'true' value. Mode by supplying the "notify-wait" operation attribute with a 'true'
value or (b) suppress Event Wait Mode by omitting the "notify-wait"
The Notification Recipient client can terminate Event Wait Mode operation attribute or by supplying it with a 'false' value. In
(without closing the connection) by supplying the "notify-wait" order to terminate Event Wait Mode subsequently, the Notification
attribute with a 'false' value in a subsequent Get-Notifications Recipient client MUST close the connection. In order to terminate
request. Similarly, the Printer can terminate Event Wait Mode Event Wait Mode, the Printer MUST either (a) return the "notify-get-
(without closing the connection) by returning the "notify-get- interval" operation attribute in a Get-Notifications response
interval" operation attribute in a Get-Notifications response which (RECOMMENDED behavior) or (b) close the connection. The "notify-get-
tells the Notification Recipient how long to wait before trying interval" operation attributes tells the Notification Recipient how
again. long to wait before trying a subsequent Get-Notifications request.
The Printer MUST accept the request in any state (see [RFC2911]
"printer-state" and "printer-state-reasons" attributes) and MUST
remain in the same state with the same "printer-state-reasons"
values.
Access Rights: The authenticated user (see [RFC2911] section 8.3) Access Rights: The authenticated user (see [RFC2911] section 8.3)
performing this operation MUST be (1) the owner of each Subscription performing this operation MUST be (1) the owner of each Subscription
Object identified by the "notify-subscription-ids" operation Object identified by the "notify-subscription-ids" operation
attribute (see section 5.1.1), (2) an operator or administrator of attribute (see section 5.1.1), (2) an operator or administrator of
the Printer (see [RFC2911] Sections 1 and 8.5), or (3) be otherwise the Printer (see [RFC2911] Sections 1 and 8.5), or (3) be otherwise
authorized by the Printer's administrator-configured security policy authorized by the Printer's administrator-configured security policy
to request Event Notifications from the target Subscription to request Event Notifications from the target Subscription
Object(s). Otherwise, the IPP Printer MUST reject the operation and Object(s). Otherwise, the IPP Printer MUST reject the operation and
return: 'client-error-forbidden', 'client-error-not-authenticated', return: 'client-error-forbidden', 'client-error-not-authenticated',
skipping to change at page 15, line 23 skipping to change at page 14, line 21
server-error-busy: The Printer is too busy to accept this server-error-busy: The Printer is too busy to accept this
operation. The Printer SHOULD return the "notify-get- operation. The Printer SHOULD return the "notify-get-
interval" operation attribute in the Operation Attributes interval" operation attribute in the Operation Attributes
of the response, then the Notification Recipient SHOULD of the response, then the Notification Recipient SHOULD
wait for the number of seconds specified by the "notify- wait for the number of seconds specified by the "notify-
get-interval" operation attribute before performing this get-interval" operation attribute before performing this
operation again. If the "notify-get-interval" Operation operation again. If the "notify-get-interval" Operation
Attribute is not present, the Notification Recipient Attribute is not present, the Notification Recipient
SHOULD use the normal network back-off algorithms for SHOULD use the normal network back-off algorithms for
determining when to perform this operation again. determining when to perform this operation again.
redirection-other-site: The Printer does not handle this
operation and requests the Notification Recipient to
perform the operation again with the uri specified by the
"redirect-uri" Operation Attribute in the response. See
section 10.2.
Natural Language and Character Set: Natural Language and Character Set:
The "attributes-charset" and "attributes-natural-language" The "attributes-charset" and "attributes-natural-language"
attributes as described in [RFC2911] section 3.1.4.2. attributes as described in [RFC2911] section 3.1.4.2.
The Printer MUST use the values of "notify-charset" and The Printer MUST use the values of "notify-charset" and
"notify-natural-language", respectively, from one Subscription "notify-natural-language", respectively, from one Subscription
Object associated with the Event Notifications in this Object associated with the Event Notifications in this
response. response.
skipping to change at page 18, line 26 skipping to change at page 17, line 26
5.2.2 printer-up-time (integer(1:MAX)) 5.2.2 printer-up-time (integer(1:MAX))
The value of this attribute is the Printer's "printer-up-time" The value of this attribute is the Printer's "printer-up-time"
attribute at the time the Printer sends this response. The attribute at the time the Printer sends this response. The
Printer MUST return this attribute. Because each Event Printer MUST return this attribute. Because each Event
Notification also contains the value of this attribute when the Notification also contains the value of this attribute when the
event occurred, the value of this attribute lets a Notification event occurred, the value of this attribute lets a Notification
Recipient know when each Event Notification occurred relative Recipient know when each Event Notification occurred relative
to the time of this response. to the time of this response.
5.2.3 redirect-uri (uri)
The value of this attribute is the uri that the Notification
Recipient MUST use for a subsequent Get-Notifications
operation. The Printer MAY support this attribute. This
attribute MUST be returned in the Operation Attributes Group if
and only if the Printer returns the 'redirection-other-site'
status code (see section 10.2).
Group 2: Unsupported Attributes Group 2: Unsupported Attributes
See [RFC2911] section 3.1.7 for details on returning See [RFC2911] section 3.1.7 for details on returning
Unsupported Attributes. Unsupported Attributes.
Group 3 through N: Event Notification Attributes Group 3 through N: Event Notification Attributes
The Printer responds with one Event Notification Attributes The Printer responds with one Event Notification Attributes
Group per matched Event Notification. The entire response is Group per matched Event Notification. The entire response is
considered a single Compound Event Notification (see [ipp- considered a single Compound Event Notification (see [ipp-
skipping to change at page 22, line 36 skipping to change at page 21, line 36
ntfy]. ntfy].
6.1 notify-pull-method (type2 keyword) 6.1 notify-pull-method (type2 keyword)
This Subscription Template attribute identifies the Pull Delivery This Subscription Template attribute identifies the Pull Delivery
Method to be used for the Subscription Object (see [ipp-ntfy]). In Method to be used for the Subscription Object (see [ipp-ntfy]). In
order to support the 'ippget' Pull Delivery Method defined in this order to support the 'ippget' Pull Delivery Method defined in this
document, the Printer MUST support this attribute with the following document, the Printer MUST support this attribute with the following
keyword value: keyword value:
'ippget': indicates that the IPPGET Pull Delivery Method is to be 'ippget': indicates that the 'ippget' Pull Delivery Method is to
used for this Subscription Object. be used for this Subscription Object.
7 Subscription Description Attributes 7 Subscription Description Attributes
The 'ippget' Delivery Method has the same conformance requirements The 'ippget' Delivery Method has the same conformance requirements
for Subscription Description attributes as defined in [ipp-ntfy]. for Subscription Description attributes as defined in [ipp-ntfy].
The 'ippget' Delivery Method does not define any addition The 'ippget' Delivery Method does not define any addition
Subscription Description attributes. Subscription Description attributes.
8 Additional Printer Description Attributes 8 Additional Printer Description Attributes
skipping to change at page 24, line 40 skipping to change at page 23, line 40
the new Get-Notifications operation defined in this document. the new Get-Notifications operation defined in this document.
Table 7 - Operation-id assignments Table 7 - Operation-id assignments
Value Operation Name Value Operation Name
0x001C Get-Notifications 0x001C Get-Notifications
10 New Status Codes 10 New Status Codes
The following status codes are defined as extensions for this The following status code is defined as an extension for this
Delivery Method and are returned as the status code of the Get- Delivery Method and is returned as the status code of the Get-
Notifications operation in Group 1 or Group 3 to N. Notifications operation in Group 1 or Group 3 to N (see section 5.2).
10.1 successful-ok-events-complete (0x0007) 10.1 successful-ok-events-complete (0x0007)
The Printer MUST return the 'successful-ok-events-complete' status The Printer MUST return the 'successful-ok-events-complete' status
code to indicate when this Get-Notifications response is the last code to indicate when this Get-Notifications response is the last
response for a Subscription object, whether or not there are Event response for a Subscription object, whether or not there are Event
Notifications being returned. This condition occurs for Event Wait Notifications being returned. This condition occurs for Event Wait
Mode with Notification Recipients waiting for responses when the Mode with Notification Recipients waiting for responses when the
Subscription Object is: (1) canceled with a Cancel-Subscription Subscription Object is: (1) canceled with a Cancel-Subscription
operation, (2) deleted when the Per-Printer Subscription lease time operation, (2) deleted when the Per-Printer Subscription lease time
expires, or (3) when the 'job-completed' event occurs for a Per-Job expires, or (3) when the 'job-completed' event occurs for a Per-Job
Subscription. This condition also occurs for a Get-Notifications Subscription. This condition also occurs for a Get-Notifications
request that a Notification Recipient makes after the job completes, request that a Notification Recipient makes after the job completes,
but before the Event Life expires. but before the Event Life expires.
10.2 redirection-other-site (0x0300)
This status code means that the Printer doesn't perform that Get-
Notifications operation and that the "redirect-uri" operation
attribute (see section 5.2.3) in the response contains the uri that
the Notification Recipient MUST use for performing the Get-
Notifications operation. If the client issues subsequent Get-
Notifications operations, it MUST use the value of the "redirect-uri"
operation attribute returned by the Printer as the target of the
operation.
11 Encoding and Transport 11 Encoding and Transport
This section defines the encoding and transport considerations for This section defines the encoding and transport considerations for
this Delivery Method based on [RFC2910]. this Delivery Method based on [RFC2910].
The encoding of a Get-Notifications Response is modeled the Get-Jobs The encoding of a Get-Notifications Response is modeled the Get-Jobs
Response (see [RFC2911]). In a Get-Notifications Response, each Response (see [RFC2911]). In a Get-Notifications Response, each
Event Notification Attributes Group MUST start with an 'event- Event Notification Attributes Group MUST start with an 'event-
notification-attributes-tag' (see the section "Encodings of notification-attributes-tag' (see the section "Encodings of
Additional Attribute Tags" in [ipp-ntfy]), and end with an 'end-of- Additional Attribute Tags" in [ipp-ntfy]), and end with an 'end-of-
skipping to change at page 27, line 47 skipping to change at page 26, line 36
attribute defined in section 8.1, including retaining jobs in attribute defined in section 8.1, including retaining jobs in
the Job Retention and/or Job History phases for at least as long the Job Retention and/or Job History phases for at least as long
as the value specified by the Printer's "ippget-event-life"; as the value specified by the Printer's "ippget-event-life";
6. MUST support the additional values for IPP/1.1 Printer 6. MUST support the additional values for IPP/1.1 Printer
Description attributes defined in section 9; Description attributes defined in section 9;
7. MUST support the 'successful-ok-events-complete' status code as 7. MUST support the 'successful-ok-events-complete' status code as
described in section 10.1; described in section 10.1;
8. MUST support the "redirection-other-site" status code defined 8. MUST listen for the IPP Get-Notifications operation requests on
10.2, if it redirects Get-Notifications operations;
9. MUST listen for the IPP Get-Notifications operation requests on
IANA-assigned well-known port 631, unless explicitly configured IANA-assigned well-known port 631, unless explicitly configured
by system administrators or site policies; by system administrators or site policies;
10. SHOULD NOT listen for IPP Get-Notifications operation requests 9. SHOULD NOT listen for IPP Get-Notifications operation requests
on any other port, unless explicitly configured by system on any other port, unless explicitly configured by system
administrators or site policies. administrators or site policies.
11. MUST meet the conformance requirements as stated in section 10. MUST meet the security conformance requirements as stated in
15.4. section 17.4.
12.2 Conformance for IPP Clients 12.2 Conformance for IPP Clients
It is OPTIONAL for an IPP Client to support IPP Notifications as It is OPTIONAL for an IPP Client to support IPP Notifications as
defined in [ipp-ntfy]. However, if a client supports IPP defined in [ipp-ntfy]. However, if a client supports IPP
Notifications, the client MUST support the 'ippget' Delivery Method Notifications, the client MUST support the 'ippget' Delivery Method
as defined in this document as one of its Delivery Methods. IPP as defined in this document as one of its Delivery Methods. IPP
Clients that conform to this specification: Clients that conform to this specification:
1.MUST create Subscription Objects containing the "notify-pull- 1.MUST create Subscription Objects by sending Subscription
method" attribute (as opposed to the "notify-recipient-uri" Creation operation requests containing the "notify-pull-method"
attribute) using the 'ippget' keyword value (see section attribute (as opposed to the "notify-recipient-uri" attribute)
17.1.1); using the 'ippget' keyword value (see sections 6.1 and 15.2);
2.MUST send IPP Get-Notifications operation requests (see section 2.MUST send IPP Get-Notifications operation requests (see section
5.1) via the port specified in the associated 'ipp' URL (if 5.1) via the port specified in the associated 'ipp' URL (if
present) or otherwise via IANA assigned well-known port 631; present) or otherwise via IANA assigned well-known port 631;
3.MUST convert the associated 'ipp' URLs for use in IPP Get- 3.MUST convert the associated 'ipp' URLs for use in IPP Get-
Notifications operation to their corresponding 'http' URL forms Notifications operation to their corresponding 'http' URL forms
for use in the HTTP layer according to the rules in section 5 for use in the HTTP layer according to the rules in section 5
"IPP URL Scheme" in [RFC2910]. "IPP URL Scheme" in [RFC2910].
4.MUST meet the conformance requirements as stated in section 4.MUST meet the security conformance requirements as stated in
15.5. section 17.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-
09.txt>, June 27, 2002. 10.txt>, September 10, 2002.
[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.
skipping to change at page 29, line 16 skipping to change at page 27, line 47
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]
Hastings, T., deBry, R., and H. Lewis, "Internet Printing Protocol
(IPP): Requirements for IPP Notifications", <draft-ietf-ipp-not-
06.txt>, work in progress, July 17, 2001.
[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 30, line 5 skipping to change at page 28, line 41
[RFC2707] [RFC2707]
Bergman, R., Hastings, T., Isaacson, S., and H. Lewis, "Job Bergman, R., Hastings, T., Isaacson, S., and H. Lewis, "Job
Monitoring MIB - V1.0", November 1999. Monitoring MIB - V1.0", November 1999.
[RFC3196] [RFC3196]
Hastings, T., Manros, C., Zehler, P., Kugler, C., and H. Holst, Hastings, T., Manros, C., Zehler, P., Kugler, C., and H. Holst,
"Internet Printing Protocol/1.1: Implementer's Guide", RFC3196, "Internet Printing Protocol/1.1: Implementer's Guide", RFC3196,
November 2001. November 2001.
15 Security Considerations 15 IANA Considerations
This section contains the exact information for IANA to add to the
IPP Registries according to the procedures defined in RFC 2911
[RFC2911] section 6. The resulting registrations will be published
in the http://www.iana.org/assignments/ipp-registrations registry.
Note to RFC Editors: Replace RFC NNNN below with the RFC number
for this document, so that it accurately reflects the content of
the information for the IANA Registry.
15.1 Attribute Registrations
The following table lists the attributes defined in this document.
This is to be registered according to the procedures in RFC 2911
[RFC2911] section 6.2.
Printer Description attributes: Ref. Section:
ippget-event-life (integer(15:MAX)) RFC NNNN 8.1
15.2 Additional keyword attribute value registrations for existing
attributes
This section lists additional keyword attribute value registrations
for use with existing attributes defined in other documents. These
are to be registered according to the procedures in RFC 2911
[RFC2911] section 6.1.
keyword Attribute Values: Ref. Section:
notify-pull-method (type2 keyword) [ipp-ntfy] 5.3.2
notify-pull-method-supported (1setOf type2 keyword)
[ipp-ntfy] 5.3.2.1
ippget RFC NNNN 9.1
15.3 Additional enum attribute values
The following table lists the enum attribute values defined in this
document. These are to be registered according to the procedures in
RFC 2911 [RFC2911] section 6.1.
Attribute
Value Name Reference Section
------ ----------------------------- --------- -------
operations-supported (type2 enum) RFC2911 4.4.15
0x001C Get-Notifications RFC NNNN 9.2
15.4 Operation Registrations
The following table lists the operations defined in this document.
This is to be registered according to the procedures in RFC 2911
[RFC2911] section 6.4.
Operations: Ref. Section:
Get-Notifications operation RFC NNNN 5
15.5 Status code Registrations
The following table lists the status codes defined in this document.
This is to be registered according to the procedures in RFC 2911
[RFC2911] section 6.6.
Status codes: Ref. Section:
successful-ok-events-complete (0x0007) RFC NNNN 10.1
16 Internationalization Considerations
The IPP Printer MUST localize the "notify-text" attribute as
specified in section 14 of [ipp-ntfy].
In addition, when the client receives the Get-Notifications response,
it is expected to localize the attributes that have the 'keyword'
attribute syntax according to the charset and natural language
requested in the Get-Notifications request.
17 Security Considerations
The IPP Model and Semantics document [RFC2911 section 8] discusses The IPP Model and Semantics document [RFC2911 section 8] discusses
high-level security requirements (Client Authentication, Server high-level security requirements (Client Authentication, Server
Authentication and Operation Privacy). The IPP Transport and Authentication and Operation Privacy). The IPP Transport and
Encoding document [RFC2910 section 8] discusses the security Encoding document [RFC2910 section 8] discusses the security
requirements for the IPP protocol. Client Authentication is the requirements for the IPP protocol. Client Authentication is the
mechanism by which the client proves its identity to the server in a mechanism by which the client proves its identity to the server in a
secure manner. Server Authentication is the mechanism by which the secure manner. Server Authentication is the mechanism by which the
server proves its identity to the client in a secure manner. server proves its identity to the client in a secure manner.
Operation Privacy is defined as a mechanism for protecting operations Operation Privacy is defined as a mechanism for protecting operations
skipping to change at page 30, line 31 skipping to change at page 31, line 5
order to maintain the same security support as IPP/1.1. order to maintain the same security support as IPP/1.1.
The access control model for the Get-Notifications operation defined The access control model for the Get-Notifications operation defined
in this document is the same as the access control model for the Get- in this document is the same as the access control model for the Get-
Job-Attributes operation (see [RFC2911] section 3.2.6). The primary Job-Attributes operation (see [RFC2911] section 3.2.6). The primary
difference is that a Get-Notifications operation is directed at difference is that a Get-Notifications operation is directed at
Subscription Objects rather than at Job objects, and a returned Subscription Objects rather than at Job objects, and a returned
attribute group contains Event Notification attributes rather than attribute group contains Event Notification attributes rather than
Job object attributes. Job object attributes.
15.1 Notification Recipient client access rights 17.1 Notification Recipient client access rights
The Notification Recipient client MUST have the following access The Notification Recipient client MUST have the following access
rights to the Subscription object(s) targeted by the Get- rights to the Subscription object(s) targeted by the Get-
Notifications operation request: Notifications operation request:
The authenticated user (see [RFC2911] section 8.3) performing this The authenticated user (see [RFC2911] section 8.3) performing this
operation MUST be (1) the owner of each Subscription Object operation MUST be (1) the owner of each Subscription Object
identified by the "notify-subscription-ids" operation attribute identified by the "notify-subscription-ids" operation attribute
(see section 5.1.1), (2) an operator or administrator of the (see section 5.1.1), (2) an operator or administrator of the
Printer (see [RFC2911] Sections 1 and 8.5), or (3) be otherwise Printer (see [RFC2911] Sections 1 and 8.5), or (3) be otherwise
authorized by the Printer's administrator-configured security authorized by the Printer's administrator-configured security
policy to request Event Notifications from the target Subscription policy to request Event Notifications from the target Subscription
Object(s). Furthermore, the Printer's security policy MAY limit Object(s). Furthermore, the Printer's security policy MAY limit
the attributes returned by the Get-Notifications operation, in a the attributes returned by the Get-Notifications operation, in a
manner similar to the Get-Job-Attributes operation (see [RFC2911] manner similar to the Get-Job-Attributes operation (see [RFC2911]
end of section 3.3.4.2). end of section 3.3.4.2).
15.2 Printer security threats 17.2 Printer security threats
Because the Get-Notifications operation is sent in the same direction Because the Get-Notifications operation is sent in the same direction
as Job Creation operations, usually by the same client, this Event as Job Creation operations, usually by the same client, this Event
Notification Delivery Method poses no additional authentication, Notification Delivery Method poses no additional authentication,
authorization, privacy, firewall, or port assignment issues above authorization, privacy, firewall, or port assignment issues above
those for the IPP Get-Job-Attributes and Get-Printer-Attributes those for the IPP Get-Job-Attributes and Get-Printer-Attributes
operations (see [RFC2911] sections 3.2.6 and 3.2.5). operations (see [RFC2911] sections 3.2.6 and 3.2.5).
15.3 Notification Recipient security threats 17.3 Notification Recipient security threats
Unwanted Events Notifications (spam): Unlike Push Event Notification Unwanted Events Notifications (spam): Unlike Push Event Notification
Delivery Methods in which the IPP Printer initiates the Event Delivery Methods in which the IPP Printer initiates the Event
Notification, with the Pull Delivery Method defined in this document, Notification, with the Pull Delivery Method defined in this document,
the Notification Recipient is the client who initiates the Get- the Notification Recipient is the client who initiates the Get-
Notifications operation (see section 5). Therefore, there is no Notifications operation (see section 5). Therefore, there is no
chance of "spam" notifications with this method. chance of "spam" notifications with this method.
Note: when a client stays connected to a Printer using the Event Note: when a client stays connected to a Printer using the Event
Wait Mode (see section 5.1.3) in order to receive Event Notifications Wait Mode (see section 5.1.3) in order to receive Event Notifications
skipping to change at page 31, line 41 skipping to change at page 32, line 11
does a Get-Notifications request, the client gets all events for the does a Get-Notifications request, the client gets all events for the
Subscription Object in the sequence number range (see section 5.1.2), Subscription Object in the sequence number range (see section 5.1.2),
not just the ones the client wants. If a client subscribes to a Per- not just the ones the client wants. If a client subscribes to a Per-
Printer Subscription job event, such as 'job-completed', and someone Printer Subscription job event, such as 'job-completed', and someone
then starts and cancels thousands of jobs, the client would have to then starts and cancels thousands of jobs, the client would have to
receive these events in addition to the ones the client is interested receive these events in addition to the ones the client is interested
in. A client can protect itself better by subscribing to his own in. A client can protect itself better by subscribing to his own
jobs using a Per-Job Subscription, rather than creating a Per-Printer jobs using a Per-Job Subscription, rather than creating a Per-Printer
subscription whose Job events apply to all jobs. subscription whose Job events apply to all jobs.
15.4 Security requirements for Printers 17.4 Security requirements for Printers
For the Get-Notifications operation defined in this document, the For the Get-Notifications operation defined in this document, the
same Printer conformance requirements apply for supporting and using same Printer conformance requirements apply for supporting and using
Client Authentication, Server Authentication and Operation Privacy as Client Authentication, Server Authentication and Operation Privacy as
stated in [RFC2910] section 8 for all IPP operations. stated in [RFC2910] section 8 for all IPP operations.
15.5 Security requirements for clients 17.5 Security requirements for clients
For the Get-Notifications operation defined in this document, the For the Get-Notifications operation defined in this document, the
same client conformance requirements apply for supporting and using same client conformance requirements apply for supporting and using
Client Authentication, Server Authentication and Operation Privacy as Client Authentication, Server Authentication and Operation Privacy as
stated in [RFC2910] section 8 for all IPP operations. stated in [RFC2910] section 8 for all IPP operations.
16 Internationalization Considerations
The IPP Printer MUST localize the "notify-text" attribute as
specified in section 14 of [ipp-ntfy].
In addition, when the client receives the Get-Notifications response,
it is expected to localize the attributes that have the 'keyword'
attribute syntax according to the charset and natural language
requested in the Get-Notifications request.
17 IANA Considerations
This section contains the exact information for IANA to add to the
IPP Registries according to the procedures defined in RFC 2911
[RFC2911] section 6.
Note to RFC Editors: Replace RFC NNNN below with the RFC number
for this document, so that it accurately reflects the content of
the information for the IANA Registry.
17.1 Additional attribute value registrations for existing attributes
This section lists additional attribute value registrations for use
with existing attributes defined in other documents.
17.1.1 Additional values for the "notify-pull-method-supported" Printer
attribute
The following table lists the keyword value defined in this document
as an additional keyword value for use with the "notify-pull-method-
supported" Printer attribute defined in [ipp-ntfy]. This is to be
registered according to the procedures in RFC 2911 [RFC2911] section
6.1.
keyword Attribute Values: Ref. Section:
ippget RFC NNNN 9.1
The resulting keyword method attribute value registrations will be
published in the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attribute-
values/notify-pull-method-supported/
area.
17.1.2 Additional values for the "operations-supported" Printer
attribute
The following table lists the enum attribute value defined in this
document as an additional type2 enum value for use with the
"operations-supported" Printer attribute defined in [RFC2911]. This
is to be registered according to the procedures in RFC 2911 [RFC2911]
section 6.1.
type2 enum Attribute Values: Value Ref. Section:
Get-Notifications 0x001C RFC NNNN 9.2
The resulting enum attribute value registration will be published in
the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attribute-
values/operations-supported/
area.
17.2 Operation Registrations
The following table lists the operation defined in this document.
This is to be registered according to the procedures in RFC 2911
[RFC2911] section 6.4.
Operations: Ref. Section:
Get-Notifications operation RFC NNNN 5
The resulting operation registration will be published in the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/operations/
area.
17.3 Attribute Registrations
The following table lists the attribute defined in this document.
This is to be registered according to the procedures in RFC 2911
[RFC2911] section 6.2.
Printer Description attributes: Ref. Section:
ippget-event-life (integer(15:MAX)) RFC NNNN 8.1
The resulting attribute registration will be published in the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attributes/
area.
17.4 Status code Registrations
The following table lists the status code defined in this document.
This is to be registered according to the procedures in RFC 2911
[RFC2911] section 6.6.
Status codes: Ref. Section:
successful-ok-events-complete (0x0007) RFC NNNN 10.1
redirection-other-site (0x0300) RFC NNNN 10.2
The resulting status code registration will be published in the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/status-codes/
area.
18 Contributors 18 Contributors
Carl Kugler and Harry Lewis contributed the basic idea of in-band Carl Kugler and Harry Lewis contributed the basic idea of in-band
"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
Harry Lewis
IBM
P.O. Box 1900
Boulder, CO 80301-9191
Phone: 303-924-5337
FAX:
e-mail: harryl@us.ibm.com
19 Authors' Addresses 19 Authors' Addresses
Robert Herriot Robert Herriot
706 Colorado Ave. 706 Colorado Ave.
Palo Alto, CA 94303 Palo Alto, CA 94303
Phone: 650-327-4466 Phone: 650-327-4466
Fax: 650-327-4466 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
skipping to change at page 35, line 24 skipping to change at page 33, line 20
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
IBM
P.O. Box 1900
Boulder, CO 80301-9191
Phone: 303-924-5337
FAX:
e-mail: harryl@us.ibm.com
IPP Web Page: http://www.pwg.org/ipp/ IPP Web Page: http://www.pwg.org/ipp/
IPP Mailing List: ipp@pwg.org IPP Mailing List: ipp@pwg.org
To subscribe to the ipp mailing list, send the following email: To subscribe to the ipp mailing list, send the following email:
1) send it to majordomo@pwg.org 1) send it to majordomo@pwg.org
2) leave the subject line blank 2) leave the subject line blank
3) put the following two lines in the message body: 3) put the following two lines in the message body:
subscribe ipp subscribe ipp
end end
Implementers of this specification document are encouraged to join Implementers of this specification document are encouraged to join
the IPP Mailing List in order to participate in any discussions of the IPP Mailing List in order to participate in any discussions of
clarification issues and review of registration proposals for clarification issues and review of registration proposals for
additional attributes and values. In order to reduce spam the additional attributes and values. In order to reduce spam the
mailing list rejects mail from non-subscribers, so you must subscribe 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 to the mailing list in order to send a question or comment to the
mailing list. mailing list.
20 Description of Base IPP documents 20 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]
Mapping between LPD and IPP Protocols [RFC2569] Mapping between LPD and IPP Protocols [RFC2569]
The "Design Goals for an Internet Printing Protocol" document takes a The "Design Goals for an Internet Printing Protocol" document takes a
broad look at distributed printing functionality, and it enumerates broad look at distributed printing functionality, and it enumerates
real-life scenarios that help to clarify the features that need to be real-life scenarios that help to clarify the features that need to be
included in a printing protocol for the Internet. It identifies included in a printing protocol for the Internet. It identifies
requirements for three types of users: end users, operators, and requirements for three types of users: end users, operators, and
administrators. It calls out a subset of end user requirements that administrators. It calls out a subset of end user requirements that
are satisfied in IPP/1.0. A few OPTIONAL operator operations have are satisfied in IPP/1.0. A few OPTIONAL operator operations have
been added to IPP/1.1. been added to IPP/1.1.
skipping to change at page 37, line 7 skipping to change at page 35, line 7
and/or IPP object implementations. For example, a typical order of and/or IPP object implementations. For example, a typical order of
processing requests is given, including error checking. Motivation processing requests is given, including error checking. Motivation
for some of the specification decisions is also included. for some of the specification decisions is also included.
The "Mapping between LPD and IPP Protocols" document gives some The "Mapping between LPD and IPP Protocols" document gives some
advice to implementers of gateways between IPP and LPD (Line Printer advice to implementers of gateways between IPP and LPD (Line Printer
Daemon) implementations. Daemon) implementations.
21 Full Copyright Statement 21 Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
 End of changes. 

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