RFC 841 FIPS Pub 98 SPECIFICATION FOR MESSAGE FORMAT FOR COMPUTER BASED MESSAGE SYSTEMS 27 January 1983 National Bureau of Standards This RFC is FIPS 98. The purpose of distributing this document as an RFC is to make it easily accesible to the ARPA research community. This RFC does not specify a standard for the ARPA Internet. TABLE OF CONTENTS Page EXECUTIVE SUMMARY 5 1. INTRODUCTION 7 1.1 Guide to Reading This Document 7 1.2 Vendor-Defined Extensions to the Specification 8 1.3 The Scope of the Message Format Specification 8 1.4 Issues Not Within the Scope of the Message Format 8 Specification 1.5 Relationship to Other Efforts 9 2. A SIMPLE MODEL OF A CBMS ENVIRONMENT 10 2.1 Logical Model of a CBMS 12 2.2 Relationship to the ISO Reference Model for Open 14 Systems Interconnection 2.3 Messages and Fields 14 2.4 Message Originators and Recipients 15 3. SEMANTICS 17 3.1 Semantics of Message Fields 17 3.1.1 Types of fields 17 3.1.2 Semantic Compliance Categories 18 3.1.3 Originator fields 18 3.1.4 Recipient fields 19 3.1.5 Date fields 20 3.1.6 Cross-reference fields 21 3.1.7 Message-handling fields 22 3.1.8 Message-content fields 23 3.1.9 Extensions 23 i 3.2 Message Processing Functions 24 3.2.1 Message creation and posting 24 3.2.2 Message reissuing and forwarding 25 3.2.2.1 Redistribution 26 3.2.2.2 Assignment 28 3.2.3 Reply generation 28 3.2.4 Cross-referencing 29 3.2.4.1 Unique identifiers 29 3.2.4.2 Serial numbering 30 3.2.5 Life span functions 30 3.2.6 Requests for recipient processing 31 3.2.6.1 Message circulation 31 3.3 Multiple Occurrences and Ordering of Fields 31 4. SYNTAX 34 4.1 Introduction 34 4.1.1 Message structure 34 4.1.2 Data elements 35 4.1.2.1 Primitive data elements 36 4.1.2.2 Constructor data elements 36 4.1.3 Properties 36 4.1.3.1 Printing-names 37 4.1.3.2 Comments 37 4.1.4 Data compression and encryption 37 4.2 Overview of Syntax Encoding 37 4.2.1 Identifier Octets 38 4.2.2 Length code and Qualifier components 39 4.2.2.1 Length Codes 41 4.2.2.2 Qualifier 42 4.2.3 Property-List 44 4.2.4 Data Element Contents 44 4.3 Data Element Syntax 44 4.3.1 Data elements 45 4.3.1.1 Primitives 47 4.3.1.2 Constructors 49 4.3.1.3 Data Elements that Extend this Speci- 52 fication 4.3.2 Using data elements within message fields 53 4.3.3 Properties and associated elements 54 4.3.4 Encryption identifiers 54 4.3.5 Compression identifiers 54 4.3.6 Message types 55 ii SUMMARY OF APPENDIXES 56 APPENDIX A. FIELDS -- IMPLEMENTORS' MASTER REFERENCE 57 APPENDIX B. DATA ELEMENTS -- IMPLEMENTORS' MASTER REFERENCE 63 APPENDIX C. DATA ELEMENT IDENTIFIER OCTETS 71 APPENDIX D. SUMMARY OF MESSAGE FIELDS BY COMPLIANCE CATE- 72 GORY D.1 REQUIRED Fields 72 D.2 BASIC Fields 72 D.3 OPTIONAL Fields 72 APPENDIX E. SUMMARY OF MESSAGE SEMANTICS BY FUNCTION 74 E.1 Circulation 74 E.2 Cross-Referencing 74 E.3 Life Spans 74 E.4 Delivery System 74 E.5 Miscellaneous Fields Used Generally 75 E.6 Reply Generation 75 E.7 Reissuing 75 E.8 Sending (Normal Transmission) 75 APPENDIX F. SUMMARY OF DATA ELEMENT SYNTAX 76 APPENDIX G. SUMMARY OF DATA ELEMENTS BY COMPLIANCE CATEGORY 78 G.1 BASIC Data Elements 78 G.2 OPTIONAL Data Elements 78 iii APPENDIX H. EXAMPLES 80 H.1 Primitive Data Elements 80 H.2 Constructor Data Elements 82 H.3 Data Elements that Extend this Specification 87 H.4 Fields 88 H.5 Messages 90 H.6 Unknown Lengths 94 H.7 Message Encoding Using Vendor-Defined Fields 97 H.7.1 Example of a JANAP-128 Message 97 H.7.2 Encoding of Example using the FIPS Message 97 Format H.7.3 Field Mappings of JANAP-128 to FIPS Format 101 H.7.4 Vendor-Defined Fields 101 REFERENCES 103 INDEX 105 iv LIST OF FIGURES FIG. 1. LOGICAL MODEL OF A COMPUTER-BASED MESSAGE SYSTEM 12 FIG. 2. MESSAGE FORWARDING AND REDISTRIBUTION 27 FIG. 3. EXAMPLE OF MESSAGE CIRCULATION 32 FIG. 4. STRUCTURE OF IDENTIFIER OCTETS 39 FIG. 5. ENCODING MECHANISM FOR QUALIFIERS AND LENGTH 40 CODES FIG. 6. REPRESENTATION OF LENGTH CODES 42 FIG. 7. EXAMPLES OF QUALIFIER VALUES 43 v LIST OF TABLES TABLE 1. FIELDS USED IN MESSAGE PROCESSING FUNCTIONS 24 TABLE 2. HIGH-ORDER BITS IN THE IDENTIFIER OCTET 39 vi Federal Information Processing Standards Publication 98 27 January 1983 Announcing the Standard for MESSAGE FORMAT FOR COMPUTER BASED MESSAGE SYSTEMS Federal Information Processing Standards Publications are issued by the National Bureau of Standards pursuant to section 111(f)(2) of the Federal Property and Administrative Services Act of 1949, as amended, Public Law 89-306 (79 Stat. 1127), Executive Order 11717 (38 FR 12315, dated May 11, 1973), and Part 6 of Title 15 Code of Federal Regulations (CFR). Name of Standard. Message Format for Computer Based Message Systems (FIPS PUB 98). Category of Standard. Software Standard; Interchange Codes, Media and Data Files. Explanation. This standard separates information so that a Computer Based Message System can locate and operate on that information (which is found in the fields of messages). This is the first of a family of standards which will ensure information interchange among Computer Based Message Systems. Approving Authority. Secretary of Commerce Maintenance Agency. Department of Commerce, National Bureau of Standards (Institute for Computer Sciences and Technology). Cross Index. Not Applicable. Related Documents. a. American National Standard Code for Information Interchange (ASCII), X3.4-1977,FIPS PUBS 1-1. b. American National Standard Code Extension Techniques for Use with the 7-bit Coded Character Set of American National Standard Code (ASCII) for Information Interchange, X3.41-1974, FIPS PUB 35. c. National Bureau of Standards. Calendar Date. Federal Information Processing Standards Publication 4, U.S. 1 Department of Commerce / National Bureau of Standards, November, 1968. d. National Bureau of Standards. Data Encryption Standard. Federal Information Processing Standards Publication 46, U.S. Department of Commerce/National Bureau of Standards, January, 1977. e. National Bureau of Standards. Representation of Local Time of the Day for Information Interchange. Federal Information Processing Standards Publication 58, U.S. Department of Commerce / National Bureau of Standards, February 1979. f. National Bureau of Standards. Representation of Universal Time, Local Time Differentials, and United States Time Zone References for Information Interchange. Federal Information Processing Standards Publication 59, U.S. Department of Commerce / National Bureau of Standards, February, 1979. Applicability. This message format standard applies to Federal departments and agencies in their acquisition and use of computer-based message systems (CBMS) and services in networked systems, except for certain single-processor systems. Specifically, the standard does not apply to a CBMS if it is a stand-alone system which is not interconnected with any other CBMS: nevertheless, conformance with the standard is recommended under these circumstances particularly if there is a possibility that use of another central processing unit, or interconnection with another system, will be required in the future. Where a new CBMS node is incorporated into an existing network, the standard applies at the interface between CBMS's. In this instance, previously existing nodes may accommodate the standard either through retrofit or by the use of a translator. In addition, networks that are established strictly for the purpose of supporting research in computer science or communications are exempt from complying with this standard. Subcommittee TC97/SC16 of the International Organization for Standardization (ISO) has developed a reference model for describing communications between "open" systems. (ISO/TC97/SC16 DIS7498) 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 applications programs at the top. The NBS message format deals with data used by an application within a system; it is not a protocol. Messages defined by the 2 NBS message format would be manipulated by a layer 7 (Application) protocol. A message as referenced by the NBS message format is a unit of communication from an originator to a recipient, exclusive of any message heading or control information (often referred to as a message envelope). An originator and recipient are typically people but may be roles or processes. A role identifies a function within an organization as opposed to an individual who performs that function. A process refers to a computer process that might originate or receive a message. Special Information. Certain characteristics distinguish a CBMS from other systems for sending messages. Originators and recipients may be terminal users or processes (discrete software). A system in which the originator addresses a particular terminal device rather than a particular recipient is not considered to be a CBMS. The recipient's system need not be available when the originator sends a message. The message can be stored in the originator's system or at an intermediate node in the network until the recipient's system becomes available. In addition, a CBMS offers both message creation and message processing facilities as part of the system. A CBMS offers text editing facilities to assist the user in the preparation of a message. The recipient CBMS stores the message until the recipient chooses to read it. Message systems which do not provide these minimum functions are not considered CBMS's. The intent of the message format standard is to allow users of different computer based message systems to send messages to each other. The standard does not make demands on the message transfer system except that it transports messages transparently. The standard makes some simple demands on the CBMS. The CBMS must recognize fields within the message, process fields in predetermined ways, create messages in the correct form, and recognize and create data elements of messages in the correct format. The standard does not dictate or constrain the services that the CBMS provides for users, or the way that messages are stored, represented, manipulated, or presented to the user by the CBMS. The standard does constrain the format of the message at the interface between systems. This guarantees that, whatever the source of the message, it arrives at the receiving system in the standard format. The message format standard separates information into fields so that the CBMS can locate and operate on that information. The message is converted from the format used within the originator's CBMS to the standard format (if different) on leaving the originator's CBMS. The message is converted from the standard format to the format used within the recipient's CBMS (if different) on entering the recipient's CBMS. 3 Specifications. Federal Information Processing Standard (FIPS), Message Format for Computer Based Message Systems (affixed). Qualifications. None Implementation Schedule. All applicable equipment or services ordered on or after 24 months from the date of issuance of this FIPS PUB, and all CBMS development initiated inhouse on or after 12 months from the date of issuance of this FIPS PUB must be in conformance with this standard unless a waiver has been obtained in accordance with the procedure described below. An exception to this standard is made when procurement actions are into the solicitation phase on the date of issuance of this FIPS PUB. Waivers. Heads of agencies may request that the requirements of this standard be waived in instances where it can be clearly demonstrated that there are appreciable performance or cost advantages to be gained and that the overall interests of the Federal Government are best served by granting the requested waiver. Such waiver requests will be reviewed by and are subject to the approval of the Secretary of Commerce. The waiver request must address the criteria stated above as the justification for the waiver. Forty-five days should be allowed for review and response by the Secretary of Commerce. Waiver requests shall be submitted to the Secretary of Commerce, Washington, D.C. 20230, and labeled as a Request for a Waiver to a Federal Information Processing Standard. No agency shall take any action to deviate from the standard prior to the receipt of a waiver approval from the Secretary of Commerce. No agency shall begin any process of implementation or acquisition of non-conforming equipment unless it has already obtained such approval. Where to Obtain Copies. Either paper or microfiche copies of this Federal Information Processing Standard, including technical specifications, may be purchased from the National Technical Information Service (NTIS) by ordering Federal Information Processing Standard Publication (FIPS-PUB-98), Message Format for Computer Based Message Systems. Ordering information, including prices and delivery alternatives, may be obtained by contacting the National Technical Information Service (NTIS), U. S. Department of Commerce, Springfield, Virginia 22161, telephone number (703) 487-4650. Payment may be made by check, money order, purchase order, credit card, or deposit account. 4 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 inter- connections, 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 provide a basis for the contents of messages generated by one CBMS to be processed by another CBMS. Standard meanings (semantics) for the components of a message facilitate 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, provided that the use of optional fields and data elements is negotiated in advance. This 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. 5 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. 6 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 organi- zations 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 infor- mation. 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 information. 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 specifi- cation. Section 2 presents a simple model of operation of a CBMS. Section 3 discusses the components of messages and their meaning (semantics), including 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 7 Section 1.1 summarizes those elements according to whether they are required or optional for a CBMS implementing the message format specifi- cation. 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 Specifi- cation The message format specification does not address the following issues, some of which are being covered by other NBS standards development programs at the Institute for Computer Sciences and Technology (ICST). (See [BlaR-80] for a description of the ICST network protocols program.) o The nature of a message transfer system, except to state the assumption that it transfers messages transparently. 8 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 Certain message processing functions that CBMSs provide for users, e.g., those concerned with the creation and editing of text. 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 docu- ments 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. 9 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 mes- sage 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 mes- sage 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 10 Section 2 of data that an originator wishes to send to a recip- ient. 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 prepa- ration 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 impor- tant 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 they 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 11 Section 2 one or more of its attributves (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 mes- sages without having to enter a new list of recip- ients. 2.1 Logical Model of a CBMS CBMS facilities for message creation, transfer, and recip- ient processing are reflected in a logical model of a CBMS developed by IFIP Working Group 6.5. (An essentially identical model is being used by CCITT Study Group VII, Question 5, regarding Message Handling Systems [CCIT-82].) 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 (UA) 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(MTS) is an entity that accepts a 12 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 trans- ferred 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 able to transfer messages between originating and receiving UAs without reading or altering the contents of messages unless otherwise instructed by the UAs. In addition, this message format specifi- cation 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 13 Section 2.1 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. 2.2 Relationship to the ISO Reference Model for Open Systems Interconnection Subcommittee TC97/SC16 of the International Organization for Standardization (ISO) has developed a reference model for describing communications between "open" systems [ISOD-82]. 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.) 14 Section 2.3 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. 2.4 Message Originators and Recipients This message format specification refers to message origi- nators 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, processes or groups. 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 15 Section 2.4 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. 16 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 discu