Subject: draft-ema-vpim-pndn-01.txt

From: [email-masked]
Date: Tue, 15 Feb 2000 14:55:46 -0800

Network Working Group                                              E.
Burger
Internet Draft                          Centigram Communications
Corporation
Document: draft-ema-vpim-pndn-01.txt                       February 15,
2000
Category: Standards Track
Expires in six months

                   Partial Non-Delivery Notification

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026 [1].  Internet-Drafts are
   working documents of the Internet Engineering Task Force (IETF), its
   areas, and its working groups.  Note that other groups may also
   distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months.  Other documents may update, replace, or obsolete this
   document at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

1.
  Abstract
   This document describes the interaction between systems sending
   multi-part Internet mail [2] to systems that cannot render parts of
   the sent message.  In particular, this document describes an
   extension to the Delivery Status Notification mechanism described in
   [3].

   An example of partial message delivery failure is the case when a
   user sends an audio file and a video file to an Internet Voice Mail
   [4] system.  The Internet Voice Mail system can render the audio
   part but not the video part.  In this case, a partial delivery
   occurs.

   This document reflects work undertaken in support of the Internet
   Voice Mail and Voice Profile for Internet Mail [5] initiatives.  The
   VPIM Work Group home page is <http://www.ema.org/vpim>.

Burger                    Expires 7/11/2000                   [Page 1]

                  Partial Non-Delivery Notification   January 11, 2000

Table of Contents

   1.   Abstract .....................................................1
   2.   Conventions used in this document ............................2
   3.   Introduction .................................................3

   4.   Operation ....................................................5
   5.   Contents of the PNDN .........................................6
     5.1.  The message/partial-delivery-status content-type ..........6
     5.2.  Per-Message PNDN Fields ...................................7
        5.2.1.  Fields from RFC 1894 .................................7
        5.2.2.  Original-Message-ID ..................................7
     5.3.  Per-Part PNDN Fields ......................................8
        5.3.1.  Fields from RFC 1894 .................................9

        5.3.2.  Action Field .........................................9
        5.3.3.  Final Recipient Field ...............................10
        5.3.4.  Original Content ID Field ...........................10
        5.3.5.  Original Content Description Field ..................10
        5.3.6.  Original Content Disposition Field ..................10
        5.3.7.  Original Content Type Field .........................10
        5.3.8.  Status Field ........................................11

   6.   Appendix - Examples .........................................12
     6.1.  PNDN With One Failed Body Part ...........................13
     6.2.  PNDN With Two Failed Body Parts ..........................14
     6.3.  PNDN With One Body Part Failure and Two Recipients .......15
     6.4.  PNDN With One Body Part Failure for One Recipient and
           Another Body Part Failure for Two Recipients .............16
   7.   Formal Syntax ...............................................18
   8.   Security Considerations .....................................19

     8.1.  Forgery ..................................................19
     8.2.  Confidentiality ..........................................20
   9.   References ..................................................21
   10.  Acknowledgments .............................................22
   11.  Author's Address ............................................22
   12.  Notices and Full Copyright Statement ........................23

2.
  Conventions used in this document

   This document refers generically to the sender of a message in the
   masculine (he/him/his) and the recipient of the message in the
   feminine (she/her/hers).  This convention is purely for convenience
   and makes no assumption about the gender of a message sender or
   recipient.

Burger            Internet Draft - Expires 7/11/2000          [Page 2]

                  Partial Non-Delivery Notification   January 11, 2000

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in
   this document are to be interpreted as described in RFC-2119 [6].

   FORMATTING NOTE: Notes, such at this one, provide additional
   nonessential information that the reader may skip without missing
   anything essential.  The primary purpose of these non-essential
   notes is to convey information about the rationale of this document,
   or to place this document in the proper historical or evolutionary
   context.  Readers whose sole purpose is to construct a conformant
   implementation may skip such information.  However, it may be of use
   to those who wish to understand why we made certain design choices.

3.
  Introduction

   This document describes partial non-delivery notifications (PNDN).
   Partial non-delivery notifications are an extension of the Delivery
   Status Notification (DSN) described in RFC 1894 [3].

   The need for a partial non-delivery notification comes about because
   of the internetworking of Internet mail systems with legacy
   messaging systems that do not fulfil all of the semantics of
   Internet mail.  Such legacy systems have a limited ability to render
   all parts of a given message. This document will use the case of an
   Internet mail system sending electronic messages a legacy voice
   messaging system for illustrative purposes.

   Electronic mail has historically been text-centric.  Extensions such
   as MIME enable the desktop to send and receive multi-part,
   multimedia messages.  Popular multimedia data types include binary
   word processing documents, binary business presentation graphics,
   voice, and video.

   Voice mail has historically been audio-centric.  Many voice
   messaging systems can only render voice.  Extensions such as fax
   enable the voice mail system to send and receive fax images as well
   as create multi-part voice and fax messages.  A few voice mail
   systems can render text using text-to-speech or text-to-fax
   technology.  Although theoretically possible, none can today render
   video.

   An important aspect of the interchange between voice messaging
   services and desktop e-mail client applications is that the
   rendering capability of the voice messaging platform is often much
   less than the rendering capability of a desktop e-mail client.  In
   the e-mail case, the sender has the expectation that the recipient
   receives all components of a multimedia message.  This is so even if
   the recipient cannot render all body parts.  For the most part, the

Burger            Internet Draft - Expires 7/11/2000          [Page 3]

                  Partial Non-Delivery Notification   January 11, 2000

   recipient can either find the appropriate rendering tool or tell the
   sender that she cannot read the particular attachment.

   This is an important issue.  By definition, a MIME-enabled user
   agent, conforming to [7] will present or make available all of the
   body parts to the recipient.  However, a voice mail system may not
   be capable of storing non-voice objects.  Moreover, the voice mail
   system may not be capable of notifying the recipient that there were
   undeliverable message parts.

   The inability of the receiving system to render a body part is
   usually a permanent failure.  Retransmission of the message will not
   improve the likelihood of a future successful delivery.  Contrast
   this to the case with normal data delivery.  Traditional message
   failures, such as a garbled message or disabled link will benefit
   from retransmission.

   Note that the PNDN does not attempt to address User Agent failures,
   such as a corruption of a body part.  PNDN only addresses the
   capability of a system to handle the data type by observing the
   part's metadata.  Other mechanisms, such as Message Disposition
   Notification [8], can address the situation when the recipient
   system discovers an error in the payload of a body part.

   This document addresses the need to allow Internet e-mail client
   applications to send arbitrary multi-part multimedia messages to
   voice messaging systems, retaining the semantics of delivery
   notification, while taking into account the limitations of the voice
   messaging system's rendering capabilities.  The method described by
   this document is applicable to any interface between a full-featured
   user agent and a recipient mail transfer agent that has less
   rendering and media type storage capabilities than the sender has.

   Ideally, the voice mail system would notify the recipient of the
   undeliverable body parts.  Such behavior would satisfy the essential
   requirements of [8].  In fact, if the voice mail system can notify
   the recipient there were undeliverable body parts, then there would
   be no need for this document.  However, many voice mail systems are
   not capable of making this notification.

   NOTE: An alternative method of handling partial delivery is to
   determine what parts of the message the sender considers critical.
   If the voice mail system could not deliver the critical parts, then
   the voice mail system would reject the entire message.  If the voice
   mail system could deliver the critical parts, but there were other
   undeliverable parts, it would silently delete the parts from the
   delivered message.  The VPIM work group determined this method, in
   practice, would be too complex to implement and would have the
   drawback of the voice mail system silently deleting message
   components.  In light of the limitations of voice mail systems, we
   decided to deliver as much of the message as possible, notifying the
   sender of any parts that the voice mail system fails to deliver.

Burger            Internet Draft - Expires 7/11/2000          [Page 4]

                  Partial Non-Delivery Notification   January 11, 2000

   NOTE: The concept of a critical part indicator is still a useful
   construction.  The sender may wish to specify a body part as so
   important that if the system cannot deliver the specified body part,
   then the system will not deliver any parts of the message.  However,
   this is beyond the scope of this document.  We should revisit this
   issue once there is an acceptable mechanism for identifying critical
   parts.

4.
  Operation

   The sending system sees the Internet Voice Mail system as a peer e-
   mail client.  The only special consideration on the part of the
   sending system is that it may encode the MIME message following the
   format specified by VPIM [5] or the Internet Voice Mail Profile [4].
   Properly encoding and profiling the message will enhance the
   receiving system's ability to process and successfully deliver the
   message.  Such considerations include the formatting and encoding of
   the sender's audio name clip, return address information, out-dial
   destinations, and other elements.  Refer to [5] for more
   information.

   The recipient system, on receipt of e-mail destined for a voice mail
   user, makes a best-efforts attempt to deliver what parts it can to
   the user.

   If the recipient system is capable of delivering the entire message,
   it follows the notification protocols specified in [4].

   If the recipient system cannot deliver any part of the message, it
   will return the non-delivery notification specified in [4].

   If the recipient system is capable of delivering only part of the
   message, it will return a partial non-delivery notification (PNDN)
   as described below.

   Delivery failure can occur for all recipients of a message because
   the recipient system cannot handle a given body part.  However,
   body-part delivery failure can also occur for a subset of recipients
   of a message.  This happens if the recipient system is capable of
   handling the media type of the body part, but the recipient user
   does not subscribe to a service that can present the media type.
   For example, consider an Internet Voice Mail platform that can
   handle fax.  Now consider a service provider that has a class of
   service that is voice only.  If the message recipient user has a
   voice only class of service, she will not be able to render fax,
   which is an image.

Burger            Internet Draft - Expires 7/11/2000          [Page 5]

                  Partial Non-Delivery Notification   January 11, 2000

   NOTE:  We chose Delivery Status Notification (DSN) [3] over Message
   Disposition Notification (MDN) [8] as a model for PNDN.  There was
   some discussion on this point because an Internet Voice Mail system
   acts as both a UA and a MTA.  The Message Disposition Notification
   deals with things such as return receipt.  The generation of the
   return receipt can occur long after the receiving system has
   received the message.  On the other hand, the receiving system can
   know on receipt whether it has the capabilities to deliver all parts
   of the message.  In this case, the recipient acts more like an MTA
   than a UA.  In addition, we decided it was more important for the
   sender to know the system would never deliver some parts of the
   message.  It would not be desirable to wait for the recipient to
   attempt to read the message and only at that point generate a
   notification that the system could not deliver parts of the message.

   NOTE:  This is why the language uses "is capable of delivering"
   rather than "delivers" in the description above.

5.
  Contents of the PNDN

   The PNDN informs a human or machine sender that the recipient system
   could not deliver one or more parts of a message they have sent.

   The PNDN is a special case of Delivery Status Notification.  In the
   sections that follow, refer to [3] for a full description of the
   fields.

   The receiving system transmits a PNDN as a MIME message with a top-
   level content-type of multipart/report, as defined in [3].

   The mail system can use the multipart/report content-type for any of
   several kinds of reports.  For a PNDN, the report-type parameter
   uses the DSN multipart/report content-type of "delivery-status".

   As described in [9], the first part of a multipart/report content-
   type is a human readable explanation of the report.  For a PNDN, the
   second component of the multipart/report is of content-type
   message/delivery-status.  The third component of the
   multipart/report consists of the original message or some portion
   thereof.

5.1. The message/delivery-status content-type

   The message/delivery-status content-type definition is as follows:

     MIME type name:            message
     MIME subtype name:         delivery-status

Burger            Internet Draft - Expires 7/11/2000          [Page 6]

                  Partial Non-Delivery Notification   January 11, 2000

     Optional parameters:       none.
     Encoding considerations:   "7bit" encoding is sufficient and
                                conforming systems MUST use it to
                                maintain readability when viewed
                                by non-MIME mail readers.
     Security considerations:   discussed in section 7 of this memo.

   The message/delivery-status report type for use in the
   multipart/report is "delivery-status".

   The body of a message/delivery-status consists of one or more
   "fields" formatted according to the ABNF [10] specified below and in
   [3].  The per-message fields appear first, followed by a blank line.
   Following the per-message fields are one or more groups of per-
   recipient/per-body part fields.  A blank line precedes each group of
   per-recipient fields.

   The syntax of the message/delivery-status content is in section 7.

   Section 5.2 describes the per-message-fields.  Section 5.3 describes
   the per-part-fields.

   NOTE:  Readers should focus on Section 5.3 as it describes the
   essential extensions to DSN.

5.2. Per-Message PNDN Fields

5.2.1. Fields from RFC 1894

   Except as noted below, the PNDN contains all fields as appropriate
   from DSN [3].  In particular, Reporting-MTA MUST be present.

   NOTE:  The sender's MTA could generate a DSN.  In this case, the
   Reporting-MTA is optional.  However, only receiving systems will
   generate Partial Non-Delivery Notifications.  Thus, the sender needs
   to know who reported the failure.

5.2.2. Original-Message-ID

   The recipient system MUST generate an Original-Message-ID field if a
   Message-ID field was present in the original message.

   NOTE:  This is a change from RFC 1894.  Few User Agents insert an
   Envelope-ID.  The sender needs to know what message failed.  Sending
   back the original message in a multimedia environment has security
   implications.  In particular, requiring the receiving system to send
   back large multimedia files would make them vulnerable to denial of

Burger            Internet Draft - Expires 7/11/2000          [Page 7]

                  Partial Non-Delivery Notification   January 11, 2000

   service attacks.  Moreover, MIME-encoded body parts are in base64.
   Since we cannot rely on the user recognizing the original text of
   their message, we must rely on alternative identifying
   characteristics.

5.3. Per-Part PNDN Fields

   A PNDN contains information about attempts to deliver a message's
   parts to one or more recipients.  A group of contiguous per-message,
   per-recipient body-part content partial non-delivery notification
   fields contains delivery information for that body-part.  A blank
   line precedes each group of per-part fields.

   PNDN expands upon DSN by introducing body part indicators to DSN's
   per-recipient block.  This extension allows multiple recipients per
   per-recipient block and multiple body part indicators per per-
   recipient block.  A conforming implementation may choose to separate
   each body-part / recipient failure into its own per-recipient block.
   A conforming PNDN parser MUST be able to digest each of the three
   reporting types.

   For example, take a message sent to two users, A and B.  In
   addition, let's say that Part 1 fails for the same reason for both
   users, and Part 2 fails only for user B for the same reason Part 1
   failed.  Here are three, equivalent ways of rendering the per-
   recipient block.

     1.   Enumerate all failures individually:

             Recipient A Failure
             Part 1 Failure

             Recipient B Failure
             Part 1 Failure

             Recipient B Failure
             Part 2 Failure

     2.   Group by recipient:

             Recipient A Failure
             Part 1 Failure

             Recipient B Failure
             Part 1 Failure
             Part 2 Failure

     3.   Group by part:

Burger            Internet Draft - Expires 7/11/2000          [Page 8]

                  Partial Non-Delivery Notification   January 11, 2000

             Recipient A Failure
             Recipient B Failure
             Part 1 Failure

             Recipient B Failure
             Part 2 Failure

   NOTE:  This RFC could have required enumeration as the only way to
   report failures.  This makes for a cleaner standard.  However,
   consider the case of a message sent to a large number of recipients.
   Assuming each recipient / part combination has the same failure
   mode, expanding all of the redundant information, such as the part
   identification, for each recipient greatly increases the size of the
   PNDN.

5.3.1. Fields from RFC 1894

   Except as noted below, the PNDN contains all fields as appropriate
   from DSN [3].  The Original-Recipient, Final-Recipient, Last-
   Attempt-Date, and Final-Log-ID fields follow their meaning and
   requirements set forth in DSN.  The Will-Retry-Until field is not
   relevant, as the PNDN is not a delayed delivery notification.

5.3.2. Action Field

   The action field reflects the disposition of the message.  Since the
   receiving system can deliver at least part of the message, the
   action value SHOULD be "delivered".  If the recipient system did not
   deliver any parts of the message, then it would perform the normal
   undeliverable message processing described by DSN [3].

   NOTE: Considering partial delivery a failure or a success is a
   matter of many debates.  There is work ongoing in the IETF to
   develop an indicator for identifying critical body parts.  With a
   critical body part indicator, the recipient system can return to the
   sender a success or failure indication based on whether or not the
   system succeeded in delivering the critical parts.

   Without critical part indicators, one may chose to err on the side
   of failing the entire message.  However, from a practical point of
   view, the sender probably will have some idea of the capabilities of
   the recipient.  Moreover, experience shows that users do not take
   well to being bombarded with failure notices they believe should be
   warnings.

   Therefore, until such a time as we have a critical body part
   indicator, the best practice is to return a delivered notice to the
   sender, with the appropriate warning and explanation message for the
   body part(s) not delivered.

Burger            Internet Draft - Expires 7/11/2000          [Page 9]

                  Partial Non-Delivery Notification   January 11, 2000

5.3.3. Final Recipient Field

   The Final-Recipient field indicates the recipient for which this set
   of per-part fields applies.  The definition of the final recipient
   field is as described by DSN [3].  However, for security reasons,
   the PNDN relaxes the imperative for including this field.  That is,
   the per-part data MAY include the final recipient field

   NOTE:  The change in imperative from [3], from MUST to MAY, comes
   from the Internet Voice Mail environment.  One can envision Internet
   Voice Mail implementations where the service provider wishes to keep
   the actual host name of the voice mail system hidden yet in the
   Internet name space.  Reporting the final recipient field may
   include the actual host name of a voice mail node.  Making that
   information public through a PNDN may enable attacks on that node.

5.3.4. Original Content ID Field

   This field, if present in the original message, MUST be present in
   the PNDN.  It aids the sender in understanding exactly which body
   part the receiving system is not capable of delivering.

5.3.5. Original Content Description Field

   This field, if present in the original message, MUST be present in
   the PNDN.  It aids the sender in understanding exactly which body
   part the receiving system is not capable of delivering.  This field
   will be much more useful than the Original-Content-ID field to a
   human sender.  However, few User Agents insert the Content-
   Description field in a message.

5.3.6. Original Content Disposition Field

   This field, if present in the original message, MAY be present in
   the PNDN if there is a Content Type field in the original message.
   This field MUST be present if there is not a Content Type field in
   the original message and the content disposition field contains a
   filename.  This field aids the sender in understanding exactly which
   body part the receiving system is not capable of delivering.  This
   field will be more useful than the Original-Content-ID field to a
   human sender.  It will let the human know the file name of the part
   the receiving system is not capable of handling.

5.3.7. Original Content Type Field

   This field, if present in the original message, MUST be present in
   the PNDN.  It aids the sender in understanding exactly which body

Burger            Internet Draft - Expires 7/11/2000         [Page 10]

                  Partial Non-Delivery Notification   January 11, 2000

   part the receiving system is not capable of delivering.  This field
   will be much more useful than the Original-Content-ID field to a
   human sender.  It will let the human know the MIME types that the
   receiving system is not capable of handling.  In addition, the
   sender will get a clue as to what body part the receiving system is
   not capable of handling from the filename sub-field, if present.

5.3.8. Status Field

   Message Transfer Agents (MTAs) are free to generate standard status
   codes from [11].  This section describes status codes that have
   special meaning for PNDN.

   All of these status codes are of type "permanent failures of media",
   type 5.

   Receiving systems that generate Partial Non-Delivery Notifications
   MUST insert descriptive text in the comment field of the status code
   so a human sender can understand why his message failed.

   Sending systems that automatically process returned status codes
   MUST use the numeric status code and MUST NOT use the comment.

5.3.8.1.  Media not Supported

   If the recipient system is not capable of delivering a part of a
   message because it does not support a given media type, it MUST
   return the Media not Supported status code.  For example, if an
   Internet Voice Mail system receives an AutoCAD document and it can
   only render voice, the Internet Voice Mail system will return a
   Media not Supported status code.

5.3.8.2.  Conversion With Loss Performed

   If the recipient system can deliver the part, but only with a lossy
   conversion, the receiving system SHOULD NOT return Conversion With
   Loss Performed.

   NOTE:  We considered the optional return code of Conversion With
   Loss Performed, Status 5.6.4.  However, we realized two things.
   First, few Internet Voice Mail systems would necessarily have the
   capability of generating this warning.  Second, there is dubious
   value to the sender of receiving this warning.  If the receiver has
   trouble understanding the rendering of the body part, she can always
   send a message to the sender.  On the other hand, we could foresee
   confusion on the part of the sender if he constantly received
   warning messages every time he sends a message to the particular
   recipient.

Burger            Internet Draft - Expires 7/11/2000         [Page 11]

                  Partial Non-Delivery Notification   January 11, 2000

6.
  Appendix - Examples

   NOTE:  These examples are for illustrative purposes only and are not
   a normative part of the PNDN definition.  If an example conflicts
   with the normative description of sections 3 through 5, the example
   is wrong.

   The examples in this appendix use the following MIME-Encoded message
   for the original sent message.

   The message has three parts.  The first part is a text message.  The
   second part is a voice message.  The third part is a fax message.
   Here is the sample message.

   Message-ID: [email-masked]
   From: "Eric Burger" <[email-masked]>
   To: "Eric Burger" <[email-masked]>
   Subject: Three-part Message
   Date: Mon, 22 Nov 1999 12:02:30 -0500
   MIME-Version: 1.0
   Content-Type: multipart/mixed;
        boundary="----=_NextPart_000_0007_01BF34E1.74123720"
   X-Priority: 3
   X-Mailer: The One And Only Test Platform V8.1222.974B

   This is a multi-part message in MIME format.

   ------=_NextPart_000_0007_01BF34E1.74123720
   Content-Type: text/plain;
        charset="iso-8859-1"
   Content-Transfer-Encoding: 7bit
   Content-ID: TextPart0AFF8B

   Here is a three-part message.  The first part is text (this one).
   The second part is voice.  The third part is fax.

   ------=_NextPart_000_0007_01BF34E1.74123720
   Content-Type: audio/wav;
        name="Voice Message.wav"
   Content-Transfer-Encoding: base64
   Content-Disposition: attachment;
        filename="Voice Message.wav"

   UklGRjgRAABXQVZFZm10IBQAAAAxAAEAQB8AAFkGAABBAAAAAgBAAWZhY3QEAAAAwFMA
   EQAASfYQFoWCEkuSTST3JGyiTbIfDybr9hltilsnh+uBo/OEpE1iTFGWuFEcFJFuVAxk

Burger            Internet Draft - Expires 7/11/2000         [Page 12]

                  Partial Non-Delivery Notification   January 11, 2000

   ...
   0TIT1twS7JVeyYHHFDaWIEN1mcYMlvLNgGoakdxbL2ErxZprJS+htNhu4ozNYKmwCGvT
   wErbIgazEvRAGn5hMxhcqGS59UE1cHEjR08A

   ------=_NextPart_000_0007_01BF34E1.74123720
   Content-Type: image/tiff;
        name="My House.tif"
   Content-Transfer-Encoding: base64
   Content-Disposition: attachment;
        filename="My House.tif"
   Content-Description: Picture of My House

   SUkqABhSAAAAAU2agAFNmoABTZqAAU2agAFNmoABTZqAAU2agAFNmoABTZqAAU2agAFN
   AU2agAFNmoABTZqAAU2agAFNmoABTZqAAU2agAGRqDuH4JefU8/YSwd8/xdn7CKC4PMW
   ...
   UAAAGgEFAAEAAAAIUgAAGwEFAAEAAAAQUgAAJAEEAAEAAAAEAAAAKAEDAAEAAAACAAAA
   AAAAAAEARgEDAAEAAAAAAAAARwEDAAEAAAAAAAAAAAAAAA==

   ------=_NextPart_000_0007_01BF34E1.74123720--

6.1. PNDN With One Failed Body Part

   This example shows a PNDN for a system that does not handle text,
   but does handle voice and fax.

   Date: Thu, 22 Nov 1999 09:05:15 -0800
   From: Mail Delivery Subsystem <[email-masked]>
   Message-Id: <199407072116.RAA14128@TELECNNCT>
   Subject: WARNING: Could Not Delivery Body Part
   To: <[email-masked]>
   MIME-Version: 1.0
   Content-Type: multipart/report; report-type=delivery-status;
         boundary="RAA14128.773615765/CENTIGRAM.COM"

   --RAA14128.773615765/CENTIGRAM.COM

   The original message was received at Mon, 22 Nov 1999 09:05:05 -0800
   from root@localhost

      ----- The following addresses had delivery problems -----
   <[email-masked]>  (warning)

      ----- Transcript of session follows -----
   Could Not Deliver Text Part to < [email-masked] >

   Body part will be deleted from queue

   --RAA14128.773615765/CENTIGRAM.COM

Burger            Internet Draft - Expires 7/11/2000         [Page 13]

                  Partial Non-Delivery Notification   January 11, 2000

   content-type: message/delivery-status

   Original-Message-ID:
        [email-masked]
   Reporting-MTA: dns; telecnnct.com

   Action: delivered
   Status: 5.6.1     (Media not Supported)
   Original-Recipient: rfc822;[email-masked]
   Original-Content-ID: TextPart0AFF8B

   --RAA14128.773615765/CENTIGRAM.COM
   content-type: message/rfc822

   Here is a three-part message.  The first part is text (this one).
   The second part is voice.  The third part is fax.

   --RAA14128.773615765/CENTIGRAM.COM--

6.2. PNDN With Two Failed Body Parts

   This example shows a PNDN for a system that does not handle text or
   fax.

   Date: Thu, 22 Nov 1999 09:05:15 -0800
   From: Mail Delivery Subsystem <[email-masked]>
   Message-Id: <199407072116.RAA14128@TELECNNCT>
   Subject: WARNING: Could Not Delivery Body Part
   To: <[email-masked]>
   MIME-Version: 1.0
   Content-Type: multipart/report; report-type=delivery-status;
         boundary="RAA14128.773615765/CENTIGRAM.COM"

   --RAA14128.773615765/CENTIGRAM.COM

   The original message was received at Mon, 22 Nov 1999 09:05:05 -0800
   from root@localhost

      ----- The following addresses had delivery problems -----
   <[email-masked]>  (warning)

      ----- Transcript of session follows -----
   Could Not Deliver Text Part to < [email-masked] >
   Could Not Deliver Fax Part to < [email-masked] >

   Body parts will be deleted from queue

Burger            Internet Draft - Expires 7/11/2000         [Page 14]

                  Partial Non-Delivery Notification   January 11, 2000

   --RAA14128.773615765/CENTIGRAM.COM
   content-type: message/delivery-status

   Original-Message-ID:
        [email-masked]
   Reporting-MTA: dns; telecnnct.com

   Original-Recipient: rfc822;[email-masked]
   Status: 5.6.1     (Media not Supported)
   Action: delivered
   Original-Content-ID: TextPart0AFF8B

   Original-Recipient: rfc822;[email-masked]
   Status: 5.6.1     (Media not Supported)
   Action: delivered
   Original-Content-Description: Picture of My House
   Original-Content-Type: image/tiff; name="My House.tif"
   Original-Content-Disposition: attachment; filename="My House.tif"

   --RAA14128.773615765/CENTIGRAM.COM
   content-type: message/rfc822

   Here is a three-part message.  The first part is text (this one).
   The second part is voice.  The third part is fax.

   --RAA14128.773615765/CENTIGRAM.COM--

6.3. PNDN With One Body Part Failure and Two
     Recipients

   This example shows a PNDN for a system that does not handle text,
   but does handle voice and fax.  Assume the original message was sent
   to <[email-masked]> and <[email-masked]>.

   Date: Thu, 22 Nov 1999 09:05:15 -0800
   From: Mail Delivery Subsystem <[email-masked]>
   Message-Id: <199407072116.RAA14128@TELECNNCT>
   Subject: WARNING: Could Not Delivery Body Part
   To: <[email-masked]>
   MIME-Version: 1.0
   Content-Type: multipart/report; report-type=delivery-status;
         boundary="RAA14128.773615765/CENTIGRAM.COM"

   --RAA14128.773615765/CENTIGRAM.COM

   The original message was received at Mon, 22 Nov 1999 09:05:05 -0800
   from root@localhost

Burger            Internet Draft - Expires 7/11/2000         [Page 15]

                  Partial Non-Delivery Notification   January 11, 2000

      ----- The following addresses had delivery problems -----
   <[email-masked]>  (warning)
   <[email-masked]>  (warning)

      ----- Transcript of session follows -----
   Could Not Deliver Text Part to < [email-masked] >
   Could Not Deliver Text Part to < [email-masked] >

   Body part will be deleted from queue

   --RAA14128.773615765/CENTIGRAM.COM
   content-type: message/delivery-status

   Original-Message-ID:
        [email-masked]
   Reporting-MTA: dns; telecnnct.com

   Action: delivered
   Status: 5.6.1     (Media not Supported)
   Original-Recipient: rfc822;[email-masked]
   Original-Recipient: rfc822;[email-masked]
   Final-Recipient: rfc822;[email-masked]
   Original-Content-ID: TextPart0AFF8B

   --RAA14128.773615765/CENTIGRAM.COM
   content-type: message/rfc822

   Here is a three-part message.  The first part is text (this one).
   The second part is voice.  The third part is fax.

   --RAA14128.773615765/CENTIGRAM.COM--

6.4. PNDN With One Body Part Failure for One Recipient
     and Another Body Part Failure for Two Recipients

   This example shows a PNDN for a system that does not handle text,
   but does handle voice and fax.  However, the recipient at
   [email-masked] does not subscribe to a fax service.  Assume
   the original message was sent to <[email-masked]> and
   <[email-masked]>.

   Date: Thu, 22 Nov 1999 09:05:15 -0800
   From: Mail Delivery Subsystem <[email-masked]>
   Message-Id: <199407072116.RAA14128@TELECNNCT>
   Subject: WARNING: Could Not Delivery Body Part
   To: <[email-masked]>
   MIME-Version: 1.0

Burger            Internet Draft - Expires 7/11/2000         [Page 16]

                  Partial Non-Delivery Notification   January 11, 2000

   Content-Type: multipart/report; report-type=delivery-status;
         boundary="RAA14128.773615765/CENTIGRAM.COM"

   --RAA14128.773615765/CENTIGRAM.COM

   The original message was received at Mon, 22 Nov 1999 09:05:05 -0800
   from root@localhost

      ----- The following addresses had delivery problems -----
   <[email-masked]>  (warning)
   <[email-masked]>  (warning)

      ----- Transcript of session follows -----
   Could Not Deliver Text Part to < [email-masked] >
   Could Not Deliver Text Part to < [email-masked] >
   Could Not Deliver Fax Part to < [email-masked] >

   Body part will be deleted from queue

   --RAA14128.773615765/CENTIGRAM.COM
   content-type: message/delivery-status

   Original-Message-ID:
        [email-masked]
   Reporting-MTA: dns; telecnnct.com

   Action: delivered
   Status: 5.6.1     (Media not Supported)
   Original-Recipient: rfc822;[email-masked]
   Original-Recipient: rfc822;[email-masked]
   Final-Recipient: rfc822;[email-masked]
   Original-Content-ID: TextPart0AFF8B

   Action: delivered
   Status: 5.6.1     (Media not Supported)
   Original-Recipient: rfc822;[email-masked]
   Final-Recipient: rfc822;[email-masked]
   Original-Content-Description: Picture of My House
   Original-Content-Type: image/tiff; name="My House.tif"
   Original-Content-Disposition: attachment; filename="My House.tif"

   --RAA14128.773615765/CENTIGRAM.COM
   content-type: message/rfc822

   Here is a three-part message.  The first part is text (this one).
   The second part is voice.  The third part is fax.

   --RAA14128.773615765/CENTIGRAM.COM--

Burger            Internet Draft - Expires 7/11/2000         [Page 17]

                  Partial Non-Delivery Notification   January 11, 2000

7.
  Formal Syntax

   The following syntax specification uses the augmented Backus-Naur
   Form (BNF) as described in RFC-2234 [10].

   delivery-status-content =
          per-message-fields 1*( CRLF per-part-fields)

7.1. Syntax of Per-Message Fields

   per-message-fields =
          [ original-message-id-field CRLF ]
          [ original-envelope-id-field CRLF ]
          reporting-mta-field CRLF
          [ dsn-gateway-field CRLF ]
          [ received-from-mta-field CRLF ]
          [ arrival-date-field CRLF ]
          *( extension-field CRLF )

   original-message-id-field =
          "Original-Message-ID" ":" message-id

   message-id = *text

   Original-envelope-id-field, reporting-mta-field, dsn-gateway-field,
   received-from-mta-field, arrival-date-field, and extension-field are
   all as defined in DSN [3].

7.2. Syntax of Per-Part Fields

   per-part-fields =
       1*( [ original-content-description-field CRLF ]
           [ original-content-id-field CRLF ]
           [ original-content-disposition-field CRLF ]
           [ original-content-type-field CRLF ] )
       1*( [ original-recipient-field CRLF ]
           final-recipient-field CRLF )
       action-field CRLF
       status-field CRLF
       [ remote-mta-field CRLF ]
       [ diagnostic-code-field CRLF ]
       [ last-attempt-date-field CRLF ]
       *( extension-field CRLF )

   action-field =
        "Action: delivered"

Burger            Internet Draft - Expires 7/11/2000         [Page 18]

                  Partial Non-Delivery Notification   January 11, 2000

   original-content-id-field =
             "Original-Content-ID" ":" content-id

   content-id = *text

   original-content-description-field =
             "Original-Content-Description" ":" content-description

   content-description = *text

   original-content-disposition-field =
             "Original-Content-Disposition" ":" content-disposition

   content-disposition = *text

   original-content-type-field =
             "Original-Content-Type" ":" content-type

   content-type = *text

   status-field =
          "Status: 5.6.1" "(" comment ")"

   comment = *text

   Original-recipient-field, final-recipient-field, remote-mta-field,
   diagnostic-code-field, last-attempt-date-field, and extension-field
   are as defined in DSN [3].

8.
  Security Considerations

   The following security considerations apply when using PNDNs:

8.1. Forgery

   One can forge a PNDN as easily as ordinary Internet electronic mail.
   User agents and automatic mail handling facilities (such as
   automatic voice mail forwarding agents) that wish to make use of
   PNDNs should take appropriate precautions to minimize the potential
   damage from denial-of-service attacks.

   Security threats related to forged PNDNs include the sending of:

   (a) A falsified delivery notification when the message is
       not delivered to the indicated recipient,
   (b) A falsified Final-Recipient address, or
   (c) A falsified Remote-MTA identification.

Burger            Internet Draft - Expires 7/11/2000         [Page 19]

                  Partial Non-Delivery Notification   January 11, 2000

8.2. Confidentiality

   Another dimension of security is confidentiality.  For example, a
   message recipient can be autoforwarding messages.  However, she does
   not wish to divulge her autoforward address.  The desire for such
   confidentiality will probably be heightened as "wireless mailboxes",
   such as pagers, become more widely used as autoforward addresses.

   Confidentiality also applies to the service provider.  For example,
   in an Internet Voice Mail scenario, one can envision implementations
   of protocols such as VPIM [5] where reporting the actual Internet
   host name can open the system to attack.

   MTA authors are encouraged to provide a mechanism that enables the
   end user to preserve the confidentiality of a forwarding address.
   Depending on the degree of confidentiality required, and the nature
   of the environment to which a message were being forwarded, this
   might be accomplished by one or more of:

   (a) omitting the "Final-Recipient" field, as it has
       little use to the sender,

   (b) omitting "Remote-*" or extension fields of a PNDN
       whenever they would otherwise contain confidential
       information (such as a confidential forwarding address),

   (c) for messages forwarded to a confidential address,
       setting the envelope return address (e.g. SMTP MAIL FROM
       address) to the NULL reverse-path ("<>") (so that no
       PNDNs would be sent from a downstream MTA to the
       original sender), or

   (d) when forwarding mail to a confidential address, having
       the forwarding MTA rewrite the envelope return address
       for the forwarded message and attempt delivery of that
       message as if the forwarding MTA were the originator.
       On its receipt of final delivery status, the forwarding
       MTA would issue a PNDN to the original sender.

   In general, the Reporting MTA site can omit any optional PNDN field
   that it determines inclusion of the field would impose too great a
   compromise of site confidentiality.  The need for such
   confidentiality must be balanced against the utility of the omitted
   information in trouble reports.

   Implementers are cautioned that many existing MTAs will send non-
   delivery notifications to a return address in the message header
   (rather than to the one in the envelope), in violation of SMTP and
   other protocols.  If a message is forwarded through such an MTA, no

Burger            Internet Draft - Expires 7/11/2000         [Page 20]

                  Partial Non-Delivery Notification   January 11, 2000

   reasonable action on the part of the forwarding MTA will prevent the
   downstream MTA from compromising the forwarding address.  Likewise,
   if the recipient's MTA automatically responds to messages based on a
   request in the message header (such as the nonstandard, but widely
   used, Return-Receipt-To extension header), it will also compromise
   the forwarding address.

9.
  References

   1  Bradner, S., "The Internet Standards Process -- Revision 3", BCP
      9, RFC 2026, October 1996.

   2  Freed, N. and Borenstein, N, "Multipurpose Internet Mail
      Extensions (MIME) Part One: Format of Internet Message Bodies",
      RFC 2045, Innosoft and First Virtual, November 1996.

   3  Moore, K. and Vaudreuil, G., "An Extensible Message Format for
      Delivery Status Notifications", RFC 1894, U. Tennessee and Octel
      Network Services, January 1996.

   4  a.k.a. VPIMv3

   5  Vaudreuil, G. and Parsons, G., "Voice Profile for Internet Mail -
      version 2", Lucent Technologies and Nortel Networks, RFC 2421,
      September 1998.

   6  Bradner, S., "Key words for use in RFCs to Indicate Requirement
      Levels", BCP 14, RFC 2119, March 1997.

   7  Freed, N. and Borenstein, N, "Multipurpose Internet Mail
      Extensions (MIME) Part Two: Media Types", RFC 2046, Innosoft and
      First Virtual, November 1996.

   8  Fajman, R., "An Extensible Message Format for Message Disposition
      Notifications", RFC 2298, National Institutes of Health, March
      1998.

   9  Vaudreuil, G., "The Multipart/Report Content Type for the
      Reporting of Mail System Administrative Messages", RFC 1892,
      Octel Network Services, January 1996.

   10 Crocker, D. and Overell, P., "Augmented BNF for Syntax
      Specifications: ABNF", RFC 2234, Internet Mail Consortium and
      Demon Internet Ltd., November 1997.

   11 Vaudreuil, G., "Enhanced Mail System Status Codes", RFC 1893,
      Octel Network Systems, January 1996.

Burger            Internet Draft - Expires 7/11/2000         [Page 21]

                  Partial Non-Delivery Notification   January 11, 2000

10.
   Acknowledgments

   I'd like to thank Graham Klyne and Keith Moore for valuable insights
   into the mechanics of DSN.  Graham Klyne also helped me put this
   document into English.  However, any bizzare language is my own
   fault.

   Ned Freed and Herman R. Silbiger both had valuable experience
   corroborating the assertion that users do not like to receive
   failure notices unless there is a real failure.  Carl-Uno Mauros was
   able to put into words much better than I did in a prior draft the
   differences between a system that cannot render a particular part
   versus a transmission failure.

11.
   Author's Address

   Eric W. Burger
   Centigram Communications Corporation
   Maryland Technology Center
   1375 Piccard Dr., MS 150 R
   Rockville, MD  20850-4311
   USA
   Phone: +1 301/212-3320
   Email: [email-masked]

Burger            Internet Draft - Expires 7/11/2000         [Page 22]

                  Partial Non-Delivery Notification   January 11, 2000

12.
   Notices and Full Copyright Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances
   of licenses to be made available, or the result of an attempt made
   to obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification
   can be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.

   Copyright (C) 1999, The Internet Society.  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 implmentation 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.

Burger            Internet Draft - Expires 7/11/2000         [Page 23]

---

From: Graham Klyne <[email-masked]>
Date: Thu, 17 Feb 2000 14:39:27 +0000

>                    Partial Non-Delivery Notification

Eric,

I thought this read very well.  Even the bits I would have been inclined to 
disagree with, I found to be well-justified.

I have a few minor comments.

Firstly:  a process matter:  this was announced by the IETF as draft 
version -00?  Is this really correct?  Was the -00 version never published 
as an I-D?

[Page 4:]

>    determine what parts of the message the sender considers critical.

"alternative" here seems to imply mutual exclusion.  I would prefer, say, 
"An additional method ...".

>    sender of any parts that the voice mail system fails to deliver.

You say "The VPIM work group determined ...".  Is this true?  I don't 
recall seeing this particular point discussed on the mailing list;  did I 
miss someting?

[...]
>    part the receiving system is not capable of delivering.

I think that the first sentence maybe should read:

# The 'Original-content-id' field MUST be present in the PNDN if a 'Content-Id'
# field is present in the original message.

>    the PNDN.

Similarly: "... if a 'Content-description' field is present in the original 
message."

>    the PNDN if there is a Content Type field in the original message.

Similarly: "... if a 'Content-disposition' field is present in the original 
message."

>    the PNDN.

Similarly: "... if a 'Content-type' field is present in the original message."

>5.3.8. Status Field

[...]

Define status values here (or put in placeholders for them)?

(I think the approach of defining the status value(s) in the formal syntax 
is not so helpful.)

--

Cheers,

#g

------------
Graham Klyne
([email-masked])