time zone MUST be present and SHOULD be represented in a four-digit
time zone offset, such as -0500 for North American Eastern Standard
Time. This MAY be supplemented by a time zone name in parentheses,
e.g., "-0700 (PDT)".
Example:
Date: Wed, 28 Jul 96 10:08:49 -0800 (PST)
If the VPIM sender is relaying a message from a system that does not
provide a time stamp, the time of arrival at the gateway system
SHOULD be used as the date.
RECEIVE RULES
Conforming implementations SHOULD be able to convert [RFC822] date
and time stamps into local time
4.2.5. Sender
The "Sender:" field contains the actual address of the originator if
an agent on behalf of the author indicated in the "From:" field sends
the message.
SEND RULES
This header field MAY be sent by VPIM-conforming systems.
RECEIVE RULES
If the address in the "Sender:" field cannot be preserved in the
recipient’s message queues or in the next-hop protocol from a
gateway, the field MAY be silently discarded.
4.2.6. Return-Path
The "Return-path:" field is added by the final delivering SMTP
server. If present, it contains the address from the MAIL FROM
parameter of the ESMTP exchange (see [RFC822]). Any error messages
resulting from the delivery failure MUST be sent to this address.
Note that if the "Return-path:" is null ("<>") (e.g., a call answer
message would have no return path) delivery status notifications MUST
NOT be sent.
SEND RULES
The originating system MUST NOT add this header.
RECEIVE RULES
If the receiving system is incapable of storing the return path (or
MAIL FROM) to be used for subsequent delivery errors (i.e., it is a
gateway to a legacy system or protocol), the receiving system must
otherwise ensure that further delivery errors don’t happen. Systems
that do not support the return path MUST ensure that at the time the
message is acknowledged (i.e., when a DSN would be sent), the message
is delivered to the recipient’s ultimate mailbox. Non-Delivery
notifications SHOULD NOT be sent after that final delivery.
4.2.7. Message-id
The "Message-Id:" field contains a globally unique per-message
identifier.
SEND RULES
A globally unique message-id MUST be generated for each message sent
from a VPIM-conforming implementation.
Example:
Message-Id: <12345678@mycompany.com>
RECEIVE RULES
When provided in the original message, it MUST be used when sending a
MDN. This identifier MAY be used for tracking and auditing. From
[RFC822]
4.2.8. Reply-To
If present, the "Reply-To:" header provides a preferred address to
which reply messages should be sent (see 4.9). Typically, voice mail
systems can only support one originator of a message so it is likely
that this field will be ignored by the receiving system. From:
[RFC822]
SEND RULES
A conforming system SHOULD NOT send a "Reply-To:" header.
RECEIVE RULES
If a "Reply-To:" field is present, a reply-to-sender message MAY be
sent to the address specified (that is, in lieu of the address in the
"From:" field). If the receiving system (e.g., multi-protocol
gateway) only supports one address for the originator, then the
address in the "From:" field MUST be used and the "Reply-To:" field
MAY be silently discarded.
4.2.9. Received
The "Received:" field contains trace information added to the
beginning of a RFC822 message by MTAs. This is the only field that
may be added by an MTA. Information in this header is useful for
debugging when using an US-ASCII message reader or a header-parsing
tool. From: [RFC822]
SEND RULES
A VPIM-conforming system MUST add a "Received:" field. When acting
as a gateway, information about the system from which the message was
received SHOULD be included.
RECEIVE RULES
A VPIM-conforming system MUST NOT remove any "Received:" fields when
relaying messages to other MTAs or gateways. These header fields MAY
be ignored or deleted when the message is received at the final
destination.
4.2.10. MIME Version
The "MIME-Version:" field MUST be present to indicate that the
message conforms to [MIME1-5]. Systems conforming with this
specification SHOULD include a comment with the words "(Voice 2.0)".
[VPIM1] defines an earlier version of this profile and uses the token
(Voice 1.0). Example:
MIME-Version: 1.0 (Voice 2.0)
This identifier is intended for information only and SHOULD NOT be
used to semantically identify the message as being a VPIM message.
Instead, the presence of the multipart/voice-message content type
defined in section 18.2 SHOULD be used if identification is
necessary.
4.2.11. Content-Type
The "Content-Type:" header MUST be present to declare the type of
content enclosed in the message. The typical top-level content in a
VPIM Message SHOULD be Multipart/Voice-Message. The allowable
contents are detailed starting in section 4.4 of this document.
From: [MIME2]
4.2.12. 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.
SEND RULES
An implementation in conformance with this profile SHOULD send audio
and/or facsimile data in "Binary" form when binary message transport
is available (see section 5). When binary transport is not
available, implementations MUST encode the audio and/or facsimile
data as "Base64".
RECEIVE RULES
Conforming implementations MUST recognize and decode the standard
encodings, "Binary" (when binary support is available), "7bit,
"8bit", "Base64" and "Quoted-Printable" per [MIME1]. 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.
4.2.13. Sensitivity
The "Sensitivity:" field, if present, indicates the requested privacy
level. If no privacy is requested, this field is omitted. The
header definition is as follows:
Sensitivity := "Sensitivity" ":" Sensitivity-value
Sensitivity-value := "Personal" / "Private" / "Company-Confidential"
SEND RULES
A VPIM-conforming implementation MAY include this header to indicate
the sensitivity of a message. If a user marks a message "Private", a
conforming implementation MUST send only the "Private" sensitivity
level. There are no VPIM-specific semantics defined for the values
"Personal" or "Company-Confidential". A conforming implementation
SHOULD NOT send the values "Personal" or "Company-Confidential". If
the message is of "Normal" sensitivity, this field SHOULD be omitted.
From: [X.400]
RECEIVE RULES
If a "Sensitivity:" field with a value of "Private" is present in the
message, a conforming system MUST prohibit the recipient from
forwarding this message to any other user. A conforming system,
however, SHOULD allow the responder to reply to a sensitive message,
but SHOULD NOT include the original message content. The responder
MAY set the sensitivity of the reply message.
A receiving system MAY ignore sensitivity values of "Personal" and
"Company Confidential".
If the receiving system does not support privacy and the sensitivity
is "Private", a negative delivery status notification MUST be sent to
the originator with the appropriate status code (5.6.0) "Other or
undefined protocol status" indicating that privacy could not be
assured. The message contents SHOULD be returned to the sender to
allow for a voice context with the notification. A non-delivery
notification to a private message SHOULD NOT be tagged private since
it will be sent to the originator. From: [X.400]
A message with no privacy explicitly noted (i.e., no header) or with
"Normal" sensitivity has no special treatment.
4.2.14. Importance
Indicates the requested importance to be given by the receiving
system. If no special importance is requested, this header MAY be
omitted and the value of the absent header assumed to be "normal".
From: [X.400]
Importance := "Importance" ":" importance-value
Importance-value := "low" / "normal" / "high"
SEND RULES
Conforming implementations MAY include this header to indicate the
importance of a message.
RECEIVE RULES
If the receiving system does not support "Importance:", the attribute
MAY be silently dropped.
4.2.15. Subject
The "Subject:" field is often provided by email systems but is not
widely supported on voice mail platforms. From: [RFC822]
SEND RULES
For compatibility with text-based mailbox interfaces, a text subject
field SHOULD be generated by a conforming implementation. 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 Message" or "Voice Message" for the benefit
of GUI-enabled recipients.
RECEIVE RULES
It is anticipated that many voice-only systems will be incapable of
storing the subject line. The subject MAY be discarded by a
receiving system.
4.3. MIME Audio Content Descriptions
4.3.1. Content-Description
This field MAY be present to facilitate the text identification of
these body parts in simple email readers. Any values may be used.
Example:
Content-Description: Big Telco Voice Message
SEND RULES
This field MAY be added to a voice body part to offer a freeform
description of the voice content. It is useful to incorporate the
values for Content-Disposition with additional descriptions. For
example, this can be used to indicate product name or transcoding
records.
RECEIVE RULES
This field MAY be displayed to the recipient. However, since it is
only informative it MAY be ignored.
4.3.2. Content-Disposition
This field MUST be present to allow the parsable identification of
body parts within a VPIM voice message. This is especially useful
if, as is typical, more than one Audio/* body occurs within a single
level (e.g., Multipart/Voice-Message). Since a VPIM voice message is
intended to be automatically played in the order in which the audio
contents occur, the audio contents MUST always be of disposition
inline. However, it is still useful to include a filename value, so
this SHOULD be present if this information is available. From:
[DISP]
SEND RULES
In order to distinguish between the various types of audio contents
in a VPIM voice message a new disposition parameter "voice" is
defined with IANA (see section 18.1) with the parameter values below
to be used as appropriate:
Audio-Type := "voice" "=" Audio-type-value
Audio-type-value := "Voice-Message" / "Voice-Message-Notification" /
"Originator-Spoken-Name" /"Recipient-Spoken-Name" /"Spoken-Subject"
Voice-Message - the primary voice message,
Voice-Message-Notification - a spoken delivery notification
or spoken disposition notification,
Originator-Spoken-Name - the spoken name of the originator,
Recipient-Spoken-Name - the spoken name of the recipient(s) if
available to the originator
Spoken-Subject- the spoken subject of the message, typically
spoken by the originator
Note that there SHOULD only be one instance of each of these types of
audio contents per message level. Additional instances of a given
type (i.e., parameter value) MAY occur within an attached forwarded
or reply voice message. If there are multiple recipients for a given
message, recipient-spoken-name MUST NOT be used.
RECEIVE RULES
Implementations SHOULD use this header. However, those that do not
understand the "voice" parameter (or the "Content-Disposition:"
header) can safely ignore it, and will present the audio body parts
in order (but will not be able to distinguish between them). If more
than one instance of the "voice" parameter type value is encountered
at one level (e.g., multiple ’Voice-Message’ tagged contents) then
they SHOULD be presented together.
4.3.3. Content-Duration
The "Content-Duration:" header provides an indication of the audio
length in seconds of the segment.
Example:
Content-Duration: 33
SEND RULES
This field MAY be present to allow the specification of the length of
the audio body part in seconds.
RECEIVE RULES
The use of this field on reception is a local implementation issue.
From: [DUR]
4.3.4. Content-Language:
This field MAY be present to allow the specification of the spoken
language of the audio body part. The encoding is defined in [LANG].
Example for UK English:
Content-Language: en-UK
SEND RULES
A sending system MAY add this field to indicate the language of the
voice. The determination of this (e.g., automated or user-selected)
is a local implementation issue.
RECEIVE RULES
The use of this field on reception is a local implementation issue.
It MAY be used as a hint to the recipient (e.g., end-user or an
automated translation process) as to the language of the voice
message.
4.4. Voice Message Content Types
The content types described in this section are identified for use
within the Multipart/Voice-Message content. This content is referred
to as a "VPIM message" in this document and is the fundamental part
of a "VPIM message".
Only the contents profiled can be sent within a VPIM voice message
construct (i.e., the Multipart/Voice-Message content type) to form a
simple or a more complex structure (several examples are given in
Appendix B). The presence of other contents within a VPIM voice
message is not permitted. In the absence of a bilateral agreement,
conforming implementations MUST NOT create a message containing
prohibited contents. In the spirit of liberal acceptance, a
conforming implementation MAY accept and render prohibited content.
Systems unable to accept or render prohibited contents MAY discard
the prohibited contents as necessary to deliver the acceptable
content. When multiple contents are present within the
Multipart/Voice-Message, they SHOULD be presented to the user in the
order that they appear in the message.
Some deployed implementations based on a common interpretation of the
original VPIM v2 specification reject messages with prohibited
content rather than discard the unsupported contents. For
interoperability with these systems, it is especially important that
prohibited contents not be sent within a Multipart/Voice-Message.
4.4.1. Multipart/Voice-Message
This MIME multipart structure provides a mechanism for packaging a
voice message into one container that is tagged as VPIM v2
conforming. The sub-type is identical in semantics and syntax to
multipart/mixed, as defined in [MIME2]. As such, it may be safely
interpreted as a multipart/mixed by systems that do not understand
the sub-type (only the identification as a voice message would be
lost).
In addition to the MIME required boundary parameter, a version
parameter is also required for this sub-type. This is to distinguish
this refinement of the sub-type from the previous definition in
[VPIM1]. The value of the version parameter is "2.0" if the content
conforms to the requirements of this specification. Should there be
further revisions of this content type, there MUST be backwards
compatibility (i.e., systems implementing version n can read version
2, and systems implementing version 2 can read version 2 contents
within a version n).
SEND RULES
The Multipart/Voice-Message content-type MUST only contain the
profiled media and content types specified in this section (i.e.,
Audio/*, Image/*, and Message/RFC822). The most common will be:
spoken name, spoken subject, the message itself, and an attached fax.
Forwarded messages are created by simply using the Message/RFC822
construct.
Conformant implementations MUST use Multipart/Voice-Message in a VPIM
message. In most cases, this Multipart/Voice-Message Content-Type
will be the top level but may be included within a Message/RFC822 if
the message is forwarded or within a multipart/mixed when more than
one message is being forwarded.
RECEIVE RULES
Conformant implementations MUST recognize the Multipart/Voice-Message
content (whether it is a top-level content or contained in a
Multipart/Mixed) and MUST be able to separate the contents (e.g.,
spoken name or spoken subject).
The semantic of Multipart/Voice-Message (defined in section 18.2) is
identical to Multipart/Mixed and may be interpreted as that by
systems that do not recognize this content-type.
4.4.2. Message/RFC822
SEND RULES
MIME requires support of the Message/RFC822 message encapsulation
body part. This body part SHOULD be used within a Multipart/Voice-
Message to forward complete messages (see 4.8) or to reply with
original content (see 4.9). From: [MIME2]
RECEIVE RULES
The receiving system MUST accept this format and SHOULD treat this
attachment as a forwarded message. The receiving system MAY flatten
the forwarding structure (i.e., remove this construct to leave
multiple voice contents or even concatenate the voice contents to fit
in a recipient’s mailbox), if necessary.
4.4.3. Audio/32KADPCM
SEND RULES
An implementation conforming to this profile MUST send Audio/32KADPCM
by default for voice [ADPCM]. This encoding is a moderately-
compressed encoding with a data rate of 32 kbits/second using
moderate processing resources. Typically, this body contains several
minutes of message content; however, if used for spoken name or
subject the content is expected to be considerably shorter (i.e.,
about 5 and 10 seconds respectively).
RECEIVE RULES
Receivers MUST be able to accept and decode Audio/32KADPCM. If an
implementation can only handle one voice body, then multiple voice
bodies (if present) SHOULD be concatenated, and MUST NOT be
discarded. If concatenated, the contents SHOULD be in the same order
they appeared in the multipart.
4.4.4. Image/TIFF
A common image encoding for facsimile, known as TIFF-F, is a
derivative of the Tag Image File Format (TIFF) and is described in
several documents. For the purposes of VPIM, the F Profile of TIFF
for Facsimile (TIFF-F) is defined in [TIFF-F], and the Image/TIFF
MIME content-type is defined in [TIFFREG]. While there are several
formats of TIFF, only TIFF-F is profiled for use within
Multipart/Voice-Message. Further, since the TIFF-F file format is
used in a store-and-forward mode with VPIM, the image MUST be encoded
so that there is only one image strip per facsimile page.
SEND RULES
All VPIM implementations that support facsimile MUST generate TIFF-F
compatible facsimile contents in the Image/TIFF subtype using the
application=faxbw encoding by default. If the VPIM message is a
voice- annotated fax, the implementation SHOULD send this fax content
in Multipart/Voice-Message. If the message is a simple fax, an
implementation MAY send it without using the Multipart/Voice-Message
to be more compatible with fax-only (RFC 2305) implementations.
While any valid MIME body header MAY be used (e.g., Content-
Disposition to indicate the filename), none are specified to have
special semantics for VPIM and MAY be ignored. Note that the
content-type parameter application=faxbw MUST be included in outbound
messages.
RECEIVE RULES
Not all VPIM systems support fax, but all SHOULD accept it within the
multipart/voice-message. Within a Multipart/Voice-Message, a
receiving system that cannot render fax content SHOULD accept the
voice content of a VPIM message and discard the fax content. Outside
a Multipart/Voice-Message, a recipient system MAY reject (with
appropriate NDN) the entire message if it cannot store or is not
capable of rendering a message with fax attachments. VPIM conforming
systems MAY support fax outside of (or without) the Multipart/Voice-
Message.
Some deployed implementations based on a common interpretation of the
original VPIM V2 specification reject messages with fax content
within the Multipart/Voice-Message rather than discard the
unsupported contents. These systems will return the message to the
sender with an NDN indicating lack of support for fax.
4.5. Other MIME Contents
The following MIME contents (with the exception of multipart/mixed in
section 4.5.1) MAY be included within a multipart/voice message.
Other contents MUST NOT be included. Their handling is a local
implementation issue. Multipart/mixed is included to promote
interoperability with a wider range of systems and also to allow the
creation of more complex multimedia messages (with a VPIM message as
one part).
4.5.1. Multipart/Mixed
This common MIME content-type allows the enclosing of several body
parts in a single message.
SEND RULES
A VPIM voice message (i.e., multipart/voice-message) MAY be included
within a message with a Multipart/Mixed top-level content type.
Typically, this would only be used when mixing non-voice and non-fax
contents with a voice message.
RECEIVE RULES
Such a message is not itself a VPIM message and the handling of such
a construct is outside the scope of the VPIM profile. However, an
the spirit of liberal acceptance, a conforming implementation MUST
accept and render a VPIM voice message contained in a
Multipart/Mixed.
4.5.2. Text/Directory
SEND RULES
This content was profiled in the original specification of VPIM v2 as
a means of transporting contact information from the sender to the
recipient. This usage did not find widespread adoption and is no
longer a feature of VPIM V2. Conforming implementations SHOULD NOT
send the Text/Directory content type.
RECEIVE RULES
For compatibility with an earlier specification of VPIM v2, the
Text/Directory content type MUST be accepted by a conforming
implementation, but need not be stored, processed, or rendered to the
recipient.
4.5.3. Proprietary Voice or Fax Formats
Use of any other encoding except the required codecs reduces
interoperability in the absence of explicit knowledge about the
capabilities of the recipient. A conforming implementation SHOULD
NOT use any other encoding unless a unique identifier is registered
with the IANA prior to use (see [MIME4]). The voice encodings SHOULD
be registered as subtypes of Audio. The fax encodings SHOULD be
registered as subtypes of Image.
SEND RULES
Proprietary voice encoding formats or other standard formats SHOULD
NOT be sent under this profile unless the sender has a reasonable
expectation that the recipient will accept the encoding. In
practice, this requires explicit per-destination configuration
information maintained either in a directory, personal address book,
or gateway configuration tables.
RECEIVE RULES
Systems MAY accept other Audio/* or Image/* content types if they can
decode them. Systems which receive Audio/* or Image/* content types
which they are unable to deposit or unable to render MUST return the
message (and SHOULD include the original content) to the originator
with an NDN indicating media not supported.
4.5.4. Text/Plain
MIME requires support of the basic Text/Plain content type (with the
US-ASCII character set). This content type has limited applicability
within the voice-messaging environment. However, because VPIM is a
MIME profile, MIME requirements SHOULD be met.
SEND RULES
Conforming VPIM implementations SHOULD NOT send the Text/Plain
content-type. Implementations MAY send the Text/Plain content-type
outside the Multipart/Voice-Message.
RECEIVE RULES
Within a Multipart/Voice-Message, the Text/Plain content-type MAY be
dropped from the message, if necessary, to deliver the audio/fax
components. The recipient SHOULD NOT reject the entire message if
the text component cannot be accepted or rendered.
Outside a Multipart/Voice-Message, conforming implementations MUST
accept Text/Plain; however, specific handling is left as an
implementation decision. From: [MIME2]
Some deployed implementations based on a common interpretation of the
original VPIM V2 specification reject messages with any text content
rather than discard the unsupported contents. These systems will
return the message to the sender with an NDN indicating lack of
support for text.
4.6. Delivery Status Notification (DSN)
A DSN is a notification of delivery (positive DSN), non-delivery
(negative DSN), or temporary delivery delay (delayed DSN). The top-