VPIM Client Behaviour: Voice Messaging Client Behaviour
How an email client should show and handle voice and fax mail, from the icon to the read flag.
Parsons, G. and J. Maruszak, "Voice Messaging Client Behaviour", RFC 4024, DOI 10.17487/RFC4024, July 2005, <https://www.rfc-editor.org/info/rfc4024>.
@misc{rfc4024,
series = {Request for Comments},
number = 4024,
howpublished = {RFC 4024},
publisher = {RFC Editor},
doi = {10.17487/RFC4024},
url = {https://www.rfc-editor.org/info/rfc4024},
author = {G. Parsons and J. Maruszak},
title = {{Voice Messaging Client Behaviour}},
pagetotal = 9,
year = 2005,
month = jul,
} RFC text
Contents
Network Working Group G. Parsons
Request for Comments: 4024 Nortel Networks
Category: Informational J. Maruszak
July 2005
Voice Messaging Client Behaviour
Status of This Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document defines the expected behaviour of a client to various
aspects of a Voice Profile for Internet Mail (VPIM) message or any
voice and/or fax message.
Table of Contents
1. Introduction.................................................. 2
2. Conventions Used in This Document............................. 2
3. Message Icon.................................................. 3
3.1. Proposed Mechanism...................................... 3
4. Sender's Number Column........................................ 3
4.1. Proposed Mechanism...................................... 4
5. Message Size.................................................. 4
5.1. Proposed Mechanism...................................... 4
6. Media Viewer.................................................. 5
6.1. Proposed Mechanism...................................... 6
7. Mark Message as Read.......................................... 6
7.1. Proposed Mechanism...................................... 6
8. Security Considerations....................................... 7
9. Informative References........................................ 7
10. Acknowledgments............................................... 8
1. Introduction
As Internet messaging evolves into unified messaging, the term
"e-mail" no longer refers to text-only messages. Today's "e-mail"
are often multi-media. That is, they can have numerous non-text
parts. These parts can be attachments or can contain voice and/or
fax.
Each of voice, fax, and text have their own distinct characteristics,
which are intuitive to the user. For example, each of these message
types require a different media viewer (text editor for text, audio
player for voice, and image viewer for fax), and the dimensions of
message size are also different for all three (kilobytes for text,
seconds for voice, and pages for fax). As a result, a message that
includes more than one of these in its parts is termed a mixed media
message.
How the messaging client responds to, and acts on these differences
is termed "Client Behaviour". This is dependent on the concept of
"Message-Context" [2] (previously called primary content), which
defines whether the message is a voice mail, fax, or text message.
The client can utilize this header to determine the appropriate
client behaviour for a particular message.
Traditionally, a messaging "client" referred to some sort of visual
interface (or GUI - graphical user interface) that was presented on
the users computer. However, as messaging evolves to unified
communications the actual form of the messaging client is expected to
change. Today's email can often be viewed on wireless devices with
very limited screens or even "viewed" over a telephone (i.e.,
listening to email as you would listen to voice mail through a TUI -
telset user interface).
The intent of this document is to be general and refer to all types
of messaging clients, as the user's expectation of behaviour based on
the type of message is not expected to change. However, some of the
following concepts may tend towards the more common GUI client.
2. Conventions Used in This Document
In examples, "C:" and "S:" indicate lines sent by the client and
server respectively.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [4].
3. Message Icon
The preferred method to distinguish between voice, fax, and text
messages on a GUI client is with a visual cue, or icon. A similar
voice prompt or "earcon" would be used for TUI clients.
As it is possible for the message to contain more than one media
type, the icon should describe the primary message content, as
defined by the "Message-Context" header. Obvious choices for the
icon/message pairs would be a telephone for a voice message, a fax
machine for a fax message, and an envelope for a text mail message.
Similarly obvious for the earcons would be short spoken prompts like
"voice message".
This could be taken a step further, and have the GUI icon change to
indicate that the message has been read as is currently done in some
email clients (others do not change the icon but merely bold the
message in the message list to indicate it is unread). For example,
a telephone with the receiver off-hook could indicate that the voice
message has been played. A fax machine with paper at the bottom, as
opposed to the top, would show that the fax had been viewed.
Finally, an open envelope indicates that a text message has been
read.
3.1. Proposed Mechanism
As the choice of icon is determined by the primary message type, the
client should obtain this information from the "Message-Context "
message header. This header is defined in [2].
4. Sender's Number Column
As is the case with most email GUI clients today, important message
information is organized into columns when presented to the user in a
the summary message list. TUIs often present even briefer summaries
to the user at the beginning of the session. Typical columns in the
GUI client include the message subject, and the date the message was
received.
Another important piece of information for the user is the origin of
the message. For a voice or fax message, the origin is typically a
telephone or fax machine respectively, each of which has an
associated telephone number. This telephone number is critical to
the user if they wish to return the call. This should be presented
accurately to the user (without making it an email address).
4.1. Proposed Mechanism
Instead of forcing the telephone number into an email address, a new
Internet message header can be used to hold the originating telephone
number [3]. If the message is indicated as being a voice or fax
message per [2], the client should extract the number, and display it
to the user in a separate column. As this header is defined to only
hold the digits of the telephone number, it is left to the client to
add any separating characters (e.g., "-").
5. Message Size
In the cases of large attachments, small clients (e.g., PDA) and slow
links (e.g., wireless) there is also a need for the client to see the
length of the message in a suitable format before opening it.
Currently, message size is normally given in kilobytes (kB). This
is sufficient for plain text messages, but while it may give a hint
as to how good the compression algorithm is, kB is not very useful in
knowing the size of a voice and/or fax message. Instead, the size
should give an indication of the length of the message, i.e., the
duration (in seconds) of a voice message, and the number of pages of
a fax. Again, the message may contain multiple types, so the size
displayed should be that of the primary content type, per [2].
5.1. Proposed Mechanisms
There are three suggested methods to relay this information, of them,
the first method is favored:
5.1.1. MIME Header Content-Duration as described in RFC 2424 [5]
For voice messages, the Content-Duration field of the main audio/*
body part (as indicated by content-disposition per [1]) should be
displayed as the length of the message. If there are several audio
parts, an implementation may display the message size as an aggregate
of the length of each.
For fax messages a new MIME Header, Content-Page-Length, could be
defined, similar to Content-Duration with the exception that number
of pages would be specified, rather than number of seconds. (e.g.,
Content-Page-Length:3). This would be created at origination.
5.1.2. Message length indicated as a parameter of an Existing
RFC 2045 [7] Content-Type Header Field
This would be created at the source. This proposed method would
allow the message length to be passed to the client by default in
IMAP. Again the client would have to choose between the main voice
message length or an aggregate message length for display.
Content-Type Header Field example:
Content-Type=audio/*; length=50
Content-Type=image/tiff; pages=3
5.1.3. Message length indicated as part of an existing RFC 2822 [9]
Header Field
This field would be created at the source and may include message
length information, but because it is part of the message headers, it
could also be amended on reception (by a local process). This method
would allow the message length to be passed to any client by default
and not require any client modification. If used, this field would
indicate the aggregate length of all attachments.
The advantage of this mechanism is that no new headers are required
and it works with existing clients. The downside is that it
overloads the subject field.
Subject Header Field example:
Subject=Voice Message (0:04)
Subject=Fax Message (3p)
Subject=Voice Message (0:14) with Fax (1p)
6. Media Viewer
When a message is initially opened, the client should, by default,
open the proper media viewer to display the primary message content.
That is, an audio player for voice messages, an image viewer for fax,
and a text editor for text messages. Note that on a TUI, the viewer
would render the media to sound (which would have varying effect
depending on the media and available process).
Where there is more than one body part, obviously the appropriate
viewer should be used depending on which body part the user has
selected.
In the case where several viewers are available for a single media
type, the user should be prompted to select the desired viewer on the
first occasion that the message type is encountered. That viewer
should then become the default viewer for that media type. The user
should have the ability to change the default viewer for a media type
at any time.
Note that it is possible that the media viewer may not be part of the
client or local to the host of the client. For example, a user could
select to play a voice message from a GUI and the message is played
over a telephone (perhaps because the user has no desktop speakers).
Additionally, a user listening to a unified messaging inbox over a
TUI could chose to print a particular message to a nearby fax
machine.
6.1. Proposed Mechanism
As mentioned, the default viewer displayed to the user should be the
appropriate one for the primary message type. The client is able to
determine the primary message type from the "Message-Context" message
header per [2].
7. Mark Message as Read
Obviously, the user must be able to know which messages they have
read, and which are unread. This feature would also control the
message icon or earcon as mentioned in section 1.
With the proliferation of voice and fax messages, clients should only
indicate that these messages are read when the primary body part has
been read. For example, a voice message should not be indicated as
read until the audio part has been played. The default is currently
to mark a message read, when the first body part (typically text) is
viewed.
7.1. Proposed Mechanism
Implementation of this feature on most clients is a local issue.
For example, in the case of IMAP4 [6], these clients should only set
the \SEEN flag after the first attachment of the primary content type
has been opened. That is, if the message context is voice message,
the \SEEN flag would be set after the primary voice message
(indicated by content-disposition [1] or content-criticality [8]) is
opened.
8. Security Considerations
The desirable client behaviours described here are intended to
provide the user with a better client experience. However,
supporting the proposed behaviours described in this document does
not make a client immune from the risks of being a mail client. That
is, the client is not responsible for the format of the message
received, it only interprets. As a result, messages could be spoofed
or masqueraded to look like a message they are not to elicit a
desired client behaviour. This could be used to fool the end user,
for example, into thinking a message was a voice message (because of
the icon) when it was not.
9. Informative References
[1] Vaudreuil, G. and G. Parsons, "Voice Profile for Internet Mail -
version 2 (VPIMv2)", RFC 3801, June 2004.
[2] Burger, E., Candell, E., Eliot, C., and G. Klyne, "Message
Context for Internet Mail", RFC 3458, January 2003.
[3] Parsons, G. and J. Maruszak, "Calling Line Identification for
Voice Mail Messages", RFC 3939, December 2004.
[4] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[5] Vaudreuil, G. and G. Parsons, "Content Duration MIME Header
Definition", RFC 3803, June 2004.
[6] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1",
RFC 3501, March 2003.
[7] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message Bodies",
RFC 2045, November 1996.
[8] Burger, E., "Critical Content Multi-purpose Internet Mail
Extensions (MIME) Parameter", RFC 3459, January 2003.
[9] Resnick, P., "Internet Message Format", RFC 2822, April 2001.
[10] Parsons, G., "IMAP Voice Extensions", Work in Progress, June
1999.
10. Acknowledgments
This work was inspired by the discussion of "Proposed Mechanisms" for
IMAP that were detailed in a since expired work in progress entitled
"IMAP Voice Extensions" [10]. The authors would like to acknowledge
all those who contributed to that document. In addition, Cheryl
Kinden, Derrick Dunne, and Jason Collins assisted in the editing of
previous revisions of this document.
Author's Addresses
Glenn Parsons
Nortel Networks
P.O. Box 3511, Station C
Ottawa, ON K1Y 4H7
Canada
Phone: +1-613-763-7582
Fax: +1-613-967-5060
EMail: gparsons@nortel.com
Janusz Maruszak
Phone: +1-416-885-0221
EMail: jjmaruszak@sympatico.ca
Full Copyright Statement
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
ISO Plain Language
On this page
§1Voice and Fax in the Mailbox
RFC 4024 describes how a messaging client should behave when it receives voice or fax messages, including messages sent with the Voice Profile for Internet Mail (VPIM). It is an Informational document: it guides implementers and does not define a wire protocol.
As messaging grows into unified messaging, a single mailbox can hold text, voice and fax parts. Each media type has its own habits: users open text in an editor, voice in an audio player and fax in an image viewer, and they measure size in kilobytes, seconds and pages. A message with more than one type is a mixed media message.
The RFC hangs its guidance on the Message-Context header field, which says whether the message is voice mail, fax or text. The client reads that header to choose its behaviour. The document aims at all client forms, from graphical programs on computers to small screens and telephone user interfaces (TUI) that read mail aloud, because the user's expectation of behaviour does not change with the interface.
One mailbox can now hold text, voice and fax. This document tells a mail program how to tell them apart, using a header that names the main content type, and how to treat each type the way a user expects.
§2Icons, Earcons and the Sender's Number
The client should show a cue that says what kind of message this is. On a graphical interface the RFC suggests a telephone icon for voice, a fax machine for fax and an envelope for text. A telephone interface should use a short spoken prompt, called an earcon, such as "voice message".
The cue should reflect the primary content from the Message-Context header, and it can also show read state: a telephone with the receiver off-hook for a played voice message, a fax machine with paper at the bottom for a viewed fax, an open envelope for a read text message. The RFC notes that some clients instead bold unread rows in the list.
Message lists also normally show a sender column. For a voice or fax message the origin is a telephone or fax number, which the user needs in order to call back. The RFC says the client should display that number accurately and separately, not squeeze it into an email address. A dedicated header field carries the digits; the client adds any separating characters itself.
Show a phone, a fax machine or an envelope so the user can see the message type at a glance, and change the picture once the message has been played or viewed. Show the caller's real telephone number in the list so the user can call back.
- IconTelephone, fax machine or envelope, from Message-Context.
- Sender numberShow the origin's telephone number in its own column.
- SizeVoice in seconds, fax in pages, not kilobytes.
- ViewerAudio player, image viewer or text editor for the main part.
- Read stateMark read only after the main content is played or viewed.
§3Showing Message Size in Useful Units
Kilobytes suit text but say little about voice or fax. A user deciding whether to listen now wants the duration in seconds; for a fax, the number of pages. The size the client shows should describe the primary content type from Message-Context.
The RFC offers three ways to carry this information and favours the first. The preferred route uses the Content-Duration MIME header from RFC 3803 on the main audio body part; a client may add up the lengths of several audio parts. For fax a new header along the same lines, Content-Page-Length, could carry the page count, for example Content-Page-Length:3.
The second route puts a length parameter on the Content-Type header at the source, for example Content-Type:audio/*; length=50 or Content-Type:image/tiff; pages=3. The third puts the length in the Subject line, for example Subject=Voice Message (0:04), which needs no client changes but overloads the subject field.
Count voice in seconds and fax in pages, not in kilobytes. The RFC prefers a dedicated length header, but also describes passing the length in the Content-Type header or in the subject line.
§4Opening the Right Media Viewer
When the user opens a message, the client should open the viewer that suits the primary content: an audio player for voice, an image viewer for fax, a text editor for text. On a telephone interface the same content is rendered as sound. The Message-Context header tells the client which viewer to use; when several body parts exist, the viewer follows the part the user selected.
When more than one viewer can handle a media type, the client should ask the user to pick on the first occasion, then use that choice as the default for that type. The user must be able to change the default later.
The viewer need not live inside the client. The RFC's examples: a user plays a voice message from a graphical client but the audio comes out over a telephone because the desktop has no speakers, and a user listening to the inbox by telephone prints a fax to a nearby machine instead.
Opening a voice message should start an audio player, a fax should open an image viewer, and text should open an editor. If several viewers fit, ask once, remember the answer, and let the user change it. The player or printer can even sit on a different device.
§5Marking a Message as Read
Users need to see which messages are still unread. The common default marks a message read as soon as its first body part, usually the text part, is viewed. For voice and fax messages the RFC says that default is wrong: a voice message is read only once the audio has been played, and a fax only once the image has been viewed.
For an IMAP4 client this means delaying the \SEEN flag. In the RFC's procedure, the flag is set only after the first attachment of the primary content type has been opened. If Message-Context says voice message, \SEEN is set after the primary voice part, identified by content-disposition or content-criticality, is opened.
This feature is mostly a local matter of client implementation; no new protocol machinery is required.
Do not mark a voice message read until the audio has played, or a fax until the image has been seen. In IMAP terms, set the seen flag only after the main content part is opened.
§6Security Considerations
The RFC notes that following its guidance improves the user experience but does not make a client safe. A client only interprets the messages it receives and is not responsible for their format. A message can therefore be spoofed or masquerade as something it is not, and the RFC's example is a message dressed up as a voice message, complete with the voice icon, that is not one, in order to fool the end user into a desired behaviour.
The icon and the size come from the message itself, so a forged message can lie about its type. These behaviours improve handling, not safety.