idnits 2.17.1 draft-ietf-vpim-cc-07.txt: ** The Abstract section seems to be numbered Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == There is 1 instance of lines with non-ascii characters in the document. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 3 instances of too long lines in the document, the longest one being 1 character in excess of 72. == The 'Updates: ' line in the draft header should list only the _numbers_ of the RFCs which will be updated by this document (if approved); it should not include the word 'RFC' in the list. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 813 has weird spacing: '...for the purpo...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (June 1, 2002) is 7993 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Missing reference section? '1' on line 15 looks like a reference -- Missing reference section? '2' on line 100 looks like a reference -- Missing reference section? '3' on line 318 looks like a reference -- Missing reference section? '5' on line 664 looks like a reference -- Missing reference section? '6' on line 221 looks like a reference -- Missing reference section? '7' on line 318 looks like a reference -- Missing reference section? '8' on line 319 looks like a reference -- Missing reference section? '9' on line 330 looks like a reference -- Missing reference section? '10' on line 325 looks like a reference -- Missing reference section? '11' on line 349 looks like a reference -- Missing reference section? '12' on line 372 looks like a reference -- Missing reference section? '13' on line 411 looks like a reference -- Missing reference section? '14' on line 440 looks like a reference -- Missing reference section? 'MTA' on line 450 looks like a reference -- Missing reference section? '4' on line 480 looks like a reference -- Missing reference section? '15' on line 596 looks like a reference -- Missing reference section? '16' on line 604 looks like a reference Summary: 7 errors (**), 0 flaws (~~), 3 warnings (==), 19 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group E. Burger 3 Internet Draft SnowShore Networks 4 Document: draft-ietf-vpim-cc-07.txt 5 Category: Standards Track 6 Updates: RFC 3204 7 Expires December 2002 June 1, 2002 9 Critical Content MIME Parameter 11 Status of this Memo 13 This document is an Internet-Draft and is in full conformance with 14 all provisions of Section 10 of RFC 2026 [1]. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. Internet-Drafts are draft documents valid for a maximum of 20 six months and may be updated, replaced, and other documents may 21 obsolete this one at any time. It is inappropriate to use Internet- 22 Drafts as reference material or to cite them other than as "work in 23 progress." 25 One can access the list of current Internet-Drafts at 26 http://www.ietf.org/ietf/1id-abstracts.txt 28 One can access the list of Internet-Draft Shadow Directories at 29 http://www.ietf.org/shadow.html. 31 This document is a work product of the IETF Voice Profile for 32 Internet Mail (VPIM) Work Group. 34 1. Abstract 36 This document describes the use of a mechanism for identifying body 37 parts that a sender deems critical in a multi-part Internet mail 38 message. The mechanism described is a parameter to Content- 39 Disposition, as described by RFC 3204. 41 By knowing what parts of a message the sender deems critical, a 42 content gateway can intelligently handle multi-part messages when 43 providing gateway services to systems of lesser capability. 44 Critical content can help a content gateway to decide what parts to 45 forward. It can indicate how hard a gateway should try to deliver a 46 body part. It can help the gateway to pick body parts that are safe 47 to silently delete when a system of lesser capability receives a 48 message. In addition, critical content can help the gateway chose 49 the notification strategy for the receiving system. Likewise, if 50 the sender expects the destination to do some processing on a body 51 part, critical content allows the sender to mark body parts that the 52 receiver must process. 54 Table of Contents 56 1. Abstract...........................................................1 57 2. Conventions used in this document..................................2 58 3. Introduction.......................................................3 59 4. Handling Parameter.................................................3 60 4.1. REQUIRED.........................................................4 61 4.2. OPTIONAL.........................................................4 62 4.3. Default Values...................................................4 63 4.4. Other Values.....................................................5 64 5. Collected Syntax...................................................5 65 6. Notification.......................................................5 66 6.1. DSN vs. MDN Generation...........................................6 67 6.2. Summary..........................................................6 68 7. Status Code........................................................7 69 8. Requirements for Critical Content..................................8 70 8.1. Needs............................................................8 71 8.2. Current Approaches...............................................9 72 9. The Content Gateway...............................................10 73 9.1. Integrated Content Gateway......................................10 74 9.2. Disaggregated Delivery Network..................................11 75 10. Backward Compatibility Considerations............................11 76 11. MIME Interactions................................................11 77 11.1. multipart/alternative..........................................11 78 11.2. multipart/related..............................................12 79 11.3. message/rfc822.................................................12 80 12. Implementation Examples..........................................12 81 12.1. Content Gateways...............................................12 82 12.2. Disaggregated Content Gateway..................................13 83 13. Security Considerations..........................................14 84 14. IANA Considerations..............................................14 85 15. References.......................................................15 86 16. Acknowledgments..................................................16 87 17. Author's Address.................................................16 89 2. Conventions used in this document 91 This document refers generically to the sender of a message in the 92 masculine (he/him/his) and the recipient of the message in the 93 feminine (she/her/hers). This convention is purely for convenience 94 and makes no assumption about the gender of a message sender or 95 recipient. 97 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 98 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in 99 this document are to be interpreted as described in RFC 2119 [2]. 101 NOTE: Notes, such as this one, provide additional nonessential 102 information that the reader may skip without missing anything 103 essential. The primary purpose of these non-essential notes is to 104 convey information about the rationale of this document, or to place 105 this document in the proper historical or evolutionary context. 106 Readers whose sole purpose is to construct a conformant 107 implementation may skip such information. However, it may be of use 108 to those who wish to understand why we made certain design choices. 110 3. Introduction 112 The specification of Critical Content is small and compact. For the 113 benefit of developers, the specification comes first, the rationale 114 after. 116 One concept that an implementer must understand is the content 117 gateway. Section 9 describes the content gateway. In brief, a 118 content gateway has knowledge of the receiving system's 119 capabilities. The content gateway passes messages the receiving 120 system can process, render or store. The content gateway can modify 121 a message, for example by deleting unrenderable or storable body 122 parts, for delivery to the receiving system. Finally, the content 123 gateway can reject a message that the receiving system cannot 124 handle. 126 In this document, the "sending agent" is the originator of the 127 message. It could be a mail user agent (MUA) for an Internet 128 message, or a SIP User Agent Client (UAC) for a SIP [3] message. 130 NOTE: This document updates RFC 3204 to separate the Handling 131 parameter from the ISUP/QSIG transport mechanism. The protocol 132 described here is identical in functionality to RFC 3204 with 133 respect to SIP. Future versions of RFC 3204 should reference this 134 document for the Handling parameter, as it is orthogonal to the 135 tunneling of signaling. 137 4. Handling Parameter 139 The Handling parameter is a Content-Disposition [5] parameter 140 inserted by the sending agent to indicate to the content gateway 141 whether to consider the marked body part critical. 143 A REQUIRED body part is one the sender requires the receiving system 144 to deliver for him to consider the message delivered. 146 An OPTIONAL body part is one the sender doesn't care whether the 147 receiving system delivers it or not. A content gateway can silently 148 delete such body parts if the receiving system cannot deliver the 149 part. 151 The terms "entity" and "body part" have the meanings defined in [5]. 153 4.1. REQUIRED 155 "Handling=REQUIRED" signifies that this body part is critical to the 156 sender. 158 If the content gateway cannot pass a body part marked REQUIRED, then 159 the entire message has failed. In this case, the content gateway 160 MUST take the appropriate failure action. 162 NOTE: We say "appropriate action", because the sender may have 163 suppressed all notifications. In this case, the appropriate action 164 is to silently discard the message. In addition, as a general MIME 165 parameter, the MIME body part may not be in an Internet Mail 166 message. Moreover, in the SIP case, the appropriate notification is 167 a status return code, not a delivery notification. 169 4.2. OPTIONAL 171 "Handling=OPTIONAL" signifies that the sender does not care about 172 notification reports for this body part. 174 If the content gateway cannot pass a body part marked OPTIONAL, the 175 receiving system may silently delete the body part. The receiving 176 system MUST NOT return a delivery failure, unless parts marked 177 REQUIRED have also failed. 179 4.3. Default Values 181 The default value for Handling for a given body part is REQUIRED. 182 This enables the existing notification mechanisms to work for 183 sending agents that do not know about the content notification 184 entity. All body parts are critical, because they have the default 185 marking of REQUIRED. 187 NOTE: In the case of Internet mail, critical content processing is a 188 function of the content gateway and not the mail transfer agent 189 (MTA) or user agent (UA). Often, the entity performing content 190 gateway processing is the receiving UA. However, in this case the 191 UA is acting as a content gateway. Thus the default action for any 192 Content-Disposition [5]-compliant user agent to ignore unrecognized 193 disposition parameters ensures that this mechanism is compatible 194 with the Internet architecture. 196 NOTE: This parameter is fully backwards compatible and works as 197 expected for Internet mail and SIP. 199 NOTE: Some VPIMv2 implementations can receive arbitrary e-mail from 200 the Internet. However, these systems are really acting in the 201 capacity of an Internet Voice Mail system. In this case, one would 202 expect the implementation to provide Internet Voice Mail semantics 203 to Internet Voice Mail messages. 205 4.4. Other Values 207 The content gateway MUST treat unrecognized values as REQUIRED. 208 This is to provide backward compatibility with future uses of the 209 Content-Criticality entity. 211 NOTE: A possible new value is IMPORTANT. An IMPORTANT body part is 212 something the sender wants the receiver to get, but would not want 213 the message rejected outright if the IMPORTANT body part fails, but 214 they do want notification of the failure. However, as no 215 implementations do IMPORTANT, it is not important to this version of 216 this document. 218 5. Collected Syntax 220 The format of the collected syntax is in accordance with the ABNF of 221 [6]. Note that per RFC 2183 [5], the HANDLING Content-Disposition 222 parameter is not case sensitive. In addition, the notification-type 223 is not case sensitive. 225 "handling" "=" notification-type CRLF 227 notification-type = "REQUIRED" / "OPTIONAL" / 228 other-handling / generic-param 230 other-handling = token 232 6. Notification 234 One obvious application of critical content is generating a 235 (non-)delivery notification in the Internet mail environment. If 236 the value of the field is OPTIONAL, the content gateway MUST NOT 237 generate a notification. If the value of the field is REQUIRED, the 238 content gateway MAY generate a notification, based on the normal 239 notification request mechanisms. Normal notification request 240 mechanisms include the SMTP RCPT NOTIFY command [7] and the 241 Disposition-Notification-To header [8]. 243 In SIP, all requests have responses. These responses provide 244 notification in the status code of the response. For the RFC 3204 245 case, a content gateway generates a 415 (Unsupported Media Type) 246 response if the field is REQURED. 248 If the sending system requests a notification, and a REQUIRED part 249 fails, the content gateway will generate a notification for the 250 whole message. Conversely, if the gateway cannot pass on a body 251 part marked OPTIONAL, the gateway will not generate a notification. 253 NOTE: This implies that the content gateway must examine the entire 254 message to determine whether it needs to generate a notification. 255 However, the content gateway need not examine the message if it 256 knows it can store and forward all media types. Said differently, 257 Internet e-mail MTAs or gateways can, by default, handle any 258 arbitrary MIME-encapsulated type. Some voice mail systems, on the 259 other hand, cannot store binary attachments at all, such as 260 application/ms-word. The voice mail content gateway, in this 261 example, would be scanning for non-renderable body parts in any 262 event. 264 6.1. DSN vs. MDN Generation 266 The content gateway generates a delivery status notification (DSN) 267 [8] if it operates as a gateway. The content gateway generates a 268 Message Disposition Notification (MDN) [9] if it operates as a mail 269 user agent. Section 7 describes the operating modes of a content 270 gateway. In short, if there is a MTA that "delivers" the message to 271 the content gateway for processing, the MTA takes responsibility for 272 DSN processing. In this case, the only option available to the 273 content gateway is to generate MDNs. If the content gateway 274 operates as a MTA, then it generates DSNs. DSN generation is the 275 preferred option. 277 If the content gateway is part of a SIP endpoint, then it generates 278 the appropriate success or error response code. 280 6.2. Summary 282 The following table summarizes the actions expected of a conforming 283 content gateway. 285 NOTE: This section is normative: it suggests what to put into the 286 DSN or MDN. 288 NOTE: In the case of SIP, this section is informative. See RFC 3204 289 for the normative set of actions on failure. 291 +--------------------------------------+ 292 | Sending UA Has Marked Body Part | 293 |---------------------+----------------| 294 | REQUIRED | OPTIONAL | 295 +--------------------+---------------------+----------------+ 296 | Body Part is | | | 297 | Deliverable | Appropriate Action | ignore | 298 +--------------------+---------------------+----------------+ 299 | Body Part is | | | 300 | Undeliverable | Fail Entire Message | ignore | 301 +--------------------+--------------------------------------+ 303 The "Appropriate Action" is the action the content gateway would 304 take given the context of execution. For example, if a sender 305 requests return receipt and the receiver reads a HANDLING body part, 306 the receiving UA must generate the appropriate MDN (following the 307 rules for MDN). Likewise, if the content gateway cannot deliver the 308 body part and the body part is critical, the content gateway 309 generates the appropriate DSN or MDN. 311 "Optional" means the content gateway ignores the disposition of the 312 body part. The content gateway treats the message as if the body 313 part was not present in the message. 315 7. Status Code 317 The critical content indication, in itself, does not guarantee any 318 notification. Notification follows the rules described in [3], [7], 319 and [8]. 321 NOTE: The content of actual DSNs or MDNs are beyond the scope of 322 this document. This document only specifies how to mark a critical 323 body part. On the other hand, we do envision sensible DSN and MDN 324 contents. For example, DSNs should include the appropriate failure 325 code as enumerated in [10]. Likewise, MDNs should include the 326 failure code in the MDN "Failure:" field. 328 If the receiving system is to generate a notification based on its 329 inability to render or store the media type, the notification should 330 use the status code 5.6.1, "Media not supported", from [9]. 332 For the SIP case, all requests have notification provided by the 333 status response message. Per RFC 3204, a content gateway generates 334 a 415 (Unsupported Media Type) response. 336 8. Requirements for Critical Content 338 8.1. Needs 340 The need for a critical content identification mechanism comes about 341 because of the internetworking of Internet mail systems with 342 messaging systems that do not fulfill all of the semantics of 343 Internet mail. Such legacy systems have a limited ability to render 344 or store all parts of a given message. This document will use the 345 case of an Internet mail system exchanging electronic messages with 346 a legacy voice messaging system for illustrative purposes. 348 Electronic mail has historically been text-centric. Extensions such 349 as MIME [11] enable the user agents to send and receive multi-part, 350 multimedia messages. Popular multimedia data types include binary 351 word processing documents, binary business presentation graphics, 352 voice, and video. 354 Voice mail has historically been audio-centric. Many voice- 355 messaging systems only render voice. Extensions such as fax enable 356 the voice mail system to send and receive fax images as well as 357 create multi-part voice and fax messages. A few voice mail systems 358 can render text using text-to-speech or text-to-fax technology. 359 Although theoretically possible, none can today render video. 361 An important aspect of the interchange between voice messaging 362 services and desktop e-mail client applications is that the 363 rendering capability of the voice-messaging platform is often much 364 less than the rendering capability of a desktop e-mail client. In 365 the e-mail case, the sender has the expectation that the recipient 366 receives all components of a multimedia message. This is so even if 367 the recipient cannot render all body parts. In most cases, the 368 recipient can either find the appropriate rendering tool or tell the 369 sender that she cannot read the particular attachment. 371 This is an important issue. By definition, a MIME-enabled user 372 agent, conforming to [12], will present or make available all of the 373 body parts to the recipient. However, a voice mail system may not 374 be capable of storing non-voice objects. Moreover, the voice mail 375 system may not be capable of notifying the recipient that there were 376 undeliverable message parts. 378 The inability of the receiving system to render a body part is 379 usually a permanent failure. Retransmission of the message will not 380 improve the likelihood of a future successful delivery. Contrast 381 this with the case with normal data delivery. Traditional message 382 failures, such as a garbled message or disabled link will benefit 383 from retransmission. 385 This situation is fundamentally different from normal Internet mail. 386 In the Internet mail case, either the system delivered the message, 387 or it didn't. There is no concept of a system partially delivering 388 a message. 390 In addition, there are many situations where the sender would not 391 mind if the system did not deliver non-critical parts of a message. 392 For example, the sender's user agent may add body parts to a message 393 unbeknownst to the sender. If the receiving system rejected the 394 message because it could not render a hidden body part, the sender 395 would be understandably confused and upset. 397 Thus, there is a need for a method of indicating to a Mail Transfer 398 Agent (MTA) or User Agent (UA) that the sender considers parts of a 399 message to be critical. From the sender's perspective, he would not 400 consider the message delivered if the system did not deliver the 401 critical parts. 403 8.2. Current Approaches 405 One method of indicating critical content of a message is to define 406 a profile. The profile defines rules for silently deleting mail 407 body parts based on knowledge of the UA capabilities. Citing the 408 example above, a voice profile can easily declare that MTAs or UAs 409 can silently delete TNEF data and yet consider the message 410 successfully delivered. This is, in fact, the approach taken by 411 VPIMv2 [13]. 413 Since one aspect of the issue is deciding when to notify the sender 414 that the system cannot deliver part of a message, one could use a 415 partial non-delivery notification mechanism to indicate a problem 416 with delivering a given body part. However, this requires the user 417 request a delivery notification. In addition, the sender may not be 418 aware of parts added by the sending user agent. In this case, a 419 failure notice would mystify the sender. 421 A straightforward alternative implementation method for marking a 422 body part critical is to use a Critical-Content MIME entity. This 423 has the benefit that criticality is meta information for the body 424 part. However, IMAP servers in particular would need to either put 425 Critical-Content into the BODYSTRUCTURE method or create a new 426 method to retrieve arbitrary MIME entities. Given the experience of 427 trying to get Content-Location accepted by IMAP vendors, we chose 428 not to go that route. 430 What we need is a way of letting the sender indicate what body-parts 431 he considers to be critical. The mechanism must not burden the 432 sender with failure notifications for non-critical body parts. The 433 mechanism must conform to the general notification status request 434 mechanism for positive or negative notification. When requested, 435 the mechanism must indicate to the sender when a receiving system 436 cannot deliver a critical body part. 438 9. The Content Gateway 440 In this section, we use the definition of [14] for the term 441 "gateway." 443 A content gateway is a gateway that connects a first network to a 444 second network. The second network often has lesser capability than 445 the first network. The canonical topology follows. "[MTA]", with 446 square brackets, signifies an optional component. 448 +---------+ 449 +---------+ +-----+ | | +-------+ +-----------+ 450 | Sending |=...=|[MTA]|===| Content |=...=| [MTA] |===| Receiving | 451 | UA | +-----+ | Gateway | +-------+ | UA | 452 +---------+ | | +-----------+ 453 +---------+ 454 First Network Second Network 456 The content gateway can be the last hop before the receiving MTA. 457 The content gateway can be between networks, and thus not the last 458 hop before the receiving MTA. The content gateway can be the first 459 MTA the sending UA contacts. Finally, the content gateway can be an 460 integrated component of the receiving MTA. 462 For the SIP case, consider each MTA as a SIP Proxy, the Sending UA 463 as a SIP User Agent Client, and the Receiving UA as a SIP User Agent 464 Server. 466 9.1. Integrated Content Gateway 468 In this situation, the receiving user agent is integrated with the 469 content gateway. The integrated content gateway knows the 470 capabilities of the user agent. The topology is as follows. 472 +---------------------+ 473 +---------+ +-----+ | : | 474 | Sending |=...=|[MTA]|===| Content : Receiving | 475 | UA | +-----+ | Gateway : UA | 476 +---------+ | : | 477 +---------------------+ 478 First Network Second Network 480 The processing of ISUP and QSIG objects, as described in [4], is an 481 example of an integrated gateway. 483 9.2. Disaggregated Delivery Network 485 A degenerate case, although one that does occur, is where the 486 content gateway sits behind the final MTA. This happens when one 487 implements the content gateway as a post-processing step to a normal 488 delivery. For example, one could configure a mail handling system 489 to deliver the message to a queue or directory, where the content 490 gateway process picks up the message. If there were any directives 491 for DSN processing, the delivering MTA would execute them. For 492 example, the message could have requested notification on successful 493 delivery. The delivering MTA, having delivered the message to the 494 queue, would consider the message delivered and thus notify the 495 sender of such. However, the content gateway process could then 496 discover that the receiving UA cannot render the message. In this 497 case, the content gateway generates a NDN, as it is the only option 498 available. 500 Delivered 501 | +---------+ 502 +---------+ +-----+ v | | +-----------+ 503 | Sending |=...=| MTA |--> File -->| Content |=...=| Receiving | 504 | UA | +-----+ | Gateway | | UA | 505 +---------+ | | +-----------+ 506 +---------+ 507 First Network Second Network 509 10. Backward Compatibility Considerations 511 DSN requires ESMTP. If MTAs in the path from the sending UA to the 512 receiving UA do not support ESMTP, then that MTA will reject the DSN 513 request. In addition, the message will default to notification on 514 delay or failure. While not ideal, the sender will know that DSN is 515 not available, and that critical content that fails will get 516 notification. 518 11. MIME Interactions 520 11.1. multipart/alternative 522 As is true for all Content-Disposition parameters, handling is only 523 in effect for the selected alternative. If the selected alternative 524 has the critical content indicator, then the entire alternative 525 takes on the criticality indicated. That is, if the alternative 526 selected has HANDLING=OPTIONAL, then the content gateway MUST NOT 527 generate any delivery notifications. 529 NOTE: This statement explicitly shows that HANDLING overrides the 530 DSN and MDN request mechanisms. 532 It is unlikely for a selected alternative to fail, as the content 533 gateway presumably picks the alternative specifically because it can 534 render it. 536 If the selected alternative is a message/rfc822 that encloses a 537 multipart MIME message or the selected alternative is itself a 538 multipart MIME type, the individual top-level body parts follow the 539 HANDLING mechanism described in this document. 541 NOTE: This means that a forwarded message's criticality will not 542 affect the forwarding agent's intentions. 544 11.2. multipart/related 546 Criticality fits in rather well with the multipart/related 547 construction. For example, consider a multipart/related message 548 consisting of a Macintosh data fork and a Macintosh resource fork. 549 For a Microsoft Word document, the data fork is likely to be 550 critical. The receiving system can safely ignore the resource fork. 552 11.3. message/rfc822 554 Criticality only affects the outermost level of the message or, in 555 the case of multipart/alternative, the outermost level of the 556 selected alternative. Specifically, the receiving system ignores 557 criticality indicators in embedded body parts. This avoids the 558 situation of a forwarded message triggering or suppressing undesired 559 reporting. This simply implements the procedures described in [5]. 561 12. Implementation Examples 563 This section is not a normative part of the definition of 564 Criticality. However, we hope it helps implementers to understand 565 the mechanics of the Handling mechanism. 567 We will examine two cases. They are how a content gateway processes 568 a message and how a disaggregated content gateway processes a 569 message. 571 12.1. Content Gateways 573 Content gateways examine the contents of a message from a first 574 network before the gateway forwards the message to a second network. 575 For the purposes of this example, we assume the second network has 576 less capability than the first network. In particular, we expect 577 there will be certain message body types that the gateway cannot 578 pass onto the second network. 580 Consider a gateway between the Internet and a text-only short 581 message service. A message comes through the gateway containing a 582 text part and a tnef part. The sender marks the text part REQUIRED. 584 The gateway, knowing the capability of the short message service, 585 silently deletes the non-critical, tnef part, passing the critical 586 content to the short message service network. Any subsequent 587 notifications, such as failure notices or delivery notices, follow 588 the normal rules for notification. 590 Note the gateway, by silently deleting non-critical content, may 591 affect proprietary message correlation schemes. One can envision 592 the sending UA inserting a body part for tracking purposes. By 593 deleting non-critical content, the content gateway will break such a 594 scheme. If a sending UA understands how to mark critical content, 595 it should use Internet standard mechanisms for tracking messages, 596 such as Message-ID [15]. 598 What if no body parts have critical content indicators? In this 599 case, the entire message is critical. Thus, when the gateway sees 600 the tnef part, it will reject the entire message, generating a DSN 601 with a status code 5.6.1, "Media not supported". 603 Likewise, consider a three part message with a text annotation (part 604 1) to a voice message (part 2) with a vCard [16] (part 3). The 605 sender marks the first two parts REQUIRED. Now, let us assume the 606 receiving MTA (gateway) is a voice mail only system, without even 607 the capability to store text. In this case, the gateway, acting as 608 the receiving MTA, will reject the message, generating a DSN with 609 the status code 5.6.1, "Media not supported". 611 12.2. Disaggregated Content Gateway 613 For this example, we will examine the processing of a three-part 614 message. The first part is a text annotation of the second part, an 615 audio message. The third part is the sender's vCard. The sender 616 marks the first and second parts REQUIRED. In addition, the sender 617 marks the message for read receipt. 619 For the purposes of example, the telephone user interface (TUI) does 620 not perform text-to-speech conversion. A TUI is a mail user agent 621 (UA) that uses DTMF touch-tone digits for input and audio for output 622 (display). 624 The TUI is unable to render the first part of the message, the text 625 part. In addition, it is unable to render the third part of the 626 message, the vCard part. Since the sender did not mark the third 627 part of the message REQUIRED, the system ignores the failure of the 628 TUI to render the third part of the message. However, since the 629 sender did mark the first part REQUIRED, and the TUI is unable to 630 render text, the message fails. 632 What happens next is implementation dependent. If the TUI is part 633 of a unified messaging system, a reasonable action is to hold the 634 message for the user. The user can access the message at a later 635 time from a terminal that can render all of the critical body parts. 637 It would be reasonable for the TUI to notify the user about the 638 undeliverable body part. 640 If the TUI is part of a voice messaging system, or if the user does 641 not subscribe to a text-to-speech service, a reasonable action is 642 for the TUI to return a MDN with the disposition "failed" and the 643 failure modifier "5.6.1 (Media not supported)". 645 13. Security Considerations 647 Receiving systems and users should not place any authentication 648 value on the Handling parameter. 650 Note that by design, and under the sending user's request, a content 651 gateway will silently delete unimportant body parts. Critical 652 content gives the sender the ability to determine the acceptable 653 level integrity of the delivered message. That is, the message as 654 the content gateway actually passes it on is, in fact, 655 representative of the sender's intentions. 657 14. IANA Considerations 659 RFC 3204 already registered the Handling parameter. It is collected 660 here only for reference and as a placeholder for use both for 661 further expansion in the future and as the normative reference for 662 other documents that need to reference the Handling parameter. 664 Per section 9 of [5] here is the IANA registration for Handling. 666 To: IANA@IANA.ORG 667 Subject: Registration of new Content-Disposition parameter 669 Content-Disposition parameter name: 670 HANDLING 672 Allowable values for this parameter: 673 REQUIRED 674 OPTIONAL 676 Description: 677 Marks the body part as required for delivery (REQUIRED) or can be 678 silently discarded (OPTIONAL). See RFC and RFC 3204. 679 Per RFC 2183, the Content-Disposition parameter name is not case 680 sensitive. Per RFC , the values of the parameter are 681 also not case sensitive. 683 15. References 685 1 Bradner, S., "The Internet Standards Process -- Revision 3", BCP 686 9, RFC 2026, October 1996. 688 2 Bradner, S., "Key words for use in RFCs to Indicate Requirement 689 Levels", BCP 14, RFC 2119, March 1997. 691 3 Handley, M., Schulzrinne, H., Schooler, E., and Rosenberg, J., 692 "SIP: Session Initiation Protocol", RFC 2543, March 1999. 694 4 Zimmerer, E., et. al., "MIME media types for ISUP and QSIG 695 Objects", RFC 3204, December 2001. 697 5 Troost, R., Dorner, S., Moore, K. (ed), "Communicating 698 Presentation Information in Internet Messages: The Content- 699 Disposition Header Field", RFC 2183, August 1997. 701 6 Crocker, D. and Overell, P.(Editors), "Augmented BNF for Syntax 702 Specifications: ABNF", RFC 2234, November 1997. 704 7 Moore, K., "SMTP Service Extension for Delivery Status 705 Notifications", RFC 1981, January 1996. 707 8 Moore, K. and Vaudreuil, G., "An Extensible Message Format for 708 Delivery Status Notifications", RFC 1894, January 1996. 710 9 Fajman, R., "An Extensible Message Format for Message Disposition 711 Notifications", RFC 2298, March 1998. 713 10 Vaudreuil, G., "Enhanced Mail System Status Codes", RFC 1893, 714 January 1996. 716 11 Freed, N. and Borenstein, N., "Multipurpose Internet Mail 717 Extensions (MIME) Part One: Format of Internet Message Bodies", 718 RFC 2045, November 1996. 720 12 Freed, N. and Borenstein, N., "Multipurpose Internet Mail 721 Extensions (MIME) Part Two: Media Types", RFC 2046, November 722 1996. 724 13 Vaudreuil, G. and Parsons, G., "Voice Profile for Internet Mail - 725 version 2", RFC 2421, September 1998. 727 14 Kille, S. "MIXER (Mime Internet X.400 Enhanced Relay): Mapping 728 between X.400 and RFC 822/MIME", RFC 2156, January 1998. 730 15 Crocker, D., "Standard for the Format of ARPA Internet Text 731 Messages", RFC 822, August 1982. 733 16 Dawson, F. and Howes, T., "vCard MIME Directory Profile", RFC 734 2426, September 1998. 736 16. Acknowledgments 738 Emily Candell of Comverse Network Systems was instrumental in 739 helping work out the base issues in the �00 draft in Adelaide. 741 Ned Freed pointed out that this mechanism was about criticality, not 742 notification. That insight made the concept and descriptions 743 infinitely more straightforward. If it's still confusing, it's my 744 fault! 746 Keith Moore for helped tighten-up the explanations, and he approved 747 of the use of Content-Disposition. 749 Dropping the IMPORTANT critical content type took away one of the 750 reasons for partial non-delivery notification. That makes Jutta 751 Degener very happy! 753 Harald Alvestrand and Chris Newman suggested some implementation 754 examples. 756 Greg White asked THE key question that let us realize that critical 757 content processing was a gateway function, and not a MTA or UA 758 function. 760 Jon Peterson cleared up how handling actually does work in the SIP 761 environment. 763 An enormous thank you to Michelle S. Cotton at IANA for helping me 764 craft the original IANA Considerations section in 2000, and for 765 catching the functional overlap with RFC 3204 in January 2002. 767 Any errors, omissions, or silliness are my fault. 769 17. Author's Address 771 Eric Burger 772 SnowShore Networks, Inc. 773 285 Billerica Rd. 774 Chelmsford, MA 01824-4120 775 USA 777 Phone: +1 978 367 8400 778 Fax: +1 603 457 5944 779 Email: e.burger@ieee.org 780 Full Copyright Statement 782 The IETF takes no position regarding the validity or scope of any 783 intellectual property or other rights that might be claimed to 784 pertain to the implementation or use of the technology described in 785 this document or the extent to which any license under such rights 786 might or might not be available; neither does it represent that it 787 has made any effort to identify any such rights. Information on the 788 IETF's procedures with respect to rights in standards-track and 789 standards-related documentation can be found in BCP-11. Copies of 790 claims of rights made available for publication and any assurances 791 of licenses to be made available, or the result of an attempt made 792 to obtain a general license or permission for the use of such 793 proprietary rights by implementers or users of this specification 794 can be obtained from the IETF Secretariat. 796 The IETF invites any interested party to bring to its attention any 797 copyrights, patents or patent applications, or other proprietary 798 rights that may cover technology that may be required to practice 799 this standard. Please address the information to the IETF Executive 800 Director. 802 Copyright (C) 2000, 2001, 2002, The Internet Society. All Rights 803 Reserved. 805 This document and translations of it may be copied and furnished to 806 others, and derivative works that comment on or otherwise explain it 807 or assist in its implementation may be prepared, copied, published 808 and distributed, in whole or in part, without restriction of any 809 kind, provided that the above copyright notice and this paragraph 810 are included on all such copies and derivative works. However, this 811 document itself may not be modified in any way, such as by removing 812 the copyright notice or references to the Internet Society or other 813 Internet organizations, except as needed for the purpose of 814 developing Internet standards in which case the procedures for 815 copyrights defined in the Internet Standards process must be 816 followed, or as required to translate it into languages other than 817 English. 819 The limited permissions granted above are perpetual and will not be 820 revoked by the Internet Society or its successors or assigns. 822 This document and the information contained herein is provided on an 823 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 824 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 825 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 826 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 827 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.