| < draft-ietf-ipp-notify-mailto-03.txt | draft-ietf-ipp-notify-mailto-04.txt > | |||
|---|---|---|---|---|
| INTERNET-DRAFT | Internet Printing Protocol WG Robert Herriot | |||
| <draft-ietf-ipp-notify-mailto-03.txt> Robert Herriot | INTERNET-DRAFT Tom Hastings | |||
| Category: standards track Xerox Corp. | <draft-ietf-ipp-notify-mailto-04.txt> Carl-Uno Manros | |||
| Henrik Holst | Updates: RFC 2911 Xerox Corp. | |||
| i-data international a/s | [Target Category: standards track] Henrik Holst | |||
| Tom Hastings | Expires: January 17, 2002 i-data international a/s | |||
| Xerox Corp. | July 17, 2001 | |||
| Carl-Uno Manros | ||||
| Xerox Corp. | ||||
| August 30, 2000 | ||||
| Internet Printing Protocol (IPP): | ||||
| The 'mailto' Delivery Method for Event Notifications | ||||
| Copyright (C) The Internet Society (2000). All Rights Reserved. | Internet Printing Protocol (IPP): | |||
| The 'mailto' Delivery Method for Event Notifications | ||||
| 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 | |||
| provisions of Section 10 of [RFC2026]. Internet-Drafts are working | all provisions of Section 10 of [RFC2026]. Internet-Drafts are | |||
| documents of the Internet Engineering Task Force (IETF), its areas, and | working documents of the Internet Engineering Task Force (IETF), its | |||
| its working groups. Note that other groups may also distribute working | areas, and its working groups. Note that other groups may also | |||
| documents as Internet-Drafts. | distribute working documents as Internet-Drafts. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference material | time. It is inappropriate to use Internet-Drafts as reference | |||
| or to cite them other than as "work in progress". | material or to cite them other than as "work in progress". | |||
| 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.txt | http://www.ietf.org/ietf/1id-abstracts.txt | |||
| 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 | |||
| The notification extension document [ipp-ntfy] defines operations that a | This document describes an extension to the Internet Printing | |||
| client can perform in order to create Subscription Objects in a Printer | Protocol/1.0 (IPP) [RFC2566, RFC2565] and IPP/1.1 [RFC2911, RFC2910]. | |||
| and carry out other operations on them. The Subscription Object | This document specifies the 'mailto' Delivery Method for use with the | |||
| specifies that when one of the specified Events occurs, the Printer | "IPP Event Notifications and Subscriptions" specification [ipp-ntfy]. | |||
| sends an asynchronous Event Notification to the specified Notification | When IPP Notification [ipp-ntfy] is supported, the Delivery Method | |||
| Recipient via the specified Delivery Method (i.e., protocol). | defined in this document is one of the RECOMMENDED Delivery Methods | |||
| for Printers to support. | ||||
| The notification extension document [ipp-ntfy] specifies that each | ||||
| Delivery Method is defined in another document. This document is one | ||||
| such document, and it specifies the 'mailto' delivery method. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | ||||
| For this Delivery Method, when an Event occurs, the Printer immediately | ||||
| sends an Event Notification via an email message to the Notification | ||||
| Recipient specified in the Subscription Object. The message body of the | ||||
| email consists of Human Consumable text that is not intended to be | ||||
| parsed by a machine. | ||||
| The Notification Recipient receives the Event Notification in the same | ||||
| way as it receives any other email message. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | ||||
| The basic set of IPP documents includes: | ||||
| Design Goals for an Internet Printing Protocol [RFC2567] | ||||
| Rationale for the Structure and Model and Protocol for the Internet | ||||
| Printing Protocol [RFC2568] | ||||
| Internet Printing Protocol/1.1: Model and Semantics [ipp-mod] | ||||
| Internet Printing Protocol/1.1: Encoding and Transport [ipp-pro] | ||||
| Internet Printing Protocol/1.1: Implementer's Guide [ipp-iig] | ||||
| Mapping between LPD and IPP Protocols [RFC2569] | ||||
| Internet Printing Protocol (IPP): IPP Event Notification | ||||
| Specification [ipp-ntfy] | ||||
| The "Design Goals for an Internet Printing Protocol" document takes a | ||||
| broad look at distributed printing functionality, and it enumerates | ||||
| real-life scenarios that help to clarify the features that need to be | ||||
| included in a printing protocol for the Internet. It identifies | ||||
| requirements for three types of users: end users, operators, and | ||||
| administrators. It calls out a subset of end user requirements that are | ||||
| satisfied in IPP/1.0. A few OPTIONAL operator operations have been | ||||
| added to IPP/1.1. | ||||
| The "Rationale for the Structure and Model and Protocol for the Internet | ||||
| Printing Protocol" document describes IPP from a high level view, | ||||
| defines a roadmap for the various documents that form the suite of IPP | ||||
| specification documents, and gives background and rationale for the IETF | ||||
| working group's major decisions. | ||||
| The "Internet Printing Protocol/1.1: Model and Semantics" document | ||||
| describes a simplified model with abstract objects, their attributes, | ||||
| and their operations that are independent of encoding and transport. It | ||||
| introduces a Printer and a Job object. The Job object optionally | ||||
| supports multiple documents per Job. It also addresses security, | ||||
| internationalization, and directory issues. | ||||
| The "Internet Printing Protocol/1.1: Encoding and Transport" document is | ||||
| a formal mapping of the abstract operations and attributes defined in | ||||
| the model document onto HTTP/1.1 [RFC2616]. It defines the encoding | ||||
| rules for a new Internet MIME media type called "application/ipp". This | ||||
| document also defines the rules for transporting over HTTP a message | ||||
| body whose Content-Type is "application/ipp". This document also | ||||
| defines a new scheme named 'ipp' for identifying IPP printers and jobs. | ||||
| The "Internet Printing Protocol/1.1: Implementer's Guide" document gives | ||||
| insight and advice to implementers of IPP clients and IPP objects. It | ||||
| is intended to help them understand IPP/1.1 and some of the | ||||
| considerations that may assist them in the design of their client and/or | ||||
| IPP object implementations. For example, a typical order of processing | ||||
| requests is given, including error checking. Motivation for some of the | ||||
| specification decisions is also included. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | ||||
| The "Mapping between LPD and IPP Protocols" document gives some advice | ||||
| to implementers of gateways between IPP and LPD (Line Printer Daemon) | ||||
| implementations. | ||||
| The "Event Notification Specification" document describes an extension | ||||
| to the IPP/1.0, IPP/1.1, and future versions. This extension allows a | ||||
| client to subscribe to printing related Events. The Subscription Object | ||||
| specifies that when one of the specified Event occurs, the Printer sends | ||||
| an asynchronous Event Notification to the specified Notification | ||||
| Recipient via the specified Delivery Method (i.e., protocol). A client | ||||
| associates Subscription Objects with a particular Job by performing the | ||||
| Create-Job-Subscriptions operation or by submitting a Job with | ||||
| subscription information. A client associates Subscription Objects with | ||||
| the Printer by performing a Create-Printer-Subscriptions operation. | ||||
| Four other operations are defined for Subscription Objects: Get- | ||||
| Subscriptions-Attributes, Get-Subscriptions, Renew-Subscription, and | ||||
| Cancel-Subscription. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | ||||
| Table of Contents | ||||
| 1 Introduction ......................................................7 | ||||
| 2 Terminology .......................................................7 | ||||
| 3 Model and Operation ...............................................7 | ||||
| 4 General Information ...............................................9 | ||||
| 5 Subscription Template Attributes .................................11 | ||||
| 5.1 Additional Subscription Template Attributes ...................11 | ||||
| 5.1.1 notify-mailto-text-only (boolean)..........................11 | ||||
| 5.2 Additional Information about Subscription Template Attributes .12 | ||||
| 5.2.1 notify-recipient-uri (uri).................................12 | ||||
| 5.2.2 notify-user-data (octetString(63)).........................12 | ||||
| 6 Event Notification Content .......................................13 | For this Delivery Method, when an Event occurs, the Printer | |||
| 6.1 Headers .......................................................13 | immediately sends an Event Notification via an email message to the | |||
| 6.1.1 'Date' header..............................................13 | Notification Recipient specified in the Subscription Object. The | |||
| 6.1.2 'From' header..............................................14 | message body of the email consists of Human Consumable text that is | |||
| 6.1.3 'Subject' header...........................................14 | not intended to be parsed by a machine. The Notification Recipient | |||
| 6.1.4 'Sender' header............................................15 | receives the Event Notification in the same way as it receives any | |||
| 6.1.5 'Reply-to' header..........................................15 | other email message. | |||
| 6.1.6 'To' header................................................15 | ||||
| 6.1.7 'Content-type' header......................................16 | ||||
| 6.2 Message Body ..................................................16 | ||||
| 6.3 Plain Text Content ............................................17 | ||||
| 6.3.1 Event Notification Content Common to All Events............18 | ||||
| 6.3.2 Additional Event Notification Content for Job Events.......20 | ||||
| 6.3.3 Additional Event Notification Content for Printer Events...21 | ||||
| 6.4 Examples ......................................................21 | ||||
| 6.4.1 Job Event Example..........................................22 | ||||
| 6.4.2 Printer Event Example......................................23 | ||||
| 6.4.3 Printer Event Example (localized to Danish)...............24 | ||||
| 7 Conformance Requirements .........................................25 | Table of Contents | |||
| 8 IANA Considerations ..............................................26 | 1 Introduction.....................................................4 | |||
| 9 Internationalization Considerations ..............................26 | 2 Terminology......................................................4 | |||
| 10 Security Considerations ..........................................26 | 3 Model and Operation..............................................5 | |||
| 11 References .......................................................27 | 4 General Information..............................................6 | |||
| 12 Author's Addresses ...............................................28 | 5 Subscription Template Attributes.................................8 | |||
| 5.1 Additional Subscription Template Attributes....................8 | ||||
| 5.1.1 notify-mailto-text-only (boolean)............................8 | ||||
| 5.2 Additional Information about Subscription Template Attributes..9 | ||||
| 5.2.1 notify-recipient-uri (uri)...................................9 | ||||
| 5.2.2 notify-user-data (octetString(63))..........................10 | ||||
| 13 Full Copyright Statement .........................................29 | 6 Event Notification Content......................................10 | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | 6.1 Headers.......................................................11 | |||
| 6.1.1 'Date' header...............................................11 | ||||
| 6.1.2 'From' header...............................................11 | ||||
| 6.1.3 'Subject' header............................................12 | ||||
| 6.1.4 'Sender' header.............................................12 | ||||
| 6.1.5 'Reply-to' header...........................................13 | ||||
| 6.1.6 'To' header.................................................13 | ||||
| 6.1.7 'Content-type' header.......................................13 | ||||
| 6.2 Message Body..................................................14 | ||||
| 6.3 Plain Text Content............................................14 | ||||
| 6.3.1 Event Notification Content Common to All Events.............15 | ||||
| 6.3.2 Additional Event Notification Content for Job Events........17 | ||||
| 6.3.3 Additional Event Notification Content for Printer Events....18 | ||||
| 6.4 Examples......................................................18 | ||||
| 6.4.1 Job Event Example...........................................19 | ||||
| 6.4.2 Printer Event Example.......................................20 | ||||
| 6.4.3 Printer Event Example (localized to Danish)................21 | ||||
| Table of Tables | 7 Conformance Requirements........................................23 | |||
| Table 1 - Information about the Delivery Method.......................9 | 8 IANA Considerations.............................................23 | |||
| 8.1 Attribute Registration........................................23 | ||||
| 8.2 Additional uriScheme Attribute Value Registration for the | ||||
| "operations-supported" Printer Attribute..........................24 | ||||
| Table 2 - Additional Subscription Template Attributes................11 | 9 Internationalization Considerations.............................24 | |||
| Table 3 - Printer Name in Event Notification Content.................19 | 10 Security Considerations........................................24 | |||
| Table 4 - Event Name in Event Notification Content...................19 | 11 References.....................................................25 | |||
| 12 Author's Addresses.............................................27 | ||||
| Table 5 - Job Name in Event Notification Content.....................20 | 13 Summary of Base IPP Documents..................................28 | |||
| Table 6 - Job State in Event Notification Content....................20 | 14 Full Copyright Statement.......................................29 | |||
| Table 7 - Printer State in Event Notification Content................21 | Table of Tables | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | Table 1 - Information about the Delivery Method.....................6 | |||
| Table 2 - Additional Subscription Template Attributes...............8 | ||||
| Table 3 - Printer Name in Event Notification Content...............16 | ||||
| Table 4 - Event Name in Event Notification Content.................17 | ||||
| Table 5 - Job Name in Event Notification Content...................17 | ||||
| Table 6 - Job State in Event Notification Content..................18 | ||||
| Table 7 - Printer State in Event Notification Content..............18 | ||||
| 1 Introduction | 1 Introduction | |||
| The notification extension document [ipp-ntfy] defines operations that a | The "IPP Event Notifications and Subscriptions" document [ipp-ntfy] | |||
| client can perform in order to create Subscription Objects in a Printer | defines an OPTIONAL extension to Internet Printing Protocol/1.0 (IPP) | |||
| and carry out other operations on them. A Subscription Object represents | [RFC2566, RFC2565] and IPP/1.1 [RFC2911, RFC2910] (for a description | |||
| a Subscription abstraction. The Subscription Object specifies that when | of the base IPP documents, see section 13). That extension defines | |||
| one of the specified Events occurs, the Printer sends an asynchronous | operations that a client can perform in order to create Subscription | |||
| Event Notification to the specified Notification Recipient via the | Objects in a Printer and carry out other operations on them. A | |||
| specified Delivery Method (i.e., protocol). | Subscription Object represents a Subscription abstraction. A client | |||
| associates Subscription Objects with a particular Job by performing | ||||
| the Create-Job-Subscriptions operation or by submitting a Job with | ||||
| subscription information. A client associates Subscription Objects | ||||
| with the Printer by performing a Create-Printer-Subscriptions | ||||
| 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 notification extension document [ipp-ntfy] specifies that each | The "IPP Event Notifications and Subscriptions" document [ipp-ntfy] | |||
| Delivery Method is defined in another document. This document is one | specifies that each Delivery Method is defined in another document. | |||
| such document, and it specifies the 'mailto' delivery method. | This document is one such document, and it specifies the 'mailto' | |||
| delivery method. When IPP Notification [ipp-ntfy] is supported, the | ||||
| Delivery Method defined in this document is one of the RECOMMENDED | ||||
| Delivery Methods and Printers to support. | ||||
| For this Delivery Method, when an Event occurs, the Printer immediately | For this Delivery Method, when an Event occurs, the Printer | |||
| sends an Event Notification via an email message to the Notification | immediately sends an Event Notification via an email message to the | |||
| Recipient specified in the Subscription Object. The message body of the | Notification Recipient specified in the Subscription Object. The | |||
| email consists of Human Consumable text that is not intended to be | message body of the email consists of Human Consumable text that is | |||
| parsed by a machine. The 'mailto' Delivery Method is a 'push' Delivery | not intended to be parsed by a machine. The 'mailto' Delivery Method | |||
| Method as defined in [ipp-ntfy]. | is a 'push' Delivery Method as defined in [ipp-ntfy]. | |||
| The Notification Recipient receives the Event Notification in the same | The Notification Recipient receives the Event Notification in the | |||
| way as it receives any other email message. | same way as it receives any other email message. | |||
| 2 Terminology | 2 Terminology | |||
| This section defines the following terms that are used throughout this | This section defines the following terms that are used throughout | |||
| document: | this document: | |||
| Capitalized terms, such as MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, | This document uses the same terminology as [RFC2911], such as | |||
| MAY, NEED NOT, and OPTIONAL, have special meaning relating to | "client", "Printer", "attribute", "attribute value", "keyword", | |||
| conformance to this specification. These terms are defined in [ipp-mod | "operation", "request", "response", and "support". | |||
| section 13.1 on conformance terminology, most of which is taken from RFC | ||||
| 2119 [RFC2119]. | ||||
| For capitalized terms that appear in this document, see [ipp-ntfy]. | Capitalized terms, such as MUST, MUST NOT, REQUIRED, SHOULD, SHOULD | |||
| NOT, MAY, NEED NOT, and OPTIONAL, have special meaning relating to | ||||
| conformance as defined in RFC 2119 [RFC2119] and [RFC2911] section | ||||
| 12.1. If an implementation supports the extension defined in this | ||||
| document, then these terms apply; otherwise, they do not. These | ||||
| terms define conformance to this document only; they do not affect | ||||
| conformance to other documents, unless explicitly stated otherwise. | ||||
| 3 Model and Operation | Capitalized terms, such as Notification Recipient, Event | |||
| Notification, Compound Event Notification, Printer, etc., are | ||||
| defined in [ipp-ntfy], have the same meanings, and are not reproduced | ||||
| here. | ||||
| In a Subscription Creation Operation, when the value of the "notify- | 3 Model and Operation | |||
| recipient-uri" attribute contains the scheme "mailto", the client is | ||||
| requesting that the Printer use the 'mailto' Delivery Method for Event | ||||
| Notifications generated from the new Subscription Object. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | In a Subscription Creation Operation, when the value of the "notify- | |||
| recipient-uri" attribute contains the URI scheme "mailto", the client | ||||
| is requesting that the Printer use the 'mailto' Delivery Method for | ||||
| Event Notifications generated from the new Subscription Object. | ||||
| For this Delivery Method, the "notify-recipient-uri" attribute value | For this Delivery Method, the "notify-recipient-uri" attribute value | |||
| MUST consist of a "mailto" scheme followed by a colon, and then followed | MUST consist of a "mailto" scheme followed by a colon, and then | |||
| by an address part (e.g. 'mailto:smith@abc.com'). See section 5.2.1 for | followed by an address part (e.g., 'mailto:smith@abc.com'). See | |||
| the syntax of the "notify-recipient-uri" attribute value for this | section 5.2.1 for the syntax of the "notify-recipient-uri" attribute | |||
| Delivery Method. | value for this Delivery Method. | |||
| A Printer MUST support SMTP [RFC821], and it MAY support other email | A Printer MUST support SMTP [RFC821], and it MAY support other email | |||
| protocols. A Printer MAY use additional services, such as SMTP delivery | protocols. A Printer MAY use additional services, such as SMTP | |||
| status notification [RFC1891] or S/MIME encryption [RFC2633]. | delivery status notification [RFC1891] or S/MIME encryption | |||
| [RFC2633]. | ||||
| If the client wants the Printer to send Event Notifications via the | If the client wants the Printer to send Event Notifications via the | |||
| 'mailto' Delivery Method, the client MUST choose a value for "notify- | 'mailto' Delivery Method, the client MUST choose a value for "notify- | |||
| recipient-uri" attribute which conforms to the rules of section 5.2.1. | recipient-uri" attribute which conforms to the rules of section | |||
| To avoid denial-of-service attacks, a client SHOULD NOT use distribution | 5.2.1. To avoid denial-of-service attacks, a client SHOULD NOT use | |||
| lists as the Notification Recipient. | distribution lists as the Notification Recipient. | |||
| When an Event occurs, the Printer MUST immediately: | When an Event occurs, the Printer MUST immediately: | |||
| 1. Find all pertinent Subscription Objects P according to the rules of | 1.Find all pertinent Subscription Objects P according to the rules | |||
| section 9 of [ipp-ntfy], AND | of section 9 of [ipp-ntfy], AND | |||
| 2. Find the subset M of these Subscription Objects P whose "notify- | 2.Find the subset M of these Subscription Objects P whose "notify- | |||
| recipient-uri" attribute has a scheme value of 'mailto', AND | recipient-uri" attribute has a scheme value of 'mailto', AND | |||
| 3. For each Subscription Object in M, the Printer MUST | 3.For each Subscription Object in M, the Printer MUST | |||
| a)generate an email message as specified in section 5.2.2 AND | a)generate an email message as specified in section 5.2.2 AND | |||
| b)send the email message to the Notification Recipient specified | b)send the email message to the Notification Recipient specified | |||
| by the address part of the "notify-recipient-uri" attribute | by the address part of the "notify-recipient-uri" attribute | |||
| value (see section 5.2.1). | value (see section 5.2.1). | |||
| If the Printer supports only SMTP, it MUST send the email message via | If the Printer supports only SMTP, it MUST send the email message via | |||
| SMTP. If the Printer supports additional email protocols, it MUST | SMTP. If the Printer supports additional email protocols, it MUST | |||
| determine the protocol from the address part of the "notify-recipient- | determine the protocol from the address part of the "notify- | |||
| uri" attribute value and then send the email message via the appropriate | recipient-uri" attribute value and then send the email message via | |||
| email protocol. | the appropriate email protocol. | |||
| When a Subscribing Client is subscribing to the 'job-progress' event | ||||
| (which is a frequently occurring event), it SHOULD supply the "notify- | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | ||||
| time-interval" attribute (see [ipp-ntfy]) in the Subscription Creation | ||||
| request with a suitable value to limit the time between 'job-progress' | ||||
| Event Notifications sent by the Printer. | ||||
| 4 General Information | When a Subscribing Client is subscribing to the 'job-progress' event | |||
| If a Printer supports this Delivery Method, the following are its | (which is a frequently occurring event), it SHOULD supply the | |||
| characteristics. | "notify-time-interval" attribute (see [ipp-ntfy]) in the Subscription | |||
| Creation request with a suitable value to limit the time between | ||||
| 'job-progress' Event Notifications sent by the Printer. | ||||
| Table 1 - Information about the Delivery Method | 4 General Information | |||
| Document Method Conformance Delivery Method Realization | If a Printer supports this Delivery Method, the following are its | |||
| Requirement | characteristics. | |||
| 1.What is the URL scheme name mailto | Table 1 - Information about the Delivery Method | |||
| for the Delivery Method? | ||||
| 2.Is the Delivery Method | Document Method Conformance Delivery Method Realization | |||
| REQUIRED, RECOMMENDED, or | Requirement | |||
| OPTIONAL for an IPP Printer to RECOMMENDED | ||||
| support? | ||||
| 3.What transport and delivery A Printer MUST support SMTP. It MAY | 1. What is the URL scheme name for the mailto | |||
| protocols does the Printer use support other email protocols. | Delivery Method? | |||
| to deliver the Event | ||||
| Notification Content, i.e., | ||||
| what is the entire network | ||||
| stack? | ||||
| 4.Can several Event A Printer implementation MAY | 2. Is the Delivery Method REQUIRED, RECOMMENDED | |||
| Notifications be combined into combine several Event Notifications | RECOMMENDED, or OPTIONAL for an IPP | |||
| a Compound Event Notification? into a single email message. | Printer to support? | |||
| 5.Is the Delivery Method This Delivery Method is a push. | 3. What transport and delivery A Printer MUST support | |||
| initiated by the Notification | protocols does the Printer use to SMTP. It MAY support other | |||
| Recipient (pull), or by the | deliver the Event Notification email protocols. | |||
| Printer (push)? | Content, i.e., what is the entire | |||
| network stack? | ||||
| 6.Is the Event Notification Human Consumable | 4. Can several Event Notifications be A Printer implementation | |||
| content Machine Consumable or | combined into a Compound Event MAY combine several Event | |||
| Human Consumable? | Notification? Notifications into a single | |||
| email message (see section | ||||
| 6). | ||||
| 7.What section in this document Section 6 | email message (see section | |||
| answers the following | 6). | |||
| question? For a Machine | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | 5. Is the Delivery Method initiated by This Delivery Method is a | |||
| the Notification Recipient (pull), push. | ||||
| or by the Printer (push)? | ||||
| Consumable Event Notification, | 6. Is the Event Notification content Human Consumable | |||
| what is the representation and | Machine Consumable or Human | |||
| encoding of values defined in | Consumable? | |||
| section 9.1 of [ipp-ntfy] and | ||||
| the conformance requirements | ||||
| thereof? For a Human | ||||
| Consumable Event Notification, | ||||
| what is the representation and | ||||
| encoding of pieces of | ||||
| information defined in section | ||||
| 9.2 of [ipp-ntfy] and the | ||||
| conformance requirements | ||||
| thereof? | ||||
| 8.What are the latency and Same as the underlying SMTP (or | 7. What section in this document Section 6 | |||
| reliability of the transport other optional) email transport | answers the following question? For | |||
| and delivery protocol? | a Machine Consumable Event | |||
| Notification, what is the | ||||
| representation and encoding of | ||||
| values defined in section 9.1 of | ||||
| [ipp-ntfy] and the conformance | ||||
| requirements thereof? For a Human | ||||
| Consumable Event Notification, what | ||||
| is the representation and encoding | ||||
| of pieces of information defined in | ||||
| section 9.2 of [ipp-ntfy] and the | ||||
| conformance requirements thereof? | ||||
| 9.What are the security aspects Same as the underlying SMTP (or | 8. What are the latency and reliability Same as the underlying SMTP | |||
| of the transport and delivery other optional) email transport | of the transport and delivery (or other optional) email | |||
| protocol, e.g., how it is | protocol? transport | |||
| handled in firewalls? | ||||
| 10. What are the content length None | 9. What are the security aspects of the Same as the underlying SMTP | |||
| restrictions? | transport and delivery protocol, (or other optional) email | |||
| e.g., how it is handled in transport | ||||
| firewalls? | ||||
| 11. What are the additional None | 10. What are the content length None | |||
| values or pieces of | restrictions? | |||
| information that a Printer | ||||
| sends in an Event Notification | ||||
| content and the conformance | ||||
| requirements thereof? | ||||
| 12. What are the additional See section 5.1.1 on "notify- | 11. What are the additional values or None | |||
| Subscription Template and/or mailto-text-only" | pieces of information that a Printer | |||
| Subscription Description | sends in an Event Notification | |||
| attributes and the conformance | content and the conformance | |||
| requirements thereof? | requirements thereof? | |||
| 13. What are the additional None | 12. What are the additional See section 5.1.1 on | |||
| Printer Description attributes | Subscription Template and/or "notify-mailto-text-only" | |||
| and the conformance | Subscription Description attributes | |||
| requirements thereof? | and the conformance requirements | |||
| thereof? | ||||
| and the conformance requirements | ||||
| thereof? | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | 13. What are the additional Printer None | |||
| Description attributes and the | ||||
| conformance requirements thereof? | ||||
| 5 Subscription Template Attributes | 5 Subscription Template Attributes | |||
| 5.1 Additional Subscription Template Attributes | 5.1 Additional Subscription Template Attributes | |||
| This Delivery Method introduces one additional Subscription Template | This Delivery Method introduces one additional Subscription Template | |||
| Attribute (See Table 2). | Attribute (See Table 2). | |||
| Table 2 - Additional Subscription Template Attributes | ||||
| Attribute in Subscription Default and Supported Printer | Table 2 - Additional Subscription Template Attributes | |||
| Object Attributes | ||||
| notify-mailto-text-only N/A | Attribute in Subscription Object Default and Supported Printer | |||
| (boolean) | Attributes | |||
| 5.1.1notify-mailto-text-only (boolean) | notify-mailto-text-only (boolean) N/A | |||
| When the Printer generates an Event Notification from a Subscription | 5.1.1 notify-mailto-text-only (boolean) | |||
| Object, this attribute specifies whether the Printer generates the Event | ||||
| Notification with only plain text (i.e. 'text/plain') or with Content- | ||||
| Types that the Printer chooses. | ||||
| The Printer MUST support this attribute if it supports the 'mailto' | When the Printer generates an Event Notification from a Subscription | |||
| Delivery Method. | Object, this attribute specifies whether the Printer generates the | |||
| Event Notification with only plain text (i.e. 'text/plain') or with | ||||
| Content-Types that the Printer chooses. | ||||
| A client MAY supply this attribute. If a client does not supply this | The Printer MUST support this attribute if it supports the 'mailto' | |||
| attribute, the Printer MUST populate this attribute with the value of | Delivery Method. | |||
| 'false' on the Subscription Object. There is no "notify-mailto-text- | ||||
| only-default" attribute. | ||||
| If the value of this attribute is 'true' in a Subscription Object, the | A client MAY supply this attribute. If a client does not supply this | |||
| message body of each Event Notification that the Printer generates from | attribute, the Printer MUST populate this attribute with the value of | |||
| the Subscription Object MUST contain plain text only (i.e. 'text/plain' | 'false' on the Subscription Object. There is no "notify-mailto-text- | |||
| with the charset specified by the "notify-charset' Subscription Object | only-default" attribute. | |||
| attribute). | ||||
| If the value of this attribute is 'false' in a Subscription Object, the | If the value of this attribute is 'true' in a Subscription Object, | |||
| Content-Type of the message body of each Event Notification that the | the message body of each Event Notification that the Printer | |||
| Printer generates from the Subscription Object MUST be either | generates from the Subscription Object MUST contain plain text only | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | (i.e. 'text/plain' with the charset specified by the "notify-charset' | |||
| Subscription Object attribute). | ||||
| 'text/plain' or 'multipart', depending on implementation. If the | If the value of this attribute is 'false' in a Subscription Object, | |||
| Content-Type is 'multipart', one message body of the 'multipart' MUST be | the Content-Type of the message body of each Event Notification that | |||
| the same as the 'text/plain' message body when this attribute has the | the Printer generates from the Subscription Object MUST be either | |||
| value of 'true'. Each of the other message bodies of the 'multipart' MAY | 'text/plain' or 'multipart', depending on implementation. If the | |||
| be any Content-Type (e.g. 'text/html', 'image/gif', 'audio/basic', | Content-Type is 'multipart', one message body of the 'multipart' MUST | |||
| etc.). | be the same as the 'text/plain' message body when this attribute has | |||
| the value of 'true'. Each of the other message bodies of the | ||||
| 'multipart' MAY be any Content-Type (e.g. 'text/html', 'image/gif', | ||||
| 'audio/basic', etc.). | ||||
| A Printer MUST support both values ('true' and 'false') of this | A Printer MUST support both values ('true' and 'false') of this | |||
| attribute. There is no "notify-mailto-text-only-supported" attribute. | attribute. There is no "notify-mailto-text-only-supported" attribute. | |||
| 5.2 Additional Information about Subscription Template Attributes | 5.2 Additional Information about Subscription Template Attributes | |||
| This section describes additional values for attributes defined in [ipp- | This section describes additional values for attributes defined in | |||
| ntfy]. | [ipp-ntfy]. | |||
| 5.2.1notify-recipient-uri (uri) | 5.2.1 notify-recipient-uri (uri) | |||
| This section describes the syntax of the value of this attribute for the | This section describes the syntax of the value of this attribute for | |||
| 'mailto' Delivery Method. The syntax for values of this attribute for | the 'mailto' Delivery Method. The syntax for values of this attribute | |||
| other Delivery Method is defined in other Delivery Method Documents. | for other Delivery Method is defined in other Delivery Method | |||
| Documents. | ||||
| In order to support the 'mailto' Delivery Method, the Printer MUST | In order to support the 'mailto' Delivery Method, the Printer MUST | |||
| support the following syntax for the 'mailto' Delivery Method when the | support the following syntax for the 'mailto' Delivery Method when | |||
| Printer uses SMTP. The line below use RFC 822 syntax rules and terms. | the Printer uses SMTP. The line below use RFC 822 syntax rules and | |||
| terms. | ||||
| "mailto:" mailbox | "mailto:" mailbox | |||
| Note: the above syntax allows 1 occurrence of 'mailbox'. The occurrence | Note: the above syntax allows 1 occurrence of 'mailbox'. The | |||
| of 'mailbox' represents an email address of a Notification Recipient. | occurrence of 'mailbox' represents an email address of a Notification | |||
| Recipient. | ||||
| For SMTP, the phrase 'address part' of the "notify-recipient-uri" | For SMTP, the phrase 'address part' of the "notify-recipient-uri" | |||
| attribute value refers to the 'mailbox' part of the value. | attribute value refers to the 'mailbox' part of the value. Example: | |||
| The Printer MAY support other syntax for the 'address part' if it | mailto:jones@acme.com | |||
| supports email protocols in addition to SMTP. | ||||
| 5.2.2notify-user-data (octetString(63)) | Unlike other URLs, the mailto scheme MUST NOT use // after the colon | |||
| (see [RFC2368]). | ||||
| This attributes has a special use for the 'mailto' Delivery Method. It | The Printer MAY support other syntax for the 'address part' if it | |||
| specifies the email address of the Subscribing Client. It is primarily | supports email protocols in addition to SMTP. | |||
| useful when the Notification Recipient is some person other than the | ||||
| Subscribing Client. Then the Notification Recipient has a way to reply | ||||
| to the Subscribing Client. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | As noted in [ipp-ntfy], the uriScheme value of the corresponding | |||
| "notify-schemes-supported" Printer attribute does not include the ":" | ||||
| character. | ||||
| If a client specifies this Delivery Method in a Subscription Creation | 5.2.2 notify-user-data (octetString(63)) | |||
| Operation, and the specified Notification Recipient is not associated | ||||
| with the same person as the client, the client SHOULD supply its email | ||||
| address as the value of the "notify-user-data" attribute. If the client | ||||
| does not supply this attribute, the Printer MUST NOT populate the | ||||
| Subscription Object with this attribute. | ||||
| 6 Event Notification Content | This attributes has a special use for the 'mailto' Delivery Method. | |||
| It specifies the email address of the Subscribing Client. It is | ||||
| primarily useful when the Notification Recipient is some person other | ||||
| than the Subscribing Client. Then the Notification Recipient has a | ||||
| way to reply to the Subscribing Client. | ||||
| This section describes the content of an Event Notification sent via the | If a client specifies this Delivery Method in a Subscription Creation | |||
| 'mailto' Delivery Method using the SMTP protocol. This document does | Operation, and the specified Notification Recipient is not associated | |||
| not describe the content for other email protocols, but an | with the same person as the client, the client SHOULD supply its | |||
| implementation should use this section as a model. | email address as the value of the "notify-user-data" attribute. If | |||
| the client does not supply this attribute, the Printer MUST NOT | ||||
| populate the Subscription Object with this attribute. | ||||
| When a Printer sends an email message via SMTP, the content MUST conform | 6 Event Notification Content | |||
| to RFC 822. The following sections define the content that a Printer | ||||
| MUST send. A Printer MAY send additional content as long as the | ||||
| resulting content conforms to RFC 822. | ||||
| Each subsection below specifies the syntax that pertains to the | This section describes the content of an Event Notification sent via | |||
| subsection. The syntax rules and syntactic terms (e.g. 'date-time') in | the 'mailto' Delivery Method using the SMTP protocol. This document | |||
| each subsection come from RFC 822, except for the section on "Content- | does not describe the content for other email protocols, but an | |||
| Type" which comes from RFC 1521. | implementation should use this section as a model. | |||
| The Event Notification content has two parts, the headers and the | When a Printer sends an email message via SMTP, the content MUST | |||
| message body. The headers precede the message body and are separated by | conform to RFC 822. The following sections define the content that a | |||
| a blank line (see [RFC 822]). | Printer MUST send. A Printer MAY send additional content as long as | |||
| the resulting content conforms to RFC 822. | ||||
| 6.1 Headers | While the "Event Notification Ordering" in [ipp-ntfy] section 9 | |||
| specifies ordering requirements for Printers when sending separate | ||||
| Event Notifications, email messages are not guaranteed to arrive in | ||||
| the order sent so that the Notification Recipient may not receive | ||||
| them in the same order. | ||||
| When a Printer sends an Event Notification via SMTP, it MUST include the | Each subsection below specifies the syntax that pertains to the | |||
| following headers. RFC 822 RECOMMENDS that the headers be in the order | subsection. The syntax rules and syntactic terms (e.g. 'date-time') | |||
| that they appear below. | in each subsection come from RFC 822, except for the section on | |||
| "Content-Type" which comes from RFC 1521. | ||||
| 6.1.1'Date' header | The Event Notification content has two parts, the headers and the | |||
| message body. The headers precede the message body and are separated | ||||
| by a blank line (see [RFC 822]). | ||||
| Syntax: "Date" ":" date-time | A Printer implementation MAY combine several Event Notifications into | |||
| a single email message body. Such an email message is considered a | ||||
| single Compound Event Notification and MUST follow the "Event | ||||
| Notification Ordering" requirements for Event Notifications within a | ||||
| Compound Event Notification specified in [ipp-ntfy] section 9. | ||||
| This header contains the date and time that the Event occurred. | 6.1 Headers | |||
| The Printer MUST include a "Date" header if and only if it supports the | When a Printer sends an Event Notification via SMTP, it MUST include | |||
| "printer-current-time" Printer attribute. | the following headers. RFC 822 RECOMMENDS that the headers be in the | |||
| order that they appear below. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | 6.1.1 'Date' header | |||
| 6.1.2 'From' header | Syntax: "Date" ":" date-time | |||
| Syntax: "From" ":" mailbox | This header contains the date and time that the Event occurred. | |||
| where | The Printer MUST include a "Date" header if and only if it supports | |||
| the "printer-current-time" Printer attribute. | ||||
| mailbox = addr-spec / phrase route-addr | 6.1.2 'From' header | |||
| This header causes a typical email reader to show the email as coming | Syntax: "From" ":" mailbox | |||
| from the Printer that is sending the Event Notification. | ||||
| The Printer MUST include a "From" header whose syntax is specified | where | |||
| above. | ||||
| The Printer MUST use the second alternative of the syntax for 'mailbox' | mailbox = addr-spec / phrase route-addr | |||
| defined above (i.e. 'phrase route-addr'). The 'phrase' is the | ||||
| Printer's display name and it MUST be the value of the "printer-name" | ||||
| Printer attribute. The 'route-addr' MUST contain an email address | ||||
| (inside angle brackets) belonging to either an administrator or the | ||||
| output-device. This email address NEED NOT be capable of receiving mail. | ||||
| There is no Printer attribute to hold this email address, so that it | ||||
| cannot be configured using the IPP protocol without an implementation- | ||||
| defined attribute extension. | ||||
| 6.1.3'Subject' header | This header causes a typical email reader to show the email as coming | |||
| from the Printer that is sending the Event Notification. | ||||
| Syntax: "Subject" ":" *text | The Printer MUST include a "From" header whose syntax is specified | |||
| above. | ||||
| This header specifies the subject of the message and contains a short | The Printer MUST use the second alternative of the syntax for | |||
| summary of the Event Notification. | 'mailbox' defined above (i.e. 'phrase route-addr'). The 'phrase' is | |||
| the Printer's display name and it MUST be the value of the "printer- | ||||
| name" Printer attribute. The 'route-addr' MUST contain an email | ||||
| address (inside angle brackets) belonging to either an administrator | ||||
| or the output-device. This email address NEED NOT be capable of | ||||
| receiving mail. There is no Printer attribute to hold this email | ||||
| address, so that it cannot be configured using the IPP protocol | ||||
| without an implementation-defined attribute extension. | ||||
| The Printer MUST include a "Subject" header whose syntax is specified | 6.1.3 'Subject' header | |||
| above. | ||||
| The Printer MUST localize the '*text' using the values of the "notify- | Syntax: "Subject" ":" *text | |||
| charset" and "notify-natural-language" Subscription Object attributes. | ||||
| For Printer Events, the '*text' SHOULD start with the localized word | This header specifies the subject of the message and contains a short | |||
| "printer:", followed by the Printer name, and then followed by the | summary of the Event Notification. | |||
| localized Event name, e.g., in English: "printer: 'tiger' stopped" or in | ||||
| Danish: 'Printeren 'tiger' er standset'. | ||||
| For Job Events, the '*text' SHOULD start with the localized phrase | The Printer MUST include a "Subject" header whose syntax is specified | |||
| "print job:", followed by the Job name, and then followed by the | above. | |||
| localized Event name, e.g., in English: "print job: 'financials' | ||||
| completed". | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | The Printer MUST localize the '*text' using the values of the | |||
| "notify-charset" and "notify-natural-language" Subscription Object | ||||
| attributes. | ||||
| The wording is implementation dependent. A Notification Recipient MUST | For Printer Events, the '*text' SHOULD start with the localized word | |||
| NOT expect to be able to parse this text. But an email filter might look | "printer:", followed by the Printer name, and then followed by the | |||
| for "printer" or "print job". | localized Event name, e.g., in English: "printer: 'tiger' stopped" or | |||
| in Danish: "Printeren 'tiger' er standset". | ||||
| 6.1.4 'Sender' header | For Job Events, the '*text' SHOULD start with the localized phrase | |||
| "print job:", followed by the Job name, and then followed by the | ||||
| localized Event name, e.g., in English: "print job: 'financials' | ||||
| completed". | ||||
| Syntax: "Sender" ":" mailbox | The wording is implementation dependent. A Notification Recipient | |||
| MUST NOT expect to be able to parse this text. But an email filter | ||||
| might look for "printer" or "print job". | ||||
| This header causes a typical email reader to show the email as coming on | 6.1.4 'Sender' header | |||
| behalf of the person associated with the Subscribing Client. | ||||
| If the Subscription Object contains the "notify-user-data" attribute, | Syntax: "Sender" ":" mailbox | |||
| and if its value satisfies the RFC 822 syntax rules for 'mailbox', the | ||||
| Printer MUST include a "Sender" header whose syntax is specified above. | ||||
| Otherwise, the Printer MUST NOT include a "Sender" header. | ||||
| For the "Sender" header, the 'mailbox' MUST be the value of the "notify- | This header causes a typical email reader to show the email as coming | |||
| user-data" Subscription Object attribute. See section 5.2.2 for details | on behalf of the person associated with the Subscribing Client. | |||
| about the "notify-user-data" attribute. | ||||
| 6.1.5 'Reply-to' header | If the Subscription Object contains the "notify-user-data" attribute, | |||
| and if its value satisfies the RFC 822 syntax rules for 'mailbox', | ||||
| the Printer MUST include a "Sender" header whose syntax is specified | ||||
| above. Otherwise, the Printer MUST NOT include a "Sender" header. | ||||
| Syntax: "Reply-to" ":" mailbox | For the "Sender" header, the 'mailbox' MUST be the value of the | |||
| "notify-user-data" Subscription Object attribute. See section 5.2.2 | ||||
| for details about the "notify-user-data" attribute. | ||||
| If the Notification Recipient replies to Event Notification email, this | 6.1.5 'Reply-to' header | |||
| header causes a typical email reader to send email to the person acting | ||||
| as the Subscribing Client. The rules are identical to the "Sender" | ||||
| header. | ||||
| If the Subscription Object contains the "notify-user-data" attribute, | Syntax: "Reply-to" ":" mailbox | |||
| and if its value satisfies the RFC 822 syntax rules for "mailbox", the | ||||
| Printer MUST include a "Reply-to" header whose syntax is specified | ||||
| above. Otherwise, the Printer MUST NOT include a "Reply-to" header. | ||||
| For the "Reply-to" header, the "mailbox" MUST be the value of the | If the Notification Recipient replies to Event Notification email, | |||
| "notify-user-data" Subscription Object attribute. See section 5.2.2 for | this header causes a typical email reader to send email to the person | |||
| details about the "notify-user-data" attribute. | acting as the Subscribing Client. The rules are identical to the | |||
| "Sender" header. | ||||
| 6.1.6 'To' header | If the Subscription Object contains the "notify-user-data" attribute, | |||
| and if its value satisfies the RFC 822 syntax rules for "mailbox", | ||||
| the Printer MUST include a "Reply-to" header whose syntax is | ||||
| specified above. Otherwise, the Printer MUST NOT include a "Reply-to" | ||||
| header. | ||||
| Syntax: "To" ":" 1#mailbox | For the "Reply-to" header, the "mailbox" MUST be the value of the | |||
| "notify-user-data" Subscription Object attribute. See section 5.2.2 | ||||
| for details about the "notify-user-data" attribute. | ||||
| See [RFC 1521] for the syntax. | 6.1.6 'To' header | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | Syntax: "To" ":" 1#mailbox | |||
| This header specifies the Notification Recipient(s). | See [RFC 1521] for the syntax. | |||
| The Printer MUST include a "To" header whose syntax is specified above. | This header specifies the Notification Recipient(s). | |||
| The '1#mailbox' MUST be the '1#mailbox' part of the value of the | The Printer MUST include a "To" header whose syntax is specified | |||
| "notify-recipient-uri" Subscription attribute, i.e. the part after the | above. | |||
| "mailto:". | ||||
| 6.1.7 'Content-type' header | The '1#mailbox' MUST be the '1#mailbox' part of the value of the | |||
| "notify-recipient-uri" Subscription attribute, i.e. the part after | ||||
| the "mailto:". | ||||
| Syntax: "Content-Type" ":" type "/" subtype *(";"parameter) | 6.1.7 'Content-type' header | |||
| See [RFC 1521] for the syntactic terms (e.g. 'type'). | Syntax: "Content-Type" ":" type "/" subtype *(";"parameter) | |||
| This header specifies the format of the message body. | See [RFC 1521] for the syntactic terms (e.g. 'type'). | |||
| The Printer MUST include the "Content-Type" header. | This header specifies the format of the message body. | |||
| The "notify-mailto-text-only" attribute determines the 'type' and | The Printer MUST include the "Content-Type" header. | |||
| 'subtype' values. The possible values are "text/plain" and "multipart" | ||||
| values. | ||||
| 6.2 Message Body | The "notify-mailto-text-only" attribute determines the 'type' and | |||
| 'subtype' values. The possible values are "text/plain" and | ||||
| "multipart" values. | ||||
| The message body MUST contain Human Consumable content as plain text. It | 6.2 Message Body | |||
| MAY also contain other types of implementation dependent content. | ||||
| For plain text, the Content-Type of Human Consumable content MUST be | The message body MUST contain Human Consumable content as plain text. | |||
| 'text/plain'. For implementation dependent content, the Content-Type of | It MAY also contain other types of implementation dependent content. | |||
| Human Consumable content MUST be 'multipart'. The Content-Type of one | ||||
| body part MUST be 'text/plain' and the Content-Types of the other body | ||||
| parts are implementation dependent. See section 6.3 for a description of | ||||
| plain text content. | ||||
| The following table shows the Content-Type of the message body for the | For plain text, the Content-Type of Human Consumable content MUST be | |||
| "notify-mailto-text-only" attribute: | 'text/plain'. For implementation dependent content, the Content-Type | |||
| of Human Consumable content MUST be 'multipart'. The Content-Type of | ||||
| one body part MUST be 'text/plain' and the Content-Types of the other | ||||
| body parts are implementation dependent. See section 6.3 for a | ||||
| description of plain text content. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | The following table shows the Content-Type of the message body for | |||
| the "notify-mailto-text-only" attribute: | ||||
| "notify- Content-Type Message Body | "notify- Content-Type of Message Body | |||
| mailto-text- of Message | mailto-text- Message Body | |||
| only" Body | only" | |||
| attribute | attribute | |||
| false 'text/plain' Human Consumable | false 'text/plain' Human Consumable | |||
| true 'text/plain' Human Consumable plain | true 'text/plain' or* Human Consumable plain text | |||
| or* text | ||||
| 'multipart' Human Consumable where | 'multipart' Human Consumable where one | |||
| one body part is plain | body part is plain text | |||
| text | ||||
| * The Content-Type depends on the implementation. A Printer MAY send | * The Content-Type depends on the implementation. A Printer MAY send | |||
| 'text/plain' only or it MAY send several body parts of various | 'text/plain' only or it MAY send several body parts of various | |||
| Content-Types within a message body whose Content-Type is | Content-Types within a message body whose Content-Type is | |||
| 'multipart'. | 'multipart'. | |||
| 6.3 Plain Text Content | 6.3 Plain Text Content | |||
| When a Printer sends a plain text message, it MUST localize the text | When a Printer sends a plain text message, it MUST localize the text | |||
| using the values of the "notify-charset" and "notify-natural-language" | using the values of the "notify-charset" and "notify-natural- | |||
| Subscription Object attributes. | language" Subscription Object attributes. | |||
| Section 9.2 in [ipp-ntfy] specifies the information that a Delivery | Section 9.2 in [ipp-ntfy] specifies the information that a Delivery | |||
| Method MUST specify and a Printer SHOULD send. | Method MUST specify and a Printer SHOULD send. | |||
| A Printer SHOULD send the following localized information in the message | A Printer SHOULD send the following localized information in the | |||
| body. The specific wording of this information and its layout are | message body. The specific wording of this information and its layout | |||
| implementation dependent. | are implementation dependent. | |||
| a)the Printer name (see Table 3) | a)the Printer name (see Table 3) | |||
| b)omitted (see below). | b)omitted (see below). | |||
| c)for Printer Events only: | c)for Printer Events only: | |||
| i) the Event (see Table 4) and/or Printer state information | i) the Event (see Table 4) and/or Printer state information | |||
| (see Table 7) | (see Table 7) | |||
| d)for Job Events only: | d)for Job Events only: | |||
| i) the job identity (see Table 5) | i) the job identity (see Table 5) | |||
| ii) the Event (see Table 4) and/or Job state information (see | ii) the Event (see Table 4) and/or Job state information (see | |||
| Table 6) | Table 6) | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | Item b) in the above list is omitted because the Printer sends the | |||
| time of the Event as an email header (see section 6.1.1 on the | ||||
| Item b) in the above list is omitted because the Printer sends the time | 'Date' header). | |||
| of the Event as an email header (see section 6.1.1 on the 'Date' | ||||
| header). | ||||
| The subsections of this section specify the attributes that a Printer | The subsections of this section specify the attributes that a Printer | |||
| MUST use to obtain this information. | MUST use to obtain this information. | |||
| The Printer MAY send additional information, depending on | The Printer MAY send additional information, depending on | |||
| implementation. | implementation. | |||
| Notification Recipients MUST NOT expect to be able to parse the message. | Notification Recipients MUST NOT expect to be able to parse the | |||
| message. | ||||
| The next three sections define the attributes in Event Notification | The next three sections define the attributes in Event Notification | |||
| Contents that are: | Contents that are: | |||
| a)for all Events | a)for all Events | |||
| b)for Job Events only | b)for Job Events only | |||
| c)for Printer Events only | c)for Printer Events only | |||
| 6.3.1Event Notification Content Common to All Events | 6.3.1 Event Notification Content Common to All Events | |||
| The Printer MUST send the following information. | The Printer MUST send the following information. | |||
| There is a separate table for each piece of information. Each row in the | There is a separate table for each piece of information. Each row in | |||
| table represents a source value for the information and the values are | the table represents a source value for the information and the | |||
| listed in order of preference, with the first one being the preferred | values are listed in order of preference, with the first one being | |||
| one. An implementation SHOULD use the source value from the earliest row | the preferred one. An implementation SHOULD use the source value from | |||
| in each table. It MAY use the source value from another row instead, or | the earliest row in each table. It MAY use the source value from | |||
| it MAY combine the source values from several rows. An implementation is | another row instead, or it MAY combine the source values from several | |||
| free to determine the best way to present this information. | rows. An implementation is free to determine the best way to present | |||
| this information. | ||||
| The tables in this section and following sections contain the following | The tables in this section and following sections contain the | |||
| columns for each piece of information: | following columns for each piece of information: | |||
| a)Source of Value: the name of the attribute that supplies the | a)Source of Value: the name of the attribute that supplies the | |||
| value for the Event Notification | value for the Event Notification | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | ||||
| b)Sends: | b)Sends: | |||
| MAY: this is the only value used in the tables. It means that | MAY: this is the only value used in the tables. It means that | |||
| the Printer OPTIONALLY sends this value. However, the Printer | the Printer OPTIONALLY sends this value. However, the Printer | |||
| SHOULD use at least one value from each table. | SHOULD use at least one value from each table. | |||
| c)Source Object: the object from which the source value comes. | c)Source Object: the object from which the source value comes. | |||
| Table 3 lists the source of the information for the Printer Name. The | Table 3 lists the source of the information for the Printer Name. The | |||
| "printer-name" is more user-friendly unless the Notification Recipient | "printer-name" is more user-friendly unless the Notification | |||
| is in a place where the Printer name is not meaningful. For example, an | Recipient is in a place where the Printer name is not meaningful. For | |||
| implementation could have the intelligence to send the value of the | example, an implementation could have the intelligence to send the | |||
| "printer-name" attribute to a Notification Recipient that can access the | value of the "printer-name" attribute to a Notification Recipient | |||
| Printer via value of the "printer-name" attribute and otherwise send the | that can access the Printer via value of the "printer-name" attribute | |||
| value of the "notify-printer-uri" attribute. | and otherwise send the value of the "notify-printer-uri" attribute. | |||
| Table 3 - Printer Name in Event Notification Content | ||||
| Source Value Sends Source Object | Table 3 - Printer Name in Event Notification Content | |||
| printer-name (name(127)) MAY Printer | Source Value Sends Source Object | |||
| notify-printer-uri (uri) MAY Subscription | printer-name (name(127)) MAY Printer | |||
| Table 4 lists the source of the information for the Event name. A | notify-printer-uri (uri) MAY Subscription | |||
| Printer MAY combine this information with state information described | ||||
| for Jobs in Table 6 or for Printers in Table 7. | ||||
| Table 4 - Event Name in Event Notification Content | Table 4 lists the source of the information for the Event name. A | |||
| Printer MAY combine this information with state information described | ||||
| for Jobs in Table 6 or for Printers in Table 7. | ||||
| Source Value Sends Source Object | Table 4 - Event Name in Event Notification Content | |||
| notify-subscribed-event (type2 keyword) MAY Subscription | Source Value Sends Source Object | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | ||||
| 6.3.2Additional Event Notification Content for Job Events | notify-subscribed-event (type2 keyword) MAY Subscription | |||
| This section lists the source of the additional information that a | 6.3.2 Additional Event Notification Content for Job Events | |||
| Printer MUST send for Job Events. | ||||
| Table 5 lists the source of the information for the job name. The "job- | This section lists the source of the additional information that a | |||
| name" is likely more meaningful to a user than "job-id". | Printer MUST send for Job Events. | |||
| Table 5 - Job Name in Event Notification Content | Table 5 lists the source of the information for the job name. The | |||
| "job-name" is likely more meaningful to a user than "job-id". | ||||
| Source Value Sends Source Object | Table 5 - Job Name in Event Notification Content | |||
| job-name (name(MAX)) MAY Job | Source Value Sends Source Object | |||
| job-id (integer(1:MAX)) MAY Job | job-name (name(MAX)) MAY Job | |||
| Table 6 lists the source of the information for the job-state. If a | job-id (integer(1:MAX)) MAY Job | |||
| Printer supports the "job-state-message" and "job-detailed-state- | ||||
| message" attributes, it SHOULD use those attributes for the job state | ||||
| information, otherwise, it should fabricate such information from the | ||||
| "job-state" and "job-state-reasons". For some Events, a Printer MAY | ||||
| combine this information with Event information. | ||||
| Table 6 - Job State in Event Notification Content | Table 6 lists the source of the information for the job-state. If a | |||
| Printer supports the "job-state-message" and "job-detailed-state- | ||||
| message" attributes, it SHOULD use those attributes for the job state | ||||
| information, otherwise, it should fabricate such information from the | ||||
| "job-state" and "job-state-reasons". For some Events, a Printer MAY | ||||
| combine this information with Event information. | ||||
| Source Value Sends Source | Table 6 - Job State in Event Notification Content | |||
| Object | ||||
| job-state-message (text(MAX)) MAY Job | Source Value Sends Source Object | |||
| job-detailed-status-messages (1setOf MAY Job | job-state-message (text(MAX)) MAY Job | |||
| text(MAX)) | ||||
| job-state (type1 enum) MAY Job | job-detailed-status-messages (1setOf Job | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | text(MAX)) MAY | |||
| Source Value Sends Source | job-state (type1 enum) MAY Job | |||
| Object | ||||
| job-state-reasons (1setOf type2 keyword) MAY Job | job-state-reasons (1setOf type2 keyword) MAY Job | |||
| 6.3.3Additional Event Notification Content for Printer Events | 6.3.3 Additional Event Notification Content for Printer Events | |||
| This section lists the source of the additional information that a | This section lists the source of the additional information that a | |||
| Printer MUST send for Printer Events. | Printer MUST send for Printer Events. | |||
| Table 7 lists the source of the information for the printer-state. If a | Table 7 lists the source of the information for the printer-state. If | |||
| Printer supports the "printer-state-message", it SHOULD use that | a Printer supports the "printer-state-message", it SHOULD use that | |||
| attribute for the job state information, otherwise it SHOULD fabricate | attribute for the job state information, otherwise it SHOULD | |||
| such information from the "printer-state" and "printer-state-reasons". | fabricate such information from the "printer-state" and "printer- | |||
| For some Events, a Printer MAY combine this information with Event | state-reasons". For some Events, a Printer MAY combine this | |||
| information. | information with Event information. | |||
| Table 7 - Printer State in Event Notification Content | Table 7 - Printer State in Event Notification Content | |||
| Source Value Sends Source Object | Source Value Sends Source Object | |||
| printer-state-message (text(MAX)) MAY Printer | printer-state-message (text(MAX)) MAY Printer | |||
| printer-state (type1 enum) MAY Printer | printer-state (type1 enum) MAY Printer | |||
| printer-state-reasons (1setOf type2 MAY Printer | printer-state-reasons (1setOf type2 MAY Printer | |||
| keyword) | keyword) | |||
| printer-is-accepting-jobs (boolean) MAY Printer | printer-is-accepting-jobs (boolean) MAY Printer | |||
| 6.4 Examples | 6.4 Examples | |||
| This section contains three examples. One is a Job Event and the other | This section contains three examples. One is a Job Event and the | |||
| two are Printer Events, the latter in Danish. | other two are Printer Events, the latter in Danish. | |||
| A Printer implementation NEED NOT generate Event Notification content | A Printer implementation NEED NOT generate Event Notification content | |||
| that is identical or even similar to these examples. In fact it would be | that is identical or even similar to these examples. In fact it would | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | be unfortunate if every implementation copied these example as is. | |||
| These examples merely show some possibilities and are not necessarily | ||||
| the best way to convey information about an Event. | ||||
| unfortunate if every implementation copied these example as is. These | 6.4.1 Job Event Example | |||
| examples merely show some possibilities and are not necessarily the best | ||||
| way to convey information about an Event. | ||||
| 6.4.1Job Event Example | This section contains an example of an Event Notification of a Job | |||
| Event. | ||||
| This section contains an example of an Event Notification of a Job | A Subscribing Client Mike Jones (who works for xyz Corp.) performs a | |||
| Event. | Subscription Creation Operation as part of the Print-Job operation on | |||
| Printer "ipp://tiger@abc.com". Mike Jones specifies that the "job- | ||||
| name" is "financials". Mike is printing the Job for Bill Smith at abc | ||||
| Corp. The Subscription Object then has the following attributes: | ||||
| A Subscribing Client Mike Jones (who works for xyz Corp.) performs a | Attribute Name Attribute Value | |||
| Subscription Creation Operation as part of the Print-Job operation on | ||||
| Printer "ipp://tiger@abc.com". Mike Jones specifies that the "job-name" | ||||
| is "financials". Mike is printing the Job for Bill Smith at abc Corp. | ||||
| The Subscription Object then has the following attributes: | ||||
| Attribute Name Attribute Value | notify-recipient-uri mailto:bsmith@abc.com | |||
| notify-recipient-uri mailto:bsmith@abc.com | notify-events job-completed | |||
| notify-events job-completed | notify-user-data mjones@xyz.com | |||
| notify-user-data mjones@xyz.com | notify-mailto-text-only true | |||
| notify-mailto-text-only true | notify-charset us-ascii | |||
| notify-charset us-ascii | notify-natural-language en-us | |||
| notify-natural-language en-us | notify-subscription-id 35692 | |||
| notify-subscription-id 35692 | notify-sequence-number 0 | |||
| notify-sequence-number 0 | notify-printer-up-time 34593 | |||
| notify-printer-up-time 34593 | notify-printer-uri ipp://tiger@abc.com | |||
| notify-printer-uri ipp://tiger@abc.com | notify-job-id 345 | |||
| notify-job-id 345 | notify-subscriber-user-name mjones | |||
| notify-subscriber-user- mjones | When the Job completes, the Printer generates and sends the following | |||
| name | email message: | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | Date: 17 Jul 00 1632 PDT | |||
| From: tiger <printAdmin@abc.com> | ||||
| Subject: print job: 'financials' completed | ||||
| Sender: mjones@xyz.com | ||||
| Reply-to: mjones@xyz.com | ||||
| To: bsmith@abc.com | ||||
| Content-type: text/plain | ||||
| When the Job completes, the Printer generates and sends the following | printer: tiger | |||
| email message: | job: financials | |||
| job-state: completed | ||||
| Date: 17 Jul 00 1632 PDT | The reader should note that the phrases are not identical to IPP | |||
| From: tiger <printAdmin@abc.com> | keywords. They have been localized to English. | |||
| Subject: print job: 'financials' completed | ||||
| Sender: mjones@xyz.com | ||||
| Reply-to: mjones@xyz.com | ||||
| To: bsmith@abc.com | ||||
| Content-type: text/plain | ||||
| printer: tiger | 6.4.2 Printer Event Example | |||
| job: financials | ||||
| job-state: completed | ||||
| The reader should note that the phrases are not identical to IPP | This section contains an example of an Event Notification of a | |||
| keywords. They have been localized to English. | Printer Event. | |||
| 6.4.2Printer Event Example | A Subscribing Client Peter Williams, a Printer admin, performs a | |||
| Create-Printer-Subscriptions operation on Printer | ||||
| "ipp://tiger@abc.com". The Subscription Object then has the following | ||||
| attributes: | ||||
| This section contains an example of an Event Notification of a Printer | Attribute Name Attribute Value | |||
| Event. | ||||
| A Subscribing Client Peter Williams, a Printer admin, performs a Create- | notify-recipient-uri mailto:pwilliams@abc.com | |||
| Printer-Subscriptions operation on Printer "ipp://tiger@abc.com". The | ||||
| Subscription Object then has the following attributes: | ||||
| Attribute Name Attribute Value | notify-events printer-state-changed | |||
| notify-recipient-uri mailto:pwilliams@abc.com | notify-mailto-text-only true | |||
| notify-events printer-state-changed | notify-charset us-ascii | |||
| notify-mailto-text-only true | notify-natural-language en-us | |||
| notify-charset us-ascii | notify-subscription-id 4623 | |||
| notify-natural-language en-us | notify-sequence-number 0 | |||
| notify-subscription-id 4623 | notify-printer-uptime 23002 | |||
| notify-sequence-number 0 | notify-printer-uri ipp://tiger@abc.com | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | notify-lease-expiration-time 0 | |||
| Attribute Name Attribute Value | notify-subscriber-user-name pwilliams | |||
| notify-printer-uptime 23002 | When the Printer jams, the Printer generates and sends the following | |||
| email message: | ||||
| notify-printer-uri ipp://tiger@abc.com | Date: 29 Aug 00 0832 PDT | |||
| From: tiger <printAdmin@abc.com> | ||||
| Subject: printer: 'tiger' has stopped | ||||
| To: pwilliams@abc.com | ||||
| Content-type: text/plain | ||||
| notify-lease-expiration- 0 | Printer tiger has stopped with a paper jam. | |||
| time | ||||
| notify-subscriber-user- pwilliams | The reader should note that the phrases are not identical to IPP | |||
| name | keywords. They have been localized to English. | |||
| When the Printer jams, the Printer generates and sends the following | 6.4.3 Printer Event Example (localized to Danish) | |||
| email message: | ||||
| Date: 29 Aug 00 0832 PDT | This section contains an example of an Event Notification of a | |||
| From: tiger <printAdmin@abc.com> | Printer Event localized to Danish. | |||
| Subject: printer: 'tiger' has stopped | ||||
| To: pwilliams@abc.com | ||||
| Content-type: text/plain | ||||
| Printer tiger has stopped with a paper jam. | A Subscribing Client Per Jensen, a Printer admin, performs a Create- | |||
| Printer-Subscriptions operation on Printer "ipp://tiger@def.dk". The | ||||
| Subscription Object then has the following attributes: | ||||
| The reader should note that the phrases are not identical to IPP | Attribute Name Attribute Value | |||
| keywords. They have been localized to English. | ||||
| 6.4.3Printer Event Example (localized to Danish) | notify-recipient-uri mailto:pjensen@def.dk | |||
| This section contains an example of an Event Notification of a Printer | notify-events printer-state-changed | |||
| Event localized to Danish. | ||||
| A Subscribing Client Per Jensen, a Printer admin, performs a a Create- | notify-mailto-text-only true | |||
| Printer-Subscriptions operation on Printer "ipp://tiger@def.dk". The | ||||
| Subscription Object then has the following attributes: | ||||
| Attribute Name Attribute Value | notify-charset utf-8 | |||
| notify-recipient-uri mailto:pjensen@def.dk | notify-natural-language da | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | notify-subscription-id 50225 | |||
| Attribute Name Attribute Value | notify-sequence-number 0 | |||
| notify-events printer-state-changed | notify-printer-uptime 53217 | |||
| notify-mailto-text-only true | notify-printer-uri ipp://tiger@def.dk | |||
| notify-charset utf-8 | notify-lease-expiration-time 0 | |||
| notify-natural-language da | notify-subscriber-user-name pjensen | |||
| notify-subscription-id 50225 | When the Printer jams, the Printer generates and sends the following | |||
| email message: | ||||
| notify-sequence-number 0 | Date: 29 Jan 00 0832 CET | |||
| From: tiger <admin@def.dk> | ||||
| Subject: Printeren 'tiger' er standset | ||||
| To: pjensen@def.dk | ||||
| Content-type: text/plain;charset=utf-8 | ||||
| notify-printer-uptime 53217 | Printerens navn er 'tiger'. | |||
| Printeren er standset. | ||||
| Aarsagen er papir stop. | ||||
| notify-printer-uri ipp://tiger@def.dk | 7 Conformance Requirements | |||
| notify-lease-expiration- 0 | The 'mailto' Delivery Method is RECOMMENDED for a Printer to support. | |||
| time | ||||
| notify-subscriber-user- pjensen | If the Printer supports the 'mailto' Delivery Method, the Printer | |||
| name | MUST: | |||
| When the Printer jams, the Printer generates and sends the following | 1.meet the conformance requirements defined in [ipp-ntfy]. | |||
| email message: | ||||
| Date: 29 Jan 00 0832 CET | 2.support the "notify-mailto-text-only" Subscription Object | |||
| From: tiger <admin@def.dk> | attribute defined in section 5.1.1. | |||
| Subject: Printeren 'tiger' er standset | ||||
| To: pjensen@def.dk | ||||
| Content-type: text/plain;charset=utf-8 | ||||
| Printerens navn er 'tiger'. | 3.support the syntax for the "notify-recipient-uri" Subscription | |||
| Printeren er standset. | Object attribute defined in section 5.2.1 | |||
| Aarsagen er papir stop. | ||||
| 7 Conformance Requirements | 4.support the use for the "notify-user-data" Subscription Object | |||
| attribute defined in section 5.2.2 | ||||
| The 'mailto' Delivery Method is RECOMMENDED for a Printer to support. | 5.support SMTP for sending Event Notifications. | |||
| If the Printer supports the 'mailto' Delivery Method, the Printer MUST: | 6.support the 'text/plain' Content-Type for the message body. | |||
| 1.meet the conformance requirements defined in [ipp-ntfy]. | 7.support sending Event Notification via email with the content | |||
| specified in section 5.2. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | 8 IANA Considerations | |||
| 2.support the "notify-mailto-text-only " Subscription Object attribute | Because the 'mailto' URL scheme is already defined in a standards | |||
| defined in section 5.1.1. | track document [RFC 2368] and has been registered with IANA as a URL | |||
| scheme, this document does not require that the mailto URL scheme be | ||||
| further registered as a protocol scheme. | ||||
| 3.support the syntax for the "notify-recipient-uri" Subscription Object | The rest of this section contains the exact registration information | |||
| attribute defined in section 5.2.1 | for IANA to add to the various IPP Registries according to the | |||
| procedures defined in RFC 2911 [RFC2911] section 6 to cover the | ||||
| definitions in this document. | ||||
| 4.support the use for the "notify-user-data" Subscription Object | Note to RFC Editors: Replace RFC NNNN below with the RFC number | |||
| attribute defined in section 5.2.2 | for this document, so that it accurately reflects the content of | |||
| the information for the IANA Registry. | ||||
| 5.support SMTP for sending Event Notifications. | 8.1 Attribute Registration | |||
| 6.support the 'text/plain' Content-Type for the message body. | 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. | ||||
| 7.support sending Event Notification via email with the content | Subscription Template attributes: Ref. Section: | |||
| specified in section 5.2. | notify-mailto-text-only (boolean) RFC NNNN 5.1.1 | |||
| 8 IANA Considerations | The resulting attribute registration will be published in the | |||
| ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attributes/ | ||||
| Because the 'mailto' URL scheme is already defined in a standards track | area. | |||
| document [RFC 2368] and registered with IANA, this document does not | ||||
| require anything further of IANA. | ||||
| 9 Internationalization Considerations | 8.2 Additional uriScheme Attribute Value Registration for the | |||
| "operations-supported" Printer Attribute | ||||
| This Delivery Method presents no internationalization considerations | The following table lists the uriScheme value defined in this | |||
| beyond those covered in the [ipp-ntfy] document, and sections 6.1.3 and | document as an additional uriScheme value for use with the "notify- | |||
| 6.2 of this document. | schemes-supported" Printer attribute defined in [ipp-ntfy]. This is | |||
| to be registered according to the procedures in RFC 2911 [RFC2911] | ||||
| section 6.1. | ||||
| The Notification Recipient is expected to present the email as received | uriScheme Attribute Values: Ref. Section: | |||
| because the Printer does all necessary localization to the Event | mailto RFC NNNN 5.2.1 | |||
| Notification contents. | ||||
| 10 Security Considerations | The resulting uri scheme attribute value registration will be | |||
| published in the | ||||
| ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attribute- | ||||
| The biggest security concern is that a Subscribing Client will cause | values/notify-schemes-supported/ | |||
| unsolicited Event Notifications to be sent to third parties, potentially | area. | |||
| creating denial-of-service problems (i.e., spam). The problem is even | ||||
| worse if the third parties are distribution lists. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | 9 Internationalization Considerations | |||
| There exist scenarios where third party notification is required (see | This Delivery Method presents no internationalization considerations | |||
| Scenario #2 and #3 in [ipp-not-req]). The fully secure solution would | beyond those covered in the [ipp-ntfy] document, and sections 6.1.3 | |||
| require active agreement of all persons before they can become | and 6.2 of this document. | |||
| Notification Recipients. However, requirement #9 in [ipp-req] ("There | ||||
| is no requirement for IPP Printer receiving the print request to | ||||
| validate the identity of an event recipient") argues against this. To | ||||
| minimize the risk, a Printer could disallow third party Notification | ||||
| Recipients (a traditional facsimile model). | ||||
| The Delivery Method recommends that the Subscribing Client supply his or | The Notification Recipient is expected to present the email as | |||
| her email address as the value of the "notify-user-data" attribute in | received because the Printer does all necessary localization to the | |||
| the Subscription Creation Operation when the Notification Recipient is a | Event Notification contents. | |||
| third party. To reduce the chance of spamming or identify the spammer, a | ||||
| Printer could disallow third party Notification Recipients if the | ||||
| Subscribing Client doesn't supply the "notify-user-data" attribute with | ||||
| a valid email address. | ||||
| Some firewall administrators prevent mail attachments from being | 10 Security Considerations | |||
| accepted into their organizations because of the problem of the | ||||
| attachments containing computer viruses. The 'mailto' Delivery Method | The biggest security concern is that a Subscribing Client will cause | |||
| allows the Subscribing Client to request that the Content-Type of a | unsolicited Event Notifications to be sent to third parties, | |||
| message body be 'text/plain'. | potentially creating denial-of-service problems (i.e., spam). The | |||
| problem is even worse if the third parties are distribution lists. | ||||
| There exist scenarios where third party notification is required (see | ||||
| Scenario #2 and #3 in [ipp-not-req]). The fully secure solution | ||||
| would require active agreement of all persons before they can become | ||||
| Notification Recipients. However, requirement #9 in [ipp-req] | ||||
| ("There is no requirement for IPP Printer receiving the print request | ||||
| to validate the identity of an event recipient") argues against this. | ||||
| To minimize the risk, a Printer could disallow third party | ||||
| Notification Recipients (a traditional facsimile model). | ||||
| The Delivery Method recommends that the Subscribing Client supply his | ||||
| or her email address as the value of the "notify-user-data" attribute | ||||
| in the Subscription Creation Operation when the Notification | ||||
| Recipient is a third party. To reduce the chance of spamming or | ||||
| identify the spammer, a Printer could disallow third party | ||||
| Notification Recipients if the Subscribing Client doesn't supply the | ||||
| "notify-user-data" attribute with a valid email address. | ||||
| Some firewall administrators prevent mail attachments from being | ||||
| accepted into their organizations because of the problem of the | ||||
| attachments containing computer viruses. The 'mailto' Delivery | ||||
| Method allows the Subscribing Client to request that the Content-Type | ||||
| of a message body be 'text/plain'. | ||||
| 11 References | 11 References | |||
| [ipp-iig] | ||||
| [ipp-iig] | ||||
| Hastings, T., Manros, C., Kugler, K, Holst H., Zehler, P., | Hastings, T., Manros, C., Kugler, K, Holst H., Zehler, P., | |||
| "Internet Printing Protocol/1.1: draft-ietf-ipp-implementers- | "Internet Printing Protocol/1.1: draft-ietf-ipp-implementers- | |||
| guide-v11-01.txt, work in progress, May 9, 2000 | guide-v11-03.txt, work in progress, July 17, 2001. | |||
| [ipp-mod] | [ipp-ntfy] | |||
| R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell, "Internet | ||||
| Printing Protocol/1.0: Model and Semantics", <draft-ietf-ipp-model-v11- | ||||
| 07.txt>, May 22, 2000.[ipp-ntfy] | ||||
| Herriot, R., Hastings, T., Isaacson, S., Martin, J., deBry, R., | Herriot, R., 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 Notifications and Subscriptions", <draft-ietf-ipp-not-spec- | |||
| 04.txt>, August 30, 2000. | 07.txt>, July 17, 2001. | |||
| [ipp-pro] | ||||
| Herriot, R., Butler, S., Moore, P., Tuner, R., "Internet Printing | ||||
| Protocol/1.1: Encoding and Transport", draft-ietf-ipp-protocol-v11- | ||||
| 06.txt, May 20, 2000. | ||||
| [RFC821] | [RFC821] | |||
| Jonathan B. Postel, "Simple Mail Transfer Protocol", RFC 821, | Jonathan B. Postel, "Simple Mail Transfer Protocol", RFC 821, | |||
| August, 1982. | August, 1982. | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | [RFC822] | |||
| [RFC822] | ||||
| David H. Crocker, "Standard For The Format Of ARPA Internet Text | David H. Crocker, "Standard For The Format Of ARPA Internet Text | |||
| Messages", RFC 822, August 13, 1982. | Messages", RFC 822, August 13, 1982. | |||
| [RFC1341] | [RFC1341] | |||
| N. Borenstein, N. Freed, "MIME (Multipurpose Internet Mail | N. Borenstein, N. Freed, "MIME (Multipurpose Internet Mail | |||
| Extensions): Mechanisms for Specifying and Describing the Format of | Extensions): Mechanisms for Specifying and Describing the Format of | |||
| Internet Message Bodies", RFC 1341, June, 1992. | Internet Message Bodies", RFC 1341, June, 1992. | |||
| [RFC1521] | [RFC1521] | |||
| N. Borenstein, N. Freed, "MIME (Multipurpose Internet Mail | N. Borenstein, N. Freed, "MIME (Multipurpose Internet Mail | |||
| Extensions) Part One: Mechanisms for Specifying and Describing the | Extensions) Part One: Mechanisms for Specifying and Describing the | |||
| Format of Internet Message Bodies", RFC 1521, September 1993. | Format of Internet Message Bodies", RFC 1521, September 1993. | |||
| [RFC1891] | [RFC1891] | |||
| K. Moore, "SMTP Service Extension for Delivery Status | K. Moore, "SMTP Service Extension for Delivery Status | |||
| Notifications", RFC 1891, January 1996 | Notifications", RFC 1891, January 1996 | |||
| [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. | |||
| [RFC2046] | [RFC2046] | |||
| 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. | |||
| [RFC2368] | [RFC2368] | |||
| P. Hoffman, L. Masinter, J. Zawinski, "The mailto URL scheme", RFC | P. Hoffman, L. Masinter, J. Zawinski, "The mailto URL scheme", RFC | |||
| 2616, July 1998. | 2368, July 1998. | |||
| [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. | |||
| [RFC2633] | [RFC2633] | |||
| B. Ramsdell, "S/MIME Version 3 Message Specification", RFC 2633, | B. Ramsdell, "S/MIME Version 3 Message Specification", RFC 2633, | |||
| June 1999. | June 1999. | |||
| [RFC2910] | ||||
| Herriot, R., Butler, S., Moore, P., Tuner, R., "Internet Printing | ||||
| Protocol/1.1: Encoding and Transport", RFC 2910, September, 2000. | ||||
| [RFC2911] | ||||
| R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell, | ||||
| "Internet Printing Protocol/1.0: Model and Semantics", RFC 2911, | ||||
| September, 2000. | ||||
| 12 Author's Addresses | 12 Author's Addresses | |||
| Robert Herriot | Robert Herriot | |||
| Xerox Corporation | Xerox Corporation | |||
| 3400 Hillview Ave., Bldg #1 | 3400 Hillview Ave., Bldg #1 | |||
| Palo Alto, CA 94304 | Palo Alto, CA 94304 | |||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | ||||
| Phone: 650-813-7696 | Phone: 650-813-7696 | |||
| Fax: 650-813-6860 | Fax: 650-813-6860 | |||
| Email: robert.herriot@pahv.xerox.com | Email: robert.herriot@pahv.xerox.com | |||
| Henrik Holst | Henrik Holst | |||
| i-data international a/s | i-data international a/s | |||
| Vadstrupvej 35-43 | Vadstrupvej 35-43 | |||
| 2880 Bagsvaerd, Denmark | 2880 Bagsvaerd, Denmark | |||
| Phone: +45 4436-6000 | Phone: +45 4436-6000 | |||
| skipping to change at page 29, line 38 ¶ | skipping to change at page 27, line 43 ¶ | |||
| Carl-Uno Manros | Carl-Uno Manros | |||
| 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-8273 | 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 | |||
| 13 Full Copyright Statement | IPP Web Page: http://www.pwg.org/ipp/ | |||
| Copyright (C) The Internet Society (2000). All Rights Reserved. | IPP Mailing List: ipp@pwg.org | |||
| This document and translations of it may be copied and furnished to | To subscribe to the ipp mailing list, send the following email: | |||
| others, and derivative works that comment on or otherwise explain it or | 1) send it to majordomo@pwg.org | |||
| assist in its implementation may be prepared, copied, published and | 2) leave the subject line blank | |||
| distributed, in whole or in part, without restriction of any kind, | 3) put the following two lines in the message body: | |||
| provided that the above copyright notice and this paragraph are included | subscribe ipp | |||
| on all such copies and derivative works. However, this document itself | end | |||
| may not be modified in any way, such as by removing the copyright notice | ||||
| or references to the Internet Society or other Internet organizations, | ||||
| except as needed for the purpose of developing Internet standards in | ||||
| which case the procedures for copyrights defined in the Internet | ||||
| Standards process must be followed, or as required to translate it into | ||||
| languages other than English. | ||||
| PWG-DRAFT IPP: The 'mailto:' Delivery Method August 30, 2000 | Implementers of this specification document are encouraged to join | |||
| 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. | ||||
| The limited permissions granted above are perpetual and will not be | 13 Summary of Base IPP Documents | |||
| revoked by the Internet Society or its successors or assigns. | ||||
| This document and the information contained herein is provided on an "AS | The base set of IPP documents includes: | |||
| IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK | ||||
| FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT | Design Goals for an Internet Printing Protocol [RFC2567] | |||
| LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT | Rationale for the Structure and Model and Protocol for the Internet | |||
| INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR | Printing Protocol [RFC2568] | |||
| FITNESS FOR A PARTICULAR PURPOSE. | Internet Printing Protocol/1.1: Model and Semantics [RFC2911] | |||
| Internet Printing Protocol/1.1: Encoding and Transport [RFC2910] | ||||
| Internet Printing Protocol/1.1: Implementer's Guide [ipp-iig] | ||||
| Mapping between LPD and IPP Protocols [RFC2569] | ||||
| Internet Printing Protocol (IPP): IPP Event Notifications and | ||||
| Subscriptions [ipp-ntfy] | ||||
| The "Design Goals for an Internet Printing Protocol" document takes a | ||||
| broad look at distributed printing functionality, and it enumerates | ||||
| real-life scenarios that help to clarify the features that need to be | ||||
| included in a printing protocol for the Internet. It identifies | ||||
| requirements for three types of users: end users, operators, and | ||||
| administrators. It calls out a subset of end user requirements that | ||||
| are satisfied in IPP/1.0. A few OPTIONAL operator operations have | ||||
| been added to IPP/1.1. | ||||
| The "Rationale for the Structure and Model and Protocol for the | ||||
| Internet Printing Protocol" document describes IPP from a high level | ||||
| view, defines a roadmap for the various documents that form the suite | ||||
| of IPP specification documents, and gives background and rationale | ||||
| for the IETF working group's major decisions. | ||||
| The "Internet Printing Protocol/1.1: Model and Semantics" document | ||||
| describes a simplified model with abstract objects, their attributes, | ||||
| and their operations that are independent of encoding and transport. | ||||
| It introduces a Printer and a Job object. The Job object optionally | ||||
| supports multiple documents per Job. It also addresses security, | ||||
| internationalization, and directory issues. | ||||
| The "Internet Printing Protocol/1.1: Encoding and Transport" document | ||||
| is a formal mapping of the abstract operations and attributes defined | ||||
| in the model document onto HTTP/1.1 [RFC2616]. It defines the | ||||
| encoding rules for a new Internet MIME media type called | ||||
| "application/ipp". This document also defines the rules for | ||||
| transporting over HTTP a message body whose Content-Type is | ||||
| "application/ipp". This document defines the 'ippget' scheme for | ||||
| identifying IPP printers and jobs. | ||||
| The "Internet Printing Protocol/1.1: Implementer's Guide" document | ||||
| gives insight and advice to implementers of IPP clients and IPP | ||||
| objects. It is intended to help them understand IPP/1.1 and some of | ||||
| the considerations that may assist them in the design of their client | ||||
| and/or IPP object implementations. For example, a typical order of | ||||
| processing requests is given, including error checking. Motivation | ||||
| for some of the specification decisions is also included. | ||||
| The "Mapping between LPD and IPP Protocols" document gives some | ||||
| advice to implementers of gateways between IPP and LPD (Line Printer | ||||
| Daemon) implementations. | ||||
| The "IPP Event Notifications and Subscriptions" document defines an | ||||
| extension to IPP/1.0 [RFC2566, RFC2565] and IPP/1.1 [RFC2911, | ||||
| RFC2910]. This extension allows a client to subscribe to printing | ||||
| related Events and defines the semantics for delivering asynchronous | ||||
| Event Notifications to the specified Notification Recipient via a | ||||
| specified Delivery Method (i.e., protocols) defined in (separate) | ||||
| Delivery Method documents. | ||||
| 14 Full Copyright Statement | ||||
| Copyright (C) The Internet Society (2000). All Rights Reserved. | ||||
| This document and translations of it may be copied and furnished to | ||||
| others, and derivative works that comment on or otherwise explain it | ||||
| or assist in its implementation may be prepared, copied, published | ||||
| and distributed, in whole or in part, without restriction of any | ||||
| kind, provided that the above copyright notice and this paragraph are | ||||
| included on all such copies and derivative works. However, this | ||||
| document itself may not be modified in any way, such as by removing | ||||
| the copyright notice or references to the Internet Society or other | ||||
| Internet organizations, except as needed for the purpose of | ||||
| developing Internet standards in which case the procedures for | ||||
| copyrights defined in the Internet Standards process must be | ||||
| followed, or as required to translate it into languages other than | ||||
| English. | ||||
| The limited permissions granted above are perpetual and will not be | ||||
| revoked by the Internet Society or its successors or assigns. | ||||
| This document and the information contained herein is provided on an | ||||
| "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | ||||
| TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | ||||
| BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | ||||
| HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | ||||
| MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
| Acknowledgement | ||||
| Funding for the RFC Editor function is currently provided by the | ||||
| Internet Society. | ||||
| End of changes. 301 change blocks. | ||||
| 805 lines changed or deleted | 755 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/ | ||||