RFC 4024 INFORMATIONAL MESSAGING · VOICE · CLIENT BEHAVIOR

VPIM Client Behaviour: Voice Messaging Client Behaviour

How email clients should display and handle voice and fax messages.

On rfc-editor.org ↗
PUBLISHED
July 2005
AUTHORS
G. Parsons, J. Maruszak
STREAM
IETF
DOI
10.17487/RFC4024

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
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.

AI ELI5

On this page
PROBLEMEmail clients traditionally handle text. When voice and fax messages arrive via email, clients display them poorly: showing file sizes in kilobytes (not duration in seconds), opening text editors instead of audio players, and marking messages as read before the audio plays.
MECHANISMRFC 4024 specifies client behaviors for mixed-media messages. Clients should determine the primary content type (voice, fax, or text) from message headers, and then display appropriate icons, open appropriate viewers, show appropriate sizes, and mark as read only when the primary content is viewed.
WHY IT MATTERSEmail clients that follow this guidance provide a consistent, intuitive experience for voice and fax messages, similar to the experience for text messages.

§1Voice and Fax in the Mailbox

RFC 4024 defines expected behavior for messaging clients when handling voice and fax messages, particularly those formatted as VPIM (Voice Profile for Internet Mail) messages. As unified messaging systems integrate voicemail, email, and fax, clients must learn to handle multiple media types in the same message.

A key concept is Message-Context, a header field that declares the primary content type of a message—voice, fax, or text. For messages with multiple parts (for example, a voice message with an attached text transcript), the Message-Context identifies which part is the main content.

The RFC acknowledges that messaging clients have evolved beyond graphical interfaces on computers. Modern clients include text-based interfaces on wireless devices, web clients, and teleset user interfaces (TUI) where messages are listened to over a telephone. Despite this diversity, user expectations remain consistent: a voice message should behave like a voice message, whether accessed from a desktop, phone, or web interface.

When a voice message arrives, the email program needs to know it's a voice message. Then it can treat it right: show a phone icon, play it with sound, tell you how long it is, and remember when you've listened to it.

§2Displaying Messages Correctly

A messaging client should display a visual or audio cue to indicate the message type. For graphical clients, obvious choices are a telephone icon for voice, a fax-machine icon for fax, and an envelope for text. For teleset interfaces, an audio cue or earcon like a spoken prompt "voice message" is appropriate.

The icon can be enhanced to show read status. A telephone with the receiver off-hook might indicate a played voice message. A fax machine with paper at the bottom (rather than the top) might show a viewed fax. An open envelope shows a read text message.

In a message list showing multiple messages, clients should display the sender's phone number for voice and fax messages, rather than forcing it into an email address format. This is critical for users who want to return a call. A separate column or header field makes this number visible without converting it to an email address.

Show a phone for voice, a fax machine for faxes, and a letter for email. Show the caller's phone number so you can call them back. Change the icon when you've listened to it.

§3Showing Message Size Appropriately

Message size is traditionally shown in kilobytes. For voice messages, kilobytes are not meaningful; a user cares about duration in seconds. For fax messages, the relevant information is the number of pages. Text messages remain measured in kilobytes.

The RFC proposes three methods to relay this information. The first and preferred method uses the Content-Duration MIME header (defined in RFC 2424) for voice messages. For fax messages, a new MIME header called Content-Page-Length could specify the number of pages.

Alternatively, length information can be embedded as a parameter in the Content-Type header (for example, Content-Type: audio/*; length=50) or in the message's Subject line (for example, Subject: Voice Message (0:04)). The first method is preferred because it separates metadata from human-visible fields and works naturally with IMAP.

When a message contains multiple audio or fax parts, the client may display the main part's duration or an aggregate of all parts, depending on implementation.

Show voice messages in seconds, faxes in page count. Don't say "500 kilobytes" for a voice message—that doesn't help you decide if you have time to listen.

§4Opening the Right Viewer

When a user opens a message, the client should open the appropriate viewer for the primary content type: an audio player for voice, an image viewer for fax, a text editor for text messages. The Message-Context header tells the client what the primary type is.

Where multiple viewers are available for one media type, the user should be prompted to choose on the first encounter. That choice becomes the default for that media type going forward, and the user can change the default at any time.

The viewer may or may not be part of the client itself. A user might select to play a voice message from a graphical email client but have it play over a telephone speaker (because the user has no desktop speakers). Similarly, a user listening to their inbox over a teleset interface might choose to print a fax message to a nearby fax machine instead of listening to it read aloud.

When a message contains multiple body parts, the viewer used depends on which part the user selects.

Click a voice message and it plays. Click a fax and it opens an image viewer. Click text and it opens an editor. The first time, pick your favorite viewer; next time it opens automatically.

§5Marking Messages as Read

Users need to know which messages they have read and which are unread. Traditionally, email clients mark a message as read as soon as the first body part (typically text) is viewed.

For voice and fax messages, this is incorrect. A voice message should not be marked as read until the audio part has been played. A fax should not be marked as read until the image has been viewed.

For IMAP4 clients, this means delaying the setting of the \SEEN flag until after the primary content type (as indicated by the Message-Context header, or by content-disposition or content-criticality headers) has been opened. If the message context indicates a voice message, the flag is set only after the primary voice part is opened. If the context indicates a fax, the flag is set only after the fax image is opened.

Don't say you've read a voice message until you've actually listened to it. Don't say you've read a fax until you've looked at the picture. Mark as read only when the main content is actually viewed.

§6References