tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Gloss.     Arch.     IMS     UICC    |    Misc.    |    search     info

RFC 0806

Pages: 107
Top     in Index     Prev     Next

Proposed Federal Information Processing Standard: Specification for message format for computer based message systems

Part 1 of 3, p. 1 to 34
None       Next RFC Part

Obsoleted by:    0841

Top       Page 1 
Network Working Group
Request for Comments: 806

      Proposed Federal Information Processing Standard


      National Bureau of Standards
      Institute for Computer Sciences and Technology

      September 1981

Top       Page 2 
                              TABLE OF CONTENTS


      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
          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

Top       Page 3 
          3.2  Message Processing Functions                          18
               3.2.1  Message creation and posting                   19
               3.2.2  Message reissuing and forwarding               20
            Redistribution                          22
            Assignment                              22
               3.2.3  Reply generation                               23
               3.2.4  Cross referencing                              24
            Unique identifiers                      24
            Serial numbering                        24
               3.2.5  Life span functions                            25
               3.2.6  Requests for recipient processing              25
            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
            Primitive data elements                 30
            Constructor data elements               30
               4.1.3  Properties                                     30
            Printing-names                          30
            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
            Length Codes                            35
            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
            Primitives                              42
            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

Top       Page 4 




          D.1  REQUIRED Fields                                       66
          D.2  BASIC Fields                                          66
          D.3  OPTIONAL Fields                                       66


          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


          G.1  BASIC Data Elements                                   72
          G.2  OPTIONAL Data Elements                                72

      APPENDIX H.  EXAMPLES                                          74

Top       Page 5 
          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

Top       Page 6 
                               LIST OF FIGURES

      FIG. 3.    EXAMPLE OF MESSAGE CIRCULATION                      27
      FIG. 4.    STRUCTURE OF IDENTIFIER OCTETS                      34
      FIG. 6.    REPRESENTATION OF LENGTH CODES                      36
      FIG. 7.    EXAMPLES OF LENGTH CODES                            37
      FIG. 8.    EXAMPLES OF QUALIFIER VALUES                        38

Top       Page 7 
                               LIST OF TABLES

      TABLE 2.    TYPE BITS IN THE IDENTIFIER OCTET                  33

Top       Page 8 
                              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

           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

           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.

Top       Page 9 
        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.

Top       Page 10 

           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

           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

           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

Top       Page 11 
      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

      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

        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

           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.

Top       Page 12 
        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.

Top       Page 13 

           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

Top       Page 14 
           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

             .  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

             .  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

             .  The ability to retrieve a stored message based upon

Top       Page 15 
                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

      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


           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

Top       Page 16 
      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

           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.

Top       Page 17 
      2.2  Relationship to the ISO Reference Model for Open Systems

           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

           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.

Top       Page 18 
      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

           People.    People as originators and recipients are specific

           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

           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.

Top       Page 19 
      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

Top       Page 20 
           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

      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

           (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.)

Top       Page 21 
      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
      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
      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).

Top       Page 22 
      Circulate-Next           (OPTIONAL)

                This field is used in conjunction with the Circulate-To
                field.    (See  Section    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    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

Top       Page 23 
                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
      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
          Only one Message-ID field is permitted in a
      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

Top       Page 24 
                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
      Message-Class            (OPTIONAL)

                This  field  indicates  the  purpose of a message.  For
                example, it might contain values  indicating  that  the
                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
      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.


         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.

Top       Page 25 
      Comments                 (OPTIONAL)

                This  field  permits  adding  comments  to  the message
                without  disturbing  the  original  contents   of   the
      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.

                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

                Any field that is defined in a document published as  a
                formal  extension or replacement to this message format

      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.)

Top       Page 26 
      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,
      Recipient processing   Circulate-To, Circulate-Next


      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

Top       Page 27 
      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

Top       Page 28 
                            The Original Message
      John Doe wishes Jane Jones to get a copy of the following
                        Field: From "Jean Smith"
                        Field: Posted-Date "15 June 1980"
                        Field: To "John Doe"
                        Field: Subject "Next sales meeting"
                        Field: Text "The agenda for ..."

        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 ..."

        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 ..."


Top       Page 29 
      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

      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.  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.)  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


         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.

Top       Page 30 
      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

             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

           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

Top       Page 31 
      3.2.4  Cross referencing

           A  CBMS  message  may  include  designator(s) which identify
      other message(s).  The designators are used to refer  to  related
      messages so that all information in a chain of correspondence can
      be  determined  by  a CBMS user.  The designator used to identify
      and cross-reference messages can take either of two forms, unique
      identifiers or serial numbers.  Unique identifiers

           Unique identifiers are machine-generated quantities that are
      intended primarily for processing by computers.  While they could
      be  examined  by  a  human  user,  unique  identifiers  are   not
      necessarily useful or convenient for people.

           Unique  identifiers  occur  in  several  contexts.  They are
      often used  to  identify  the  contents  of  individual  messages
      unambiguously.    When unique identifiers are used this way, they
      are called message identifiers.  Different versions of a  message
      (for  example,  the  message  when  it is reissued with comments)
      receive new message identifiers.

           When a CBMS generates a message identifier, it must be  able
      to  guarantee  that  it  is unique, both within the domain of the
      individual CBMS and globally, across all connected CBMSs.   CBMSs
      could  generate  globally unique identifiers in several ways, all
      of which require prior  agreement  on  behalf  of  the  connected
      CBMSs.    One  method  is  to assign each connected CBMS a unique
      code.  A CBMS then generates unique identifiers by using its code
      as a prefix to some other quantity that it can  guarantee  to  be
      unique  within  its  domain.    (This  second quantity could be a
      counter or a timestamp/user-id combination.)

           A  CBMS  can  provide  functions  for  tracing   chains   of
      correspondence  by  using  unique identifers.  The message format
      specification defines fields for which  a  CBMS  provides  unique
      identifiers   as   values.    They  are  Message-ID,  References,
      Obsoletes, and In-Reply-To.  (See Section 3.1.6.)  Serial numbering

           Serial  numbers  are  for  users  to  maintain  a   personal
      numbering  system for messages.  The numbers are composed of both
      letters and digits so that users could maintain several  sets  of
      sequences  concurrently  (for  example, A1, A2, A3... and B1, B2,

Top       Page 32 
           Serial  numbers  are  assigned  at  a  defined  point in the
      history of a message.  Serial numbers are not unique identifiers;
      they differ from unique identifiers  (Section  in  that
      they are not necessarily either generated or processed by a CBMS.
      They  are  designed to be typed and read by CBMS users.  They can
      be as simple or complex as the user requires.  Serial numbers are
      intended to be used to designate messages about a specific topic,
      or messages a given user has sent.  Serial numbers  are  intended
      to be a permanent part of the message, just as unique identifiers

           A  CBMS  can  provide  functions allowing originators to add
      serial numbers to messages.  A field has been provided to  permit
      this.    Originator-Serial-Number  is  for an originator to add a
      serial number to a message before sending it.

      3.2.5  Life span functions

           Messages have life spans, usually delimited by the  creation
      date and the time when the last copy of the message is destroyed.
      Messages could be meaningless before a certain time or irrelevant
      after  a  certain  time.    For  example,  a reminder to attend a
      meeting on 5 June loses  most  of  its  value  on  the  sixth;  a
      reminder  to  attend  that same meeting is likely to be of little
      use on 5 May (although not for the same reason).

           A CBMS can define a message's life span explicitly using the
      Start-Date and End-Date fields.   A  third  field,  Warning-Date,
      when used in conjunction with the End-Date, may be used to signal
      the  approach  of  the  End-Date.  It may also stand alone and be
      used by a periodic warning (alarm clock) mechanism.

           A CBMS could use these fields to  help  users  manage  their
      message  stores.  For example, a message whose start date has not
      yet passed could be bypassed by a retrieval  command  unless  the
      user  requested  such  messages explicitly.  A CBMS could use the
      end date to  help  with  message  store  housekeeping  either  by
      archiving  or  deleting  the expired messages automatically or by
      asking the user for some action to be taken on them.  The warning
      date could be  used  to  automatically  remind  the  user  of  an
      impending end date, such as a meeting reminder.

      3.2.6  Requests for recipient processing

           Recipients  have  a  wide variety of needs for examining and
      processing a message,  ranging  from  automatic  output  on  some
      specified  device  to  the execution of a program embedded in the

Top       Page 33 
      message   itself.    Because  many  of  these  needs  are  highly
      specialized, and support for them not  widely  implemented,  this
      message  format specification does not constrain the requests for
      processing that may be included in a message.

           The message format specification  does  provide  two  fields
      that  permit an originator to request circulation list processing
      from the recipient.  These fields are Circulate-To and Circulate-
      Next.  Message circulation

           Message  circulation  involves  serial  distribution  of   a
      message  to  its recipients, based on a distribution list that is
      part of the message.  The message is delivered first to the first
      recipient on the distribution list.  This recipient,  or  someone
      the  recipient  delegates,  sends  the  message  on to the second
      recipient on the list, perhaps after commenting on or  adding  to
      the  message.    This  continues  until  all  recipients  on  the
      distribution list have received the message.

           This message format specification  provides  two  fields  to
      support message circulation.  The Circulate-To field contains the
      complete   distribution   list,   indicating   the  full  set  of
      recipients,  and  the  Circulate-Next   field   indicates   which
      recipients  have  not  seen  the  message.    See Figure 3 for an
      example of message circulation using these two fields.

      3.3  Multiple Occurrences and Ordering of Fields

           Most message fields may occur more than once in  a  message;
      the  exceptions  are  the  Posted-Date,  Sender,  and  Message-ID
      fields, which may occur at most once.  What this means is that  a
      received  message  may  contain  any  number  of  instances  of a
      particular field (such as the "To" field).  If a message contains
      more than one instance of a particular field, that field  "occurs
      multiply"  and  that  message  has "multiple occurrences" of that

           A particular instance of a message field is  not  superseded
      by later instances of the same field.  The To field is an example
      of this.

           Multiple   occurrences   of  a  field  are  not  necessarily
      equivalent to a single field containing the concatenated contents
      of the several instances of the given field.  For  example,  with
      the  Text  field, concatenating the contents of several instances

Top       Page 34 
           A  message  originator wishes to circulate a message to
           recipients A, B  and  C. The  originator  includes  the
           following fields in the message:

                     To:              A
                     Circulate-To:    A, B, C
                     Circulate-Next:  B, C

           When  recipient  A  or  somebody A delegates causes the
           message to be further circulated, the message  is  sent
           to  the  first address in the Circulate-Next field, and
           that name is removed from that field:

                     To:              B
                     Circulate-To:    A, B, C
                     Circulate-Next:  C

           B now sends the message on to its final recipient:

                     To:              C
                     Circulate-To:    A, B, C



      might lose important distinctions between the contents.  A single
      message could be used to send three different documents, each one
      in a different Text field.  However, putting the three  documents
      into  a  single  Text  field would make it much more difficult to
      extract any individual document.

           The fields found in a single message may occur in any order.
      The order in which they occur does not  necessarily  reflect  the
      order  in  which  they  were  created.  Nor does it constrain the
      order in which the  message  recipient  examines,  processes,  or
      displays them.

Next RFC Part