Network Working Group Glenn Parsons Internet Draft Nortel Technology Expires: 12/5/1996 Greg Vaudreuil Octel Network Services June 12, 1996 Voice Profile for Internet Mail Status of this Memo This document is an Internet Draft. 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 valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet Drafts as reference material or to cite them other than as a "work in progress". This document profiles Internet mail for voice messaging. It obsoletes RFC 1911 which describes version 1 of the profile. A list of changes from that document are noted in Appedix C. As well, Appendix D lists the open issues with this version of VPIM; these issues are noted by ** in the text. Please send comments on this document to the EMA VPIM Work Group mailing list: 1. Abstract A class of special-purpose computers has evolved to provide voice messaging services. These machines generally interface to a telephone switch and provide call answering and voice messaging services. Traditionally, messages sent to a non-local machine are transported using analog networking protocols based on DTMF signaling and analog voice playback. As the demand for networking increases, there is a need for a standard high-quality digital protocol to connect these machines. The following document is a profile of the Internet standard MIME and ESMTP protocols for use as a digital voice messaging networking protocol. This profile is based on an earlier effort in the Audio Message Interchange Specification (AMIS) group to define a voice messaging protocol based on X.400 technology. This protocol is intended to satisfy the user requirements statement from that earlier work with the industry standard ESMTP/MIME mail protocol infrastructures already used within corporate intrarnets. This Internet Draft will be refered to as VPIM in this document. Internet Draft MIME Voice Profile June 12, 1996 2. Scope MIME is the Internet multipurpose, multimedia messaging standard. This document explicitly recognizes its capabilities and provides a mechanism for the exchange of various messaging technologies, highlighting voice and facsimile. This document specifies a restricted profile of the Internet multimedia messaging protocols for use between voice processing platforms. These platforms have historically been special-purpose computers and often do not have the same facilities normally associated with a traditional Internet Email-capable computer. As a result, VPIM also specifies additional functionality as it is needed. This profile is intended to specify the minimum common set of features to allow interworking between compliant systems. 2.1 Voice Messaging System Limitations The following are typical limitations of voice messaging platform which were considered in creating this baseline profile. 1) Text messages are not normally received and often cannot be displayed or viewed. They can often be processed only via text-to- speech or text-to-fax features not currently present in many of these machines. 2) Voice mail machines usually act as an integrated Message Transfer Agent, Message Store and User Agent. There is no relaying of message and RFC 822 header fields may have limited use in the context of the limited messaging features currently deployed. 3) VM message stores are generally not capable of preserving the full semantics of an Internet message. As such, use of a voice mail machine for gatewaying is not supported. In particular, storage of "CC" lists, "Received" lines, and "Message-ID" may be limited. 4) Internet-style distribution/exploder mailing lists are not typically supported. Voice mail machines often implement only local alias lists, with error-to-sender and reply-to-sender behavior. Reply-all capabilities using a CC list is not generally available. 5) Error reports must be machine-parsable so that helpful responses can be voiced to users whose only access mechanism is a telephone. 6) The voice mail systems generally limit address entry to 16 or fewer numeric characters, and normally do not support alphanumeric mailbox names. Alpha characters are not generally used for mailbox identification as they cannot be easily entered from a telephone terminal. Parsons, Vaudreuil Expires 12/5/96 [Page 2] Internet Draft MIME Voice Profile June 12, 1996 2.2 Design Goals It is a goal of this effort to make as few restrictions and additions to the existing Internet mail protocols as possible while satisfying the requirements for interoperability with current voice messaging systems. This goal is motivated by the desire to increase the accessibility to digital messaging by enabling the use of proven existing networking software for rapid development. This specification is intended for use on a TCP/IP network, however, it is possible to use the SMTP protocol suite over other transport protocols. The necessary protocol parameters for such use is outside the scope of this document. This profile is intended to be robust enough to be used in an environment such as the global Internet with installed base gateways which do not understand MIME, though typical use is expected to be within corporate intranets. As well, nothing in this document precludes use of a general purpose MIME email packages to read and compose VPIM messages. While no special configuration is required to receive VPIM compliant messages, some may be required to originate. It is expected that a VPIM messaging system will be managed by a system administrator who can perform TCP/IP network configuration. When using facsimile or multiple voice encodings, it is recommended that the system administrator maintain a list of the capabilities of the networked mail machines to reduce the sending of undeliverable messages due to lack of feature support. Configuration, implementation and management of this directory listing capabilities is a local matter. Parsons, Vaudreuil Expires 12/5/96 [Page 3] Internet Draft MIME Voice Profile June 12, 1996 3. Protocol Restrictions This protocol does not limit the number of recipients per message. Where possible, implementations should not restrict the number of recipients in a single message. It is recognized that no implementation supports unlimited recipients, and that the number of supported recipients may be quite low. However, ESMTP currently does not provide a mechanism for indicating the number of supported recipients. This protocol does not limit the maximum message length. Implementors should understand that some machines will be unable to accept excessively long messages. A mechanism is defined in the RFC 1425 SMTP service extensions to declare the maximum message size supported. The message size indicated in the ESMTP SIZE command is in bytes, not minutes. The number of bytes varies by voice encoding format and must include the MIME wrapper overhead. If the length must be known before sending, an approximate translation into minutes can be performed if the voice encoding is known. Parsons, Vaudreuil Expires 12/5/96 [Page 4] Internet Draft MIME Voice Profile June 12, 1996 4. Voice Message Interchange Format The voice message interchange format is a profile of the Internet Mail Protocol Suite. As such, this document assumes an understanding of these specifications. Specifically, VPIM references components from the message format standard for Internet messages [RFC822], the Multipurpose Internet Message Extensions [MIME], the X.400 gateway specification [X.400], delivery status notification [DRPT][NOTIFY][STATUS], the message disposition notifications [MDN], and the electronic business card [DIRECTORY][VCARD]. 4.1 Message Addressing Formats RFC 822 addresses are based on the domain name system. This naming system has two components: the local part, used for username or mailbox identification; and the host part, used for global machine identification. The local part of the address shall be a US-ASCII string uniquely identifying a mailbox on a destination system. For voice messaging, the local part is a printable string containing the mailbox ID of the originator or recipient. Administration of this space is expected to conform to international, national or corporate private telephone numbering plans. While alpha characters and long mailbox identifiers are permitted, most voice mail networks rely on numeric mailbox identifiers to retain compatibility with the limited 10 digit telephone keypad. For example, a compliant message may contain the address 2145551212@mycompany.com. It should be noted that while the example mailbox address is based on the North American Numbering Plan, any other corporate numbering plan can be used. The use of the domain naming system should be transparent to the user. It is the responsibility of the voice mail machine to lookup the fully-qualified domain name (FQDN) based on the address entered by the user (see Section 6). Special addresses are provided for compatibility with the conventions of the Internet mail system and to facilitate testing. These addresses do not use numeric local addresses, both to conform to current Internet practice and to avoid conflict with existing numeric addressing plans. Two special addresses are RESERVED for use as follows: Postmaster@domain By convention, a special mailbox named "postmaster" MUST exist on all systems. This address is used for diagnostics and should be checked regularly by the system manager. This mailbox is particularly likely to receive text messages, which is not normal on a voice processing platform; the specific handling of these messages is an individual implementation choice. Loopback@domain Parsons, Vaudreuil Expires 12/5/96 [Page 5] Internet Draft MIME Voice Profile June 12, 1996 A special mailbox name named "loopback" SHOULD be designated for loopback testing. If supported, all messages (including content) sent to this mailbox MUST be returned back to the address listed in the From: address as a new message. The originating address of the returned address MUST be "postmaster" to prevent mail loops. 4.2 Message Header Fields Internet messages contain a header information block. This header block contains information required to identify the sender, the list of recipients, the message send time, and other information intended for user presentation. Except for specialized gateway and mailing list cases, headers do not indicate delivery options for the transport of messages. The following header lines are permitted for use with VPIM voice messages: From The originator's fully-qualified domain address (a mailbox address followed by the fully-qualified domain name). The user listed in this field should be presented in the voice message envelope as the originator of the message. Systems compliant to this profile SHOULD provide the text personal name of the sender in a quoted phrase if the name is available. To facilitate storage of the text name in a local dial-by-name cache directory, the first and last name names must be separable. Text names of persons in voice messages MUST be represented in the form "last, first, mi." Text names of corporate or positional mailboxes MAY be provided as a simple string. From [822] Example: From: "User, Joe S." <2145551212@mycompany.com> From: "Technical Support" <611@mycompany.com> To The TO header contains the recipient's fully-qualified domain address. There may be one or more To: fields in any message. Example: To: 2145551213@mycompany.com cc The cc header contains additional recipients' fully-qualified domain addresses. Many voice mail systems are not capable of storing or reporting the full list of recipients to the receiver. Parsons, Vaudreuil Expires 12/5/96 [Page 6] Internet Draft MIME Voice Profile June 12, 1996 Example: cc: 2145551213@mycompany.com Systems compliant to this profile MAY discard the cc addresses of incoming messages as necessary. Systems compliant to this profile SHOULD provide a complete list of recipients when possible. Date The Date header contains the date, time, and time zone in which the message was sent by the originator. Compliant implementations SHOULD be able to convert RFC 822 date and time stamps into local time. Example: Date: Wed, 28 Jul 96 10:08:49 PST The sending system MUST report the time the message was sent. From [822] Sender The Sender header contains the actual address of the originator if the message is sent by an agent on behalf of the author indicated in the From: field. Support for this field cannot be guaranteed in voice messaging systems and SHOULD NOT be generated by a compliant implementation. While it may not be possible to save this information in some voice mail machines, discarding this information or the ESMTP MAIL FROM address will make it difficult to send an error message to the proper destination. From [822] Message-id The Message-id header contains a unique per-message identifier. A unique message-id MUST be generated for each message sent from a compliant implementation. The message-id is not required to be stored on the receiving system. This identifier MAY be used for tracking, auditing, and returning read-receipt reports. From [822] Example: Message-id: <12345678@mycompany.com> Received The Received header contains trace information added to the beginning of a RFC 822 message by message transport agents (MTA). This is the only header permitted to be added by an MTA. Information in this Parsons, Vaudreuil Expires 12/5/96 [Page 7] Internet Draft MIME Voice Profile June 12, 1996 header is useful for debugging when using an US-ASCII message reader or a header parsing tool. A compliant system MUST add Received headers when acting as a gateway and MUST NOT remove any. These headers MAY be ignored or deleted when the message is received at the final destination. From [822] MIME Version The MIME-Version header indicates that the message conforms to the MIME message format specification. Systems compliant to the VPIM MUST include a comment with the words "(Voice 2.0)". RFC 1911 defines an earlier version of this profile and uses the token (Voice 1.0). From [MIME] Example: MIME-Version: 1.0 (Voice 2.0) Content-Type The content-type header declares the type of content enclosed in the message. One of the allowable contents is multipart, a mechanism for bundling several message components into a single message. The allowable contents are specified in the next section of this document. From [MIME] Content-Transfer-Encoding Because Internet mail was initially specified to carry only 7-bit US- ASCII text, it may be necessary to encode voice and fax data into a representation suitable for that environment. The content-transfer- encoding header describes this transformation if it is needed. Compliant implementations MUST recognize and decode the standard encodings, "Binary", "7bit, "8bit", "Base64" and "Quoted-Printable". The allowable content-transfer-encodings are specified in the next section of this document. From [MIME] Sensitivity The sensitivity header, if present, indicates the requested privacy level. The case-insensitive values "Personal" and "Private" are specified. If no privacy is requested, this field is omitted. If a sensitivity header is present in the message, a compliant system MUST prohibit the recipient from forwarding this message to any other user. A compliant system, however, SHOULD allow the user to reply to a sensitive message, but MUST NOT include the original message content. The sensitivity of the reply message is set by the user. If the receiving system does not support privacy and the sensitivity is one of "Personal" or "Private", the message MUST be returned to the sender with an appropriate error code indicating that privacy could not be assured and that the message was not delivered. From: [X400] Parsons, Vaudreuil Expires 12/5/96 [Page 8] Internet Draft MIME Voice Profile June 12, 1996 Importance Indicates the requested priority to be given by the receiving system. The case-insensitive values "low", "normal" and "high" are specified. If no special importance is requested, this header may be omitted and the value assumed to be "normal". Compliant implementations MAY use this header to indicate the importance of a message and may order messages in a recipient's mailbox. From: [X400] Subject The subject field is often provided by email systems but is not widely supported on Voice Mail platforms. For compatibility with text based mailbox interfaces, a text subject field SHOULD be generated by a compliant implementation but MAY be discarded if present by a receiving system. From [822] It is recommended that voice messaging systems that do not support any text user interfaces (e.g. access only by a telephone) insert a generic subject header of `VPIM Voice Message'. 4.3 Message Content Types MIME is a general-purpose message body format that is extensible to carry a wide range of body parts. The basic protocol is described in [MIME]. MIME also provides for encoding binary data so that it can be transported over the 7-bit text-oriented SMTP protocol. This transport encoding is independent of the audio encoding designed to generate a binary object. MIME defines two transport encoding mechanisms to transform binary data into a 7 bit representation, one designed for text-like data ("Quoted-Printable"), and one for arbitrary binary data ("Base64"). While Base64 is dramatically more efficient for audio data, both will work. Where binary transport is available, no transport encoding is needed, and the data can be labeled as "Binary". An implementation in conformance with this profile SHOULD send audio data in binary form when binary message transport is available. When binary transport is not available, implementations MUST encode the message as Base64. The detection and decoding of "Quoted-Printable", "7bit", and "8bit" MUST be supported in order to meet MIME requirements and to preserve interoperability with the fullest range of possible devices. The following content types are identified for use with this profile. Note that each of these contents can be sent individually in a message or wrapped in a multipart/mixed to form a more complex structure.. Parsons, Vaudreuil Expires 12/5/96 [Page 9] Internet Draft MIME Voice Profile June 12, 1996 Message/RFC822 MIME requires support of the Message/RFC822 message encapsulation body part. This body part is used to forward complete messages within a multipart/mixed message. From [MIME] Text/Plain MIME requires support of the basic Text/Plain content type. This content type has no applicability within the voice messaging environment. Compliant implementations MUST NOT send the Text/Plain content-type. Compliant implementations MUST accept Text/Plain messages, however, specific handling is left as an implementation decision. From [MIME] There are several mechanisms that can be used to support text on voice messaging systems including text-to-speech and text-to-fax conversions. If no viewing of the text is possible, the entire message MUST be non-delivered and returned to the sender with a media- unsupported error code. Multipart/Mixed MIME provides the facilities for enclosing several body parts in a single message. Multipart/Mixed SHOULD be used for sending multi- segment voice messages, that is, to preserve across the network the distinction between an annotation and a forwarded message, or between a spoken subject and the voice message. Compliant systems MUST accept multipart/mixed body parts. Systems MAY collapse such a multi-segment voice or fax message into a single segment if multi-segment messages are not supported on the receiving machine. From [MIME] **Application/Directory The spoken name and the spelled name of the message sender SHOULD be sent with each message in an Application/Directory content type [DIRECTORY]. If included in a message, the Versit VCARD profile MUST be used [VCARD] and MUST specify at least the "N", "SOUND", and "EMAIL" types and MAY use the other types defined in [VCARD] The spoken name SHOULD be included inline in the "SOUND" type using a Base64 encoding of 32KADPCM. As well, the _EMAIL_ type MAY also include a `VPIM' token to avoid confusion with a user's text email address (if they are different). Example: BEGIN: vCard N: Parsons;Glenn ORG: Nortel Technology TEL;TYPE=VOICE,MSG,WORK: +1-613-763-7582 EMAIL;TYPE=INTERNET: glenn.parsons@nortel.ca EMAIL;TYPE= INTERNET,VPIM: 6137637582@nortel.ca SOUND;TYPE=32KADPCM;ENCODE=BASE64;VALUE=INLINE: Parsons, Vaudreuil Expires 12/5/96 [Page 10] Internet Draft MIME Voice Profile June 12, 1996 iIiIiIjMzN3czdze3s7d7fwfHhcvESJVe/4yEhLz8/FOQjVFRERCESL/zqrq (This is the Spoken Name audio data) 3Or/zrPCzxv43u3L7buR3b0 AAEAAAAIAAAAFQEDAAEAAAABAAAAFgEEAAEAAACqCAAAFwEEAAEAAAD1uQEA GgEFAAEAAAAIugEAGwEFAAEAAAAQugEAJAEEAAEAAAAEAAAAAAAAAA== END: vCard Multipart/Report The Multipart/Report is used for enclosing a Message/Notification and Message/Disposition-notification body parts and any returned message content. Compliant implementations MUST use the Multipart/Report construct when returning messages, sending warnings, or issuing read receipts. Compliant implementations MUST recognize and decode the Multipart/Report content type. From [REPORT] **Message/Notification This MIME body part is used for sending machine-parsable delivery status notifications. Compliant implementations must use the Message/Notification construct when returning messages or sending warnings. Compliant implementations must recognize and decode the Message/Notification content type and present the reason for failure to the user. From [NOTIFY] **Message/Disposition-notification This MIME body part is used for sending machine-parsable read-receipt and extended-absence status notifications. Compliant implementations must use the Message/Disposition-notification construct when sending post-delivery message status notifications. Compliant implementations must recognize and decode the Message/Disposition-notification content type and present the reason for failure to the user. From [MDN] Audio/32KADPCM CCITT Recommendation G.721 [G721] describes the algorithm recommended for conversion of a 64 KB/s A-law or u-law PCM channel to and from a 32 KB/s channel. The conversion is applied to the PCM stream using an Adaptive Differential Pulse Code Modulation (ADPCM) transcoding technique. From [1911]. An implementation compliant to this profile MUST use Audio/32KADPCM by default for voice. While any valid MIME body header MAY be used, several headers have the following semantics when included with this body part: Content-Description: This field SHOULD be present to allow the text identification of these body parts. If more than one Audio/32KADPCM body occurs within a single multipart/mixed, then this header MUST be present to allow differentiation. It is recommended that the following Parsons, Vaudreuil Expires 12/5/96 [Page 11] Internet Draft MIME Voice Profile June 12, 1996 values be used as appropriate: VPIM Voice Message, VPIM Spoken Name, VPIM Spoken Subject. Content-Duration: This field MAY be present to allow the specification of the length of the bodypart in seconds. The use of this field on reception is a local implementation issue. Content-Language: This field MAY be present to allow the specification of the spoken language of the bodypart. The encoding is defined in [LANG] (e.g. EN-UK for UK English). The use of this field on reception is a local implementation issue. Proprietary Voice Formats Proprietary voice encoding formats or other standard formats may be supported under this profile provided a unique identifier is registered with the IANA prior to use. These voice encodings should be registered as sub-types of Audio. Use of any other encoding except Audio/32KADPCM reduces interoperability in the absence of explicit manual system configuration. A compliant implementation MAY use any other encoding with explicit per-destination configuration. NOTE: The following fax bodies are examples, the choice of which to include in VPIM v2 is an open issue. **Image/TIFF TMA-AMIS-D is using the following definition: The ASN.1 definition from X.400 for fax is: G3Fax ::= SEQUENCE { SET{numberOfPages [0] IMPLICIT INTEGER OPTIONAL, [1] IMPLICIT P1.G3NonBasicParams OPTIONAL}, SEQUENCE OF BIT STRING} We have defined sequence of bit string as: BIT STRING shall contain a TIFF G3/T.4 image (one page), including the TIFF header. A fax is a sequence of BIT STRING, one for each page. The compression type is (tag 259) is 3 (for T.4 encoded); and the TIFF tag 292 is 0 to indicate a basic 1-D modified Huffman (MH) encoding, 1 for 2-D MR encoding (k-8). The P1.G3NonBasicParams shall be absent. #numberOfPages# is optional, but should be included if available. The absense of Parsons, Vaudreuil Expires 12/5/96 [Page 12] Internet Draft MIME Voice Profile June 12, 1996 P1.G3NonBasicParams together with a normal TIFF header will indicate the bodypart is in TIFF format instead of G3. ECTF S.100 is using the following definition: All implementations must be able to read (send) TIFF files meeting the requirements below. Image data must not have any coding errors. Implementations may also read any other formats as long as available formats can be disclosed to applications at run time. ByteOrder: MM,II (Either byte order is allowed) These tags shown below must be readable. If not present, reader must use default shown: TIFF Reader Tags TAG Legal Values Default Comment BitsPerSample 1 1 one bit per sample CleanFaxData 0 0 data has no errors Compression 3 3 T.4 bi-level encoding, MH FillOrder 2,1 2 LSB first or MSB first ImageWidth 1728 1728 ImageLength > 0 required NewSubFileType 2 2 single page of multipage file Parsons, Vaudreuil Expires 12/5/96 [Page 13] Internet Draft MIME Voice Profile June 12, 1996 Orientation 1 1 1st row=top left, 1st col=top PageNumber X/X 0/1 pg/tot, 0 base, tot in 1st IFD PhotometricInterp 0 0 0 is white ResolutionUnit 2 2 inches RowsPerStrip =ImageLength =ImageLength SamplesPerPixel 1 1 one sample per pixel StripByteCounts >0 required StripOffsets >0 required T4Options 4 4 MH, byte aligned EOL Xresolution 204,200 204 Yresolution 196,98,100, 196 200 For fax writing (receiving), implementations are required to use the following TIFF format as a default. Image data must not have any coding errors. Implementations may write other formats as long as applications have selected from among those formats at run time. TIFF Writer Tags Parsons, Vaudreuil Expires 12/5/96 [Page 14] Internet Draft MIME Voice Profile June 12, 1996 TAG Legal Values Comment ByteOrder: II BitsPerSample 1 one bit per sample Compression 3 T.4 bi-level encoding, MH FillOrder 2 LSB first ImageWidth 1728 ImageLength > 0 NewSubFileType 2 single page of multi-page file PageNumber X/X pg/tot, 0 base, tot in 1st IFD PhotometricInterp 0 0 is white ResolutionUnit 2 inches RowsPerStrip >0 must be same as ImageLength SamplesPerPixel 1 one sample per pixel StripByteCounts >0 as appropriate StripOffsets >0 as appropriate T4Options 4 MH, byte aligned EOL Xresolution 204, 200 Yresolution 196,98, 100, 200 Tags that are optional, but if present must contain the values as shown: Optional TIFF Writer Tags TAG Legal Comment Values CleanFaxData 0 data doesn't contain bad scan lines Parsons, Vaudreuil Expires 12/5/96 [Page 15] Internet Draft MIME Voice Profile June 12, 1996 Orientation 1 1st row = top left, 1st col = top Recommended informational tags are: Software, Datetime, BadFaxLines, ConsecutiveBadFaxLines The VPIM demo used the following definition: All implementations must generate and read facsimile bodies with the TIFF tags listed below. Only one page is permitted per TIFF body part. Note: insert Nagendra's table here **image/g3fax This content-type is defined, as part of the MIXER series, to carry G3 Facsimile byte streams. It specifies a MIME equivalent to the X.400 G3 facsimile body part. It is defined in [MIXERFAX] and must be used as specified. 4.4 CompliantCompliantForwarded Messages VPIM version 2 explicitly supports the forwarding of voice and fax content with voice or fax annotation. Forwarded VPIM messages SHOULD be sent as a multipart/mixed with the entire original message enclosed in a message/rfc822 content type and the annotation as a separate Audio/* body part. In the event that the RFC822 headers are not available for the forwarded content, simulated headers with information as available SHOULD be constructed to indicate the original sending timestamp, and the original sender as indicated in the "From" line. The message/rfc822 content MUST include at least the MIME-Version: 1.0 (Voice 2.0), the MIME content type and MIME content-encoding header as necessary. In the event that forwarding information is lost through concatentation of the original message and the forwarding annotation, such as must be done in an AMIS to VPIM gateway, the entire content MAY be sent as a single Audio/* segment without including any forwarding semantics. Parsons, Vaudreuil Expires 12/5/96 [Page 16] Internet Draft MIME Voice Profile June 12, 1996 5. Message Transport Protocol Messages are transported between voice mail machines using the Internet Extended Simple Mail Transfer Protocol (ESMTP). All information required for proper delivery of the message is included in the ESMTP dialog. This information, including the sender and recipient addresses, is commonly referred to as the message "envelope". This information is equivalent to the message control block in many analog voice networking protocols. ESMTP is a general-purpose messaging protocol, designed both to send mail and to allow terminal console messaging. Simple Mail Transport Protocol (SMTP) was originally created for the exchange of US-ASCII 7- bit text messages. Binary and 8-bit text messages have traditionally been transported by encoding the messages into a 7-bit text-like form. [ESMTP] formalized an extension mechanism for SMTP, and subsequent RFCs have defined 8-bit text networking, command streaming, binary networking, and extensions to permit the declaration of message size for the efficient transmission of large messages such as multi-minute voice mail. The following sections list ESMTP commands, keywords, and parameters that are required and those that are optional. 5.1 ESMTP Commands HELO Base SMTP greeting and identification of sender. This command is not to be sent by compliant systems unless the more-capable EHLO command is not accepted. It is included for compatibility with general SMTP implementations. Compliant implementations MUST implement the HELO command for backward compatibility but SHOULD NOT send it unless EHLO is not supported. From [SMTP] MAIL FROM (REQUIRED) Originating mailbox. This address contains the mailbox to which errors should be sent. This address may not be the same as the message sender listed in the message header fields if the message was received from a gateway or sent to an Internet-style mailing list. Compliant implementations MUST implement the extended MAIL FROM command. From [SMTP, ESMTP] RCPT TO Recipient's mailbox. This field contains only the addresses to which the message should be delivered for this transaction. In the event that multiple transport connections to multiple destination machines are required for the same message, this list may not match the list of recipients in the message header. Compliant implementations MUST implement the extended RCPT TO command. From [SMTP, ESMTP] DATA Parsons, Vaudreuil Expires 12/5/96 [Page 17] Internet Draft MIME Voice Profile June 12, 1996 Initiates the transfer of message data. Support for this command is required in the event the binary mode command BDAT is not supported by the remote system. Compliant implementations MUST implement the SMTP DATA command for backwards compatibility. From [SMTP] TURN Requests a change-of-roles, that is, the client that opened the connection offers to assume the role of server for any mail the remote machine may wish to send. Because SMTP is not an authenticated protocol, the TURN command presents an opportunity to improperly fetch mail queued for another destination. Compliant implementations SHOULD NOT implement the TURN command. From [SMTP] QUIT Requests that the connection be closed. If accepted, the remote machine will reset and close the connection. Compliant implementations MUST implement the QUIT command. From [SMTP] RSET Resets the connection to its initial state. Compliant implementations MUST implement the RSET command. From [SMTP] VRFY Requests verification that this node can reach the listed recipient. While this functionality is also included in the RCPT TO command, VRFY allows the query without beginning a mail transfer transaction. This command is useful for debugging and tracing problems. Compliant implementations MAY implement the VRFY command. From [SMTP] (Note that the implementation of VRFY may simplify the guessing of a recipient's mailbox or automated sweeps for valid mailbox addresses, resulting in a possible reduction in privacy. Various implementation techniques may be used to reduce the threat, such as limiting the number of queries per session.) From [SMTP] EHLO The enhanced mail greeting that enables a server to announce support for extended messaging options. The extended messaging modes are discussed in a later section of this document. Compliant implementations MUST implement the ESMTP command and return the capabilities indicated later in this memo. From [ESMTP] BDAT The BDAT command provides a higher efficiency alternative to the earlier DATA command, especially for voice. The BDAT command provides for native binary transport of messages. Compliant implementations SHOULD support binary transport using the BDAT command.[BINARY] Parsons, Vaudreuil Expires 12/5/96 [Page 18] Internet Draft MIME Voice Profile June 12, 1996 5.2 ESMTP Keywords The following ESMTP keywords indicate extended features useful for voice messaging. PIPELINING The "PIPELINING" keyword indicates ability of the receiving server to accept pipelined commands. Pipelining commands dramatically improves performance by reducing the number of round-trip packet exchanges and makes it possible to validate all recipient addresses in one operation. Compliant implementations SHOULD support the command pipelining indicated by this parameter. From [PIPE] SIZE The "SIZE" keyword provides a mechanism by which the receiving SMTP can indicate the maximum size message supported. Compliant implementations MUST provide the size capability and SHOULD honor any size limitations when sending. From [SIZE] CHUNKING The "CHUNKING" keyword indicates that the receiver will support the high-performance binary transport mode. Note that CHUNKING can be used with any message format and does not imply support for binary encoded messages. Compliant implementations SHOULD support binary transport indicated by this capability. From [BINARY] BINARYMIME The "BINARYMIME" keyword indicates that the receiver SMTP can accept binary encoded MIME messages. Compliant implementations SHOULD support binary transport indicated by this capability. From [BINARY] NOTIFY The "NOTIFY" keyword indicates that the receiver SMTP will accept explicit delivery status notification requests. Compliant implementations MUST support the delivery notification extensions in [DSN]. 5.3 ESMTP Parameters - MAIL FROM BINARYMIME The current message is a binary encoded MIME messages. Compliant implementations SHOULD support binary transport indicated by this parameter. From [BINARY] 5.4 ESMTP Parameters - RCPT TO NOTIFY Parsons, Vaudreuil Expires 12/5/96 [Page 19] Internet Draft MIME Voice Profile June 12, 1996 The NOTIFY parameter indicates the conditions under which a delivery report should be sent. Compliant implementations MUST honor this request. From [DSN] RET The RET parameter indicates whether the content of the message should be returned. Compliant systems SHOULD honor a request for returned content. From [DSN] 6. ** Directory Address Resolution It is the responsibility of a VPIM system to lookup the fully- qualified domain name (FQDN) based on the address entered by the user. The mapping of this dialed number to a final destination system can be accomplished through implementation-specific means. However, the Internet protocols provide several possible scalable mechanisms for the resolution of a routable address from a given public telephone number. VPIM specifies the use of LDAP... 7. Management Protocols The Internet protocols provide a mechanism for the management of messaging systems, from the management of the physical network through the management of the message queues. SNMP should be supported on a compliant message machine. 7.1 Network Management The digital interface to the VM and the TCP/IP protocols SHOULD be managed. MIB II SHOULD be implemented to provide basic statistics and reporting of TCP and IP protocol performance. [MIB II] 7.2 Directory and Message Management Compliant systems SHOULD provide for the management of message traffic and queue monitoring based on the Message and Directory MIB. [MADMAN] 8. Conformance Requirements In order to be called VPIM compliant, a voice messaging system must implement all mandatory features of this profile in each of four areas: Content, Transport, Notifications and Directory. In addition, systems which conform to this profile must not send messages with features beyond this profile unless explicit per-destination configuration of these enhanced features is provided. Such configuration information could be stored in a directory, though the implementation of this is a local matter. Parsons, Vaudreuil Expires 12/5/96 [Page 20] Internet Draft MIME Voice Profile June 12, 1996 It is also possible, though not encouraged, to claim conformance to only specific areas (e.g. VPIM content compliant) of this profile. The delineation of these areas is as follows: Content - Section 4, except VCARD, REPORT, NOTIFY & MDN Transport - Section 5 except NOTIFY & RET, and Section 7 Notifications - REPORT, NOTIFY & MDN from Section 4 and NOTIFY & RET from Section 5 Directory - VCARD from Section 4 & Section 6 A summary of compliance requirements is contained in Appendix A. Parsons, Vaudreuil Expires 12/5/96 [Page 21] Internet Draft MIME Voice Profile June 12, 1996 9. References [MIME] Borenstein, N., and N. Freed, "Multipurpose Internet Mail Extensions", RFC 1521, Bellcore, Innosoft, Sept 1993. [MSG822] Crocker, D., "Standard for the Format of ARPA Internet Text Messages", STD 11, RFC 822, UDEL, August 1982. [X400] Hardcastle-Kille, S., "Mapping between X.400(1988) / ISO 10021 and RFC 822", RFC 1327, May 1992. [PIPE] Freed, N., Cargille, A., "SMTP Service Extension for Command Pipelining" RFC 1854, October 1995. [ESMTP] Klensin, J., Freed, N., Rose, M., Stefferud, E., and D. Crocker, "SMTP Service Extensions" RFC 1869, United Nations University, Innosoft International, Inc., Dover Beach Consulting, Inc., Network Management Associates, Inc., The Branch Office, November 1995. [SIZE] Klensin, J, Freed, N., Moore, K, "SMTP Service Extensions for Message Size Declaration" RFC 1870, United Nations University, Innosoft International, Inc., November 1995. [8BIT] Klensin, J., Freed, N., Rose, M., Stefferud, E., D. Crocker, "SMTP Service Extension for 8bit-MIMEtransport" RFC 1426, United Nations University, Innosoft International, Inc., Dover Beach Consulting, Inc., Network Management Associates, Inc., The Branch Office, February 1993. [DNS1] Mockapetris, P., "Domain names - implementation and specification", RFC1035, Nov 1987. [DNS2] Mockapetris, P., "Domain names - concepts and facilities", RFC 1034, Nov 1987. [SMTP] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821, USC/Information Sciences Institute, August 1982. [BINARY] Vaudreuil, G., "SMTP Service Extensions for Transmission of Large and Binary MIME Messages", RFC 1830, October 1995. [NOTIFY] Vaudreuil, G., Moore, K., "An Extensible Message Format for Delivery Status Notifications", Internet Draft [REPORT] Vaudreuil, G., "Multipart/Report", Internet-Draft, [DSN] Moore, K. "SMTP Service Extensions for Delivery Status Notifications", Internet Draft . [G721] CCITT Recommendation G.700-G.795 (1988), General Aspects of Digital Transmission Systems, Terminal Equipment. Blue Book. Parsons, Vaudreuil Expires 12/5/96 [Page 22] Internet Draft MIME Voice Profile June 12, 1996 [MADMAN] N. Freed, S. Kille, "Mail Monitoring MIB", RFC 1566, Jan 1994. [MIB II] M. Rose, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", RFC 1158, May 1990. [RELATED] Levinson, E., _The MIME Multipart/Related Content-type_, RFC 1872, Dec 1995 [MDN] Fajman, Roger, _An Extensible Message Format for Message Disposition Notifications_ [DIRECTORY] Howes, Tim, Smith, Mark, _A MIME Content-Type for Directory Information_ [VCARD] Dawson, Frank, Howes, Tim, "An Application/Directory MIME Content-Type Electronic Business Card Profile" [LANG] H. Alvestrand, "Tags for the Identification of Languages", RFC 1766, 03/02/1995 10. Security Consideration This document is a profile of existing Internet mail protocols. As such, it does not create any security issues not already existing in the profiled Internet mail protocols themselves. Further, the profile specified in this document does not in any way preclude the use of any Internet mail security protocol to encrypt, authenticate, or non-repudiate the messages. 11. Acknowledgments The authors would like to offer a special thanks to the Electronic Messaging Association, especially the members of the Voice Messaging Committee, for their support of the VPIM specification and.the efforts they have made to ensure its success. 12. Authors' Addresses Glenn W. Parsons Nortel Technology P.O. Box 3511, Station C Ottawa, ON K1Y 4H7 Canada Phone: +1-613-763-7582 Fax: +1-613-763-8385 Glenn.Parsons@Nortel.ca Gregory M. Vaudreuil Octel Network Services Parsons, Vaudreuil Expires 12/5/96 [Page 23] Internet Draft MIME Voice Profile June 12, 1996 17080 Dallas Parkway Dallas, TX 75248-1905 United States Phone/Fax: +1-214-733-2722 Greg.Vaudreuil@Octel.Com Parsons, Vaudreuil Expires 12/5/96 [Page 24] Internet Draft MIME Voice Profile June 12, 1996 13. Appendix A - VPIM Requirements Summary | | | | |S| | | | | | |H| |F | | | | |O|M|o | | |S| |U|U|o | | |H| |L|S|t | |M|O| |D|T|n | |U|U|M| | |o | |S|L|A|N|N|t | |T|D|Y|O|O|t FEATURE |SECTION | | | |T|T|e -------------------------------------------|----------|-|-|-|-|-|- | | | | | | | Message Addressing Formats: | | | | | | | Use DNS host names |4.1 |x| | | | | Use only numbers in mailbox IDs |4.1 | |x| | | | Use alpha-numeric mailbox IDs |4.1 | | |x| | | Support of postmaster@domain |4.1 |x| | | | | Support of loopback@domain |4.1 | |x| | | | | | | | | | | Message Header Fields: | | | | | | | Encoding outbound messages | | | | | | | From |4.2 |x| | | | | Addition of text name |4.2 | |x| | | | To |4.2 |x| | | | | cc |4.2 | |x| | | | Date |4.2 |x| | | | | Sender |4.2 | | | |x| | Message-id |4.2 |x| | | | | Received |4.2 |x| | | | | MIME Version: 1.0 (Voice 2.0) |4.2 |x| | | | | Content-Type |4.2 |x| | | | | Content-Transfer-Encoding |4.2 |x| | | | | Sensitivity |4.2 | | |x| | | Importance |4.2 | | |x| | | Subject |4.2 | |x| | | | Parsons, Vaudreuil Expires 12/5/96 [Page 25] Internet Draft MIME Voice Profile June 12, 1996 Detection & Decoding inbound messages | | | | | | | From |4.2 |x| | | | | Utilize text personal name |4.2 | |x| | | | To |4.2 |x| | | | | cc |4.2 | | |x| | | Date |4.2 |x| | | | | Conversion of Date to local time |4.2 | |x| | | | Sender |4.2 | | | |x| | Message ID |4.2 |x| | | | | Received |4.2 | | |x| | | MIME Version: 1.0 (Voice 2.0) |4.2 |x| | | | | Content Type |4.2 |x| | | | | Content-Transfer-Encoding |4.2 |x| | | | | Sensitivity |4.2 |x| | | | |1 Importance |4.2 | | |x| | | Subject |4.2 | | |x| | | | | | | | | | Message Content Encoding: | | | | | | | Encoding outbound messages | | | | | | | 7BITMIME |4.3 | | | | |x| 8BITMIME |4.3 | | | | |x| Quoted Printable |4.3 | | | | |x| Base64 |4.3 |x| | | | |2 Binary |4.3 | |x| | | |3 Detection & decoding inbound messages | | | | | | | 7BITMIME |4.3 |x| | | | | 8BITMIME |4.3 |x| | | | | Quoted Printable |4.3 |x| | | | | Base64 |4.3 |x| | | | | Binary |4.3 |x| | | | |3 | | | | | | | Parsons, Vaudreuil Expires 12/5/96 [Page 26] Internet Draft MIME Voice Profile June 12, 1996 Message Content Types: | | | | | | | Inclusion in outbound messages | | | | | | | Message/RFC822 |4.3 | | |x| | | Text/plain |4.3 | | | | |x| Multipart/Mixed |4.3 | |x| | | | Application/Directory |4.3 | |x| | | | Multipart/Report |4.3 |x| | | | | Message/Notification |4.3 |x| | | | | Message/Disposition-notification |4.3 |x| | | | | Audio/32KADPCM |4.3 |x| | | | | Content-Description |4.3 | | |x| | | Content-Duration |4.3 | | |x| | | Content-Langauge |4.3 | | |x| | | Audio/* (proprietary encodings) |4.3 | | |x| | | ** Image/TIFF |4.3 |x| | | | | ** Image/g3fax |4.3 |x| | | | | Detection & decoding in inbound messages | | | | | | | Message/RFC822 |4.3 |x| | | | | Text/plain |4.3 |x| | | | |4 Multipart/Mixed |4.3 |x| | | | | Application/Directory |4.3 | |x| | | | Multipart/Report |4.3 |x| | | | | Message/Notification |4.3 |x| | | | | Message/Disposition-notification |4.3 |x| | | | | Audio/32KADPCM |4.3 |x| | | | | Content-Description |4.3 | | |x| | | Content-Duration |4.3 | | |x| | | Content-Langauge |4.3 | | |x| | | Audio/* (proprietary encodings) |4.3 | | |x| | | ** Image/TIFF |4.3 |x| | | | | ** Image/g3fax |4.3 |x| | | | | | | | | | | | Message Transport Protocol: | | | | | | | ESMTP Commands | | | | | | | HELO |5.1 |x| | | | | MAIL FROM |5.1 |x| | | | | RCPT TO |5.1 |x| | | | | DATA |5.1 |x| | | | | TURN |5.1 | | | | |x| QUIT |5.1 |x| | | | | RSET |5.1 |x| | | | | VRFY |5.1 | | |x| | | EHLO |5.1 |x| | | | | BDAT |5.1 | |x| | | |3 ESMTP Keywords & Parameters | | | | | | | PIPELINING |5.2 | |x| | | | SIZE |5.2 |x| | | | | CHUNKING |5.2 | |x| | | | BINARYMIME |5.3 | |x| | | | NOTIFY |5.2,5.4 |x| | | | | RET |5.4 | |x| | | | | | | | | | | **Directory Protocols: | | | | | | | LDAP |6.0 | | | | | | Parsons, Vaudreuil Expires 12/5/96 [Page 27] Internet Draft MIME Voice Profile June 12, 1996 | | | | | | | Management Protocols: | | | | | | | Network management |7.1 | |x| | | | Monitoring queues |7.2 | |x| | | | -------------------------------------------|----------|-|-|-|-|-|- 1. If a sensitive message is received by a system that does not support sensitivity, then it MUST be returned to the originator with an appropriate error notification. Also, a received sensitive message MUST NOT be forwarded to anyone. 2. When binary transport is not available 3. When binary transport is available 4. If the text cannot be presented in some form, the entire message MUST be non-delivered. Parsons, Vaudreuil Expires 12/5/96 [Page 28] Internet Draft MIME Voice Profile June 12, 1996 14. Appendix B - Example Voice Messages The following message is a full-featured, all-options-enabled message addressed to two recipients. The message includes the sender's spoken name and a short speech segment. The message is marked as important and private. To: 2145551212@vm1.mycompany.com To: 2145551234@VM1.mycompany.com From: "Vaudreuil, Greg" <2175552345@VM2.mycompany.com> Date: Mon, 26 Aug 93 10:20:20 CST MIME-Version: 1.0 (Voice 2.0) Content-type: Multipart/Mixed; Boundary="MessageBoundary" Content-Transfer-Encoding: 7bit Message-ID: VM2.mycompany.com-123456789 Sensitivity: Private Importance: High --MessageBoundary Content-type: Audio/32KADPCM Content-Transfer-Encoding: Base64 iIiIiIjMzN3czdze3s7d7fwfHhcvESJVe/4yEhLz8/FOQjVFRERCESL/zqrq q83cLOr/zrPCzxv43u3L7buR3b0/G8HussEbutwtITFSE+dUEl3+79vv/Ruy (This is a sample of the base64 message data) zb8tFdLTQt1PXj QyKpbnNTyfFCvvje0e0UQd4RL6r6Gcybs7TjHOJh3xU/ND899dzNdRbCLG3t u7wjOyRhws+krdns7Rju0t4tLF7cE0K0MxOTOnRW/Pn30c8uHi9== --MessageBoundary Content-type: Application/Directory Content-Transfer-Encoding: 7bit BEGIN: Vcard N: Vaudreuil;Greg;;Mr.; SOUND;TYPE=32kbADPCM;ENCODE=BASE64;VALUE=INLINE: iIiIiIjMzN3czdze3s7d7fwfHhcvESJVe/4yEhLz8/FOQjVFRERCESL/zqrq (This is the Spoken Name audio data) 3Or/zrPCzxv43u3L7buR3b0 AAEAAAAIAAAAFQEDAAEAAAABAAAAFgEEAAEAAACqCAAAFwEEAAEAAAD1uQEA GgEFAAEAAAAIugEAGwEFAAEAAAAQugEAJAEEAAEAAAAEAAAAAAAAAA== REV: 19951031T222710Z END: Vcard --MessageBoundary-- Parsons, Vaudreuil Expires 12/5/96 [Page 29] Internet Draft MIME Voice Profile June 12, 1996 The following message is a forwarded single segment voice. To: 2145551212@vm1.mycompany.com From: "Vaudreuil, Greg" <2175552345@VM2.mycompany.com> Date: Mon, 26 Aug 93 10:20:20 CST MIME-Version: 1.0 (Voice 2.0) Content-type: Multipart/Mixed; Boundary="MessageBoundary" Content-Transfer-Encoding: 7bit Message-ID: VM2.mycompany.com-123456789 --MessageBoundary Content-type: Audio/32KADPCM Content-Transfer-Encoding: Base64 glslfdslsertiflkTfpgkTportrpkTpfgTpoiTpdadasssdasddasdasd (This is the voiced introductory remarks encoded in base64) jrgoij3o45itj09fiuvdkjgWlakgQ93ijkpokfpgokQ90gQ5tkjpokfgW dlkgpokpeowrit09== --MessageBoundary Content-type: Message/RFC822 Content-Transfer-Encoding: 7bit To: 2175552345@VM2.mycompany.com From: "Parsons, Glenn, W." <2145551234@VM1.mycompany.com> From: Date: Mon, 26 Aug 93 8:23:10 EST MIME-Version: 1.0 (Voice 2.0) Content-type: Audio/32KADPCM Content-Transfer-Encoding: Base64 glslfdslsertiflkTfpgkTportrpkTpfgTpoiTpdadasssdasddasdasd (This is the original message audio data) fgwersdfmniwrjj jrgoij3o45itj09fiuvdkjgWlakgQ93ijkpokfpgokQ90gQ5tkjpokfgW dlkgpokpeowrit09== --MessageBoundary Content-type: Application/Directory Content-Transfer-Encoding: 7bit BEGIN: Vcard N: Vaudreuil;Greg;;Mr.; SOUND;TYPE=32kbADPCM;ENCODE=BASE64;VALUE=INLINE: glslfdslsertiflkTfpgkTportrpkTpfgTpoiTpdadasssdasddasdasd (This is the Spoken Name audio data) fgwersdfmniwrjjedfsa jrgoij3o45itj09fiuvdkjgWlakgQ93ijkpokfpgokQ90gQ5tkjpokfgW dlkgpokpeowrit09== REV: 19951031T222710Z END: Vcard --MessageBoundary_ Parsons, Vaudreuil Expires 12/5/96 [Page 30] Internet Draft MIME Voice Profile June 12, 1996 Appendix C - Change History: RFC 1911 to this Document 1. General This update is based on the experience of a proof of concept demonstration of VPIM at EMA'96. This version of the profile is significantly different from the previous. Other general changes: - Various editorial updates - Changed the Voice version to 2.0 - Changed all references to Base64 from Base-64 - Corrected examples to put addresses within brackets, eliminate spaces in the boundary="dd" construct, and other clean ups. 2. Content - Eliminated multipart/voice-message and reworked examples to avoid use of multipart/voice-message - Explicitly defined the forwarding model using message/RFC822 - Eliminated the text name in the "To" and "CC" headers. Edited the conformance to require last-name, first-name only for persons - Profiled the application/directory body part 3. Transport - Moved Binary support to optional 4. Compliance - Added an explicit section on compliance Parsons, Vaudreuil Expires 12/5/96 [Page 31] Internet Draft MIME Voice Profile June 12, 1996 Appendix D - Open Issues 1) return in the event of non-support 2) Need to verify the inline handling and the feasability of the "N" encoding for the name. We may have to use "FN" with a VPIM defined structure of simply last-name, first-name. (need to prototype) 3) 4) status code for NOTIFY 5) extended status code for MDN. (only read-receipt and extended absence/Vacation) 6) 7) recommendation as optional 8) with a different content-description 9) 10) 11) 12) 13) 14) to the different levels of conformance? 15) 16) Parsons, Vaudreuil Expires 12/5/96 [Page 32]