Request for Comments: 806
Proposed Federal Information Processing Standard
SPECIFICATION FOR MESSAGE FORMAT FOR
COMPUTER BASED MESSAGE SYSTEMS
National Bureau of Standards
Institute for Computer Sciences and Technology
September 1981
TABLE OF CONTENTS
Page
EXECUTIVE SUMMARY 1
1. INTRODUCTION 3
1.1 Guide to Reading This Document 3
1.2 Vendor-Defined Extensions to the Specification 4
1.3 The Scope of the Message Format Specification 4
1.4 Issues Not Within the Scope of the Message Format 4
Specification
1.5 Relationship to Other Efforts 5
2. A SIMPLE MODEL OF A CBMS ENVIRONMENT 6
2.1 Logical Model of a CBMS 8
2.2 Relationship to the ISO Reference Model for Open 10
Systems Interconnection
2.3 Messages and Fields 10
2.4 Message Originators and Recipients 11
3. SEMANTICS 12
3.1 Semantics of Message Fields 12
3.1.1 Types of fields 12
3.1.2 Semantic Compliance Categories 13
3.1.3 Originator fields 13
3.1.4 Recipient fields 14
3.1.5 Date fields 15
3.1.6 Cross-reference fields 16
3.1.7 Message-handling fields 16
3.1.8 Message-content fields 17
3.1.9 Extensions 18
i
3.2 Message Processing Functions 18
3.2.1 Message creation and posting 19
3.2.2 Message reissuing and forwarding 20
3.2.2.1 Redistribution 22
3.2.2.2 Assignment 22
3.2.3 Reply generation 23
3.2.4 Cross referencing 24
3.2.4.1 Unique identifiers 24
3.2.4.2 Serial numbering 24
3.2.5 Life span functions 25
3.2.6 Requests for recipient processing 25
3.2.6.1 Message circulation 26
3.3 Multiple Occurrences and Ordering of Fields 26
4. SYNTAX 28
4.1 Introduction 28
4.1.1 Message structure 28
4.1.2 Data elements 29
4.1.2.1 Primitive data elements 30
4.1.2.2 Constructor data elements 30
4.1.3 Properties 30
4.1.3.1 Printing-names 30
4.1.3.2 Comments 31
4.1.4 Data compression and encryption 31
4.1.5 Data sharing 31
4.2 Overview of Syntax Encoding 32
4.2.1 Identifier Octets 32
4.2.2 Length code and Qualifier components 33
4.2.2.1 Length Codes 35
4.2.2.2 Qualifier 36
4.2.3 Property-List 38
4.2.4 Data Element Contents 38
4.3 Data Element Syntax 39
4.3.1 Data elements 39
4.3.1.1 Primitives 42
4.3.1.2 Constructors 44
4.3.2 Using data elements within message fields 48
4.3.3 Properties and associated elements 49
4.3.4 Encryption identifiers 49
4.3.5 Compression identifiers 49
4.3.6 Message types 50
SUMMARY OF APPENDIXES 51
ii
APPENDIX A. FIELDS -- IMPLEMENTORS' MASTER REFERENCE 52
APPENDIX B. DATA ELEMENTS -- IMPLEMENTORS' MASTER REFERENCE 57
APPENDIX C. DATA ELEMENT IDENTIFIER OCTETS 65
APPENDIX D. SUMMARY OF MESSAGE FIELDS BY COMPLIANCE 66
CATEGORY
D.1 REQUIRED Fields 66
D.2 BASIC Fields 66
D.3 OPTIONAL Fields 66
APPENDIX E. SUMMARY OF MESSAGE SEMANTICS BY FUNCTION 68
E.1 Circulation 68
E.2 Cross Referencing 68
E.3 Life spans 68
E.4 Delivery System 68
E.5 Miscellaneous Fields Used Generally 69
E.6 Reply Generation 69
E.7 Reissuing 69
E.8 Sending (Normal Transmission) 69
APPENDIX F. SUMMARY OF DATA ELEMENT SYNTAX 70
APPENDIX G. SUMMARY OF DATA ELEMENTS BY COMPLIANCE CATEGORY 72
G.1 BASIC Data Elements 72
G.2 OPTIONAL Data Elements 72
APPENDIX H. EXAMPLES 74
iii
H.1 Primitive Data Elements 74
H.2 Constructor Data Elements 76
H.3 Fields 81
H.4 Messages 84
H.5 Unknown Lengths 88
REFERENCES 92
INDEX 94
iv
LIST OF FIGURES
FIG. 1. LOGICAL MODEL OF A COMPUTER BASED MESSAGE SYSTEM 8
FIG. 2. MESSAGE FORWARDING AND REDISTRIBUTION 21
FIG. 3. EXAMPLE OF MESSAGE CIRCULATION 27
FIG. 4. STRUCTURE OF IDENTIFIER OCTETS 34
FIG. 5. ENCODING MECHANISM FOR QUALIFIERS AND LENGTH 35
CODES
FIG. 6. REPRESENTATION OF LENGTH CODES 36
FIG. 7. EXAMPLES OF LENGTH CODES 37
FIG. 8. EXAMPLES OF QUALIFIER VALUES 38
v
LIST OF TABLES
TABLE 1. FIELDS USED IN MESSAGE PROCESSING FUNCTIONS 19
TABLE 2. TYPE BITS IN THE IDENTIFIER OCTET 33
vi
Executive Summary
EXECUTIVE SUMMARY
The message format specification addresses the problem of
exchanging messages between different computer-based message
systems (CBMSs). This interchange problem can be addressed on
several levels. One level specifies the physical
interconnections, another specifies how information travels
between CBMSs, another specifies form and meaning of messages
being interchanged. The highest level specifies operations on a
message. Each of these levels would be covered by a different
standard.
This message format specification addresses only the issues
of form and meaning of messages at the points in time when they
are sent from one CBMS and received by another. Messages are
composed of fields, containing different classes of information.
These fields contain information about the message originator,
message recipient, subject matter, precedence and security, and
references to previous messages, as well as the text of the
message. Standard formats (syntax) for messages ensure that the
contents of messages generated by one CBMS can be processed by
another CBMS. Standard meanings (sematics) for the components of
a message ensure standard interpretation of a message, so that
everyone receiving a message gets the meaning intended by its
sender.
Each CBMS that implements this message format specification
will be compatible with any other CBMS that implements the
specification. Compatibility ensures that the contents of a
message posted by one CBMS can be received and interpreted by a
different CBMS.
This message format specification has been developed as a
result of examining CBMSs currently in use in commercial and
research environments. Three major design perspectives helped
shape the message format specification.
o Viability. The message format specification uses
concepts that already work. It has been designed with
implementation concerns in mind.
o Compatibility. The message format specification
contains concepts from existing CBMSs. For this reason,
many CBMS would already contain functions and components
similar to those required to implement the message
format specification.
1
Executive Summary
o Extensibility. This message format specification
defines a broad range of message content components and
requires only an elementary subset of them. This means
that even a very simple CBMS can implement the message
format specification. The message format specification
contains a rich set of optional components and, in
addition, mechanisms for user extensions and future
extensions to the message format specification.
The message format specification defines the form and
meaning of message contents and their components as they pass
from one CBMS to another through a message transfer system. The
message format specification does not address any of the
following major issues.
o Functions or services provided to a user by a CBMS.
For example, the message format specification
assumes that every CBMS allows a user to send and
receive messages. It does not specify any of the
details of how a send function or a message-reading
function might work or how it might appear to the
user. That is, the message format specification
neither limits nor mandates functions.
o Storage or format of message contents in a CBMS.
The message format specification defines the form
and contents of messages when they are transferred
between systems. A CBMS may or may not choose to
use the same format for internal storage.
o Message transfer system protocols.
The message format specification does not specify
how a message travels between CBMSs. It does
specify the form of its contents as it leaves and
arrives, assuming only that the message is moved
transparently by the transfer system.
o Message envelopes.
While a message is traveling between CBMSs, it is
enclosed in a message envelope. Message envelopes
contain all the information about a message that a
message transfer system needs to know. The message
format specification does not define the format or
content of a message envelope.
o How message originators and recipients are identified.
The message format specification does not provide a
representation scheme for the names or addresses of
message originators and recipients as they are
known to a CBMS.
2
Section 1
1. INTRODUCTION
A computer-based message system (CBMS) allows communication
between "entities" (usually people) using computers. Computers
serve both to mediate the actual communications between systems
and to provide users with facilities for creating and reading the
messages.
CBMSs have been developing for over ten years. More
recently, CBMSs have been one of the bases in industry for the
introduction of office automation. A growing number of
organizations use either their own or a commercially available
CBMS. The design and complexity of these systems vary widely.
This message format specification provides a basis for
interaction between different CBMSs by defining the format of
messages passed between them.
1.1 Guide to Reading This Document
The method of presenting the material in this specification
is to combine the technical specification with tutorial
information. This approach has been taken to place the
specification in context and improve its readability.
The core of the technical information in the document is in
Section 2 "A Simple Model of a CBMS Environment", Section 3.1
"Semantics of Message Fields", Section 4.2 "Overview of Syntax
Encoding", and Section 4.3 "Data Element Syntax". Appendixes A
and B consolidate the technical informations. These appendices
are designed for ease of reference and should be read in
conjunction with the body of the report for a complete
understanding of the message format presented in the
specification.
Section 2 presents a simple model of operation of a CBMS.
Section 3 discusses the components of messages and their meaning
(semantics). This includes discussions of the recommended
relationship between message components and CBMS user functions.
(See Section 3.2.) Section 4 presents details of the form
(syntax) required for components of a message.
Appendix D summarizes the components of messages according
to whether they are required or optional for CBMSs implementing
the message format specification. Appendix E organizes the
message components according to the functional class of the
components. Appendix F provides an overview of the syntactic
elements defined by this message format specification; Appendix G
3
Section 1.1
summarizes those elements according to whether they are required
or optional for a CBMS implementing the message format
specification. Examples of each syntactic element appear in
Appendix H, displaying syntax and describing the associated
semantics.
1.2 Vendor-Defined Extensions to the Specification
This specification provides the capability of extending the
range of functionality by the use of vendor-defined qualifiers
and vendor-defined data elements. Any vendor who uses this
capability to provide services which are essentially equivalent
to those already designated as required, basic, or optional does
not comply with the specification.
1.3 The Scope of the Message Format Specification
The purpose of this message format specification is to
present the semantics and syntax to be used for messages being
exchanged between CBMSs. Specifically, it defines the following.
o The meaning and form of standard fields to be used in
messages.
o Which fields must be present in all messages.
o Which fields complying CBMSs must be able to process.
o How messages, fields, and the data contained in fields
are represented.
1.4 Issues Not Within the Scope of the Message Format
Specification
The message format specification does not address the
following issues, some of which are being covered by other NBS
standards developments. (See [BlaR-80] for a description of the
NBS protocols program.)
o The nature of a message transfer system, except to state
the assumption that it transfers messages transparently.
4
Section 1.4
o The form or nature of the protocols used to transfer
messages (posting, relay, and delivery protocols).
o The content and representation of message envelopes.
o Representations for unique identifiers (in particular,
message identifiers).
o Network and internetwork addressing.
o Representations for identities of message originators
and recipients.
o Functions that CBMSs provide for users.
o Presentation of messages to users.
o Representations for multi-media objects.
o Data representation for messages within CBMSs.
o Data sharing or any storage management within CBMSs.
o Representations for fixed or floating point numbers.
1.5 Relationship to Other Efforts
The message format specification is based on several
documents and the current state of many CBMSs available both in
industry and the research community. These documents include the
standardization efforts in the ARPANet [CroD-77, PosJ-79] and the
CCITT, proposed ISO and ANSI header format standards [TasG-
80, ISOD-79], the work of IFIPS Working Group 6.5, and various
papers about the general nature of mail systems, addressing, and
mail delivery. (See [FeiE-79] for references.
5
Section 2
2. A SIMPLE MODEL OF A CBMS ENVIRONMENT
In order to provide a framework for presenting the message
format specification, this section describes a simple functional
model for a CBMS. The model provides a high-level description of
both user facilities and system architecture. Discussions of
messages, message originators and message recipients serve to
further clarify the nature of a CBMS.
A CBMS permits the transfer of a message from an originator
to a recipient. "Originator" and "recipient" are used in their
normal English senses. (See Section 2.4.) A message (in its
most abstract definition) is simply a unit of communication from
an originator to a recipient. A CBMS offers several classes of
functions to its users:
o Message Creation: The facilities used by a message
originator to create messages and specify to whom they
are to be sent.
o Message Transfer: The facilities used to convey a
message to its recipient(s).
o Recipient Processing: The facilities used by a message
recipient to process messages that have arrived.
These classes of functions are presented in more detail in
Section 3.2.
CBMSs differ from other office automation/communications
systems in a number of ways.
o Unlike other types of electronic communications, CBMS
messages are sent to particular individuals, not to
stations or telephone sets. If a recipient moves to a
different location, messages sent to that recipient are
delivered to the recipient at the new location.
o Transmission of CBMS messages is asynchronous. The
recipient's system need not be available when the
message leaves the originator's system. That is, CBMS
message transfer facilities are store-and-forward.
o CBMS messages can contain a wide variety of data. They
are not constrained to any single kind of communication.
CBMS messages are often simple memoranda but are not
restricted to text. A CBMS message may contain any kind
6
Section 2
of data that an originator wishes to send to a
recipient. By contrast, Teletex systems and
communicating word processors handle the transfer of
final form documents; compatible communicating word
processors can exchange documents in editable form;
Telex and TWX deal in unformatted text.
o CBMSs offer message creation facilities as an important
part of the system. CBMSs assist users in the
preparation of messages by having text editing
facilities available and allowing users to include data
stored on-line in messages. Some CBMSs also interface
to other office automation facilities, such as
formatters and spelling correctors. This is not true of
Telex, TWX, or similar services.
o CBMSs offer recipient processing facilities as an
important part of the system. This is not true of most
other forms of electronic communications. For example,
Telex and TWX systems simply print messages on paper
when they are received, without retaining a copy in the
system. (Teletex systems are similar to Telex systems,
but some can retain a copy of the document in local
storage.) Communicating word processors might notify
their operators that a document has been received and is
stored on-line, but offer little in the way of other
recipient processing facilities. Most CBMSs offer at
least the following recipient processing facilities.
. The ability to retain a copy of a message on-line
after it has been read.
. The ability to examine or delete stored messages
individually.
. The ability to organize messages using some form of
electronic "file folder".
. The ability to determine if a message is recent
(has arrived since the last time the recipient used
the CBMS) or unseen (has never been examined by the
recipient).
. The ability to summarize stored messages. A
summary usually includes information such as
whether the message is recent or unseen, when it
was received, its length, who it is from, and its
subject.
. The ability to retrieve a stored message based upon
7
Section 2
one or more of its attributes (for example, when
the message was received, whether or not it has
been seen or deleted, and the values contained in
its fields).
. A forward facility that allows users to include all
or part of a message in a new outgoing message.
. A reply facility that allows users to answer
messages without having to enter a new list of
recipients.
2.1 Logical Model of a CBMS
CBMS facilities for message creation, transfer, and
recipient processing are reflected in a logical model of a CBMS
developed by IFIP Working Group 6.5 [SchP-79]. (An essentially
identical model is being used by CCITT Study Group VII, Question
5, regarding Message Handling Facilities.) The model consists of
a Message Transfer System and a number of User Agents. (See
Figure 1.)
| |
| ************* |
********* ------> * Message * -------> *********
* User * Posting * Transfer * Delivery * User *
* Agent * Protocol * System * Protocol * Agent *
********* <------- ************* <------- *********
| |
| |
Posting Delivery
Slot Slot
Message Flow
Originator --------------------------------> Recipient
FIG. 1. LOGICAL MODEL OF A COMPUTER BASED MESSAGE SYSTEM
A User Agent is a functional entity that acts on behalf of a
user, assisting with creating and processing messages and
communicating with the Message Transfer System.
The Message Transfer System] is an entity that accepts a
8
Section 2.1
message from its originator's User Agent and ultimately passes it
to each of its recipients' User Agents. The Message Transfer
System may perform routing and storage functions (among others)
in order to accomplish its task.
Transferring a message from an originator's User Agent to
the Message Transfer System is called Posting; the originator's
User Agent and Message Transfer System engage in a Posting
Protocol in order to accomplish Posting. Transferring a message
from the Message Transfer System to a recipient's User Agent is
called Delivery; the recipient's User Agent and Message Transfer
System engage in a Delivery Protocol in order to accomplish
Delivery.
The point at which responsibility for a message is
transferred is called a Slot. The Posting Slot is the point at
which responsibility for a message passes from an originator's
User Agent to the Message Transfer System; the Delivery Slot is
the point at which responsibility for a message passes from the
Message Transfer System to a recipient's User Agent.
The model divides messages into two parts, the message
content and the message envelope. The message content is the
information that the originator wishes to send to the recipient;
this message format specification deals solely with the message
content. The message envelope consists of all the information
necessary for the Message Transfer System to do its job; this
message format specification does not specify the message
envelope. Some of the data appearing on the message envelope
could be redundant with some data found in the message content.
The Message Transfer System is not expected to examine the
message content unless it is told to do so by the originator's or
recipient's User Agent.
This message format specification places no restrictions on
the Message Transfer System itself, except that it be transparent
to the contents of messages. In addition, this message format
specification does not dictate the form or nature of any protocol
used by the Message Transfer System. Finally, this message
format specification does not specify the content or form of the
message envelope. That is, the message format specification
defines the format for the contents of messages, not the manner
in which they are transmitted.
Many of today's commercially available CBMSs incorporate all
of the facilities represented in the logical model. Their
architectures may reflect the economies that can be taken when
implementing systems that are self-contained. For example,
stand-alone systems that store messages in a single central
database require no Message Transfer System; an implementation
may integrate software for User Agent and Message Transfer System
functions, doing away with Posting or Delivery Protocols.
9
Section 2.1
2.2 Relationship to the ISO Reference Model for Open Systems
Interconnection
Subcommittee TC97/SC16 of the International Standards
Organization (ISO) has developed a reference model for describing
communications between "open" systems [ISOD-81]. This model is
known as the ISO Reference Model for Open Systems Interconnection
(OSI). It divides communications protocols into seven layers,
ranging from physical interconnection at the lowest layer to data
exchange by application programs at the top.
This message format specification deals with data used by an
application within a system. Thus, the message format being
specified here is not a protocol. Since it is not a protocol, it
lies outside of the model for open systems interconnection. User
Agents are application layer entities (layer 7), however, and the
protocols used by a message transfer system are above the session
layer (layer 5).
2.3 Messages and Fields
A message is a unit of communication from an originator to a
recipient. A message consists of a series of components called
fields. Fields can be described according to their meaning in a
message (semantics) and according to the format required for them
in a message (syntax).
Semantically, a field is just a component of a message; the
meanings of particular fields are defined by this message format
specification. Syntactically, a field is a unit of data whose
form is defined by this message format specification. Additional
fields can be defined by users or vendors as long as they conform
to the syntactic and semantic rules that this message format
specification defines for additional fields.
(A note on terminology: A message consists of components
called fields. The words "message" and "field" are used both in
the informal sense of the previous sentence and in a more
restricted sense as names of particular syntactic elements. As
syntactic element names, Message and Field are always
capitalized.)
Some CBMS functions are based on the contents of particular
fields; other functions (such as the ability to read a message)
may have little to do with the fields themselves. Section 3.2
discusses some of the specific functions that a CBMS might
provide to users and the fields that must be used to support
those functions.
10
Section 2.3
2.4 Message Originators and Recipients
This message format specification refers to message
originators and recipients. These terms were defined
functionally in Figure 1. When the message format specification
refers to the identity of a message originator or recipient, it
means "that information which uniquely identifies the message
originator or recipient within the domain of the given message
system." The syntax and semantics of message addressing are not
within the scope of the message format specification.
Originators and Recipients can be people, roles, or
processes.
People. People as originators and recipients are specific
individuals.
Roles. Roles identify functions within organizations as
opposed to the specific individuals who perform them. For
example, consider a newspaper that produces both morning and
evening editions and therefore operates with more than one shift.
Someone wishing to contact the city desk would send a message to
the city desk role rather than trying to determine exactly who
was assigned to the city desk at a specific time. (Of course,
messages can usually be sent to the individuals directly whether
or not they are actually performing a role at the time.)
Processes. A process in a computer could serve as either an
originator or a recipient for messages. A computer system might
originate a message to notify a recipient about the status of
some task. For example, an archive utility could notify users
about files that have been archived; a distributed file system
could notify a user that a remote file has been deposited on a
local file system. Messages could be used by computer systems to
warn about some impending condition or even to monitor the
performance of the computer itself. Some computer processes may
also be message recipients, taking action based upon message
contents.
In addition, some CBMSs allow messages to be sent to groups.
A group is a predefined list of message recipients. Using a
group name as a recipient permits message originators to
designate a potentially large number of recipients using a single
recipient identifier. This makes using the CBMS more convenient
and accurate.
11
Section 3
3. SEMANTICS
This section discusses two major topics, message processing
functions and message field meanings. Section 3.1 describes the
six functional groups of message fields. The functional groups
are Origination, Dates, Recipients, Cross-referencing, Message-
handling, and Message-contents. They are explained more fully in
Section 3.1.1, along with detailed discussion of the semantics of
all the fields in each functional group. Section 3.2 describes
message processing functions whose operation is based on the
meanings of particular message fields.
3.1 Semantics of Message Fields
The definition of a message is discussed generally in
Sections 1 and 2. Semantically valid messages must contain one
From field, one To field, and one Posted-Date field. They may
contain, in addition, any number of other fields, depending on
the processing and functions supplied by the originating or
receiving CBMS. (Section 3.2 describes classes of functions
supplied by CBMSs.)
3.1.1 Types of fields
Message receiving programs are required to interpret fields
according to the semantics described in the remainder of this
se. The message fields defined in this document are grouped
into the following functional categories.
o Originator fields indicate who or what participated in
the creation of the message and where replies should be
directed. (See Section 3.1.3.)
o Date fields record when events take place, for a variety
events, such as message creation or expiration. (See
Section 3.1.5.)
o Recipient fields indicate who or what is intended to
receive a message. (See Section 3.1.4.)
o Cross-reference fields label a message or refer to other
messages. (See Section 3.1.6.)
o Message-handling fields record the type of service a
12
Section 3.1.1
message's sender requested of a message transfer system
or indicate how the message should be treated by its
recipients. (See Section 3.1.7.)
o Message-content fields either contain the primary
content of a message or index or summarize it. (See
Section 3.1.8.)
o Extension fields provide mechanisms for extending the
message format specification. (See Section 3.1.9.)
3.1.2 Semantic Compliance Categories
For purposes of determining whether a CBMS complies with the
semantic requirements of this message format specification,
message fields have been divided into three categories:
REQUIRED These fields must be present in all messages and must
be processed by message receiving programs as defined
by the message format specification.
BASIC These fields need not be present in all messages but
when they do appear they must be processed by message
receiving programs as defined by the message format
specification.
OPTIONAL These fields need not be present in all messages and
may be ignored by message receiving programs. The
exact meaning of "ignored" is not specified by the
message format specification. In general, a CBMS must
recognize the existence of an optional field (that is,
optional fields should not cause errors) and must not
process the field in a manner contrary to the semantics
defined for that field by the message format
specification.
(Syntactic compliance is defined in Section 4.1.2.)
3.1.3 Originator fields
A message originator may be a person, role, or process.
Originator fields identify a message's author, who is responsible
for the message, who or what sent it, and where any
replies should be directed. (See Section 2.4.)
13
Section 3.1.3
From (REQUIRED)
This field contains the identity of the originator(s)
taking formal responsibility for this message. The
contents of the From field is to be used for replies
when no Reply-to field appears in a message.
Reply-To (BASIC)
This field identifies any recipients of replies to the
message.
Author (OPTIONAL)
This field identifies the individual(s) who wrote the
primary contents of the message. Use of the Author
is discouraged when the contents of the Author
field and the From field would be completely redundant.
Sender (OPTIONAL)
This field identifies the agent who sent the message.
It is used either when the sender is not the originator
responsible for the message or to indicate who among a
group of originators responsible for the message
actually sent it. Use of the Sender field is
discouraged when the contents of the Sender field and
From field would be completely redundant. Only one
Sender field is permitted in a message.
3.1.4 Recipient fields
Message recipients may be people, roles, or processes. (See
Section 2.4). Recipient fields identify who or what is to
receive the message.
To (REQUIRED)
This field identifies the primary recipients of a
message.
Bcc (OPTIONAL)
This field identifies additional recipients of a
message (a "blind carbon copies" list). The contents
of this field are not to be included in copies of the
message sent to the primary and secondary recipients.
See section 3.2.1 for further discussion of the use of
blind carbon copies lists.
Cc (BASIC)
This field identifies secondary recipients of a message
(a "carbon copies" list).
14
Section 3.1.4
Circulate-Next (OPTIONAL)
This field is used in conjunction with the Circulate-To
field. (See Section 3.2.6.1.) It identifies all
recipients in a circulation list who have not received
the message.
Circulate-To (OPTIONAL)
This field identifies recipients of a circulated
message. (See Section 3.2.6.1.) It is used in
conjunction with the Circulate-Next field.
3.1.5 Date fields
Date fields for two kinds of uses are provided. Dates can
be associated with some event in the history of a message and
dates can delimit the span of time during which the message is
meaningful (its life span).
Posted-Date (REQUIRED)
This field contains the posting date, which is the
point in time when the message passes through the
posting slot into a message transfer system. Only one
Posted-Date field is permitted in a message.
Date (OPTIONAL)
This field contains a date that the message's
originator wishes to associate with a message. The
Date field is to the Posted-Date field as the date on a
letter is to the postmark added by the post office.
End-Date (OPTIONAL)
This field contains the date on which a message loses
effect. (See also Section 3.2.5.)
Received-Date (OPTIONAL)
Delivery date. This field may be added to a message by
the recipient's message receiving program. It
indicates when the message left the delivery system and
entered the recipient's message processing domain.
Start-Date (OPTIONAL)
This field contains the date on which a message takes
effect. (See also Section 3.2.5.)
Warning-Date (OPTIONAL)
This field is used either alone or in conjunction with
an End-Date field. It contains one or more dates.
These dates could be used by a message processing
15
Section 3.1.5
program as warnings of an impending end-date or other
event. (See also Section 3.2.5.)
3.1.6 Cross-reference fields
Cross reference fields can be used to identify a message and
to provide cross references to other messages. (See Section
3.2.4.)
In-Reply-To (OPTIONAL)
This field designates previous correspondence to which
this message is a reply. The usual contents of this
field would be the contents of the Message-ID field of
the message(s) being replied to.
Message-ID (OPTIONAL)
This field contains a unique identifier for a message.
This identifier is intended for machine generation and
processing. Further definition appears in Section
3.2.4.1. Only one Message-ID field is permitted in a
message.
Obsoletes (OPTIONAL)
This field identifies one or more messages that this
one supplants.
Originator-Serial-Number (OPTIONAL)
This field contains one or more serial numbers assigned
by the message's originator. Messages with multiple
recipients should have the same value in the
Originator-Serial-Number field.
References (OPTIONAL)
This field identifies other correspondence that this
message references. If the other correspondence
contains a Message-ID field, the contents of the
References field must be the message identifier.
3.1.7 Message-handling fields
Message-handling fields describe aspects of how a message is
to be handled or categorized.
Precedence (OPTIONAL)
This field indicates the precedence at which the
message was posted. Ordinarily, message precedence or
priority is a service request to a message transfer
16
Section 3.1.7
system. A message originator, however, can include
precedence information in a message. One example of
precedence categories are those used by the U.S.
Military: "ROUTINE", "PRIORITY", "IMMEDIATE", "FLASH
OVERRIDE", and "EMERGENCY COMMAND PRECEDENCE".
Message-Class (OPTIONAL)
This field indicates the purpose of a message. For
example, it might contain values indicating that the
1
message is a memorandum or a data-base entry.
Reissue-Type (OPTIONAL)
This field is used in conjunction with message
encapsulating (see Section 2.4.1) to differentiate
between messages being assigned or redistributed.
Received-From (OPTIONAL)
This field contains a record of a message's path
through a message transfer system. The
recipient's message receiving program could store here
any information about the transfer that it obtained
from a message transfer system.
3.1.8 Message-content fields
The intent of most messages is to communicate some
particular information from originator to recipient. Several
fields in a message are designed to contain that information.
Subject (BASIC)
This field contains any information the originator
provided to summarize or indicate the nature of the
message.
Text (BASIC)
This field contains the primary content of the message.
Attachments (OPTIONAL)
This field contains additional data accompanying a
message. It is similar in intent to enclosures in a
conventional mail system.
_______________
1
The message format specification is not intended to be used as
a specification for exchanging data-base records. Messages,
however, sometimes contain data from or for a database.
17
Section 3.1.8
Comments (OPTIONAL)
This field permits adding comments to the message
without disturbing the original contents of the
message.
Keywords (OPTIONAL)
This field contains keywords or phrases for use in
retrieving a message.
3.1.9 Extensions
This message format specification allows two additional
types of fields, vendor-defined fields and as-yet-undefined
(extension) fields that will be introduced by extensions to this
message format specification.
vendor-defined-field
Any field not defined in this message format
specification or any extension or successor to it is a
vendor-defined field. Names for vendor-defined fields
could be preempted by extensions to this message format
specification.
extension-field
Any field that is defined in a document published as a
formal extension or replacement to this message format
specification.
3.2 Message Processing Functions
A CBMS provides three basic classes of functions, creating
messages, transmitting messages to their recipient, and post-
receipt processing. Although the message format specification
does not define the number or nature of user functions in CBMSs,
the meanings for the fields clearly assume certain kinds of
functions. For example, fields specifying recipients of replies
to messages assume some kind of reply function; fields specifying
message life span assume some kind of date processing functions.
This section provides more detail on the processing that
might be done by these kinds of functions, discussing the message
fields that would be used and how they would be used. (See
summary in Table 1.)
18
Section 3.2.1
Processing Function Fields Involved
Message creation Author, From, Sender, To,
and posting Cc, Bcc
Message reissuing Reissue-Type
Reply generation Reply-To
Cross-referencing Message-ID, In-Reply-To, References,
Obsoletes, Originator-Serial-Number
Life span functions Start-Date, End-Date,
Warning-Date
Recipient processing Circulate-To, Circulate-Next
TABLE 1. FIELDS USED IN MESSAGE PROCESSING FUNCTIONS
3.2.1 Message creation and posting
Messages can be created either by reissuing an existing
message to a new recipient (see Section 2.4.1) or by creating a
new message. The process of message creation might mean that
some fields of a new message are filled in from the contents of
some other message. Reply functions (Section 3.2.3) provide an
example of this.
Different individuals could be involved in different phases
of originating a message: creating it, taking responsibility for
it, and explicitly interacting with a CBMS to send it to its
recipient. One or more individuals may create (that is, write,
but not necessarily enter into the CBMS) a message; they are said
to be the message's authors, identified by the Author field. One
or more individuals may take responsibility for its contents and
the decision to post it; they are identified by the From field.
One individual explicitly posts a given message; this person is
called the message's sender (identified by the Sender field).
The sender and author(s) are often, but not always,
responsible for the message. A common case in which the sender
is not responsible for the message is when a secretary enters and
posts messages for someone else. An example of a situation in
which a message's author is not responsible for the message
itself is when an administrative assistant prepares a report that
is sent under a manager's signature.
Messages containing Bcc fields are treated specially by
CBMSs. The contents of this field are not included in copies of
the message sent to the recipients designated in the To and Cc
fields. Some systems include the contents of the Bcc field only
19
Section 3.2.1
in the originator's copy, others include include all or part of
the Bcc field in the copies sent to the recipients indicated in
the Bcc field. This specification does not mandate how the Bcc
field is to be treated.
Audit trail entries (such as the posting time and sender
identity) are automatically appended to a message by the CBMS
each time the message passes through a posting slot to a message
transfer system; a message transfer system could also provide
timestamps at each transfer between user agent and the transfer
system. A message identifier (Sections 3.2.4 and 3.1.6), placed
in the message by the original sender's User Agent, is preserved
throughout this message flow. This means that when the same
message is sent twice to the same recipients by the same Sender,
the audit trail information for the two messages is different.
3.2.2 Message reissuing and forwarding
Reissuing and forwarding both serve the general user goal of
passing a message on to a new set of recipients. Forwarding is
the term used for an informal mechanism, which CBMSs implement by
copying some or all of the original message into the contents of
a field in the new message. Reissuing is the term used for a
formal mechanism to ensure that the message being passed on never
loses its integrity as a previously sent message. CBMSs use
reissuing to implement several different functions, depending on
the purposes being served.
o Redistribution. Make others aware of the complete and
unaltered contents of the message.
o Assignment. Delegate the responsibility for a message
to somebody else.
These purposes are exemplified in Figure 2.
When a CBMS examines a forwarded message, it cannot always
distinguish the old message from what was added when the
forwarding took place. In addition, the forwarded information
might no longer have the form of a message. This is usually
because the format of the message has been changed (for example,
to pure unformatted text). (See Figure 2 for an example of how a
CBMS might forward a message.) In contrast, a reissued message
can always be separated from its enclosing message and never
loses its identity as a correctly formed message.
This specification provides the Reissue-Type field for
20
Section 3.2.2
The Original Message
John Doe wishes Jane Jones to get a copy of the following
message:
Message:
Field: From "Jean Smith"
Field: Posted-Date "15 June 1980"
Field: To "John Doe"
Field: Subject "Next sales meeting"
Field: Text "The agenda for ..."
Redistribution
Message:
Field: From "John Doe" John Doe is responsible
Field: Posted-Date "16 June 1980" for the redistribution.
Field: To "Jane Jones"
Field: Reissue-Type "Redistribution" This message directly
Message: incorporates a
Field: From "Jean Smith" redistributed message.
Field: Posted-Date "15 June 1980"
Field: To "John Doe"
Field: Subject "Next Sales Meeting"
Field: Text "The agenda for ..."
Forwarding
Message:
Field: From "John Doe"
Field: Posted-Date "16 June 1980"
Field: To "Jane Jones"
Field: Text A realization of the
"From Jean Smith original message is
To John Doe copied into the Text field.
Sent on 15 June 1980 Note that John's CBMS
Subject Next Sales Meeting has chosen to represent
it as a text string.
The agenda for ..."
FIG. 2. MESSAGE FORWARDING AND REDISTRIBUTION
21
Section 3.2.2
supporting re-issuing. Forwarding, since it is an informal means
of serving the purpose of passing on information, has no
supporting fields in the specification.
This specification provides for reissuing of messages by
encapsulating. This method embeds the entire original message
inside a new message. Encapsulating adds structure around the
2
message . This allows any part of it to be easily extracted.
Authentication is an organizational policy issue associated
passing on previously sent messages. Each organization must
decide if the CBMS it acquires should support reissuing or simply
supply forwarding.
3.2.2.1 Redistribution
Redistribution is a CBMS function for sending the original
contents of a message intact and unchanged to new recipients. A
redistributed message is identical to the original message with
the exception of added information about the reissuing. For
reissuing with this purpose, the Reissue-Type field contains the
ASCII string "Redistribution". The original message has been
included directly in a new message. (See Figure 2.)
3.2.2.2 Assignment
Assignment is the process of designating responsibility. In
some organizations, formal message traffic is funneled through
one or more parts of the organization (called offices) where it
is directed to the appropriate individuals or other offices for
final disposition. Assignment is done by reissuing a message
with the Reissue-Type field containing the ASCII string
"Assigned." A message which contains this field is to be
interpreted as meaning that the addressees in the "To" field have
had the reissued message assigned to them for some action. Any
addressee in the "Cc" field has had the message assigned for
information. The "From" field records who assigned the message
and the "Posted-Date" field records when the message was
assigned.
_______________
2
A message can contain another message, and that message can
contain another message, and so on to any depth of encapsulating.
This can occur by reissuing a message repeatedly.
22
Section 3.2.3
3.2.3 Reply generation
Reply generation involves creating a new message in direct
reply to some other message by drawing on the contents of fields
in the other message to fill fields in the new message. Many
CBMSs provide reply facilities that determine the intended
recipients of a reply to a message.
o A Reply-To field is defined by this message format
specification. When a message contains a Reply-To
field, the CBMS should send replies to the recipients
designated in the Reply-To field instead of to the
recipients designated in the From field. This statement
applies to original messages only, not to reissued
messages. The message format specification makes no
recommendations concerning replies to reissued messages.
Reply-To has several possible applications.
1. The individual(s) responsible for the message
might not have regular access to a CBMS and would
indicate an alternate recipient, for example, a
secretary.
2. The people responsible for receiving responses
might not be the people who were responsible for
creating the message.
3. Discussion and conference groups could use this
feature to ensure correct distribution of any
submission by having the conference group itself
designated in the Reply-To field.
o When the message does not contain a Reply-To field, the
recipient should reply to the originators enumerated in
the From field. The sender and authors should not be
added automatically to the list of those receiving the
reply.
Replies could also be sent to the other recipients of the
original message. Vendors might offer additional reply
facilities, depending on their view of users' organizational