| < draft-ietf-ipp-notify-poll-01.txt | draft-ietf-ipp-notify-poll-02.txt > | |||
|---|---|---|---|---|
| INTERNET-DRAFT Robert Herriot | INTERNET-DRAFT Robert Herriot | |||
| <draft-ietf-ipp-notify-poll-01.txt> Xerox Corp. | <draft-ietf-ipp-notify-poll-02.txt> Xerox Corp. | |||
| Tom Hastings | Tom Hastings | |||
| Xerox Corp. | Xerox Corp. | |||
| Carl-Uno Manros | Carl-Uno Manros | |||
| Xerox Corp. | Xerox Corp. | |||
| Harry Lewis | Harry Lewis | |||
| IBM, Corp. | IBM, Corp. | |||
| July 7, 2000 | August 15, 2000 | |||
| Internet Printing Protocol (IPP): | Internet Printing Protocol (IPP): | |||
| The 'ipp-get' Delivery Method | The 'ipp-get' Notification Polling Method | |||
| Copyright (C) The Internet Society (2000). All Rights Reserved. | Copyright (C) The Internet Society (2000). All Rights Reserved. | |||
| Status of this Memo | Status of this Memo | |||
| This document is an Internet-Draft and is in full conformance with all | This document is an Internet-Draft and is in full conformance with all | |||
| provisions of Section 10 of [rfc2026]. Internet-Drafts are working | provisions of Section 10 of [rfc2026]. Internet-Drafts are working | |||
| documents of the Internet Engineering Task Force (IETF), its areas, and | documents of the Internet Engineering Task Force (IETF), its areas, and | |||
| its working groups. Note that other groups may also distribute working | its working groups. Note that other groups may also distribute working | |||
| documents as Internet-Drafts. | documents as Internet-Drafts. | |||
| skipping to change at page 5, line 7 ¶ | skipping to change at page 5, line 7 ¶ | |||
| Subscription Objects with a particular Job by performing the Create-Job- | Subscription Objects with a particular Job by performing the Create-Job- | |||
| Subscriptions operation or by submitting a Job with subscription | Subscriptions operation or by submitting a Job with subscription | |||
| information. A client associates Subscription Objects with the Printer | information. A client associates Subscription Objects with the Printer | |||
| by performing a Create-Printer-Subscriptions operation. Four other | by performing a Create-Printer-Subscriptions operation. Four other | |||
| operations are defined for Subscription Objects: Get-Subscriptions- | operations are defined for Subscription Objects: Get-Subscriptions- | |||
| Attributes, Get-Subscriptions, Renew-Subscription, and Cancel- | Attributes, Get-Subscriptions, Renew-Subscription, and Cancel- | |||
| Subscription. | Subscription. | |||
| Table of Contents | Table of Contents | |||
| 1 Introduction ......................................................6 | 1 Introduction......................................................6 | |||
| 2 Terminology .......................................................6 | 2 Terminology.......................................................6 | |||
| 3 Model and Operation ...............................................7 | 3 Model and Operation...............................................6 | |||
| 4 Get-Notifications operation .......................................8 | 4 General Information...............................................8 | |||
| 4.1 GET-NOTIFICATIONS REQUEST.......................................11 | ||||
| 4.2 GET-NOTIFICATIONS RESPONSE......................................11 | ||||
| 5 Extensions to Print-Job, Print-URI, Create-Job, Create-Printer- | 5 Get-Notifications operation.......................................8 | |||
| Subscription and Create-Printer-Subscription.........................16 | 5.1 GET-NOTIFICATIONS REQUEST......................................9 | |||
| 5.1 RESPONSE........................................................16 | 5.2 GET-NOTIFICATIONS RESPONSE....................................10 | |||
| 6 Encoding .........................................................17 | 6 Extensions to Subscription Creation Operations...................14 | |||
| 6.1 RESPONSE......................................................14 | ||||
| 7 IANA Considerations ..............................................17 | 7 Encoding.........................................................14 | |||
| 8 Internationalization Considerations ..............................17 | 8 IANA Considerations..............................................15 | |||
| 9 Security Considerations ..........................................17 | 9 Internationalization Considerations..............................15 | |||
| 10 References .......................................................18 | 10 Security Considerations..........................................15 | |||
| 11 Authors' Addresses ...............................................18 | 11 References.......................................................15 | |||
| 12 Full Copyright Statement .........................................19 | 12 Authors' Addresses...............................................16 | |||
| 13 Full Copyright Statement.........................................16 | ||||
| 1 Introduction | 1 Introduction | |||
| The notification extension document [ipp-ntfy] defines operations that a | The notification extension document [ipp-ntfy] defines operations that a | |||
| client can perform in order to create Subscription Objects in a Printer | client can perform in order to create Subscription Objects in a Printer | |||
| and carry out other operations on them. A Subscription Object represents | and carry out other operations on them. A Subscription Object represents | |||
| a Subscription abstraction. The Subscription Object specifies that when | a Subscription abstraction. The Subscription Object specifies that when | |||
| one of the specified Events occurs, the Printer sends an asynchronous | one of the specified Events occurs, the Printer sends an asynchronous | |||
| Event Notification to the specified Notification Recipient via the | Event Notification to the specified Notification Recipient via the | |||
| specified Delivery Method (i.e., protocol). | specified Delivery Method (i.e., protocol). | |||
| skipping to change at page 8, line 48 ¶ | skipping to change at page 8, line 14 ¶ | |||
| 4 General Information | 4 General Information | |||
| According to the notification extension document [ipp-ntfy], this | According to the notification extension document [ipp-ntfy], this | |||
| document MUST contain the following information: | document MUST contain the following information: | |||
| 1.The URL scheme name for the Delivery Method is: 'ipp-get' | 1.The URL scheme name for the Delivery Method is: 'ipp-get' | |||
| 2.Printer support for this delivery method is OPTIONAL. | 2.Printer support for this delivery method is OPTIONAL. | |||
| 3.For Event Notification content, a Printer MUST IPP with one new | 3.For Event Notification content, a Printer MUST use the following | |||
| operation. | transport and delivery protocol, i.e., entire network stack: IPP | |||
| with one new operation. | ||||
| 4.Several Event Notifications MAY be combined into a compound Event | 4.Several Event Notifications can be combined into a compound Event | |||
| Notification. See section 5. | Notification. See section 5. | |||
| 5.The Notification Recipient MUST initiate the Delivery Method | 5.The Notification Recipient MUST initiate the Delivery Method | |||
| 6.The Delivery Method sends Machine Consumable Event Notifications. | 6.The Delivery Method is Machine Consumable. | |||
| 7.The representation and encoding for each value MUST be the same as | 7.The representation and encoding for each value is the same as for IPP | |||
| for IPP (see section 5). | (see section 5). | |||
| 8.In the Event Notification content, a Printer MUST send all attributes | 8.In the Event Notification content, a Printer MUST send all attributes | |||
| specified in section 5. | specified in section 5. | |||
| 9.Frequently occurring Events NEED NOT be moderated because the | 9.Frequently occurring Events NEED NOT be moderated because the | |||
| Delivery Method is a 'pull' Delivery Method. An implementation of the | Delivery Method is a 'pull' Delivery Method. An implementation of the | |||
| Get-Notifications operation SHOULD consider how often it recommends a | Get-Notifications operation SHOULD consider how often it recommends a | |||
| Notification Recipient to poll again. | Notification Recipient to poll again. | |||
| 10. This Delivery Method has the same latency and reliability as the | 10. This Delivery Method has the same latency and reliability as the | |||
| skipping to change at page 14, line 12 ¶ | skipping to change at page 12, line 28 ¶ | |||
| Notifications") of [ipp-ntfy] with exceptions denoted by asterisks | Notifications") of [ipp-ntfy] with exceptions denoted by asterisks | |||
| in the tables below. | in the tables below. | |||
| The tables below are copies of the tables in section 9.1 ("Content | The tables below are copies of the tables in section 9.1 ("Content | |||
| of Machine Consumable Event Notifications") of [ipp-ntfy] except | of Machine Consumable Event Notifications") of [ipp-ntfy] except | |||
| that each cell in the "Sends" column is a "MUST". | that each cell in the "Sends" column is a "MUST". | |||
| For an Event Notification for all Events, the Printer includes the | For an Event Notification for all Events, the Printer includes the | |||
| following attributes. | following attributes. | |||
| Table 1 - Attributes in Event Notification Content | Table 1 . Attributes in Event Notification Content | |||
| Source Value Sends Source Object | Source Value Sends Source Object | |||
| notify-subscription-id (integer(1:MAX)) MUST Subscription | notify-subscription-id (integer(1:MAX)) MUST Subscription | |||
| notify-printer-uri (uri) MUST Subscription | notify-printer-uri (uri) MUST Subscription | |||
| notify-subscribed-event (type2 keyword) MUST Event | notify-subscribed-event (type2 keyword) MUST Event | |||
| Notification | Notification | |||
| printer-up-time (integer(MIN:MAX)) MUST Printer | printer-up-time (integer(MIN:MAX)) MUST Printer | |||
| printer-current-time (dateTime)* MUST Printer | printer-current-time (dateTime)* MUST Printer | |||
| notify-sequence-number (integer (0:MAX)) MUST Subscription | notify-sequence-number (integer (0:MAX)) MUST Subscription | |||
| notify-charset (charset) MUST Subscription | notify-charset (charset) MUST Subscription | |||
| notify-natural-language (naturalLanguage) MUST Subscription | notify-natural-language (naturalLanguage) MUST Subscription | |||
| notify-user-data (octetString(63)) ** MUST Subscription | notify-user-data (octetString(63)) ** MUST Subscription | |||
| notify-text (text) MUST Event | notify-text (text) MUST Event | |||
| Notification | Notification | |||
| attributes from the "notify-attributes" MUST Printer | attributes from the "notify-attributes" MUST Printer | |||
| attribute *** | attribute *** | |||
| attributes from the "notify-attributes" MUST Job | attributes from the "notify-attributes" MUST Job | |||
| attribute *** | attribute *** | |||
| Source Value Sends Source Object | ||||
| attributes from the "notify-attributes" MUST Subscription | attribute *** | |||
| attributes from the "notify-attributes" MUST Subscription | ||||
| attribute *** | attribute *** | |||
| * The Printer MUST send "printer-current-time" if and only if it | * The Printer MUST send "printer-current-time" if and only if it | |||
| supports the "printer-current-time" attribute on the Printer | supports the "printer-current-time" attribute on the Printer | |||
| object. | object. | |||
| ** If the associated Subscription Object does not contain a | ** If the associated Subscription Object does not contain a | |||
| "notify-user-data" attribute, the Printer MUST send an octet-string | "notify-user-data" attribute, the Printer MUST send an octet-string | |||
| of length 0. | of length 0. | |||
| *** If the "notify-attributes" attribute is present on the | *** If the "notify-attributes" attribute is present on the | |||
| Subscription Object, the Printer MUST send all attributes specified | Subscription Object, the Printer MUST send all attributes specified | |||
| by the "notify-attributes" attribute. Note: if the Printer doesn't | by the "notify-attributes" attribute. Note: if the Printer doesn't | |||
| support the "notify-attributes" attribute, it is not present on the | support the "notify-attributes" attribute, it is not present on the | |||
| associated Subscription Object. | associated Subscription Object. | |||
| For Event Notifications for Job Events, the Printer includes the | For Event Notifications for Job Events, the Printer includes the | |||
| following additional attributes. | following additional attributes. | |||
| Table 2 - Additional Attributes in Event Notification Content for | Table 2 . Additional Attributes in Event Notification Content for | |||
| Job Events | Job Events | |||
| Source Value Sends Source Object | Source Value Sends Source Object | |||
| job-id (integer(1:MAX)) MUST Job | job-id (integer(1:MAX)) MUST Job | |||
| job-state (type1 enum) MUST Job | job-state (type1 enum) MUST Job | |||
| job-state-reasons (1setOf type2 keyword) MUST Job | job-state-reasons (1setOf type2 keyword) MUST Job | |||
| job-impressions-completed MUST Job | job-impressions-completed MUST Job | |||
| (integer(0:MAX)) * | (integer(0:MAX)) * | |||
| * The Printer MUST send the "job-impressions-completed" attribute | * The Printer MUST send the "job-impressions-completed" attribute | |||
| in an Event Notification only for the combinations of Events and | in an Event Notification only for the combinations of Events and | |||
| Subscribed Events shown in Table 3. | Subscribed Events shown in Table 3. | |||
| Table 3 - Combinations of Events and Subscribed Events for "job- | Table 3 . Combinations of Events and Subscribed Events for "job- | |||
| impressions-completed" | impressions-completed" | |||
| Job Event Subscribed Job Event | Job Event Subscribed Job Event | |||
| 'job-progress' 'job-progress' | 'job-progress' 'job-progress' | |||
| 'job-completed' 'job-completed' | 'job-completed' 'job-completed' | |||
| 'job-completed' 'job-state-changed' | 'job-completed' 'job-state-changed' | |||
| For Event Notification for Printer Events, the Printer includes the | For Event Notification for Printer Events, the Printer includes the | |||
| following additional attributes. | following additional attributes. | |||
| Table 4 - Additional Attributes in Event Notification Content for | Table 4 . Additional Attributes in Event Notification Content for | |||
| Printer Events | Printer Events | |||
| Source Value Sends Source Object | Source Value Sends Source Object | |||
| printer-state (type1 enum) MUST Printer | printer-state (type1 enum) MUST Printer | |||
| printer-state-reasons (1setOf type2 MUST Printer | printer-state-reasons (1setOf type2 MUST Printer | |||
| keyword) | keyword) | |||
| printer-is-accepting-jobs (boolean) MUST Printer | printer-is-accepting-jobs (boolean) MUST Printer | |||
| 6 Extensions to Subscription Creation Operations | 6 Extensions to Subscription Creation Operations | |||
| 6.1 Response | 6.1 Response | |||
| When a Subscription Creation Operation contains a "notify-recipient-uri" | When a Subscription Creation Operation contains a "notify-recipient-uri" | |||
| attribute and the scheme in its value is 'ipp-get', the response MUST | attribute and the scheme in its value is 'ipp-get', the response MUST | |||
| contain two additional Operation Attributes that pertain to this | contain two additional Operation Attributes that pertain to this | |||
| Delivery Method. Note: Subscription Creation Operations include: Print- | Delivery Method. Note: Subscription Creation Operations include: Print- | |||
| Job, Print-URI, Create-Job, Create-Job-Subscriptions and Create-Printer- | Job, Print-URI, Create-Job, Create-Job-Subscriptions and Create-Printer- | |||
| skipping to change at page 17, line 17 ¶ | skipping to change at page 14, line 58 ¶ | |||
| The operation-id assigned for the Get-Notifications operation is: | The operation-id assigned for the Get-Notifications operation is: | |||
| 0x001C | 0x001C | |||
| and should be added to the next version of [ipp-mod] section 4.4.15 | and should be added to the next version of [ipp-mod] section 4.4.15 | |||
| "operations-supported". | "operations-supported". | |||
| This notification delivery method uses the IPP transport and encoding | This notification delivery method uses the IPP transport and encoding | |||
| [ipp-pro] for the Get-Notifications operation with one extension: | [ipp-pro] for the Get-Notifications operation with one extension: | |||
| notification-attributes-tag = %x07 ; tag of | notification-attributes-tag = %x07; tag of 7 | |||
| 7 | ||||
| 8 IANA Considerations | 8 IANA Considerations | |||
| There is nothing to register. | There is nothing to register. | |||
| 9 Internationalization Considerations | 9 Internationalization Considerations | |||
| The IPP Printer MUST localize the "notify-text" attribute as specified | The IPP Printer MUST localize the "notify-text" attribute as specified | |||
| in section 14 of [ipp-ntfy]. | in section 14 of [ipp-ntfy]. | |||
| skipping to change at page 18, line 18 ¶ | skipping to change at page 15, line 42 ¶ | |||
| Notifications operation. Therefore, there is no chance of "spam" | Notifications operation. Therefore, there is no chance of "spam" | |||
| notifications with this method. Furthermore, such a client can close | notifications with this method. Furthermore, such a client can close | |||
| down the HTTP channel at any time, and so can avoid future unwanted | down the HTTP channel at any time, and so can avoid future unwanted | |||
| Event Notifications at any time. | Event Notifications at any time. | |||
| 11 References | 11 References | |||
| [ipp-mod] | [ipp-mod] | |||
| R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell, | R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell, | |||
| "Internet Printing Protocol/1.1: Model and Semantics", <draft-ietf- | "Internet Printing Protocol/1.1: Model and Semantics", <draft-ietf- | |||
| ipp-model-v11-06.txt>, March 1, 2000. | ipp-model-v11-07.txt>, May 22, 2000. | |||
| [ipp-ntfy] | [ipp-ntfy] | |||
| R. Herriot, Hastings, T., Isaacson, S., Martin, J., deBry, R., | R. Herriot, Hastings, T., Isaacson, S., Martin, J., deBry, R., | |||
| Shepherd, M., Bergman, R., "Internet Printing Protocol/1.1: IPP | Shepherd, M., Bergman, R., "Internet Printing Protocol/1.1: IPP | |||
| Event Notification Specification", <draft-ietf-ipp-not-spec- | Event Notification Specification", <draft-ietf-ipp-not-spec- | |||
| 04.txt>, June 30, 2000. | 04.txt>, July 13, 2000. | |||
| [ipp-pro] | [ipp-pro] | |||
| Herriot, R., Butler, S., Moore, P., Tuner, R., "Internet Printing | Herriot, R., Butler, S., Moore, P., Tuner, R., "Internet Printing | |||
| Protocol/1.1: Encoding and Transport", draft-ietf-ipp-protocol-v11- | Protocol/1.1: Encoding and Transport", draft-ietf-ipp-protocol-v11- | |||
| 05.txt, March 1, 2000. | 06.txt, May 30, 2000. | |||
| [rfc2026] | [rfc2026] | |||
| S. Bradner, "The Internet Standards Process -- Revision 3", RFC | S. Bradner, "The Internet Standards Process -- Revision 3", RFC | |||
| 2026, October 1996. | 2026, October 1996. | |||
| [RFC2616] | [RFC2616] | |||
| R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. | R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. | |||
| Leach, T. Berners-Lee, "Hypertext Transfer Protocol - HTTP/1.1", | Leach, T. Berners-Lee, "Hypertext Transfer Protocol - HTTP/1.1", | |||
| RFC 2616, June 1999. | RFC 2616, June 1999. | |||
| skipping to change at page 19, line 17 ¶ | skipping to change at page 16, line 35 ¶ | |||
| Phone: 310-333-6413 | Phone: 310-333-6413 | |||
| Fax: 310-333-5514 | Fax: 310-333-5514 | |||
| e-mail: hastings@cp10.es.xerox.com | e-mail: hastings@cp10.es.xerox.com | |||
| Carl-Uno Manros | Carl-Uno Manros | |||
| Xerox Corporation | Xerox Corporation | |||
| 701 Aviation Blvd. | 701 Aviation Blvd. | |||
| El Segundo, CA 90245 | El Segundo, CA 90245 | |||
| Phone: 310-333- | Phone: 310-333-8273 | |||
| Fax: 310-333-5514 | Fax: 310-333-5514 | |||
| e-mail: manros@cp10.es.xerox.com | e-mail: manros@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: | |||
| End of changes. 56 change blocks. | ||||
| 62 lines changed or deleted | 66 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||