Calling Line Identification for Voice Mail Messages
Two mail headers that keep a caller's number and name with a stored voice mail message.
Parsons, G. and J. Maruszak, "Calling Line Identification for Voice Mail Messages", RFC 3939, DOI 10.17487/RFC3939, December 2004, <https://www.rfc-editor.org/info/rfc3939>.
@misc{rfc3939,
series = {Request for Comments},
number = 3939,
howpublished = {RFC 3939},
publisher = {RFC Editor},
doi = {10.17487/RFC3939},
url = {https://www.rfc-editor.org/info/rfc3939},
author = {G. Parsons and J. Maruszak},
title = {{Calling Line Identification for Voice Mail Messages}},
pagetotal = 11,
year = 2004,
month = dec,
} RFC text
Contents
Network Working Group G. Parsons
Request for Comments: 3939 J. Maruszak
Category: Standards Track Nortel Networks
December 2004
Calling Line Identification for Voice Mail Messages
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2004).
Abstract
This document describes a method for identifying the originating
calling party in the headers of a stored voice mail message. Two new
header fields are defined for this purpose: Caller_ID and
Called_Name. Caller_id is used to store sufficient information for
the recipient to callback, or reply to, the sender of the message.
Caller-name provides the name of the person sending the message.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions Used in this Document. . . . . . . . . . . . . . . 3
3. Calling Line Identification Field. . . . . . . . . . . . . . . 3
3.1. Internal Call. . . . . . . . . . . . . . . . . . . . . . 4
3.2. External Call. . . . . . . . . . . . . . . . . . . . . . 4
3.3. Numbering Plan . . . . . . . . . . . . . . . . . . . . . 4
3.4. Date Header. . . . . . . . . . . . . . . . . . . . . . . 5
4. Caller Name Field. . . . . . . . . . . . . . . . . . . . . . . 5
5. Formal Syntax. . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Calling Line Identification Syntax . . . . . . . . . . . 6
5.2. Caller Name Syntax . . . . . . . . . . . . . . . . . . . 6
5.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . 6
6. Other Considerations . . . . . . . . . . . . . . . . . . . . . 6
7. Security Considerations. . . . . . . . . . . . . . . . . . . . 7
8. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 7
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.1. Normative References . . . . . . . . . . . . . . . . . . 8
9.2. Informative References . . . . . . . . . . . . . . . . . 8
10. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction
There is currently a need for a mechanism to identify the originating
party of a voice mail message, outside of the "FROM" header
information. The telephone number and name of the caller are
typically available from the telephone network, but there is no
obvious header field to store this in an Internet Mail message.
This information is intended for use when the VPIM message format is
used for storing "Call Answer" voice messages in an Internet Mail
message store, i.e., the calling party leaves a voice message for the
recipient, who was unable to answer the call. The implication is
that there is no RFC 2822 address known for the originator.
[VPIMV2R2] suggests the originating number be included as an Internet
address, using the first method shown below. There are several other
ways to store this information, but they all involve some
manipulation of the "From" field. For example:
1. From: "416 555 1234" <non-mail-user@host>
2. From: "John Doe" <4165551234@host>
3. From: unknown:;
Since any of these is a forced translation, it would be useful to
store the calling party's name and number as presented by the
telephone system to the called party without manipulation. This
would allow the calling party's information to be displayed to the
recipient (similar to it appearing on the telephone) and also allow
future determination of an Internet address for the originator (if
one exists). Note that there is no requirement to store meta-data
(e.g., type of number, presentation restricted), as this information
is not presented to the called party and is generally not available
to voice mail systems. The intent is to store the available
information to an analog (non-ISDN) phone (e.g., per [T1.401] in
North America).
[RFC2076] currently lists "phone" as an Internet message header which
would hold the originating party's telephone number, but it is listed
as "non-standard", i.e., usage of this header is not generally
recommended. It also has no defined format, making the information
unparsable. There is no similar entry for the originator's name.
It is proposed that two new message header fields be included to hold
this information, namely the Calling Line Identification ("Caller-
ID") and Caller Name ("Caller-Name").
2. Conventions Used in this Document
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 BCP 14, [RFC2119].
3. Calling Line Identification Field
The Calling Line Identification header ("Caller-ID") holds sufficient
information for the recipient's voice mail system to call back, or
reply to, the sender of the message. The number that is contained in
this header is supplied by the telephone system. The exact format of
the data received depends on the type of call, that is -- internal or
external call.
Note that for both options, the number field MUST contain only the
digits of the number and MUST be representable using the American
Standard Code for Information Interchange [ASCII] character set; it
does not include any separating character (e.g., "-").
It is expected that default, likely to be the most common case, will
not have any numbering plan semantic associated with the number.
However, in the case that it is known, an optional "NumberingPlan"
parameter MAY be used to indicate the semantic.
3.1. Internal Call
For an internal call (e.g., between two extensions within the same
company), it is sufficient to relay only the extension of the calling
party, based on the company dialing plan.
However, the support of longer numbers may be supported by the
enterprise phone system.
3.2. External Call
For an international call, the calling party's number must be the
full international number as described in [E.164], i.e., Country Code
(CC), National Destination Code (NDC), and Subscriber Number (SN).
Other information, such as prefixes or symbols (e.g., "+"), MUST NOT
be included. [E.164] allows for numbers of up to 15 digits.
For a call within North America, it is also suggested that 15 digits
per [T1.625] be supported. However, some service providers may only
support 10 digits as described in [T1.401] and [GR-31-CORE]. Though
it is desirable that an international number not be truncated to 10
digits if it contains more, it is recognized that limitations of
various systems will cause this to happen.
Implementors of this specification should be aware that some phone
systems are known to truncate international numbers, even though this
behavior is undesirable.
Note that the other defined fields available to non-analog systems
(e.g., subaddress, redirecting number), as well as the meta-data, are
not intended to be stored in this header.
3.3. Numbering Plan
In this baseline case (i.e., analog lines), no numbering plan
information is known or implied. However, in the case that a
numbering plan is known, an optional "NumberingPlan" parameter MAY be
used to indicate the semantic. Only three semantics are defined:
"unknown", "local", and "e164". "unknown" is the default if no
numbering plan semantic is known (and the default if the parameter is
absent). "local" has meaning only within the domain of the voice
mail system that stored the message (i.e., the voice mail system
knows that the number belongs to a local numbering plan). "e164"
indicates that the number is as described in [E.164]. "x-" may be
used to indicate enterprise or service specific dialing plans.
3.4. Date Header
The date and time may be included by the telephone system with the
calling party's telephone number per [T1.401]. This MAY be used, as
there is an existing "Date" Internet header to hold this information.
It is a local implementation decision whether this time or the local
system time will be recorded in the "Date" header.
4. Caller Name Field
The name of the person sending the message is also important.
Information about whether the call is internal or external may be
included if it is available. This information may not be available
on international calls.
Further, the exact format for this field is typically a service
provider option per [T1.641]. It is possible for the caller's name
to be sent in one of several character sets depending on the service
provider signaling transport (e.g., ISDN-UP, SCCP, TCAP). These
include:
1) International Reference Alphabet (IRA), formerly know as
International Alphabet No.5 or IA5 [T.50]
2) Latin Alphabet No. 1 [8859-1]
3) American National Standard Code for Information Interchange
[ASCII]
4) Character Sets for the International Teletex Service [T.61]
Of these, the IRA and T.61 character sets contain a number of options
that help specify national and application oriented versions. If
there is no agreement between parties to use these options, then the
7-bit character set in which the graphical characters of IRA, T.61,
and ASCII are coded exactly the same, will be assumed. Further, the
7-bit graphical characters of [8859-1] are the same as in [ASCII].
Note that for delivery to customer equipment in North America, the
calling name MUST be presented in ASCII per [T1.401].
As a result, for the caller name header defined in this document,
characters are represented with ASCII characters. However, if a name
is received that cannot be represented in 7-bit ASCII, it MAY be
stored using its native character set as defined in [RFC2047].
In telephone networks, the length of the name field MUST NOT exceed
50 characters, as defined in [T1.641]. However, service providers
may choose to further limit this to 15 characters for delivery to
customer equipment, e.g., [T1.401] and [GR-1188-CORE].
5. Formal Syntax
Both Calling Line Identification and Caller Name follow the syntax
specification using the augmented Backus-Naur Form (BNF) as described
in [RFC2234]. While the semantics of these headers are defined in
sections 4 and 5, the syntax uses the 'unstructured' token defined in
[RFC2822]:
unstructured = *([FWS] utext) [FWS]
5.1. Calling Line Identification Syntax
"Caller-ID" ":" 1*DIGIT [ "," "NumberingPlan="
( "unknown" / "local" / "e164" / ietf-token / x-token ) ] CRLF
ietf-token := <An extension token defined by a
standards-track RFC and registered
with IANA.>
x-token := <The two characters "X-" or "x-" followed, with
no intervening white space, by any token>
5.2. Caller Name Syntax
"Caller-Name" ":" unstructured CRLF
5.3. Examples
To: +19725551212@vm1.example.com
Caller-ID: 6137684087
Caller-Name: Derrick Dunne
To: 6137637582@example.com
Caller-ID: 6139416900
Caller-Name: Jean Chretien
6. Other Considerations
6.1. Compatibility with Other Internet Phone Numbers
The intent of these headers are to record telephone number that is
sent by the analog phone system with an incoming call without
alteration or interpretation. If sufficient semantic is known or can
be inferred, this may be included in the NumberingPlan field. This
may allow it to be later translated into an addressable phone number.
Addressable or dialable phone numbers (which this document does not
define) are defined in other documents, such as GSTN address
[RFC3191] or telephone URL [RFC2806].
6.2. Usage
There are a few scenarios of how this mechanism may fail that must be
considered. The first is mentioned in section 3.2 - the truncation
of an international number to 10 digits. This could result in a
misinterpretation of the resulting number. For instance, an
international number (e.g., from Ireland) of the form "353 91 73
3307" could be truncated to "53 91 73 3307" if received in North
America, and interpreted as "539 917 3307" - a seemingly "North
American" style number. Thus, the recipient is left with incorrect
information to reply to the message, possibly with an annoyed callee
at the North American number.
The second scenario is the possibility of sending an internal
extension to an external recipient when a Call Answer message is
forwarded. This poses two problems, the recipient is given the wrong
phone number, and the company's dialing plan could be exposed.
The final concern deals with exercising character options that are
available in coding the Calling Name field. An international system
may send a message with coding options that are not available on the
receiving system, thus giving the recipient an incorrect Caller Name.
7. Security Considerations
Note that unlisted and restricted numbers are not a concern as these
header fields are defined to contain what the called party would see
(e.g., 'Private Name'), as opposed to the complete details exchanged
between service providers.
However, it must also be noted that this mechanism allows the
explicit indication of phone numbers in the headers of an email
message (used to store voice messages). While the rationale for this
is reviewed in section 1, the recipient of this message may not be
aware that this information is contained in the headers unless the
user's client presents the information. Its use is intended to be
informative as it is when it appears on a telephone screen.
8. IANA Considerations
This document defines an IANA-administered registration space for
Caller-ID numbering plans in section 5.1. Each registry entry
consists of an identifying token and a short textual description of
the entry. There are three initial entries in this registry:
unknown - The number's semantics are unknown. This value is the
default in the absence of this parameter.
local - The number only has meaning within the domain of the
sending system identified by the RFC 2822 From field of
the message.
e164 - The number's semantics are described in [E.164].
The only way to add additional entries (ietf-token in section 5.1) to
this registry is with a standards-track RFC.
9. References
9.1. Normative References
[VPIMV2R2] Vaudreuil, G. and G. Parsons, "Voice Profile for
Internet Mail - version 2 (VPIMv2)", RFC 3801, June
2004.
[RFC2047] Moore, K., "MIME (Multipurpose Internet Mail
Extensions) Part Three: Message Header Extensions for
Non-ASCII Text ", RFC 2047, November 1996.
[RFC2822] Resnick, P., "Internet Message Format", RFC 2822,
April 2001.
[RFC2234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
9.2. Informative References
[RFC2076] Palme, J., "Common Internet Message Headers", RFC
2076, February 1997.
[E.164] ITU-T Recommendation E.164 (1997), "The international
public telecommunication numbering plan"
[T.50] ITU-T Recommendation T.50 (1992), "International
Reference Alphabet (IRA)"
[T.61] CCITT Recommendation T.61 (1988) (Withdrawn),
"Character Repertoire and Coded Character Sets for the
International Teletex Service"
[8859-1] ISO/IEC International Standard 8859-1 (1998),
Information Technology _ 8-bit single-byte coded
graphic character sets _ Part 1: Latin Alphabet No. 1
[ASCII] American National Standards Institute (ANSI), Coded
Character Set - 7-Bit American National Standard Code
for Information Interchange, ANSI X3.4, 1986.
[T1.401] American National Standards Institute (ANSI),
Telecommunications _ Network-to-Customer Installation
Interfaces _ Analog Voicegrade Switched Access Lines
with Calling Number Delivery, Calling Name Delivery,
or Visual Message-Waiting Indicator Features, ANSI
T1.6401.03-1998
[T1.625] American National Standards Institute (ANSI),
Telecommunications - Integrated Services Digital
Network (ISDN) _ Calling Line identification
Presentation and Restriction Supplementary Services,
ANSI T1.625-1993
[T1.641] American National Standards Institute (ANSI),
Telecommunications - Calling Name Identification
Presentation, ANSI T1.641-1995
[GR-1188-CORE] Telcordia Technologies, "CLASS Feature: Calling Name
Delivery Generic Requirements", GR-1188-CORE, Issue 2,
December 2000
[GR-31-CORE] Telcordia Technologies, "CLASS Feature: Calling Number
Delivery", GR-31-CORE, Issue 1, June 2000
[RFC3191] Allocchio, C., "Minimal GSTN address format in
Internet Mail", RFC 3191, October 2001.
[RFC2806] Vaha-Sipila, A., "URLs for Telephone Calls", RFC 2806,
April 2000.
10. Acknowledgments
The previous authors of versions of this document were Derrick Dunne
and Jason Collins. The current authors would like to thank Derrick
and Jason for their contributions.
Authors' Addresses
Glenn Parsons
Nortel Networks
P.O. Box 3511, Station C
Ottawa, ON K1Y 4H7
Phone: +1-613-763-7582
EMail: gparsons@nortelnetworks.com
Janusz Maruszak
Phone: +1-416-885-0221
EMail: jjmaruszak@sympatico.ca
Full Copyright Statement
Copyright (C) The Internet Society (2004).
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 IETF's procedures with respect to rights in IETF 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
§1Why Voice Mail Needs Caller Headers
The telephone network usually tells the called party the caller's number and name. When a caller leaves a "Call Answer" message and it is stored in an Internet Mail message store using the VPIM message format (RFC 3801), there is often no RFC 2822 address known for the originator.
The VPIM specification suggests putting the number in the From field, for example From: "416 555 1234" <non-mail-user@host>. Every such option manipulates From. The RFC wants to store the name and number exactly as the phone system presented them, so they can be shown to the recipient and later used to find an Internet address for the caller, if one exists.
RFC 2076 lists a phone header, but it is marked non-standard, has no defined format and has no matching entry for the name. So this RFC proposes two new headers: Caller-ID and Caller-Name.
A recorded message needs a note saying who called. Stuffing it into the return-address box is clumsy, so this adds two new labeled boxes: one for the number, one for the name.
§3The Caller-ID Header
The Caller-ID header holds enough information for the recipient's voice mail system to call back or reply to the sender. The number is supplied by the telephone system. The number field MUST contain only digits, with no separating characters such as a hyphen, and MUST be representable in ASCII.
For an internal call, such as between two extensions in one company, it is enough to give the extension, based on the company dialing plan. Longer numbers may be supported by the enterprise phone system.
For an external international call, the number must be the full E.164 number: country code, national destination code and subscriber number. Prefixes and symbols such as + MUST NOT be included. E.164 allows up to 15 digits. In North America, 15 digits per T1.625 are suggested, though some providers support only 10 digits.
The other fields available on non-analog systems, such as subaddress and redirecting number, and the meta-data are not meant to be stored in this header.
The number box holds only digits, like writing a phone number with no dashes or plus signs. Inside a company a short extension is enough, but a far-away call needs the whole long number.
§3.3Numbering Plan and Date
On analog lines, no numbering plan is known or implied. When it is known, an optional NumberingPlan parameter MAY say what the number means. Only three values are defined:
unknown: the default when nothing is known or the parameter is absent.local: the number has meaning only within the domain of the voice mail system that stored the message.e164: the number is as described in E.164.
A value starting with x- may be used for enterprise or service specific dialing plans.
The telephone system may also send the date and time with the number. This MAY be stored in the existing Date header. Whether that header carries the phone system's time or the local system time is a local implementation decision.
A little label can say what kind of phone number it is, and if nobody knows, it just says unknown. The time of the call can go in the date box that email already has.
- unknownUnknown — Semantics unknown; the default when the parameter is absent.
- localLocal — Meaningful only within the domain of the voice mail system that stored the message.
- e164E.164 — The number follows the E.164 international numbering plan.
- x-Private — Prefix for enterprise or service specific dialing plans.
§5The Caller-Name Header and Formal Syntax
The Caller-Name header holds the name of the person sending the message. Whether the call is internal or external may be included if available, though this may not be available on international calls. The exact format is typically a service provider option, and names may arrive in several character sets depending on the signaling transport. The RFC lists IRA, Latin Alphabet No. 1, ASCII and T.61.
Where those sets agree, the 7-bit graphical characters are coded the same, so the header uses ASCII. A name that cannot be represented in 7-bit ASCII MAY be stored in its native character set as defined in RFC 2047.
In telephone networks the name MUST NOT exceed 50 characters per T1.641, although providers may limit it to 15 characters for delivery to customer equipment.
Both headers use ABNF (RFC 2234) and the unstructured token from RFC 2822:
"Caller-ID" ":" 1*DIGIT [ "," "NumberingPlan=" ( "unknown" / "local" / "e164" / ietf-token / x-token ) ] CRLF "Caller-Name" ":" unstructured CRLF
The name box is mostly plain letters. If the name has fancy letters that plain text cannot hold, there is a special way to write them down. Names should be short, like a name tag.
§5.3Examples
The RFC gives two examples of a stored voice message with the new headers next to the usual To header:
To: +19725551212@vm1.example.com Caller-ID: 6137684087 Caller-Name: Derrick Dunne To: 6137637582@example.com Caller-ID: 6139416900 Caller-Name: Jean Chretien
The headers record the number sent by the analog phone system without alteration or interpretation. If enough meaning is known, it can go in the numbering plan so the number can later be translated into an addressable phone number. Addressable numbers themselves are defined elsewhere, such as in RFC 3191 and RFC 2806.
The examples show a message with two extra lines: one with the caller's number and one with their name, just like a phone screen.
§6Ways It Can Fail
The RFC describes three failure scenarios.
- Truncation. A phone system may cut an international number to 10 digits. An Irish number of the form
353 91 73 3307could become53 91 73 3307in North America and be read as539 917 3307, so a reply goes to the wrong person. - Forwarding an extension. If a Call Answer message is forwarded outside the company, an internal extension may be given to an external recipient. That is the wrong number, and it could expose the company's dialing plan.
- Character options. A system may use coding options that the receiving system lacks, giving the recipient an incorrect Caller Name.
Sometimes the number gets chopped short and points to a stranger, a company's private extension leaks out, or a name comes out garbled. The RFC warns about these.
§7Security and IANA Registry
Unlisted and restricted numbers are not a concern, because the headers contain what the called party would see, such as Private Name, not the full details exchanged between providers. However, the mechanism does put phone numbers explicitly in mail headers. A recipient may not know they are there unless the client shows them, so the use is meant to be informative, as on a telephone screen.
The RFC creates an IANA registry of Caller-ID numbering plans. Each entry has a token and a short description. The three initial entries are unknown, local and e164. New entries (the ietf-token) can be added only by a standards-track RFC.
The headers show only what a phone screen would show, so secret numbers stay secret. But since the number now sits in the email, people should know it is there.