home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc841 < prev    next >
Text File  |  1991-04-21  |  232KB  |  6,904 lines

  1.  
  2.       RFC 841
  3.  
  4.  
  5.       FIPS Pub 98
  6.  
  7.  
  8.  
  9.  
  10.  
  11.       SPECIFICATION FOR MESSAGE FORMAT FOR COMPUTER
  12.       BASED MESSAGE SYSTEMS
  13.  
  14.  
  15.  
  16.  
  17.       
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.       27 January 1983
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.       National Bureau of Standards
  48.  
  49.  
  50.       This RFC is FIPS 98.  The purpose of distributing this document
  51.       as an RFC is to make it easily accesible to the ARPA research
  52.       community.  This RFC does not specify a standard for the ARPA
  53.       Internet.
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                               TABLE OF CONTENTS
  65.  
  66.  
  67.  
  68.  
  69.                                                                    Page
  70.  
  71.  
  72.  
  73.       EXECUTIVE SUMMARY                                               5
  74.  
  75.  
  76.  
  77.       1.  INTRODUCTION                                                7
  78.  
  79.  
  80.           1.1  Guide to Reading This Document                         7
  81.           1.2  Vendor-Defined Extensions to the Specification         8
  82.           1.3  The Scope of the Message Format Specification          8
  83.           1.4  Issues Not Within the Scope of the Message Format      8
  84.                Specification
  85.           1.5  Relationship to Other Efforts                          9
  86.  
  87.  
  88.  
  89.       2.  A SIMPLE MODEL OF A CBMS ENVIRONMENT                       10
  90.  
  91.  
  92.           2.1  Logical Model of a CBMS                               12
  93.           2.2  Relationship to the ISO Reference Model for Open      14
  94.                Systems Interconnection
  95.           2.3  Messages and Fields                                   14
  96.           2.4  Message Originators and Recipients                    15
  97.  
  98.  
  99.  
  100.       3.  SEMANTICS                                                  17
  101.  
  102.  
  103.           3.1  Semantics of Message Fields                           17
  104.                3.1.1  Types of fields                                17
  105.                3.1.2  Semantic Compliance Categories                 18
  106.                3.1.3  Originator fields                              18
  107.                3.1.4  Recipient fields                               19
  108.                3.1.5  Date fields                                    20
  109.                3.1.6  Cross-reference fields                         21
  110.                3.1.7  Message-handling fields                        22
  111.                3.1.8  Message-content fields                         23
  112.                3.1.9  Extensions                                     23
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.                                       i
  120.  
  121.  
  122.  
  123.           3.2  Message Processing Functions                          24
  124.                3.2.1  Message creation and posting                   24
  125.                3.2.2  Message reissuing and forwarding               25
  126.                     3.2.2.1  Redistribution                          26
  127.                     3.2.2.2  Assignment                              28
  128.                3.2.3  Reply generation                               28
  129.                3.2.4  Cross-referencing                              29
  130.                     3.2.4.1  Unique identifiers                      29
  131.                     3.2.4.2  Serial numbering                        30
  132.                3.2.5  Life span functions                            30
  133.                3.2.6  Requests for recipient processing              31
  134.                     3.2.6.1  Message circulation                     31
  135.           3.3  Multiple Occurrences and Ordering of Fields           31
  136.  
  137.  
  138.  
  139.       4.  SYNTAX                                                     34
  140.  
  141.  
  142.           4.1  Introduction                                          34
  143.                4.1.1  Message structure                              34
  144.                4.1.2  Data elements                                  35
  145.                     4.1.2.1  Primitive data elements                 36
  146.                     4.1.2.2  Constructor data elements               36
  147.                4.1.3  Properties                                     36
  148.                     4.1.3.1  Printing-names                          37
  149.                     4.1.3.2  Comments                                37
  150.                4.1.4  Data compression and encryption                37
  151.           4.2  Overview of Syntax Encoding                           37
  152.                4.2.1  Identifier Octets                              38
  153.                4.2.2  Length code and Qualifier components           39
  154.                     4.2.2.1  Length Codes                            41
  155.                     4.2.2.2  Qualifier                               42
  156.                4.2.3  Property-List                                  44
  157.                4.2.4  Data Element Contents                          44
  158.           4.3  Data Element Syntax                                   44
  159.                4.3.1  Data elements                                  45
  160.                     4.3.1.1  Primitives                              47
  161.                     4.3.1.2  Constructors                            49
  162.                     4.3.1.3  Data Elements that Extend this Speci-   52
  163.                              fication
  164.                4.3.2  Using data elements within message fields      53
  165.                4.3.3  Properties and associated elements             54
  166.                4.3.4  Encryption identifiers                         54
  167.                4.3.5  Compression identifiers                        54
  168.                4.3.6  Message types                                  55
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.                                      ii
  179.  
  180.  
  181.  
  182.       SUMMARY OF APPENDIXES                                          56
  183.  
  184.  
  185.  
  186.       APPENDIX A.  FIELDS -- IMPLEMENTORS' MASTER REFERENCE          57
  187.  
  188.  
  189.  
  190.       APPENDIX B.  DATA ELEMENTS -- IMPLEMENTORS' MASTER REFERENCE   63
  191.  
  192.  
  193.  
  194.       APPENDIX C.  DATA ELEMENT IDENTIFIER OCTETS                    71
  195.  
  196.  
  197.  
  198.       APPENDIX D.  SUMMARY OF MESSAGE FIELDS BY COMPLIANCE CATE-     72
  199.                    GORY
  200.  
  201.  
  202.           D.1  REQUIRED Fields                                       72
  203.           D.2  BASIC Fields                                          72
  204.           D.3  OPTIONAL Fields                                       72
  205.  
  206.  
  207.  
  208.       APPENDIX E.  SUMMARY OF MESSAGE SEMANTICS BY FUNCTION          74
  209.  
  210.  
  211.           E.1  Circulation                                           74
  212.           E.2  Cross-Referencing                                     74
  213.           E.3  Life Spans                                            74
  214.           E.4  Delivery System                                       74
  215.           E.5  Miscellaneous Fields Used Generally                   75
  216.           E.6  Reply Generation                                      75
  217.           E.7  Reissuing                                             75
  218.           E.8  Sending (Normal Transmission)                         75
  219.  
  220.  
  221.  
  222.       APPENDIX F.  SUMMARY OF DATA ELEMENT SYNTAX                    76
  223.  
  224.  
  225.  
  226.       APPENDIX G.  SUMMARY OF DATA ELEMENTS BY COMPLIANCE CATEGORY   78
  227.  
  228.  
  229.           G.1  BASIC Data Elements                                   78
  230.           G.2  OPTIONAL Data Elements                                78
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.                                      iii
  238.  
  239.  
  240.  
  241.       APPENDIX H.  EXAMPLES                                          80
  242.  
  243.  
  244.           H.1  Primitive Data Elements                               80
  245.           H.2  Constructor Data Elements                             82
  246.           H.3  Data Elements that Extend this Specification          87
  247.           H.4  Fields                                                88
  248.           H.5  Messages                                              90
  249.           H.6  Unknown Lengths                                       94
  250.           H.7  Message Encoding Using Vendor-Defined Fields          97
  251.                H.7.1  Example of a JANAP-128 Message                 97
  252.                H.7.2  Encoding of Example using the FIPS Message     97
  253.                       Format
  254.                H.7.3  Field Mappings of JANAP-128 to FIPS Format    101
  255.                H.7.4  Vendor-Defined Fields                         101
  256.  
  257.  
  258.  
  259.       REFERENCES                                                    103
  260.  
  261.  
  262.  
  263.       INDEX                                                         105
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.                                      iv
  297.  
  298.  
  299.  
  300.                                LIST OF FIGURES
  301.  
  302.  
  303.  
  304.  
  305.       FIG. 1.    LOGICAL MODEL OF A COMPUTER-BASED MESSAGE SYSTEM    12
  306.       FIG. 2.    MESSAGE FORWARDING AND REDISTRIBUTION               27
  307.       FIG. 3.    EXAMPLE OF MESSAGE CIRCULATION                      32
  308.       FIG. 4.    STRUCTURE OF IDENTIFIER OCTETS                      39
  309.       FIG. 5.    ENCODING MECHANISM FOR QUALIFIERS AND LENGTH        40
  310.                  CODES
  311.       FIG. 6.    REPRESENTATION OF LENGTH CODES                      42
  312.       FIG. 7.    EXAMPLES OF QUALIFIER VALUES                        43
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.                                       v
  356.  
  357.  
  358.  
  359.                                LIST OF TABLES
  360.  
  361.  
  362.  
  363.  
  364.       TABLE 1.    FIELDS USED IN MESSAGE PROCESSING FUNCTIONS        24
  365.       TABLE 2.    HIGH-ORDER BITS IN THE IDENTIFIER OCTET            39
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.                                      vi
  415.  
  416.  
  417.  
  418.                              Federal Information
  419.                      Processing Standards Publication 98
  420.                                27 January 1983
  421.                          Announcing the Standard for
  422.  
  423.  
  424.                                MESSAGE FORMAT
  425.                                      FOR
  426.                        COMPUTER BASED MESSAGE SYSTEMS
  427.  
  428.  
  429.  
  430.       Federal  Information Processing Standards Publications are issued
  431.       by the National Bureau of Standards pursuant to section 111(f)(2)
  432.       of the Federal Property and Administrative Services Act of  1949,
  433.       as  amended,  Public  Law 89-306 (79 Stat. 1127), Executive Order
  434.       11717 (38 FR 12315, dated May 11, 1973), and Part 6 of  Title  15
  435.       Code of Federal Regulations (CFR).
  436.  
  437.       Name  of  Standard.  Message  Format  for  Computer Based Message
  438.       Systems (FIPS PUB 98).
  439.  
  440.       Category of Standard. Software Standard; Interchange Codes, Media
  441.       and Data Files.
  442.  
  443.       Explanation.  This  standard  separates  information  so  that  a
  444.       Computer  Based  Message  System  can  locate and operate on that
  445.       information (which is found in the fields of messages).  This  is
  446.       the  first of a family of standards which will ensure information
  447.       interchange among Computer Based Message Systems.
  448.  
  449.       Approving Authority. Secretary of Commerce
  450.  
  451.       Maintenance Agency. Department of Commerce,  National  Bureau  of
  452.       Standards (Institute for Computer Sciences and Technology).
  453.  
  454.       Cross Index. Not Applicable.
  455.  
  456.       Related Documents.
  457.  
  458.  
  459.          a. American   National   Standard   Code  for  Information
  460.             Interchange (ASCII), X3.4-1977,FIPS PUBS 1-1.
  461.  
  462.          b. American National Standard  Code  Extension  Techniques
  463.             for  Use with the 7-bit Coded Character Set of American
  464.             National  Standard   Code   (ASCII)   for   Information
  465.             Interchange, X3.41-1974, FIPS PUB 35.
  466.  
  467.          c. National  Bureau  of Standards.  Calendar Date. Federal
  468.             Information Processing Standards  Publication  4,  U.S.
  469.  
  470.  
  471.  
  472.  
  473.                                       1
  474.  
  475.  
  476.  
  477.             Department  of Commerce / National Bureau of Standards,
  478.             November, 1968.
  479.  
  480.          d. National Bureau of Standards. Data Encryption Standard.
  481.             Federal Information  Processing  Standards  Publication
  482.             46,  U.S.  Department  of  Commerce/National  Bureau of
  483.             Standards, January, 1977.
  484.  
  485.          e. National Bureau of Standards. Representation  of  Local
  486.             Time  of  the  Day for Information Interchange. Federal
  487.             Information Processing Standards Publication  58,  U.S.
  488.             Department  of Commerce / National Bureau of Standards,
  489.             February 1979.
  490.  
  491.          f. National  Bureau  of   Standards.   Representation   of
  492.             Universal  Time,  Local  Time Differentials, and United
  493.             States   Time   Zone   References    for    Information
  494.             Interchange.  Federal  Information Processing Standards
  495.             Publication 59, U.S. Department of Commerce /  National
  496.             Bureau of Standards, February, 1979.
  497.  
  498.  
  499.       Applicability.  This  message  format standard applies to Federal
  500.       departments  and  agencies  in  their  acquisition  and  use   of
  501.       computer-based  message  systems (CBMS) and services in networked
  502.       systems,   except   for   certain    single-processor    systems.
  503.       Specifically,  the  standard  does not apply to a CBMS if it is a
  504.       stand-alone system which is not  interconnected  with  any  other
  505.       CBMS:  nevertheless, conformance with the standard is recommended
  506.       under these circumstances particularly if there is a  possibility
  507.       that  use  of another central processing unit, or interconnection
  508.       with another system, will be required in the future.  Where a new
  509.       CBMS node is incorporated into an existing network, the  standard
  510.       applies  at  the  interface  between  CBMS's.  In  this instance,
  511.       previously existing nodes may  accommodate  the  standard  either
  512.       through  retrofit  or  by  the use of a translator.  In addition,
  513.       networks  that  are  established  strictly  for  the  purpose  of
  514.       supporting  research  in  computer  science or communications are
  515.       exempt from complying with this standard.
  516.  
  517.       Subcommittee TC97/SC16  of  the  International  Organization  for
  518.       Standardization   (ISO)  has  developed  a  reference  model  for
  519.       describing communications between "open" systems.  (ISO/TC97/SC16
  520.       DIS7498) This model is known as the ISO Reference Model for  Open
  521.       Systems   Interconnection   (OSI).    It  divides  communications
  522.       protocols   into   seven   layers,    ranging    from    physical
  523.       interconnection   at   the  lowest  layer  to  data  exchange  by
  524.       applications programs at the top.
  525.  
  526.       The NBS message format deals with data  used  by  an  application
  527.       within  a  system; it is not a protocol.  Messages defined by the
  528.  
  529.  
  530.  
  531.  
  532.                                       2
  533.  
  534.  
  535.  
  536.       NBS   message   format   would   be  manipulated  by  a  layer  7
  537.       (Application) protocol.
  538.  
  539.       A message as referenced by the NBS message format is  a  unit  of
  540.       communication from an originator to a recipient, exclusive of any
  541.       message  heading  or  control information (often referred to as a
  542.       message envelope).  An originator  and  recipient  are  typically
  543.       people  but  may  be  roles  or  processes.   A role identifies a
  544.       function within an organization as opposed to an  individual  who
  545.       performs  that  function.  A process refers to a computer process
  546.       that might originate or receive a message.
  547.  
  548.       Special Information. Certain characteristics distinguish  a  CBMS
  549.       from  other  systems  for  sending  messages.    Originators  and
  550.       recipients  may  be  terminal  users   or   processes   (discrete
  551.       software).    A  system  in  which  the  originator  addresses  a
  552.       particular terminal device rather than a particular recipient  is
  553.       not  considered to be a CBMS.  The recipient's system need not be
  554.       available when the originator sends a message.  The  message  can
  555.       be  stored  in the originator's system or at an intermediate node
  556.       in the network until the recipient's  system  becomes  available.
  557.       In  addition,  a  CBMS  offers  both message creation and message
  558.       processing facilities as part of the system.  A CBMS offers  text
  559.       editing  facilities  to  assist  the user in the preparation of a
  560.       message.   The  recipient  CBMS  stores  the  message  until  the
  561.       recipient  chooses  to  read  it.    Message systems which do not
  562.       provide these minimum functions are not considered CBMS's.
  563.  
  564.       The intent of the message format standard is to  allow  users  of
  565.       different computer based message systems to send messages to each
  566.       other.    The  standard  does  not  make  demands  on the message
  567.       transfer system except that it transports messages transparently.
  568.       The standard makes some simple demands on the  CBMS.    The  CBMS
  569.       must  recognize  fields  within  the  message,  process fields in
  570.       predetermined ways, create messages  in  the  correct  form,  and
  571.       recognize  and  create  data  elements of messages in the correct
  572.       format.  The standard does not dictate or constrain the  services
  573.       that  the  CBMS  provides for users, or the way that messages are
  574.       stored, represented, manipulated, or presented to the user by the
  575.       CBMS.
  576.  
  577.       The standard does constrain the format  of  the  message  at  the
  578.       interface  between  systems.   This guarantees that, whatever the
  579.       source of the message, it arrives at the receiving system in  the
  580.       standard   format.      The  message  format  standard  separates
  581.       information into fields so that the CBMS can locate  and  operate
  582.       on  that  information.   The message is converted from the format
  583.       used within the originator's CBMS  to  the  standard  format  (if
  584.       different)  on  leaving  the  originator's  CBMS.  The message is
  585.       converted from the standard format to the format used within  the
  586.       recipient's CBMS (if different) on entering the recipient's CBMS.
  587.  
  588.  
  589.  
  590.  
  591.                                       3
  592.  
  593.  
  594.  
  595.       Specifications.  Federal  Information Processing Standard (FIPS),
  596.       Message Format for Computer Based Message Systems (affixed).
  597.  
  598.       Qualifications. None
  599.  
  600.       Implementation Schedule. All  applicable  equipment  or  services
  601.       ordered  on  or after 24 months from the date of issuance of this
  602.       FIPS PUB, and all CBMS development initiated inhouse on or  after
  603.       12  months  from the date of issuance of this FIPS PUB must be in
  604.       conformance with this standard unless a waiver has been  obtained
  605.       in  accordance  with the procedure described below.  An exception
  606.       to this standard is made when procurement actions  are  into  the
  607.       solicitation phase on the date of issuance of this FIPS PUB.
  608.  
  609.       Waivers.  Heads  of agencies may request that the requirements of
  610.       this standard be waived in instances  where  it  can  be  clearly
  611.       demonstrated  that  there  are  appreciable  performance  or cost
  612.       advantages to be gained and that the  overall  interests  of  the
  613.       Federal  Government  are  best  served  by granting the requested
  614.       waiver.  Such waiver requests will be reviewed by and are subject
  615.       to the approval of the Secretary of Commerce.  The waiver request
  616.       must address the criteria stated above as the  justification  for
  617.       the waiver.
  618.  
  619.       Forty-five  days should be allowed for review and response by the
  620.       Secretary of Commerce.  Waiver requests shall be submitted to the
  621.       Secretary of Commerce, Washington, D.C. 20230, and labeled  as  a
  622.       Request   for  a  Waiver  to  a  Federal  Information  Processing
  623.       Standard.  No agency shall take any action to  deviate  from  the
  624.       standard  prior  to  the  receipt  of  a waiver approval from the
  625.       Secretary of Commerce.  No agency  shall  begin  any  process  of
  626.       implementation  or acquisition of non-conforming equipment unless
  627.       it has already obtained such approval.
  628.  
  629.       Where to Obtain Copies. Either paper or microfiche copies of this
  630.       Federal  Information  Processing  Standard,  including  technical
  631.       specifications,  may  be  purchased  from  the National Technical
  632.       Information  Service  (NTIS)  by  ordering  Federal   Information
  633.       Processing Standard Publication (FIPS-PUB-98), Message Format for
  634.       Computer  Based Message Systems.  Ordering information, including
  635.       prices and delivery alternatives, may be obtained  by  contacting
  636.       the   National   Technical   Information  Service  (NTIS),  U. S.
  637.       Department of Commerce, Springfield,  Virginia  22161,  telephone
  638.       number  (703)  487-4650.    Payment  may  be made by check, money
  639.       order, purchase order, credit card, or deposit account.
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.                                       4
  651.  
  652.                                                       Executive Summary
  653.  
  654.                               EXECUTIVE SUMMARY
  655.  
  656.  
  657.  
  658.  
  659.            The  message  format  specification addresses the problem of
  660.       exchanging  messages  between  different  computer-based  message
  661.       systems  (CBMSs).    This interchange problem can be addressed on
  662.       several  levels.    One  level  specifies  the  physical   inter-
  663.       connections,  another  specifies  how information travels between
  664.       CBMSs, another specifies  form  and  meaning  of  messages  being
  665.       interchanged.    The  highest  level  specifies  operations  on a
  666.       message.  Each of these levels would be covered  by  a  different
  667.       standard.
  668.  
  669.            This  message format specification addresses only the issues
  670.       of form and meaning of messages at the points in time  when  they
  671.       are  sent  from  one  CBMS and received by another.  Messages are
  672.       composed of fields, containing different classes of  information.
  673.       These  fields  contain  information about the message originator,
  674.       message recipient, subject matter, precedence and  security,  and
  675.       references  to  previous  messages,  as  well  as the text of the
  676.       message.  Standard formats (syntax) for messages provide a  basis
  677.       for  the  contents  of  messages  generated  by  one  CBMS  to be
  678.       processed by another CBMS.  Standard meanings (semantics) for the
  679.       components of a message facilitate standard interpretation  of  a
  680.       message,  so  that  everyone receiving a message gets the meaning
  681.       intended by its sender.
  682.  
  683.            Each CBMS that implements this message format  specification
  684.       will  be  compatible  with  any  other  CBMS  that implements the
  685.       specification, provided that the use of optional fields and  data
  686.       elements  is  negotiated  in  advance.    This  ensures  that the
  687.       contents of a message posted by one  CBMS  can  be  received  and
  688.       interpreted by a different CBMS.
  689.  
  690.            This  message  format  specification has been developed as a
  691.       result of examining CBMSs currently  in  use  in  commercial  and
  692.       research  environments.    Three major design perspectives helped
  693.       shape the message format specification.
  694.  
  695.  
  696.         o  Viability.    The  message  format  specification   uses
  697.            concepts  that  already work.  It has been designed with
  698.            implementation concerns in mind.
  699.  
  700.         o  Compatibility.    The   message   format   specification
  701.            contains concepts from existing CBMSs.  For this reason,
  702.            many CBMS would already contain functions and components
  703.            similar  to  those  required  to  implement  the message
  704.            format specification.
  705.  
  706.  
  707.  
  708.  
  709.                                       5
  710.  
  711.                                                       Executive Summary
  712.  
  713.         o  Extensibility.      This  message  format  specification
  714.            defines a broad range of message content components  and
  715.            requires  only an elementary subset of them.  This means
  716.            that even a very simple CBMS can implement  the  message
  717.            format  specification.  The message format specification
  718.            contains a rich  set  of  optional  components  and,  in
  719.            addition,  mechanisms  for  user  extensions  and future
  720.            extensions to the message format specification.
  721.  
  722.  
  723.            The  message  format  specification  defines  the  form  and
  724.       meaning  of  message  contents  and their components as they pass
  725.       from one CBMS to another through a message transfer system.   The
  726.       message   format  specification  does  not  address  any  of  the
  727.       following major issues.
  728.  
  729.  
  730.         o  Functions or services provided to a user by a CBMS.
  731.                 For  example,  the  message  format   specification
  732.                 assumes  that  every CBMS allows a user to send and
  733.                 receive messages.  It does not specify any  of  the
  734.                 details of how a send function or a message-reading
  735.                 function  might  work or how it might appear to the
  736.                 user.  That is, the  message  format  specification
  737.                 neither limits nor mandates functions.
  738.  
  739.         o  Storage or format of message contents in a CBMS.
  740.                 The  message  format specification defines the form
  741.                 and contents of messages when they are  transferred
  742.                 between  systems.   A CBMS may or may not choose to
  743.                 use the same format for internal storage.
  744.  
  745.         o  Message transfer system protocols.
  746.                 The message format specification does  not  specify
  747.                 how  a  message  travels  between  CBMSs.   It does
  748.                 specify the form of its contents as it  leaves  and
  749.                 arrives,  assuming  only  that the message is moved
  750.                 transparently by the transfer system.
  751.  
  752.         o  Message envelopes.
  753.                 While a message is traveling between CBMSs,  it  is
  754.                 enclosed  in a message envelope.  Message envelopes
  755.                 contain all the information about a message that  a
  756.                 message transfer system needs to know.  The message
  757.                 format  specification does not define the format or
  758.                 content of a message envelope.
  759.  
  760.         o  How message originators and recipients are identified.
  761.                 The message format specification does not provide a
  762.                 representation scheme for the names or addresses of
  763.                 message originators  and  recipients  as  they  are
  764.                 known to a CBMS.
  765.  
  766.  
  767.  
  768.                                       6
  769.  
  770.                                                               Section 1
  771.  
  772.       1.  INTRODUCTION
  773.  
  774.  
  775.            A  computer-based message system (CBMS) allows communication
  776.       between "entities" (usually people) using computers.    Computers
  777.       serve  both  to mediate the actual communications between systems
  778.       and to provide users with facilities for creating and reading the
  779.       messages.
  780.  
  781.            CBMSs have  been  developing  for  over  ten  years.    More
  782.       recently,  CBMSs  have  been one of the bases in industry for the
  783.       introduction of office automation.  A growing number  of  organi-
  784.       zations  use  either  their own or a commercially available CBMS.
  785.       The design and complexity of these systems  vary  widely.    This
  786.       message  format  specification  provides  a basis for interaction
  787.       between different CBMSs by defining the format of messages passed
  788.       between them.
  789.  
  790.  
  791.  
  792.       1.1  Guide to Reading This Document
  793.  
  794.  
  795.            The method of presenting the material in this  specification
  796.       is  to  combine  the technical specification with tutorial infor-
  797.       mation.  This approach has been taken to place the  specification
  798.       in context and improve its readability.
  799.  
  800.            The  core of the technical information in the document is in
  801.       Section 2, "A Simple Model of a CBMS Environment";  Section  3.1,
  802.       "Semantics  of  Message Fields"; Section 4.2, "Overview of Syntax
  803.       Encoding"; and Section 4.3, "Data Element Syntax".  Appendixes  A
  804.       and  B  consolidate  the technical information.  These appendices
  805.       are designed  for  ease  of  reference  and  should  be  read  in
  806.       conjunction   with   the  body  of  the  report  for  a  complete
  807.       understanding of the message format  presented  in  the  specifi-
  808.       cation.
  809.  
  810.            Section  2  presents  a simple model of operation of a CBMS.
  811.       Section 3 discusses the components of messages and their  meaning
  812.       (semantics),    including    discussions   of   the   recommended
  813.       relationship between message components and CBMS user  functions.
  814.       (See  Section  3.2.)    Section  4  presents  details of the form
  815.       (syntax) required for components of a message.
  816.  
  817.            Appendix D summarizes the components of  messages  according
  818.       to  whether  they are required or optional for CBMSs implementing
  819.       the message format  specification.    Appendix  E  organizes  the
  820.       message  components  according  to  the  functional  class of the
  821.       components.  Appendix F provides an  overview  of  the  syntactic
  822.       elements defined by this message format specification; Appendix G
  823.  
  824.  
  825.  
  826.  
  827.                                       7
  828.  
  829.                                                             Section 1.1
  830.  
  831.       summarizes  those elements according to whether they are required
  832.       or optional for a CBMS implementing the message  format  specifi-
  833.       cation.  Examples of each syntactic element appear in Appendix H,
  834.       displaying syntax and describing the associated semantics.
  835.  
  836.  
  837.  
  838.       1.2  Vendor-Defined Extensions to the Specification
  839.  
  840.  
  841.            This  specification provides the capability of extending the
  842.       range of functionality by the use  of  vendor-defined  qualifiers
  843.       and  vendor-defined  data  elements.    Any  vendor who uses this
  844.       capability to provide services which are  essentially  equivalent
  845.       to  those already designated as required, basic, or optional does
  846.       not comply with the specification.
  847.  
  848.  
  849.  
  850.       1.3  The Scope of the Message Format Specification
  851.  
  852.  
  853.            The purpose of  this  message  format  specification  is  to
  854.       present  the  semantics  and syntax to be used for messages being
  855.       exchanged between CBMSs.  Specifically, it defines the following:
  856.  
  857.  
  858.         o  The meaning and form of standard fields to  be  used  in
  859.            messages.
  860.  
  861.         o  Which fields must be present in all messages.
  862.  
  863.         o  Which fields complying CBMSs must be able to process.
  864.  
  865.         o  How  messages,  fields, and the data contained in fields
  866.            are represented.
  867.  
  868.  
  869.  
  870.       1.4  Issues Not Within the Scope of the Message Format Specifi-
  871.            cation
  872.  
  873.  
  874.            The  message  format  specification  does  not  address  the
  875.       following  issues,  some  of which are being covered by other NBS
  876.       standards development programs  at  the  Institute  for  Computer
  877.       Sciences and Technology (ICST).  (See [BlaR-80] for a description
  878.       of the ICST network protocols program.)
  879.  
  880.  
  881.         o  The nature of a message transfer system, except to state
  882.            the assumption that it transfers messages transparently.
  883.  
  884.  
  885.  
  886.                                       8
  887.  
  888.                                                             Section 1.4
  889.  
  890.         o  The  form  or  nature  of the protocols used to transfer
  891.            messages (posting, relay, and delivery protocols).
  892.  
  893.         o  The content and representation of message envelopes.
  894.  
  895.         o  Representations for unique identifiers  (in  particular,
  896.            message identifiers).
  897.  
  898.         o  Network and internetwork addressing.
  899.  
  900.         o  Representations  for  identities  of message originators
  901.            and recipients.
  902.  
  903.         o  Certain message processing functions that CBMSs  provide
  904.            for  users,  e.g., those concerned with the creation and
  905.            editing of text.
  906.  
  907.         o  Presentation of messages to users.
  908.  
  909.         o  Representations for multi-media objects.
  910.  
  911.         o  Data representation for messages within CBMSs.
  912.  
  913.         o  Data sharing or any storage management within CBMSs.
  914.  
  915.         o  Representations for fixed  or  floating  point  numbers.
  916.            
  917.  
  918.  
  919.  
  920.       1.5  Relationship to Other Efforts
  921.  
  922.  
  923.            The  message  format specification is based on several docu-
  924.       ments and the current state  of  many  CBMSs  available  both  in
  925.       industry and the research community.  These documents include the
  926.       standardization efforts in the ARPANet [CroD-77, PosJ-79] and the
  927.       CCITT,  proposed  ISO  and  ANSI  header  format standards [TasG-
  928.       80, ISOD-79], the work of IFIPS Working Group  6.5,  and  various
  929.       papers  about the general nature of mail systems, addressing, and
  930.       mail delivery.  (See [FeiE-79] for references.
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.                                       9
  946.  
  947.                                                               Section 2
  948.  
  949.       2.  A SIMPLE MODEL OF A CBMS ENVIRONMENT
  950.  
  951.  
  952.            In  order  to provide a framework for presenting the message
  953.       format specification, this section describes a simple  functional
  954.       model for a CBMS.  The model provides a high-level description of
  955.       both  user  facilities  and  system architecture.  Discussions of
  956.       messages, message originators, and message  recipients  serve  to
  957.       further clarify the nature of a CBMS.
  958.  
  959.            A  CBMS permits the transfer of a message from an originator
  960.       to a recipient.  "Originator" and "recipient" are used  in  their
  961.       normal  English  senses.    (See Section 2.4.)  A message (in its
  962.       most abstract definition) is simply a unit of communication  from
  963.       an  originator  to a recipient.  A CBMS offers several classes of
  964.       functions to its users:
  965.  
  966.  
  967.         o  Message Creation:  The  facilities  used  by  a  message
  968.            originator  to  create messages and specify to whom they
  969.            are to be sent.
  970.  
  971.         o  Message Transfer: The facilities used to convey  a  mes-
  972.            sage to its recipient(s).
  973.  
  974.         o  Recipient  Processing:  The facilities used by a message
  975.            recipient to process messages that have arrived.
  976.  
  977.  
  978.            These classes of functions are presented in more  detail  in
  979.       Section 3.2.
  980.  
  981.            CBMSs  differ  from  other  office automation/communications
  982.       systems in a number of ways.
  983.  
  984.  
  985.         o  Unlike other types of  electronic  communications,  CBMS
  986.            messages  are  sent  to  particular  individuals, not to
  987.            stations or telephone sets.  If a recipient moves  to  a
  988.            different  location, messages sent to that recipient are
  989.            delivered to the recipient at the new location.
  990.  
  991.         o  Transmission of CBMS  messages  is  asynchronous.    The
  992.            recipient's  system  need not be available when the mes-
  993.            sage leaves the originator's  system.    That  is,  CBMS
  994.            message transfer facilities are store-and-forward.
  995.  
  996.         o  CBMS  messages can contain a wide variety of data.  They
  997.            are not constrained to any single kind of communication.
  998.            CBMS messages are often simple  memoranda  but  are  not
  999.            restricted to text.  A CBMS message may contain any kind
  1000.  
  1001.  
  1002.  
  1003.  
  1004.                                      10
  1005.  
  1006.                                                               Section 2
  1007.  
  1008.            of  data  that  an originator wishes to send to a recip-
  1009.            ient.  By contrast, Teletex  systems  and  communicating
  1010.            word  processors  handle  the  transfer  of  final  form
  1011.            documents; compatible communicating word processors  can
  1012.            exchange  documents in editable form; Telex and TWX deal
  1013.            in unformatted text.
  1014.  
  1015.         o  CBMSs offer message creation facilities as an  important
  1016.            part  of  the  system.  CBMSs assist users in the prepa-
  1017.            ration of messages by  having  text  editing  facilities
  1018.            available  and allowing users to include data stored on-
  1019.            line in messages.  Some CBMSs also  interface  to  other
  1020.            office  automation  facilities,  such  as formatters and
  1021.            spelling correctors.  This is not true of Telex, TWX, or
  1022.            similar services.
  1023.  
  1024.         o  CBMSs offer recipient processing facilities as an impor-
  1025.            tant part of the system.  This is not true of most other
  1026.            forms of electronic communications.  For example,  Telex
  1027.            and TWX systems simply print messages on paper when they
  1028.            are  received,  without  retaining a copy in the system.
  1029.            (Teletex systems are similar to Telex systems, but  some
  1030.            can  retain  a  copy  of the document in local storage.)
  1031.            Communicating  word  processors   might   notify   their
  1032.            operators  that  a  document  has  been  received and is
  1033.            stored on-line, but they offer  little  in  the  way  of
  1034.            other recipient processing facilities.  Most CBMSs offer
  1035.            at least the following recipient processing facilities:
  1036.  
  1037.  
  1038.              .  The  ability  to retain a copy of a message on-line
  1039.                 after it has been read.
  1040.  
  1041.              .  The ability to examine or  delete  stored  messages
  1042.                 individually.
  1043.  
  1044.              .  The ability to organize messages using some form of
  1045.                 electronic "file folder."
  1046.  
  1047.              .  The  ability  to  determine  if a message is recent
  1048.                 (has arrived since the last time the recipient used
  1049.                 the CBMS) or unseen (has never been examined by the
  1050.                 recipient).
  1051.  
  1052.              .  The  ability  to  summarize  stored  messages.    A
  1053.                 summary   usually   includes  information  such  as
  1054.                 whether the message is recent or  unseen,  when  it
  1055.                 was  received,  its length, who it is from, and its
  1056.                 subject.
  1057.  
  1058.              .  The ability to retrieve a stored message based upon
  1059.  
  1060.  
  1061.  
  1062.  
  1063.                                      11
  1064.  
  1065.                                                               Section 2
  1066.  
  1067.                 one  or  more of its attributves (for example, when
  1068.                 the message was received, whether  or  not  it  has
  1069.                 been  seen  or deleted, and the values contained in
  1070.                 its fields).
  1071.  
  1072.              .  A forward facility that allows users to include all
  1073.                 or part of a message in a new outgoing message.
  1074.  
  1075.              .  A reply facility that allows users to  answer  mes-
  1076.                 sages  without having to enter a new list of recip-
  1077.                 ients.
  1078.  
  1079.  
  1080.  
  1081.       2.1  Logical Model of a CBMS
  1082.  
  1083.  
  1084.            CBMS facilities for message creation, transfer,  and  recip-
  1085.       ient  processing  are  reflected  in  a  logical  model of a CBMS
  1086.       developed by IFIP Working Group 6.5.  (An  essentially  identical
  1087.       model  is  being  used  by  CCITT  Study  Group  VII, Question 5,
  1088.       regarding  Message  Handling  Systems [CCIT-82].)     The   model
  1089.       consists  of  a  Message  Transfer  System  and  a number of User
  1090.       Agents.  (See Figure 1.)
  1091.  
  1092.  
  1093.  
  1094.                     |                  |
  1095.                     |     *************     |
  1096.       *********  ------>  *  Message  *  ------->  *********
  1097.       * User  *  Posting  * Transfer  *  Delivery  * User  *
  1098.       * Agent *  Protocol *  System   *  Protocol  * Agent *
  1099.       *********  <------- *************  <-------  *********
  1100.                     |                       |
  1101.                     |                       |
  1102.                  Posting                Delivery
  1103.                   Slot                    Slot
  1104.  
  1105.                           Message Flow
  1106.       Originator --------------------------------> Recipient
  1107.  
  1108.  
  1109.  
  1110.       FIG. 1.  LOGICAL MODEL OF A COMPUTER-BASED MESSAGE SYSTEM
  1111.  
  1112.  
  1113.            A User Agent (UA) is a functional entity that acts on behalf
  1114.       of a user, assisting with creating and  processing  messages  and
  1115.       communicating with the Message Transfer System.
  1116.  
  1117.            The Message Transfer System(MTS) is an entity that accepts a
  1118.  
  1119.  
  1120.  
  1121.  
  1122.                                      12
  1123.  
  1124.                                                             Section 2.1
  1125.  
  1126.       message from its originator's User Agent and ultimately passes it
  1127.       to  each  of  its  recipients' User Agents.  The Message Transfer
  1128.       System may perform routing and storage functions  (among  others)
  1129.       in order to accomplish its task.
  1130.  
  1131.            Transferring  a  message  from an originator's User Agent to
  1132.       the Message Transfer System is called Posting;  the  originator's
  1133.       User  Agent  and  Message  Transfer  System  engage  in a Posting
  1134.       Protocol in order to accomplish Posting.  Transferring a  message
  1135.       from  the  Message Transfer System to a recipient's User Agent is
  1136.       called Delivery; the recipient's User Agent and Message  Transfer
  1137.       System  engage  in  a  Delivery  Protocol  in order to accomplish
  1138.       Delivery.
  1139.  
  1140.            The point at which responsibility for a  message  is  trans-
  1141.       ferred  is called a Slot.  The Posting Slot is the point at which
  1142.       responsibility for a message passes  from  an  originator's  User
  1143.       Agent  to  the  Message Transfer System; the Delivery Slot is the
  1144.       point at which responsibility  for  a  message  passes  from  the
  1145.       Message Transfer System to a recipient's User Agent.
  1146.  
  1147.            The  model  divides  messages  into  two  parts, the message
  1148.       content and the message envelope.  The  message  content  is  the
  1149.       information  that the originator wishes to send to the recipient;
  1150.       this message format specification deals solely with  the  message
  1151.       content.    The  message envelope consists of all the information
  1152.       necessary for the Message Transfer System to  do  its  job;  this
  1153.       message   format  specification  does  not  specify  the  message
  1154.       envelope.  Some of the data appearing  on  the  message  envelope
  1155.       could  be  redundant with some data found in the message content.
  1156.       The Message Transfer  System  is  not  expected  to  examine  the
  1157.       message content unless it is told to do so by the originator's or
  1158.       recipient's User Agent.
  1159.  
  1160.            This  message format specification places no restrictions on
  1161.       the Message Transfer System itself, except that  it  be  able  to
  1162.       transfer  messages  between originating and receiving UAs without
  1163.       reading or altering the contents  of  messages  unless  otherwise
  1164.       instructed by the UAs.  In addition, this message format specifi-
  1165.       cation  does  not dictate the form or nature of any protocol used
  1166.       by the Message Transfer System.   Finally,  this  message  format
  1167.       specification does not specify the content or form of the message
  1168.       envelope.   That is, the message format specification defines the
  1169.       format for the contents of messages, not the manner in which they
  1170.       are transmitted.
  1171.  
  1172.            Many of today's commercially available CBMSs incorporate all
  1173.       of the facilities  represented  in  the  logical  model.    Their
  1174.       architectures  may  reflect  the economies that can be taken when
  1175.       implementing systems  that  are  self-contained.    For  example,
  1176.       stand-alone  systems  that  store  messages  in  a single central
  1177.  
  1178.  
  1179.  
  1180.  
  1181.                                      13
  1182.  
  1183.                                                             Section 2.1
  1184.  
  1185.       database  require  no  Message Transfer System; an implementation
  1186.       may integrate software for User Agent and Message Transfer System
  1187.       functions, doing away with Posting or Delivery Protocols.
  1188.  
  1189.  
  1190.  
  1191.       2.2  Relationship to the ISO Reference Model for Open Systems
  1192.            Interconnection
  1193.  
  1194.  
  1195.            Subcommittee TC97/SC16 of the International Organization for
  1196.       Standardization  (ISO)  has  developed  a  reference  model   for
  1197.       describing communications between "open" systems [ISOD-82].  This
  1198.       model  is  known  as  the  ISO  Reference  Model for Open Systems
  1199.       Interconnection (OSI).  It divides communications protocols  into
  1200.       seven layers, ranging from physical interconnection at the lowest
  1201.       layer to data exchange by application programs at the top.
  1202.  
  1203.            This message format specification deals with data used by an
  1204.       application  within  a  system.    Thus, the message format being
  1205.       specified here is not a protocol.  Since it is not a protocol, it
  1206.       lies outside of the model for open systems interconnection.  User
  1207.       Agents are application layer entities (layer 7), however, and the
  1208.       protocols used by a message transfer system are above the session
  1209.       layer (layer 5).
  1210.  
  1211.  
  1212.  
  1213.       2.3  Messages and Fields
  1214.  
  1215.  
  1216.            A message is a unit of communication from an originator to a
  1217.       recipient.  A message consists of a series of  components  called
  1218.       fields.   Fields can be described according to their meaning in a
  1219.       message (semantics) and according to the format required for them
  1220.       in a message (syntax).
  1221.  
  1222.            Semantically, a field is just a component of a message;  the
  1223.       meanings  of particular fields are defined by this message format
  1224.       specification.  Syntactically, a field is a unit  of  data  whose
  1225.       form is defined by this message format specification.  Additional
  1226.       fields can be defined by users or vendors as long as they conform
  1227.       to  the  syntactic  and  semantic  rules that this message format
  1228.       specification defines for additional fields.
  1229.  
  1230.            (A note on terminology: A  message  consists  of  components
  1231.       called  fields.  The words "message" and "field" are used both in
  1232.       the informal sense  of  the  previous  sentence  and  in  a  more
  1233.       restricted  sense  as names of particular syntactic elements.  As
  1234.       syntactic  element  names,   Message   and   Field   are   always
  1235.       capitalized.)
  1236.  
  1237.  
  1238.  
  1239.  
  1240.                                      14
  1241.  
  1242.                                                             Section 2.3
  1243.  
  1244.            Some  CBMS functions are based on the contents of particular
  1245.       fields; other functions (such as the ability to read  a  message)
  1246.       may  have  little  to do with the fields themselves.  Section 3.2
  1247.       discusses some of  the  specific  functions  that  a  CBMS  might
  1248.       provide  to  users  and  the  fields that must be used to support
  1249.       those functions.
  1250.  
  1251.  
  1252.  
  1253.       2.4  Message Originators and Recipients
  1254.  
  1255.  
  1256.            This message format specification refers to  message  origi-
  1257.       nators  and recipients.  These terms were defined functionally in
  1258.       Figure 1.  When the message format specification  refers  to  the
  1259.       identity  of  a  message  originator or recipient, it means "that
  1260.       information which uniquely identifies the message  originator  or
  1261.       recipient  within  the  domain of the given message system."  The
  1262.       syntax and semantics of message addressing  are  not  within  the
  1263.       scope of the message format specification.
  1264.  
  1265.            Originators  and  recipients can be people, roles, processes
  1266.       or groups.
  1267.  
  1268.            People.  People as originators and recipients  are  specific
  1269.       individuals.
  1270.  
  1271.            Roles.    Roles  identify  functions within organizations as
  1272.       opposed to the  specific  individuals  who  perform  them.    For
  1273.       example,  consider  a  newspaper  that  produces both morning and
  1274.       evening editions and therefore operates with more than one shift.
  1275.       Someone wishing to contact the city desk would send a message  to
  1276.       the  city  desk  role rather than trying to determine exactly who
  1277.       was assigned to the city desk at a specific time.    (Of  course,
  1278.       messages  can usually be sent to the individuals directly whether
  1279.       or not they are actually performing a role at the time.)
  1280.  
  1281.            Processes.  A process in a computer could serve as either an
  1282.       originator or a recipient for messages.  A computer system  might
  1283.       originate  a  message  to  notify a recipient about the status of
  1284.       some task.  For example, an archive utility  could  notify  users
  1285.       about  files  that  have been archived; a distributed file system
  1286.       could notify a user that a remote file has been  deposited  on  a
  1287.       local file system.  Messages could be used by computer systems to
  1288.       warn  about  some  impending  condition  or  even  to monitor the
  1289.       performance of the computer itself.  Some computer processes  may
  1290.       also  be  message  recipients,  taking  action based upon message
  1291.       contents.
  1292.  
  1293.            In addition, some CBMSs allow messages to be sent to groups.
  1294.       A group is a predefined list of  message  recipients.    Using  a
  1295.  
  1296.  
  1297.  
  1298.  
  1299.                                      15
  1300.  
  1301.                                                             Section 2.4
  1302.  
  1303.       group   name  as  a  recipient  permits  message  originators  to
  1304.       designate a potentially large number of recipients using a single
  1305.       recipient identifier.  This makes using the CBMS more  convenient
  1306.       and accurate.
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.                                      16
  1359.  
  1360.                                                               Section 3
  1361.  
  1362.       3.  SEMANTICS
  1363.  
  1364.  
  1365.            This  section discusses two major topics, message processing
  1366.       functions and message field meanings.  Section 3.1 describes  the
  1367.       six  functional  groups of message fields.  The functional groups
  1368.       are Origination, Dates, Recipients,  Cross-referencing,  Message-
  1369.       handling, and Message-contents.  They are explained more fully in
  1370.       Section 3.1.1, along with detailed discussion of the semantics of
  1371.       all  the  fields in each functional group.  Section 3.2 describes
  1372.       message processing functions whose  operation  is  based  on  the
  1373.       meanings of particular message fields.
  1374.  
  1375.  
  1376.  
  1377.       3.1  Semantics of Message Fields
  1378.  
  1379.  
  1380.            The  definition  of  a  message  is  discussed  generally in
  1381.       Sections 1 and 2.  Semantically valid messages must  contain  one
  1382.       From  field,  one  To field, and one Posted-Date field.  They may
  1383.       contain, in addition, any number of other  fields,  depending  on
  1384.       the  processing  and  functions  supplied  by  the originating or
  1385.       receiving CBMS.  (Section  3.2  describes  classes  of  functions
  1386.       supplied by CBMSs.)
  1387.  
  1388.  
  1389.       3.1.1  Types of fields
  1390.  
  1391.  
  1392.            Message  receiving programs are required to interpret fields
  1393.       according to the semantics described in  the  remainder  of  this
  1394.       section.  The message fields defined in this document are grouped
  1395.       into the following functional categories.
  1396.  
  1397.  
  1398.         o  Originator  fields  indicate who or what participated in
  1399.            the creation of the message and where replies should  be
  1400.            directed.  (See Section 3.1.3.)
  1401.  
  1402.         o  Date fields record when events take place, for a variety
  1403.            of events, such as message creation or expiration.  (See
  1404.            Section 3.1.5.)
  1405.  
  1406.         o  Recipient  fields  indicate  who  or what is intended to
  1407.            receive a message.  (See Section 3.1.4.)
  1408.  
  1409.         o  Cross-reference fields label a message or refer to other
  1410.            messages.  (See Section 3.1.6.)
  1411.  
  1412.         o  Message-handling fields record the  type  of  service  a
  1413.  
  1414.  
  1415.  
  1416.  
  1417.                                      17
  1418.  
  1419.                                                           Section 3.1.1
  1420.  
  1421.            message's  sender requested of a message transfer system
  1422.            or indicate how the message should  be  treated  by  its
  1423.            recipients.  (See Section 3.1.7.)
  1424.  
  1425.         o  Message-content   fields   either  contain  the  primary
  1426.            content of a message, or index the message, or summarize
  1427.            the message.  (See Section 3.1.8.)
  1428.  
  1429.         o  Extension fields provide mechanisms  for  extending  the
  1430.            message format specification.  (See Section 3.1.9.)
  1431.  
  1432.  
  1433.       3.1.2  Semantic Compliance Categories
  1434.  
  1435.  
  1436.            For purposes of determining whether a CBMS complies with the
  1437.       semantic  requirements of this message format specification, mes-
  1438.       sage fields have been divided into three categories:
  1439.  
  1440.  
  1441.       REQUIRED  These fields must be present in all messages  and  must
  1442.                 be  processed  by message receiving programs as defined
  1443.                 by the message format specification.
  1444.  
  1445.       BASIC     These fields need not be present in  all  messages  but
  1446.                 when  they do appear, they must be processed by message
  1447.                 receiving programs as defined  by  the  message  format
  1448.                 specification.
  1449.  
  1450.       OPTIONAL  These  fields  need  not be present in all messages and
  1451.                 may be ignored by  message  receiving  programs.    The
  1452.                 exact  meaning  of  "ignored"  is  not specified by the
  1453.                 message format specification.   However,  a  CBMS  must
  1454.                 recognize  the existence of an optional field (that is,
  1455.                 optional fields should not cause errors) and  must  not
  1456.                 process the field in a manner contrary to the semantics
  1457.                 defined  for  that field by the message format specifi-
  1458.                 cation.  It is left to the discretion of a  recipient's
  1459.                 CBMS  what  action is to be taken when an instance of a
  1460.                 locally unimplemented optional field is detected.
  1461.  
  1462.  
  1463.            (Syntactic compliance is defined in Section 4.1.2.)
  1464.  
  1465.  
  1466.       3.1.3  Originator fields
  1467.  
  1468.  
  1469.            A message originator may be  a  person,  role,  or  process.
  1470.       Originator fields identify a message's author, who is responsible
  1471.       for   the   message,   who   or  what  sent  it,  and  where  any
  1472.       replies should be directed.  (See Section 2.4.)
  1473.  
  1474.  
  1475.  
  1476.                                      18
  1477.  
  1478.                                                           Section 3.1.3
  1479.  
  1480.       From                     (REQUIRED)
  1481.  
  1482.                 This  field  contains the identity of the originator(s)
  1483.                 taking formal responsibility for  this  message.    The
  1484.                 contents  of  the  From field is to be used for replies
  1485.                 when no Reply-to field appears in a message.
  1486.  
  1487.       Reply-To                 (BASIC)
  1488.  
  1489.                 This field identifies any recipients of replies to  the
  1490.                 message.
  1491.  
  1492.       Author                   (OPTIONAL)
  1493.  
  1494.                 This  field  identifies the individual(s) who wrote the
  1495.                 primary contents of the message.   Use  of  the  Author
  1496.                 field  is  discouraged  when the contents of the Author
  1497.                 field and the From field would be completely redundant.
  1498.  
  1499.       Sender                   (OPTIONAL)
  1500.  
  1501.                 This field identifies the agent who sent  the  message.
  1502.                 It is used either when the sender is not the originator
  1503.                 responsible  for the message or to indicate who among a
  1504.                 group  of  originators  responsible  for  the   message
  1505.                 actually   sent  it.    Use  of  the  Sender  field  is
  1506.                 discouraged when the contents of the Sender  field  and
  1507.                 From  field  would be completely redundant.  The sender
  1508.                 field may specify  only  one  originator  identity  and
  1509.                 appear only once in a message.
  1510.  
  1511.  
  1512.       3.1.4  Recipient fields
  1513.  
  1514.  
  1515.            Message  recipients  may  be  people,  roles,  processes, or
  1516.       groups.  (See Section 2.4).  Recipient  fields  identify  who  or
  1517.       what is to receive the message.
  1518.  
  1519.       To                       (REQUIRED)
  1520.  
  1521.                 This  field  identifies  the  primary  recipients  of a
  1522.                 message.
  1523.  
  1524.       Bcc                      (OPTIONAL)
  1525.  
  1526.                 This  field  identifies  additional  recipients  of   a
  1527.                 message  (a  "blind carbon copies" list).  The contents
  1528.                 of this field are not to be included in copies  of  the
  1529.                 message  sent  to the primary and secondary recipients.
  1530.                 See section 3.2.1 for further discussion of the use  of
  1531.                 blind carbon copies lists.
  1532.  
  1533.  
  1534.  
  1535.                                      19
  1536.  
  1537.                                                           Section 3.1.4
  1538.  
  1539.       Cc                       (BASIC)
  1540.  
  1541.                 This field identifies secondary recipients of a message
  1542.                 (a "carbon copies" list).
  1543.  
  1544.       Circulate-Next           (OPTIONAL)
  1545.  
  1546.                 This field is used in conjunction with the Circulate-To
  1547.                 field.    (See  Section  3.2.6.1.)    It identifies all
  1548.                 recipients in a circulation list who have not  received
  1549.                 the message.
  1550.  
  1551.       Circulate-To             (OPTIONAL)
  1552.  
  1553.                 This   field  identifies  recipients  of  a  circulated
  1554.                 message.   (See  Section  3.2.6.1.)    It  is  used  in
  1555.                 conjunction with the Circulate-Next field.
  1556.  
  1557.  
  1558.       3.1.5  Date fields
  1559.  
  1560.  
  1561.            Date  fields  for two kinds of uses are provided.  Dates can
  1562.       be associated with some event in the history  of  a  message  and
  1563.       dates  can  delimit  the span of time during which the message is
  1564.       meaningful (its life span).
  1565.  
  1566.       Posted-Date              (REQUIRED)
  1567.  
  1568.                 This field contains the  posting  date,  which  is  the
  1569.                 point  in  time  when  the  message  passes through the
  1570.                 posting slot into a message transfer system.  Only  one
  1571.                 Posted-Date field is permitted in a message.
  1572.  
  1573.       Date                     (OPTIONAL)
  1574.  
  1575.                 This   field   contains   a  date  that  the  message's
  1576.                 originator wishes to associate with  a  message.    The
  1577.                 Date field is to the Posted-Date field as the date on a
  1578.                 letter is to the postmark added by the post office.
  1579.  
  1580.       End-Date                 (OPTIONAL)
  1581.  
  1582.                 This  field  contains the date on which a message loses
  1583.                 effect.  (See also Section 3.2.5.)
  1584.  
  1585.       Received-Date            (OPTIONAL)
  1586.  
  1587.                 This field is also called Delivery date.    This  field
  1588.                 may  be  added  to a message by the recipient's message
  1589.                 receiving program.  It indicates when the message  left
  1590.  
  1591.  
  1592.  
  1593.  
  1594.                                      20
  1595.  
  1596.                                                           Section 3.1.5
  1597.  
  1598.                 the delivery system and entered the recipient's message
  1599.                 processing domain.
  1600.  
  1601.       Start-Date               (OPTIONAL)
  1602.  
  1603.                 This  field  contains the date on which a message takes
  1604.                 effect.  (See also Section 3.2.5.)
  1605.  
  1606.       Warning-Date             (OPTIONAL)
  1607.  
  1608.                 This field is used either alone or in conjunction  with
  1609.                 an  End-Date  field.    It  contains one or more dates.
  1610.                 These dates could  be  used  by  a  message  processing
  1611.                 program  as  warnings of an impending end-date or other
  1612.                 event.  (See also Section 3.2.5.)
  1613.  
  1614.  
  1615.       3.1.6  Cross-reference fields
  1616.  
  1617.  
  1618.            Cross-reference fields can be used to identify a message and
  1619.       to provide cross-references to  other  messages.    (See  Section
  1620.       3.2.4.)
  1621.  
  1622.       In-Reply-To              (OPTIONAL)
  1623.  
  1624.                 This  field designates previous correspondence to which
  1625.                 this message is a reply.  The usual  contents  of  this
  1626.                 field  would be the contents of the Message-ID field of
  1627.                 the message(s) being replied to.
  1628.  
  1629.       Message-ID               (OPTIONAL)
  1630.  
  1631.                 This field contains a unique identifier for a  message.
  1632.                 This  identifier is intended for machine generation and
  1633.                 processing.   Further  definition  appears  in  Section
  1634.                 3.2.4.1.    Only one Message-ID field is permitted in a
  1635.                 message.
  1636.  
  1637.       Obsoletes                (OPTIONAL)
  1638.  
  1639.                 This field identifies one or more  messages  that  this
  1640.                 one replaces.
  1641.  
  1642.       Originator-Serial-Number (OPTIONAL)
  1643.  
  1644.                 This field contains one or more serial numbers assigned
  1645.                 by  the  message's  originator.  Messages with multiple
  1646.                 recipients  should  have  the   same   value   in   the
  1647.                 Originator-Serial-Number field.
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.                                      21
  1654.  
  1655.                                                           Section 3.1.6
  1656.  
  1657.       References               (OPTIONAL)
  1658.  
  1659.                 This  field  identifies  other correspondence that this
  1660.                 message  references.    If  the  other   correspondence
  1661.                 contains  a  Message-ID  field,  the  contents  of  the
  1662.                 References field must be the message identifier.
  1663.  
  1664.  
  1665.       3.1.7  Message-handling fields
  1666.  
  1667.  
  1668.            Message-handling fields describe aspects of how a message is
  1669.       to be handled or categorized.
  1670.  
  1671.       Precedence               (OPTIONAL)
  1672.  
  1673.                 This  field  indicates  the  precedence  at  which  the
  1674.                 message  was posted.  Ordinarily, message precedence or
  1675.                 priority is a service request  to  a  message  transfer
  1676.                 system.    A  message  originator, however, can include
  1677.                 precedence information in a message.   One  example  of
  1678.                 precedence  categories  are  those  used  by  the  U.S.
  1679.                 Military: "ROUTINE,"  "PRIORITY,"  "IMMEDIATE,"  "FLASH
  1680.                 OVERRIDE,"  and "EMERGENCY COMMAND PRECEDENCE."
  1681.  
  1682.       Message-Class            (OPTIONAL)
  1683.  
  1684.                 This  field  indicates  the  purpose of a message.  For
  1685.                 example, it might contain values  indicating  that  the
  1686.                                                              1
  1687.                 message is a memorandum or a data-base entry. 
  1688.  
  1689.       Reissue-Type             (OPTIONAL)
  1690.  
  1691.                 This   field   is  used  in  conjunction  with  message
  1692.                 encapsulating  (see  Section  3.2.2)  to  differentiate
  1693.                 between messages being assigned or redistributed.
  1694.  
  1695.       Received-From            (OPTIONAL)
  1696.  
  1697.                 This  field  contains  a  record  of  a  message's path
  1698.                 through   a   message    transfer    system.        The
  1699.                 recipient's  message receiving program could store here
  1700.                 any information about the  transfer  that  it  obtained
  1701.                 from a message transfer system.
  1702.       _______________
  1703.  
  1704.         1
  1705.          The message format specification is not intended to be used as
  1706.       a  specification  for  exchanging  data-base  records.  Messages,
  1707.       however, sometimes contain data from or for a database.
  1708.  
  1709.  
  1710.  
  1711.  
  1712.                                      22
  1713.  
  1714.                                                           Section 3.1.7
  1715.  
  1716.       3.1.8  Message-content fields
  1717.  
  1718.  
  1719.            The   intent   of  most  messages  is  to  communicate  some
  1720.       particular information from originator  to  recipient.    Several
  1721.       fields in a message are designed to contain that information.
  1722.  
  1723.       Subject                  (BASIC)
  1724.  
  1725.                 This  field  contains  any  information  the originator
  1726.                 provided to summarize or indicate  the  nature  of  the
  1727.                 message.
  1728.  
  1729.       Text                     (BASIC)
  1730.  
  1731.                 This field contains the primary content of the message.
  1732.  
  1733.       Attachments              (OPTIONAL)
  1734.  
  1735.                 This  field  contains  additional  data  accompanying a
  1736.                 message.  It is similar in intent to  enclosures  in  a
  1737.                 conventional mail system.
  1738.  
  1739.       Comments                 (OPTIONAL)
  1740.  
  1741.                 This  field  permits  adding  comments  to  the message
  1742.                 without  disturbing  the  original  contents   of   the
  1743.                 message.
  1744.  
  1745.       Keywords                 (OPTIONAL)
  1746.  
  1747.                 This  field  contains  keywords  or  phrases for use in
  1748.                 retrieving a message.
  1749.  
  1750.  
  1751.       3.1.9  Extensions
  1752.  
  1753.  
  1754.            This message  format  specification  allows  two  additional
  1755.       types  of  fields,  vendor-defined  fields  and  as-yet-undefined
  1756.       (extension) fields that will be introduced by extensions to  this
  1757.       message format specification.
  1758.  
  1759.  
  1760.       vendor-defined-field
  1761.                 Any  field  not defined in this message format specifi-
  1762.                 cation or any extension or successor to it is a vendor-
  1763.                 defined field.  Names for vendor-defined  fields  could
  1764.                 be  preempted  by  extensions  to  this  message format
  1765.                 specification.
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.                                      23
  1772.  
  1773.                                                           Section 3.1.9
  1774.  
  1775.       extension-field
  1776.                 Any  field that is defined in a document published as a
  1777.                 formal extension or replacement to this message  format
  1778.                 specification.
  1779.  
  1780.  
  1781.  
  1782.       3.2  Message Processing Functions
  1783.  
  1784.  
  1785.            A  CBMS  provides three basic classes of functions: creating
  1786.       messages, transmitting messages to  their  recipient,  and  post-
  1787.       receipt  processing.    Although the message format specification
  1788.       does not define the number or nature of user functions in  CBMSs,
  1789.       the  meanings  for  the  fields  clearly  assume certain kinds of
  1790.       functions.  For example, fields specifying recipients of  replies
  1791.       to messages assume some kind of reply function; fields specifying
  1792.       message life span assume some kind of date processing functions.
  1793.  
  1794.            This  section  provides  more  detail on the processing that
  1795.       might be done by these kinds of functions, discussing the message
  1796.       fields that would be used and how  they  would  be  used.    (See
  1797.       summary in Table 1.)
  1798.  
  1799.  
  1800.  
  1801.       Processing Function    Fields Involved
  1802.  
  1803.       Message creation       Author, From, Sender, To,
  1804.         and posting          Cc, Bcc
  1805.       Message reissuing      Reissue-Type
  1806.       Reply generation       Reply-To
  1807.       Cross-referencing      Message-ID, In-Reply-To, References,
  1808.                              Obsoletes, Originator-Serial-Number
  1809.       Life span functions    Start-Date, End-Date,
  1810.                              Warning-Date
  1811.       Recipient processing   Circulate-To, Circulate-Next
  1812.  
  1813.  
  1814.  
  1815.       TABLE 1.  FIELDS USED IN MESSAGE PROCESSING FUNCTIONS
  1816.  
  1817.  
  1818.       3.2.1  Message creation and posting
  1819.  
  1820.  
  1821.            Messages  can  be  created  either  by reissuing an existing
  1822.       message to a new recipient (see Section 3.2.2) or by  creating  a
  1823.       new  message.    The  process of message creation might mean that
  1824.       some fields of a new message are filled in from the  contents  of
  1825.       some  other  message.  Reply functions (Section 3.2.3) provide an
  1826.       example of this.
  1827.  
  1828.  
  1829.  
  1830.                                      24
  1831.  
  1832.                                                           Section 3.2.1
  1833.  
  1834.            Different  individuals could be involved in different phases
  1835.       of originating a message: creating it, taking responsibility  for
  1836.       it,  and  explicitly  interacting  with  a CBMS to send it to its
  1837.       recipient.  One or more individuals may create  a  message  (that
  1838.       is,  write, but not necessarily enter it into the CBMS); they are
  1839.       said to be the message's authors, identified by the Author field.
  1840.       One or more individuals may take responsibility for its  contents
  1841.       and  the  decision  to  post  it; they are identified by the From
  1842.       field.  One individual explicitly posts  a  given  message;  this
  1843.       person  is  called the message's sender (identified by the Sender
  1844.       field).
  1845.  
  1846.            The sender and author(s) are often, but not always,  respon-
  1847.       sible  for the message.  A common case in which the sender is not
  1848.       responsible for the message is when a secretary enters and  posts
  1849.       messages  for someone else.  An example of a situation in which a
  1850.       message's author is not responsible for  the  message  itself  is
  1851.       when  an  administrative assistant prepares a report that is sent
  1852.       under a manager's signature.
  1853.  
  1854.            The use of the Cc field is  identical  to  current  business
  1855.       practice.  This field contains the formal secondary recipients of
  1856.       the message.
  1857.  
  1858.            Messages  containing  Bcc  fields  are  treated specially by
  1859.       CBMSs.  The contents of this field are not included in copies  of
  1860.       the  message sent to the recipients other than the originator who
  1861.       are not included in the Bcc field itself.  Some  systems  include
  1862.       the  contents  of  the  Bcc  field only in the originator's copy;
  1863.       others include all or part of the Bcc field in the copies sent to
  1864.       the recipients indicated in the Bcc field.    This  specification
  1865.       does not indicate exactly how the Bcc field is to be treated.
  1866.  
  1867.  
  1868.       3.2.2  Message reissuing and forwarding
  1869.  
  1870.  
  1871.            Reissuing and forwarding both serve the general user goal of
  1872.       passing  a  message on to a new set of recipients.  Forwarding is
  1873.       the term used for an informal mechanism, which CBMSs implement by
  1874.       copying some or all of the original message into the contents  of
  1875.       a  field  in  the  new message.  Reissuing is the term used for a
  1876.       formal mechanism to ensure that the message being passed on never
  1877.       loses its integrity as a previously  sent  message.    CBMSs  use
  1878.       reissuing  to implement several different functions, depending on
  1879.       the purposes being served:
  1880.  
  1881.  
  1882.         o  Redistribution.  Making others aware of the complete and
  1883.            unaltered contents of the message.
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.                                      25
  1890.  
  1891.                                                           Section 3.2.2
  1892.  
  1893.         o  Assignment.  Delegating the responsibility for a message
  1894.            to somebody else.
  1895.  
  1896.  
  1897.       These purposes are exemplified in Figure 2.
  1898.  
  1899.            When  a  CBMS examines a forwarded message, it cannot always
  1900.       distinguish  the  old  message  from  what  was  added  when  the
  1901.       forwarding  took  place.   In addition, the forwarded information
  1902.       might no longer have the form of a  message.    This  is  usually
  1903.       because  the format of the message has been changed (for example,
  1904.       to pure unformatted text).  (See Figure 2 for an example of how a
  1905.       CBMS might forward a message.)  In contrast, a  reissued  message
  1906.       can  always  be  separated  from  its enclosing message and never
  1907.       loses its identity as a correctly formed message.
  1908.  
  1909.            This  specification  provides  the  Reissue-Type  field  for
  1910.       supporting  reissuing.  Forwarding, since it is an informal means
  1911.       of  serving  the  purpose  of  passing  on  information,  has  no
  1912.       supporting fields in the specification.
  1913.  
  1914.            This  specification  provides  for  reissuing of messages by
  1915.       encapsulating.  This method embeds the  entire  original  message
  1916.       inside  a  new  message.  Encapsulating adds structure around the
  1917.  
  1918.              2
  1919.       message .  This allows any part of it to be easily extracted.
  1920.  
  1921.            This  procedure for passing on previously sent messages is a
  1922.       matter of organizational policy  and  has  authentication  as  an
  1923.       associated  issue.   Each organization must decide if the CBMS it
  1924.       acquires should support reissuing or simply supply forwarding.
  1925.  
  1926.  
  1927.       3.2.2.1  Redistribution
  1928.  
  1929.            Redistribution is a CBMS function for sending  the  original
  1930.       contents  of a message intact and unchanged to new recipients.  A
  1931.       redistributed message is identical to the original  message  with
  1932.       the  exception  of  added  information  about the reissuing.  For
  1933.       reissuing with this purpose, the Reissue-Type field contains  the
  1934.       ASCII  string  "Redistribution."    The original message has been
  1935.       included directly in a new message.  (See Figure 2.)
  1936.  
  1937.  
  1938.       _______________
  1939.  
  1940.         2
  1941.          A message can contain another message, and  that  message  can
  1942.       contain another message, and so on to any depth of encapsulating.
  1943.       This can occur by reissuing a message repeatedly.
  1944.  
  1945.  
  1946.  
  1947.  
  1948.                                      26
  1949.  
  1950.                                                         Section 3.2.2.2
  1951.  
  1952.  
  1953.                             The Original Message
  1954.       John Doe wishes Jane Jones to get a copy of the following
  1955.       message:
  1956.                       Message:
  1957.                         Field: From "Jean Smith"
  1958.                         Field: Posted-Date "27 January 1983"
  1959.                         Field: To "John Doe"
  1960.                         Field: Subject "Next Project Meeting"
  1961.                         Field: Text "The agenda for ..."
  1962.  
  1963.                                Redistribution
  1964.       Message:
  1965.         Field: From "John Doe"                  John Doe is responsible
  1966.         Field: Posted-Date "28 January 1983"    for the redistribution.
  1967.         Field: To "Jane Jones"
  1968.         Field: Reissue-Type "Redistribution"    This message directly
  1969.         Message:                                incorporates a
  1970.           Field: From "Jean Smith"              redistributed message.
  1971.           Field: Posted-Date "27 January 1983"
  1972.           Field: To "John Doe"
  1973.           Field: Subject "Next Project Meeting"
  1974.           Field: Text "The agenda for ..."
  1975.  
  1976.                                  Forwarding
  1977.       Message:
  1978.         Field: From "John Doe"
  1979.         Field: Posted-Date "28 January 1983"
  1980.         Field: To "Jane Jones"
  1981.         Field: Text                             A realization of the
  1982.           "From Jean Smith                      original message is
  1983.            To John Doe                          copied into the Text field.
  1984.            Sent on 27 January 1983              Note that John's CBMS
  1985.            Subject Next Project Meeting         has chosen to represent
  1986.                                                 it as a text string.
  1987.            The agenda for ..."
  1988.  
  1989.  
  1990.  
  1991.       FIG. 2.  MESSAGE FORWARDING AND REDISTRIBUTION
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.                                      27
  2008.  
  2009.                                                         Section 3.2.2.2
  2010.  
  2011.       3.2.2.2  Assignment
  2012.  
  2013.            Assignment is the process of designating responsibility.  In
  2014.       some  organizations, formal message traffic is distributed to one
  2015.       or more parts of the organization (called offices)  where  it  is
  2016.       directed  to  the  appropriate  individuals  or other offices for
  2017.       final disposition.  Assignment is done  by  reissuing  a  message
  2018.       with   the   Reissue-Type   field  containing  the  ASCII  string
  2019.       "Assigned."  A  message  which  contains  this  field  is  to  be
  2020.       interpreted as meaning that the addressees in the "To" field have
  2021.       had  the  reissued message assigned to them for some action.  Any
  2022.       addressee in the "Cc" field has  had  the  message  assigned  for
  2023.       information.    The "From" field records who assigned the message
  2024.       and  the  "Posted-Date"  field  records  when  the  message   was
  2025.       assigned.
  2026.  
  2027.  
  2028.       3.2.3  Reply generation
  2029.  
  2030.  
  2031.            Reply  generation  involves creating a new message in direct
  2032.       reply to some other message by drawing on the contents of  fields
  2033.       in  the  other  message  to fill fields in the new message.  Many
  2034.       CBMSs provide reply facilities that determine the intended recip-
  2035.       ients of a reply.
  2036.  
  2037.            A Reply-To field is defined by this message format  specifi-
  2038.       cation.    When  a  message  contains  a Reply-To field, the CBMS
  2039.       should send replies to the recipients designated in the  Reply-To
  2040.       field  instead of to the recipients designated in the From field.
  2041.       This statement applies to original messages only, not to reissued
  2042.       messages.     The   message   format   specification   makes   no
  2043.       recommendations concerning replies to reissued messages.
  2044.  
  2045.            Reply-To has several possible applications:
  2046.  
  2047.  
  2048.         o  The  individual(s) responsible for the message might not
  2049.            have regular access to a  CBMS  and  would  indicate  an
  2050.            alternate recipient, for example, a secretary.
  2051.  
  2052.         o  The people responsible for receiving responses might not
  2053.            be  the  people  who  were  responsible for creating the
  2054.            message.
  2055.  
  2056.         o  Discussion and conference groups could use this  feature
  2057.            to  ensure  correct  distribution  of  any submission by
  2058.            having the conference group  itself  designated  in  the
  2059.            Reply-To field.
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.                                      28
  2067.  
  2068.                                                           Section 3.2.3
  2069.  
  2070.            When  the  message  does  not  contain a Reply-To field, the
  2071.       recipient should reply to the originators enumerated in the  From
  2072.       field.   The sender and authors should not be added automatically
  2073.       to the list of those receiving the reply.
  2074.  
  2075.            Replies could also be sent to the other  recipients  of  the
  2076.       original  message.    Vendors might offer additional reply facil-
  2077.       ities, depending on their view of users' organizational  require-
  2078.       ments.
  2079.  
  2080.  
  2081.       3.2.4  Cross-referencing
  2082.  
  2083.  
  2084.            A  CBMS  message  may  include  designator(s) which identify
  2085.       other message(s).  The designators are used to refer  to  related
  2086.       messages so that all information in a chain of correspondence can
  2087.       be  determined  by  a CBMS user.  The designator used to identify
  2088.       and cross-reference messages can take either of two forms, unique
  2089.       identifiers or serial numbers.
  2090.  
  2091.  
  2092.       3.2.4.1  Unique identifiers
  2093.  
  2094.            Unique identifiers are machine-generated  and  are  intended
  2095.       primarily  for  processing  by  computers.    While they could be
  2096.       examined by a human user, unique identifiers are not  necessarily
  2097.       useful or convenient for people.
  2098.  
  2099.            Unique  identifiers  occur  in  several  contexts.  They are
  2100.       often used  to  identify  the  contents  of  idual  messages
  2101.       unambiguously.    When unique identifiers are used this way, they
  2102.       are called message identifiers.  Different versions of a  message
  2103.       receive  new message identifiers; an example of this is reissuing
  2104.       a message with comments.
  2105.  
  2106.            When a CBMS generates a message identifier, it must be  able
  2107.       to  guarantee  that  it  is unique, both within the domain of the
  2108.       individual CBMS and globally, across all connected CBMSs.   CBMSs
  2109.       could  generate  globally unique identifiers in several ways, all
  2110.       of which require prior  agreement  on  behalf  of  the  connected
  2111.       CBMSs.    One  method  is  to assign each connected CBMS a unique
  2112.       code.  A CBMS then generates unique identifiers by using its code
  2113.       as a prefix to some other value  that  it  can  guarantee  to  be
  2114.       unique  within its domain.  (This second value could be a counter
  2115.       or a timestamp/user-id combination.)
  2116.  
  2117.            A CBMS can provide functions for tracing  chains  of  corre-
  2118.       spondence  by  using  unique  identifiers.    The  message format
  2119.       specification defines fields for which  a  CBMS  provides  unique
  2120.       identifiers   as   values.    They  are  Message-ID,  References,
  2121.       Obsoletes, and In-Reply-To.  (See Section 3.1.6.)
  2122.  
  2123.  
  2124.  
  2125.                                      29
  2126.  
  2127.                                                         Section 3.2.4.1
  2128.  
  2129.       3.2.4.2  Serial numbering
  2130.  
  2131.            Serial  numbers  are  for  users to maintain a personal num-
  2132.       bering system for messages.  The numbers  are  composed  of  both
  2133.       letters  and  digits so that users could maintain several sets of
  2134.       sequences concurrently (for example, A1, A2, A3...  and  B1,  B2,
  2135.       B3...).
  2136.  
  2137.            Serial  numbers  are  assigned  at  a  defined  point in the
  2138.       history of a message.  Serial numbers are not unique identifiers;
  2139.       they differ from unique identifiers in that they are  not  neces-
  2140.       sarily generated or processed by a CBMS.  They are designed to be
  2141.       entered and read by CBMS users.  They can be as simple or complex
  2142.       as  the user requires.  Serial numbers are intended to be used to
  2143.       designate messages about a specific topic, or  messages  a  given
  2144.       user  has  sent.    Serial numbers are intended to be a permanent
  2145.       part of the message, just as unique identifiers are.
  2146.  
  2147.            A CBMS can provide functions  allowing  originators  to  add
  2148.       serial  numbers  to  messages.    Originator-Serial-Number is the
  2149.       field provided for an originator to add  a  serial  number  to  a
  2150.       message before sending it.
  2151.  
  2152.  
  2153.       3.2.5  Life span functions
  2154.  
  2155.  
  2156.            Messages  have life spans, usually delimited by the creation
  2157.       date and the time when the last copy of the message is destroyed.
  2158.       Messages could be meaningless before a certain time or irrelevant
  2159.       after a certain time.   For  example,  a  reminder  to  attend  a
  2160.       meeting  on  5  June  loses  most  of  its  value on the sixth; a
  2161.       reminder to attend that same meeting may be of little  use  on  5
  2162.       May (although not for the same reason).
  2163.  
  2164.            A CBMS can define a message's life span explicitly using the
  2165.       Start-Date  and  End-Date  fields.   A third field, Warning-Date,
  2166.       when used in conjunction with the End-Date, may be used to signal
  2167.       the approach of the End-Date.  Warning-Date may also stand  alone
  2168.       and be used by a periodic warning (alarm clock) mechanism.
  2169.  
  2170.            A  CBMS  could  use  these fields to help users manage their
  2171.       message stores.  For example, a message whose start date has  not
  2172.       yet  passed  could  be bypassed by a retrieval command unless the
  2173.       user requested such messages explicitly.  A CBMS  could  use  the
  2174.       end  date  to  help  with  message  store  housekeeping either by
  2175.       archiving or deleting the expired messages  automatically  or  by
  2176.       asking the user for some action to be taken on them.  The warning
  2177.       date  could  be  used  to  remind  the  user  automatically of an
  2178.       impending end date, such as a meeting reminder.
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.                                      30
  2185.  
  2186.                                                           Section 3.2.6
  2187.  
  2188.       3.2.6  Requests for recipient processing
  2189.  
  2190.  
  2191.            Recipients  have  a  wide variety of needs for examining and
  2192.       processing a message,  ranging  from  automatic  output  on  some
  2193.       specified  device  to  the execution of a program embedded in the
  2194.       message  itself.    Because  many  of  these  needs  are   highly
  2195.       specialized,  and  support  for them not widely implemented, this
  2196.       message format specification does not constrain the requests  for
  2197.       processing that may be included in a message.
  2198.  
  2199.            The  message  format  specification  does provide two fields
  2200.       that permit an originator to request circulation list  processing
  2201.       from the recipient.  These fields are Circulate-To and Circulate-
  2202.       Next.
  2203.  
  2204.  
  2205.       3.2.6.1  Message circulation
  2206.  
  2207.            Message  circulation  involves serial distribution of a mes-
  2208.       sage to its recipients, based on a distribution list that is part
  2209.       of the message.  The message is  delivered  first  to  the  first
  2210.       recipient  on  the distribution list.  This recipient, or someone
  2211.       the recipient delegates, sends  the  message  on  to  the  second
  2212.       recipient  on  the list, perhaps after commenting on or adding to
  2213.       the  message.    This  continues  until  all  recipients  on  the
  2214.       distribution list have received the message.
  2215.  
  2216.            This  message  format  specification  provides two fields to
  2217.       support message circulation.  The Circulate-To field contains the
  2218.       complete distribution list, indicating the  full  set  of  recip-
  2219.       ients,  and  the  Circulate-Next field indicates which recipients
  2220.       have not seen the message.   See  Figure  3  for  an  example  of
  2221.       message circulation using these two fields.
  2222.  
  2223.  
  2224.  
  2225.       3.3  Multiple Occurrences and Ordering of Fields
  2226.  
  2227.  
  2228.            Most  message  fields may occur more than once in a message;
  2229.       the  exceptions  are  the  Posted-Date,  Sender,  and  Message-ID
  2230.       fields, which may occur once, at most.  What this means is that a
  2231.       received  message  may  contain  any  number  of  instances  of a
  2232.       particular field (such as the "To" field).  If a message contains
  2233.       more than one instance of a particular field, that field  "occurs
  2234.       multiply"  and  that  message  has "multiple occurrences" of that
  2235.       field.
  2236.  
  2237.            A particular instance of a message field is  not  superseded
  2238.       by later instances of the same field.  The To field is an example
  2239.       of this.
  2240.  
  2241.  
  2242.  
  2243.                                      31
  2244.  
  2245.                                                             Section 3.3
  2246.  
  2247.       -----------------------------------------------------------------
  2248.  
  2249.  
  2250.            A  message  originator wishes to circulate a message to
  2251.            recipients A, B  and  C. The  originator  includes  the
  2252.            following fields in the message:
  2253.  
  2254.                      To:              A
  2255.                      Circulate-To:    A, B, C
  2256.                      Circulate-Next:  B, C
  2257.  
  2258.  
  2259.            When  recipient  A  or  someone  A delegates causes the
  2260.            message to be further circulated, the message  is  sent
  2261.            to  the  first address in the Circulate-Next field, and
  2262.            that name is removed from that field:
  2263.  
  2264.                      To:              B
  2265.                      Circulate-To:    A, B, C
  2266.                      Circulate-Next:  C
  2267.  
  2268.  
  2269.            B now sends the message on to its final recipient:
  2270.  
  2271.                      To:              C
  2272.                      Circulate-To:    A, B, C
  2273.  
  2274.  
  2275.       FIG. 3.  EXAMPLE OF MESSAGE CIRCULATION
  2276.  
  2277.  
  2278.       -----------------------------------------------------------------
  2279.  
  2280.  
  2281.            Multiple occurrences of a field are not  necessarily  equiv-
  2282.       alent  to  a single field containing the concatenated contents of
  2283.       the several instances of the given field.  For example, with  the
  2284.       Text field, concatenating the contents of several instances might
  2285.       lose  important  distinctions  between  the  contents.   A single
  2286.       message could be used to send three different documents, each one
  2287.       in a different Text field.  However, putting the three  documents
  2288.       into  a  single  Text  field would make it much more difficult to
  2289.       extract any individual document.
  2290.  
  2291.            Encapsulated  messages  are  exceptions  to   the   multiple
  2292.       occurrences  rule.   For example, the To field in an encapsulated
  2293.       message is not a multiple occurrence  of  the  To  field  in  the
  2294.       enclosing message.
  2295.  
  2296.            The fields found in a single message may occur in any order.
  2297.       The  order  in  which they occur does not necessarily reflect the
  2298.  
  2299.  
  2300.  
  2301.  
  2302.                                      32
  2303.  
  2304.                                                             Section 3.3
  2305.  
  2306.       order  in  which  they  were  created.  Nor does it constrain the
  2307.       order in which the  message  recipient  examines,  processes,  or
  2308.       displays them.
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.                                      33
  2362.  
  2363.                                                               Section 4
  2364.  
  2365.       4.  SYNTAX
  2366.  
  2367.  
  2368.            This section begins with an introduction to the concepts and
  2369.       elements  that  constitute  the  syntax for messages.  The second
  2370.       section presents an overview of the encoding scheme.   The  third
  2371.       section describes in detail the elements of the message syntax.
  2372.  
  2373.  
  2374.  
  2375.       4.1  Introduction
  2376.  
  2377.  
  2378.            This  specification  defines syntactic requirements for mes-
  2379.       sages when they are  passed  from  one  CBMS  to  another.    The
  2380.       specification is designed to meet the following goals.
  2381.  
  2382.  
  2383.         o  Provide a concise, flexible representation scheme.
  2384.  
  2385.         o  Simplify message parsing.
  2386.  
  2387.         o  Support non-textual components in messages (for example,
  2388.                                          3
  2389.            facsimile, graphics, or speech ).
  2390.  
  2391.  
  2392.       4.1.1  Message structure
  2393.  
  2394.  
  2395.            Messages   have   two  classes  of  components,  fields  and
  2396.       messages.  A field corresponds to one of the semantic  components
  2397.       defined  in  this  message  format  specification.   A message is
  2398.       simply another message.
  2399.  
  2400.            The type of a field in a message determines both its meaning
  2401.       and the form for its contents.  (See Section 4.3.2.)
  2402.  
  2403.            Fields in a  message  are  composed  of  syntactic  elements
  2404.       called  data  elements.    A  Message  data  element  is  used to
  2405.       represent messages; a Field data element  is  used  to  represent
  2406.       fields.    (The  term  "field"  is  simply  a semantic construct,
  2407.       distinct  from  "Field  Data  Element,"  which  is  a   syntactic
  2408.  
  2409.       _______________
  2410.  
  2411.         3
  2412.          While  this message format specification is not intended to be
  2413.       used as a basis for the interchange of all facsimile information,
  2414.       it does  recognize  that  CBMS  messages  may  contain  facsimile
  2415.       components.
  2416.  
  2417.  
  2418.  
  2419.  
  2420.                                      34
  2421.  
  2422.                                                           Section 4.1.1
  2423.  
  2424.       construct.)    Many  of the fields defined in this message format
  2425.       specification are restricted to containing only one kind of  data
  2426.       element.  (See Section 4.3.2.)
  2427.  
  2428.            Each  field defined in this message format specification has
  2429.       been assigned  a  unique  numeric  identifier  that  is  used  in
  2430.       conjunction  with  the  Field data element.  Separate identifiers
  2431.       are provided for vendor-defined  fields  and  for  extending  the
  2432.       identifier  encoding  space.    A  list of fields and identifiers
  2433.       appears in Section 4.3.2 and in Appendix C.
  2434.  
  2435.            Throughout the  message  format  specification,  fields  are
  2436.       referred  to  by  label name rather than by their numeric identi-
  2437.       fiers.  Field labels are names like "Sender," "Warning-Date,"  or
  2438.       "Circulate-To."    The  field labels chosen for the specification
  2439.       are names  that  are  in  common  use  in  current  CBMSs.    The
  2440.       specification  does  not require a CBMS to use these field labels
  2441.       in displaying fields to the user.  
  2442.  
  2443.  
  2444.       4.1.2  Data elements
  2445.  
  2446.  
  2447.            For the purpose of determining compliance  with  the  syntax
  2448.       defined in this specification, data elements are divided into two
  2449.       groups:
  2450.  
  2451.  
  2452.       BASIC     All   message  receiving  systems  must  process  these
  2453.                 syntactic elements, interpreting their values according
  2454.                 to the message format specification.
  2455.  
  2456.       OPTIONAL  Message  receiving  systems  need  not  process   these
  2457.                 syntactic elements in order to be in compliance.
  2458.  
  2459.  
  2460.            In   addition,   complying   CBMSs  must  meet  requirements
  2461.       regarding their ability to process the  components  found  inside
  2462.       data  elements.    These  requirements  are  discussed in Section
  2463.       4.2.2.
  2464.  
  2465.            This message format specification  classifies  data  element
  2466.       types  as  either  primitives  or  constructors.   Primitive data
  2467.       elements,  such  as  ASCII-String,  are  basic  building  blocks.
  2468.       Constructor  data  elements, such as Message or Sequence, contain
  2469.       one or  more  primitive  or  constructor  data  elements.    Some
  2470.       constructors, such as Sequence, may be composed of any other data
  2471.       element.    Some,  such as Message, may contain only certain data
  2472.       elements. Two data elements, Extension and Vendor-Defined, may be
  2473.       classified as either primitives or constructors, depending on how
  2474.       they  are  used  to  extend  this  specification.    The  general
  2475.       syntactic form for data elements is discussed in section 4.3.1.
  2476.  
  2477.  
  2478.  
  2479.                                      35
  2480.  
  2481.                                                           Section 4.1.2
  2482.  
  2483.       4.1.2.1  Primitive data elements
  2484.  
  2485.            A   primitive   data   element  contains  a  basic  item  of
  2486.       information; it is not composed  of  other  data  elements.    In
  2487.       current  CBMSs,  the most commonly used primitive data element is
  2488.                                                  4
  2489.       ASCII-String, a series of ASCII characters.  Other primitive data
  2490.       elements are Integer,  2's  complement  integers;  Bit-String,  a
  2491.       series of bits; and Boolean, either True or False.
  2492.  
  2493.            One primitive data element, End-Of-Constructor, is used only
  2494.       as  a structural element within constructor data elements and has
  2495.       no meaning by itself.  End-of-Constructor is used to  provide  an
  2496.       end  marker  for  constructor  data  elements that do not have an
  2497.       explicit length; any other use is not valid syntactically.
  2498.  
  2499.  
  2500.       4.1.2.2  Constructor data elements
  2501.  
  2502.            The Data  Element  Contents  of  constructor  data  elements
  2503.       contain  one  or  more data elements.  The most general form of a
  2504.       constructor is a Sequence or a Set, since both Sequences and Sets
  2505.       may contain any data element.  Other constructors are specialized
  2506.       forms of sequences.
  2507.  
  2508.            A Message data element is a constructor.    It  may  contain
  2509.       only  Field  data  elements,  other  Message  data  elements,  or
  2510.       encrypted or data compressed forms of these elements.    A  Field
  2511.       data  element  can  contain  any data element.  It also indicates
  2512.       which specific field is being represented.  The contents of  some
  2513.       fields  are  restricted to a single type of data element, such as
  2514.       ASCII-String or Date.
  2515.  
  2516.  
  2517.       4.1.3  Properties
  2518.  
  2519.  
  2520.            Any data element may have associated  with  it  a  Property-
  2521.       List, which contains properties such as a Printing-Name or one or
  2522.       more  Comments.    Comment  A mechanism to support vendor-defined
  2523.       properties has been supplied by this specification, as well as  a
  2524.       mechanism to extend the list of property identifiers.
  2525.  
  2526.  
  2527.       _______________
  2528.  
  2529.         4
  2530.          An  ASCII-String  is  not limited to ASCII characters however.
  2531.       The  ASCII  code  table  can  be  extended  through  standardized
  2532.       techniques as described in FIPS Pub 35, Code Extension Techniques
  2533.       in 7 or 8 Bits [NatB-75].
  2534.  
  2535.  
  2536.  
  2537.  
  2538.                                      36
  2539.  
  2540.                                                         Section 4.1.3.1
  2541.  
  2542.       4.1.3.1  Printing-names
  2543.  
  2544.            Printing-Names  are  used  to  provide  labels  that  can be
  2545.       displayed  along  with  their  respective  data  elements.    For
  2546.       example, a message originator may use a Printing-Name property to
  2547.       request that the To field of a message be labeled "Distribution:"
  2548.       when it is printed by its recipients.
  2549.  
  2550.  
  2551.       4.1.3.2  Comments
  2552.  
  2553.            The  Comment  property  is  used  to  allow  comments  to be
  2554.       associated with any data element  without  affecting  its  actual
  2555.       contents.    For example, someone reviewing the text of a message
  2556.       could add the comment "This looks good" to the Text field without
  2557.       either altering the body itself  or  adding  a  separate  comment
  2558.       field.
  2559.  
  2560.  
  2561.       4.1.4  Data compression and encryption
  2562.  
  2563.  
  2564.            Two  constructor  data  elements,  Compressed and Encrypted,
  2565.       have  been  provided  for  use  by  a  CBMS  that  supports  data
  2566.       compression  or  encryption.    They  may  be  used  to  hold the
  2567.       compressed or encrypted contents of any data  element,  including
  2568.       Messages  and  Fields, and may occur wherever their compressed or
  2569.       encrypted contents may appear.  A mechanism is included to  allow
  2570.       the user to identify the encryption or compression algorithm used
  2571.       (Sections 4.3.4 and 4.3.5).
  2572.  
  2573.  
  2574.  
  2575.       4.2  Overview of Syntax Encoding
  2576.  
  2577.  
  2578.            This  section  provides  an  overview  of  the  notation and
  2579.       terminology  used  to  represent  the  syntactic  elements  (data
  2580.       elements) defined in this message format specification.
  2581.  
  2582.            All  data  elements consist of a series of components.  Each
  2583.       of the components is composed of a series of 8-bit groups  called
  2584.       octets.    In  this document, the bits are numbered starting from
  2585.       the low-order bit.  That is, the low-order (or least significant)
  2586.       bit is called "bit 0" and the high-order  (or  most  significant)
  2587.       bit is called "bit 7."  
  2588.  
  2589.            Five different components may appear in a data element.
  2590.  
  2591.  
  2592.         o  Identifier  octet  (identifying  particular type of data
  2593.            element)
  2594.  
  2595.  
  2596.  
  2597.                                      37
  2598.  
  2599.                                                             Section 4.2
  2600.  
  2601.         o  Length  Code  (specifying  number  of octets that appear
  2602.            following it in a data element)
  2603.  
  2604.         o  Qualifier (supplying additional identifying information)
  2605.  
  2606.         o  Property-List component (a  Property-List  data  element
  2607.            containing Property data elements)
  2608.  
  2609.         o  Data  Element  Contents  (containing  actual data of the
  2610.            data element)
  2611.  
  2612.  
  2613.       These components always appear in this order.  Not all components
  2614.       are present in all data elements, but  the  components  that  are
  2615.       present maintain this relative order.
  2616.  
  2617.  
  2618.       4.2.1  Identifier Octets
  2619.  
  2620.  
  2621.            The  identifier  octet  is  a numeric code containing infor-
  2622.       mation that identifies a data element.  It is  always  the  first
  2623.       component  in  a  data  element.  The Identifier octet contains a
  2624.       one-bit flag, indicating whether or not the data element contains
  2625.       a Property-List, and a  7-bit  unique  identifier  for  the  data
  2626.       element.  The value of the data element identifier also indicates
  2627.       whether the data element has a Qualifier.
  2628.  
  2629.            The  most significant bit (Bit 7) of the identifier octet is
  2630.       set to 1  if  there  are  properties  associated  with  the  data
  2631.       element;  it  is  set  to  0  if  there  are  none.   This bit is
  2632.       independent of the remaining seven bits in the identifier  octet,
  2633.       which  are  called  the  identifier, and provide unique identifi-
  2634.       cation  for  data  elements.    The  associated  properties   are
  2635.       specified in a Property-List component.
  2636.  
  2637.            The  second  most  significant bit (Bit 6) of the identifier
  2638.       octet  (the  most  significant  bit  of  the  identifier  itself)
  2639.       signifies  whether  or  not the data element has a Qualifier.  If
  2640.       the bit is set to 1, then the data element has a Qualifier; if it
  2641.       is a 0, the data element does not have a Qualifier.    The  seven
  2642.       bits of the identifier uniquely identify the data element.
  2643.  
  2644.            Table  2  shows  the  settings of the high-order bits of the
  2645.       identifier  octet  and  their  associated  meaning.    Figure   4
  2646.       demonstrates the bit-level structure of the identifier octet.  In
  2647.       this figure, bit 7 is indiciated with P to show its special use.
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.  
  2655.  
  2656.                                      38
  2657.  
  2658.                                                           Section 4.2.1
  2659.  
  2660.       -----------------------------------------------------------------
  2661.  
  2662.  
  2663.            bit 7 6 5 4 3 2 1 0
  2664.               +---------------+
  2665.               |P 0 x x x x x x|     0xxxxxx uniquely identifies a
  2666.               +---------------+     data element without a Qualifier.
  2667.  
  2668.               +---------------+
  2669.               |P 1 x x x x x x|     1xxxxxx uniquely identifies a
  2670.               +---------------+     data element with a Qualifier.
  2671.  
  2672.  
  2673.  
  2674.       FIG. 4.  STRUCTURE OF IDENTIFIER OCTETS
  2675.  
  2676.  
  2677.       -----------------------------------------------------------------
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.           Bit Value     Meaning
  2684.  
  2685.            7    0   The data element does not have properties asso-
  2686.                       ciated.
  2687.                 1   The data element has properties associated.
  2688.  
  2689.            6    0   The data element does not have a Qualifier.
  2690.                 1   The data element has a Qualifier.
  2691.  
  2692.  
  2693.  
  2694.           TABLE 2.  HIGH-ORDER BITS IN THE IDENTIFIER OCTET
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.       4.2.2  Length code and Qualifier components
  2701.  
  2702.  
  2703.            The Length Code and the Qualifier are both usually one octet
  2704.       in  length.    They use an encoding scheme that permits extending
  2705.       the component to the size necessary to represent  the  length  of
  2706.       the data element or the value of the Qualifier component.
  2707.  
  2708.            The  most  significant  bit  of the Length Code or Qualifier
  2709.       components determines whether it is  one  or  several  octets  in
  2710.       length.  When the most significant bit is 0, the component is one
  2711.  
  2712.  
  2713.  
  2714.  
  2715.                                      39
  2716.  
  2717.                                                           Section 4.2.2
  2718.  
  2719.       octet  in  length.  When the most significant bit is 1, the other
  2720.       seven bits of the first octet encode the number of octets in  the
  2721.       rest of the component.  The actual value begins in the next octet
  2722.       and is interpreted as an unsigned integer.
  2723.  
  2724.            A  single  octet  is  sufficient  for  most  Length Code and
  2725.       Qualifier components.  For those cases where  the  value  of  the
  2726.       Length  Code  or  the  Qualifier  must be greater than 127, extra
  2727.       octets can be added, up to a maximum of 127  octets.    Figure  5
  2728.       shows  the encoding scheme, as well as an example of a value less
  2729.       than 127 and one greater than 127.
  2730.  
  2731.  
  2732.       -----------------------------------------------------------------
  2733.  
  2734.  
  2735.            bit 7 6 5 4 3 2 1 0
  2736.               +---------------+
  2737.               |0 x x x x x x x|                   xxxxxxx is the value.
  2738.               +---------------+
  2739.  
  2740.               +---------------+------//-------+
  2741.               |1 n n n n n n n|y y y y y y y y|          nnnnnnn is the
  2742.               +---------------+------//-------+        number of octets
  2743.                                                        that contain the
  2744.                                                         value yyyyyyyy.
  2745.  
  2746.               +---------------+
  2747.               |0 0 0 0 1 0 0 1|               This is an example with a
  2748.               +---------------+                   value of 9 (decimal).
  2749.  
  2750.               +---------------+---------------+
  2751.               |1 0 0 0 0 0 0 1|1 0 0 0 0 0 1 0|      This example has a
  2752.               +---------------+---------------+ value of 130 (decimal).
  2753.  
  2754.  
  2755.               +---------------+---------------+
  2756.               |1 0 0 0 0 0 1 0|0 0 0 0 0 0 0 1|
  2757.               +---------------+---------------+
  2758.  
  2759.                               +---------------+
  2760.                               |0 0 1 0 1 1 0 0|      This example has a
  2761.                               +---------------+ value of 300 (decimal).
  2762.  
  2763.  
  2764.  
  2765.       FIG. 5.  ENCODING MECHANISM FOR QUALIFIERS AND LENGTH CODES
  2766.  
  2767.  
  2768.       -----------------------------------------------------------------
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.                                      40
  2775.  
  2776.                                                           Section 4.2.2
  2777.  
  2778.            In  order  to comply with this message format specification,
  2779.       CBMSs must be able to determine the value of any length  code  or
  2780.       qualifier  that  is  expressed  in  three  octets  or less.  (The
  2781.  
  2782.        16
  2783.       2  -1).    This message format specification places no limitation
  2784.       on the value of a length code or qualifier generated  by  a  CBMS
  2785.       (except  for  the  absolute  limitation inherent in the represen-
  2786.       tation scheme).  However, the use of length codes and  qualifiers
  2787.                                                                   32
  2788.       with  larger  values  (particularly  values  in  excess of 2  -1)
  2789.       should be avoided unless it is known that  the  receiving  system
  2790.       can handle them.  
  2791.  
  2792.            Both  Length  Codes and Qualifiers have a special convention
  2793.       for dealing with special situations.  Length  Codes  can  specify
  2794.       that  a  data  element  has indeterminate length; a Qualifier can
  2795.       specify that a data element is  implementation  defined.    These
  2796.       cases are explained further in the next two sections.
  2797.  
  2798.  
  2799.       4.2.2.1  Length Codes
  2800.  
  2801.            The length code component immediately follows the identifier
  2802.       octet.    It  is  present in every data element.  The Length Code
  2803.       indicates the number of octets following it  in  a  data  element
  2804.       (that  is,  excluding  the  identifier  octet and the length code
  2805.       itself).  Length Codes appear in one  of  three  formats:  short,
  2806.       long, and indefinite.
  2807.  
  2808.            A short Length Code is one octet long.  Its most significant
  2809.       bit  (Bit  7) is set to 0 and its value is in the range 0 through
  2810.       127.
  2811.  
  2812.            A long Length Code is at least two octets long.   The  first
  2813.       octet  always has its most significant bit (Bit 7) set to 1.  The
  2814.       other seven bits of this  octet  contain  the  number  of  octets
  2815.       making  up  the rest of the Length Code, and these octets contain
  2816.  
  2817.         1016
  2818.       (2     - 1) (that is, 127 octets to represent the value).
  2819.  
  2820.            An  indefinite  Length  Code  is  one  octet long.  Its most
  2821.       significant bit (Bit 7) is set to 1 and its other bits are all 0.
  2822.       (See Figure 6.)  An indefinite Length Code  may  appear  only  as
  2823.       part  of  a  constructor  data  element;  it  may  not occur in a
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.                                      41
  2834.  
  2835.                                                         Section 4.2.2.1
  2836.  
  2837.       -----------------------------------------------------------------
  2838.  
  2839.  
  2840.            bit 7 6 5 4 3 2 1 0
  2841.               +---------------+
  2842.               |0 x x x x x x x|             xxxxxxx is the value of the
  2843.               +---------------+                            length code.
  2844.  
  2845.               +---------------+------//-------+
  2846.               |1 n n n n n n n|y y y y y y y y|   nnnnnnn is the number
  2847.               +---------------+------//-------+  of octets that contain
  2848.                                                 the value of the length
  2849.                                             code; these are represented
  2850.                                                             as yyyyyyy.
  2851.               +---------------+
  2852.               |1 0 0 0 0 0 0 0|            The "indefinite" length code
  2853.               +---------------+
  2854.  
  2855.  
  2856.       FIG. 6.  REPRESENTATION OF LENGTH CODES
  2857.  
  2858.  
  2859.       -----------------------------------------------------------------
  2860.  
  2861.  
  2862.                               5
  2863.       primitive  data  element .    A  constructor data element with an
  2864.       indefinite length code has an End-Of-Constructor data element  as
  2865.       the  last data element in its Data Element Contents.  (The length
  2866.       of such a constructor data element is unrestricted,  although  it
  2867.       must  contain at least one data element -- the End-of-Constructor
  2868.       that terminates it -- in its Data Element Contents.)
  2869.  
  2870.  
  2871.       4.2.2.2  Qualifier
  2872.  
  2873.            If present,the Qualifier component immediately  follows  the
  2874.       code  component.   It is used to provide information essential to
  2875.       the interpretation of the data element contents  that  is  beyond
  2876.       that  encoded  in  the  identifier  octet  or  length  code.  For
  2877.       example, the identifier octet could contain the code for a field,
  2878.       and the Qualifier component would specify what kind of field.
  2879.  
  2880.            The Qualifier component appears in only a few data elements.
  2881.  
  2882.       _______________
  2883.  
  2884.         5
  2885.          This is the result of most primitive elements  being  able  to
  2886.       contain  any  bit  pattern  (including the identifier for End-Of-
  2887.       Constructor).
  2888.  
  2889.  
  2890.  
  2891.  
  2892.                                      42
  2893.  
  2894.                                                         Section 4.2.2.2
  2895.  
  2896.       In the Bit-String data element, it indicates the number of unused
  2897.       bits  in  the  final  octet of the Data Element Contents.  In the
  2898.       Field and Property data elements, it  indicates  which  field  or
  2899.       property  the  data  element  represents.   In the Compressed and
  2900.       Encrypted  data  elements,  it  indicates  which  compression  or
  2901.       encryption algorithm has been used.  In the Message data element,
  2902.       it indicates the type of message.
  2903.  
  2904.            The  length  of  the  Qualifier  component  depends  on  the
  2905.       encoding of the Qualifier.  (See Figure 7.)  A short Qualifier is
  2906.       one octet long.  Its most significant bit is 0 and its  value  is
  2907.       in  the  range  0  through 127.  A long Qualifier is at least two
  2908.       octets in length.  The most significant bit is always 1  and  the
  2909.       other  7  bits  indicate the number of octets in the value of the
  2910.       Qualifier.
  2911.  
  2912.  
  2913.       -----------------------------------------------------------------
  2914.  
  2915.  
  2916.  
  2917.  
  2918.                +--------+--------+--------+
  2919.                |10000010|00000001 00001010|        Qualifier with value
  2920.                +--------+--------+--------+              266 (decimal).
  2921.  
  2922.                +--------+--------+--------+--------+
  2923.                |10000011|00000000|00000001 00001010|     Vendor-Defined
  2924.                +--------+--------+--------+--------+     Qualifier with
  2925.                                                              value 266.
  2926.  
  2927.                +--------+
  2928.                |10000000|              Undefined value for a Qualifier.
  2929.                +--------+
  2930.  
  2931.  
  2932.  
  2933.       FIG. 7.  EXAMPLES OF QUALIFIER VALUES
  2934.  
  2935.  
  2936.       -----------------------------------------------------------------
  2937.  
  2938.  
  2939.            This message format specification allows implementations  to
  2940.       define  their  own values for Qualifiers.  A vendor-defined Qual-
  2941.       ifier is any long Qualifier in which the first octet in the value
  2942.       is 0.    The  value  used  to  identify  this  Qualifier  is  not
  2943.       guaranteed  to  be  unique  and  the  same  value  may be used by
  2944.       different implementations to define different Qualifiers.
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.                                      43
  2952.  
  2953.                                                           Section 4.2.3
  2954.  
  2955.       4.2.3  Property-List
  2956.  
  2957.  
  2958.            A  Property  is  an attribute being associated with, but not
  2959.       essential  to  the  interpretation  of,  a  data  element.    The
  2960.       properties currently defined by this message format specification
  2961.       are  Printing-Name  and  Comment.  A Property-List component of a
  2962.       data element is represented by a Property-List data element  that
  2963.       in turn contains Property data elements.
  2964.  
  2965.            A data element contains at most one Property-List.  The most
  2966.       significant  bit  in  the  identifier  octet  of the data element
  2967.       indicates whether a Property-List is present.
  2968.  
  2969.  
  2970.       4.2.4  Data Element Contents
  2971.  
  2972.  
  2973.            The Data Element Contents component of a data element is the
  2974.       actual data or information represented by a data element.    (The
  2975.       other  components  provide  the information necessary to identify
  2976.       and interpret the Data Element Contents.)
  2977.  
  2978.            In a primitive data element, the Data Element Contents is  a
  2979.       series  of  octets  interpreted according to the identifier octet
  2980.       and any qualifier.
  2981.  
  2982.            In a constructor data element, the Data Element Contents  is
  2983.       a  series  of data elements.  When the Length Code component of a
  2984.       constructor data element is "indefinite," the last  data  element
  2985.       in the constructor's Data Element Contents is End-of-Constructor.
  2986.  
  2987.            The  length  of the Data Element Contents (in octets) is the
  2988.       difference between the value of the Length Code and  the  sum  of
  2989.       the following:
  2990.  
  2991.  
  2992.         o  the  length  of  the Qualifier component (depends on the
  2993.            data element)
  2994.  
  2995.         o  the length of the Property-List component.
  2996.  
  2997.  
  2998.  
  2999.       4.3  Data Element Syntax
  3000.  
  3001.  
  3002.            This message  format  specification  defines  nineteen  (19)
  3003.       different data elements.  Section 4.3.1 defines the encoding form
  3004.       for  data  elements  in  general  and  the  syntax  for each data
  3005.       element.  Section  4.3.2  describes  the  use  of  specific  data
  3006.  
  3007.  
  3008.  
  3009.  
  3010.                                      44
  3011.  
  3012.                                                             Section 4.3
  3013.  
  3014.       elements  as  part  of  the Data Element Contents of a Field data
  3015.       element.  A summary of the syntactic form appears in Appendix  F;
  3016.       summaries of the data element syntax appear in Appendix G.
  3017.  
  3018.  
  3019.       4.3.1  Data elements
  3020.  
  3021.  
  3022.            This  section  presents  the  general syntactic form for all
  3023.       data elements defined by this message  format  specification  and
  3024.       the detailed syntax for each data element.  The data elements are
  3025.       presented  by  syntactic  class: primitive data elements (Section
  3026.       4.3.1.1), constructors (Section 4.3.1.2), and data elements which
  3027.       can be either (Section 4.3.1.3).
  3028.  
  3029.            For convenience, the following terminology is used  in  this
  3030.       section.
  3031.  
  3032.  
  3033.                   Term            Meaning
  3034.  
  3035.               Primitive       a Primitive Data Element
  3036.  
  3037.               Constructor     a Constructor Data Element
  3038.  
  3039.               Element         any Data Element
  3040.  
  3041.  
  3042.            The  syntax  of  each  Element is presented in graphic form.
  3043.       The following conventions apply in the diagrams.  A single  octet
  3044.       is represented as follows.
  3045.  
  3046.  
  3047.           +--------+
  3048.           |        |
  3049.           +--------+
  3050.  
  3051.  
  3052.            Components that vary in length are represented as follows.
  3053.  
  3054.  
  3055.           +---//---+
  3056.           |        |
  3057.           +---//---+
  3058.  
  3059.  
  3060.            Each  Element  has  up to five components:  an Identifier, a
  3061.       Length Code, a Qualifier, a Property-List, and the  Data  Element
  3062.       Contents.
  3063.  
  3064.                In the diagrams, the contents of the identifier octet is
  3065.  
  3066.  
  3067.  
  3068.  
  3069.                                      45
  3070.  
  3071.                                                           Section 4.3.1
  3072.  
  3073.       shown  as  a "P" followed by an identifier represented in binary.
  3074.       (See Figure 4.)
  3075.  
  3076.       A length code is always represented in the following manner:
  3077.  
  3078.  
  3079.           +---//---+
  3080.           |Lxxxxxxx|
  3081.           +---//---+
  3082.  
  3083.  
  3084.       A qualifier is always represented in the following manner:
  3085.  
  3086.  
  3087.           +---//---+
  3088.           |Qxxxxxxx|
  3089.           +---//---+
  3090.  
  3091.  
  3092.       A Property-List (if  present)  always  immediately  precedes  any
  3093.       occurrence of Data Element Contents.
  3094.  
  3095.       The  Data  Element  Contents  appears  in  diagrams as one of the
  3096.       following:
  3097.  
  3098.  
  3099.         o  "element(s)", which may be any data element(s)
  3100.  
  3101.         o  "anything," which is undefined and  may  be  any  combi-
  3102.            nation of bits
  3103.  
  3104.         o  a specific data element
  3105.  
  3106.         o  the  interpretation to be applied to the bits within the
  3107.            octets that constitute the element  (such  as  ASCII  or
  3108.            Integer)
  3109.  
  3110.  
  3111.            Two  data  elements have been reserved for special purposes.
  3112.       The Extension data  element  is  provided  to  allow  for  future
  3113.       expansion of the possible data elements.  The Vendor-Defined data
  3114.       element  allows  CBMS  vendors to define their own data elements.
  3115.       Vendor-Defined data elements are not  guaranteed  to  be  unique,
  3116.       since  two  implementations  could define different data elements
  3117.       using the same identifier.  Vendor-Defined data  elements  should
  3118.       be used and interpreted by prior agreement.
  3119.  
  3120.            In  the  following  sections, each element is presented with
  3121.       its name, compliance  classification  (BASIC  or  OPTIONAL),  its
  3122.       identifier   (both   in   hexadecimal  and  in  octal),  a  brief
  3123.       description of its use, and a graphic representation.  Each  data
  3124.       element description has the following form.
  3125.  
  3126.  
  3127.  
  3128.                                      46
  3129.  
  3130.                                                           Section 4.3.1
  3131.  
  3132.  
  3133.  
  3134.  
  3135.       -----------------------------------------------------------------
  3136.  
  3137.  
  3138.       Data Element             (Compliance)   identifier   identifier
  3139.           Name                 ( Category )    octet         octet 
  3140.                                                     16            8
  3141.  
  3142.                      Description of the syntax of the data element.
  3143.  
  3144.  
  3145.  
  3146.                  +---//---+
  3147.                  |        |     Diagram representing data element
  3148.                  +---//---+
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.       -----------------------------------------------------------------
  3156.  
  3157.  
  3158.       4.3.1.1  Primitives
  3159.  
  3160.            The   data   elements   in  this  section  are  arranged  in
  3161.       alphabetical order by name.  (Appendix C presents the identifiers
  3162.       in numeric order.)
  3163.  
  3164.       ASCII-String             (BASIC)        02        002 
  3165.                                                 16         8
  3166.                    This  data  element  contains  a  series  of   ASCII
  3167.                 characters [NatB-80], each character right-justified in
  3168.                 one  octet.    For  7-bit  ASCII  characters,  the most
  3169.                 significant bit of each octet must be 0.
  3170.  
  3171.            Note: The ASCII code  table  can  be  extended  through
  3172.                 standardized  techniques [NatB-75]  to  introduce addi-
  3173.                 tional 7-bit or 8-bit  characters  or  additional  code
  3174.                 tables.
  3175.  
  3176.  
  3177.                  +--------+---//---+----//-----+
  3178.                  |P0000010|Lxxxxxxx|ASCII chars|
  3179.                  +--------+---//---+----//-----+
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.                                      47
  3188.  
  3189.                                                         Section 4.3.1.1
  3190.  
  3191.       Bit-String               (OPTIONAL)     43        103 
  3192.                                                 16         8
  3193.                 This  data  element contains a series of bits.  It uses
  3194.                 the Qualifier data  element  component  to  record  the
  3195.                 number  of  bits  of  padding (as an eight bit unsigned
  3196.                 integer) needed to fill the final  octet  of  the  Data
  3197.                 Element  Contents  to  an  even  octet boundary.  These
  3198.                 padding bits have no meaning and occur in the low order
  3199.                 bits of the final octet.   The  valid  values  for  the
  3200.                 Qualifier  component  are  0  through 7.  The number of
  3201.                 bits in the Data Element Contents  is  calculated  from
  3202.                 the following formula.
  3203.  
  3204.  
  3205.                 8   *   number of octets   -   value of
  3206.                         in the Data            Qualifier component
  3207.                         Element Contents
  3208.  
  3209.  
  3210.                  +--------+---//---+---//---+---//---+
  3211.                  |P1000011|Lxxxxxxx|Qxxxxxxx|  bits  |
  3212.                  +--------+---//---+---//---+---//---+
  3213.  
  3214.       Boolean                  (OPTIONAL)     08        010 
  3215.                                                 16         8
  3216.                 This  data  element  contains  one octet whose value is
  3217.                 either true or false.  False is represented by all bits
  3218.                 being 0; true  is  represented  by  all  bits  being  1
  3219.                 (although  any  non-zero value should be interpreted as
  3220.                 true).
  3221.  
  3222.  
  3223.                  +--------+---//---+--------+
  3224.                  |P0001000|Lxxxxxxx| T or F |
  3225.                  +--------+---//---+--------+
  3226.  
  3227.       End-of-Constructor       (BASIC)        01        001 
  3228.                                                 16         8
  3229.                 This data element terminates the Data Element  Contents
  3230.                 in  a  constructor  data  element  that  has indefinite
  3231.                 length.  This data element has no  Contents  component.
  3232.                 (Use of this element is described in Section 4.2.2.1.)
  3233.  
  3234.  
  3235.                  +--------+---//---+
  3236.                  |P0000001|Lxxxxxxx|
  3237.                  +--------+---//---+
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.                                      48
  3247.  
  3248.                                                         Section 4.3.1.1
  3249.  
  3250.       Integer                  (OPTIONAL)     20        040 
  3251.                                                 16         8
  3252.                 This  data element contains a 2's complement integer of
  3253.                 variable  length,  high  order  octet  first.    It  is
  3254.                 recommended  that the data element contents be either 2
  3255.                 or 4 octets long whenever possible.
  3256.  
  3257.  
  3258.                  +--------+---//---+---//---+
  3259.                  |P0100000|Lxxxxxxx| Integer|
  3260.                  +--------+---//---+---//---+
  3261.  
  3262.       No-Op                    (OPTIONAL)     00        000 
  3263.                                                 16         8
  3264.                 This data element does nothing.  No-Op is used whenever
  3265.                 it is necessary to include a data  element  that  means
  3266.                 "no operation."  It is a short placeholder.
  3267.  
  3268.  
  3269.                  +--------+---//---+
  3270.                  |P0000000|Lxxxxxxx|
  3271.                  +--------+---//---+
  3272.  
  3273.       Padding                  (OPTIONAL)     21        041 
  3274.                                                 16         8
  3275.                 This data element is used to fill any number of octets.
  3276.                 The  contents  of  a  Padding element are undefined and
  3277.                 convey no information.
  3278.  
  3279.  
  3280.                  +--------+---//---+---//---+
  3281.                  |P0100001|Lxxxxxxx|anything|
  3282.                  +--------+---//---+---//---+
  3283.  
  3284.  
  3285.       4.3.1.2  Constructors
  3286.  
  3287.            The data elements in this section  are  arranged  in  alpha-
  3288.       betical order.
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.                                      49
  3306.  
  3307.                                                         Section 4.3.1.2
  3308.  
  3309.       Compressed               (OPTIONAL)     46        106 
  3310.                                                 16         8
  3311.                 This  data  element  must  contain  a  Bit-String  data
  3312.                 element.  It is used to represent  any  data  that  has
  3313.                 been   compressed;   it   may   be  used  wherever  its
  3314.                 uncompressed contents may appear.    A  Qualifier  data
  3315.                 component  appears  in each Compressed data element; it
  3316.                 contains a  compression identifier  (CID)  to  identify
  3317.                 the  compression  algorithm used.  (See Section 4.3.5.)
  3318.                 The Data Element Contents contains the product  of  the
  3319.                 compression process.
  3320.  
  3321.  
  3322.                  +--------+---//---+---//---+--------//--------+
  3323.                  |P1000110|Lxxxxxxx|Qxxxxxxx|Bit-String Element|
  3324.                  +--------+---//---+---//---+--------//--------+
  3325.  
  3326.  
  3327.       Date                     (BASIC)        28        050 
  3328.                                                 16         8
  3329.                 This   data   element  contains  an  ASCII-String  data
  3330.                 element, which is a representation of a date  and  time
  3331.                 formatted   in   accordance   with   PUBS  4 [NatB-68],
  3332.                 58 [NatB-79a] and 59 [NatB-79b].  The use of  time  and
  3333.                 time  zone is optional.  It is recommended that numeric
  3334.                 offsets be used  to  indicate  time  zone  rather  than
  3335.                 alphabetic abbreviations.
  3336.  
  3337.  
  3338.                  +--------+---//---+------//------+
  3339.                  |P0101000|Lxxxxxxx| ASCII-String |
  3340.                  +--------+---//---+------//------+
  3341.  
  3342.  
  3343.       Encrypted                (OPTIONAL)     47        107 
  3344.                                                 16         8
  3345.                 This  data  element  must  contain a Bit-String.  It is
  3346.                 used to represent any data that has been encrypted;  it
  3347.                 may  be  used  wherever  its  unencrypted  contents may
  3348.                 appear.  A Qualifier data  component  appears  in  each
  3349.                 Encrypted  data  element;  it  contains  an  encryption
  3350.                 identifier (EID) identifying the  encryption  algorithm
  3351.                 used.   The Data Element Contents is the product of the
  3352.                 encryption process.
  3353.  
  3354.  
  3355.                  +--------+---//---+---//---+--------//--------+
  3356.                  |P1000111|Lxxxxxxx|Qxxxxxxx|Bit-String Element|
  3357.                  +--------+---//---+---//---+--------//--------+
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.  
  3364.                                      50
  3365.  
  3366.                                                         Section 4.3.1.2
  3367.  
  3368.       Field                    (BASIC)        4C        114 
  3369.                                                 16         8
  3370.                 This   data  element  uses  a  Qualifier  data  element
  3371.                 component.  The Qualifier component  contains  a  Field
  3372.                 Identifier  (FID)  indicating  which  specific field is
  3373.                 being represented.
  3374.  
  3375.  
  3376.                  +--------+---//---+---//---+---//---+
  3377.                  |P1001100|Lxxxxxxx|Qxxxxxxx|elements|
  3378.                  +--------+---//---+---//---+---//---+
  3379.  
  3380.       Message                  (BASIC)        4D        115 
  3381.                                                 16         8
  3382.                 This data element may contain  Field  or  Message  data
  3383.                 elements.    Its Qualifier component contains a Message
  3384.                 type (MID) indicating the type of the  message.    (The
  3385.                 MID is completely different from the message identifier
  3386.                 in the Message-ID field and should not be confused with
  3387.                 it.)
  3388.  
  3389.  
  3390.                  +--------+---//---+---//---+
  3391.                  |P1001101|Lxxxxxxx|Qxxxxxxx|
  3392.                  +--------+---//---+---//---+
  3393.  
  3394.                  +--------//---------//---------//---------//--------+
  3395.                  | Field, Message, Encrypted, or Compressed Elements |
  3396.                  +--------//---------//---------//---------//--------+
  3397.  
  3398.       Property-List            (OPTIONAL)     24        044 
  3399.                                                 16         8
  3400.                 This  data  element  contains a series of Property data
  3401.                 elements to be associated with another data element.
  3402.  
  3403.  
  3404.                  +--------+---//---+-------//--------+
  3405.                  |P0100100|Lxxxxxxx|Property Elements|
  3406.                  +--------+---//---+-------//--------+
  3407.  
  3408.       Property                 (OPTIONAL)     45        105 
  3409.                                                 16         8
  3410.                 This  data  element  uses  a  Qualifier  data   element
  3411.                 component.       The   Qualifier   component   contains
  3412.                 a  Property-Identifier (PID) to indicate which specific
  3413.                 property is being represented.
  3414.  
  3415.  
  3416.                  +--------+---//---+---//---+---//---+
  3417.                  |P1000101|Lxxxxxxx|Qxxxxxxx|elements|
  3418.                  +--------+---//---+---//---+---//---+
  3419.  
  3420.  
  3421.  
  3422.  
  3423.                                      51
  3424.  
  3425.                                                         Section 4.3.1.2
  3426.  
  3427.       Sequence                 (OPTIONAL)     0A        012 
  3428.                                                 16         8
  3429.                 This data element contains any series of data elements.
  3430.                 Sequence  differs  from  Set  in that the data elements
  3431.                 making up the Data Element Contents must be  considered
  3432.                 as  an  ordered  sequence  (according to their order of
  3433.                 appearance in the sequence.)
  3434.  
  3435.  
  3436.                  +--------+---//---+---//---+
  3437.                  |P0001010|Lxxxxxxx|elements|
  3438.                  +--------+---//---+---//---+
  3439.  
  3440.       Set                      (OPTIONAL)     0B        013 
  3441.                                                 16         8
  3442.                 This data element contains any series of data  elements
  3443.                 with  no  ordering  of the elements implied.  (Sequence
  3444.                 provides  an  ordered  series.)    Although  the   data
  3445.                 elements   contained   in   a   Set   must   be  stored
  3446.                 sequentially, the order in which they are stored is not
  3447.                 defined and not processed.
  3448.  
  3449.  
  3450.                  +--------+---//---+---//---+
  3451.                  |P0001011|Lxxxxxxx|elements|
  3452.                  +--------+---//---+---//---+
  3453.  
  3454.       Unique-ID                (OPTIONAL)     09        011 
  3455.                                                 16         8
  3456.                 This data element is a unique identifier.  It need  not
  3457.                 be human-readable.  The Data Element Contents may be an
  3458.                 ASCII-String, a Bit-String, or an Integer.
  3459.  
  3460.  
  3461.                  +--------+---//---+---//---+
  3462.                  |P0001001|Lxxxxxxx| element|
  3463.                  +--------+---//---+---//---+
  3464.  
  3465.  
  3466.       4.3.1.3  Data Elements that Extend this Specification
  3467.  
  3468.            There  are  two  data  elements that are used to extend this
  3469.       specification.  They can be classified  as  either  primitive  or
  3470.       constructor data elements, depending on the extension.
  3471.  
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.  
  3480.  
  3481.  
  3482.                                      52
  3483.  
  3484.                                                         Section 4.3.1.3
  3485.  
  3486.       Extension                (OPTIONAL)     7E        176 
  3487.                                                 16         8
  3488.                 This  data  element  is  used  to  extend the number of
  3489.                 available  data  elements  beyond  the  128  that   are
  3490.                 possible   using  a  7-bit  identifier.    A  Qualifier
  3491.                 component extends the encoding space  for  identifiers.
  3492.                 (Extension and Vendor-Defined have the same syntax.)
  3493.  
  3494.  
  3495.                  +--------+---//---+---//---+---//---+
  3496.                  |P1111110|Lxxxxxxx|Qxxxxxxx|Anything|
  3497.                  +--------+---//---+---//---+---//---+
  3498.  
  3499.       Vendor-Defined           (OPTIONAL)     7F        177 
  3500.                                                 16         8
  3501.                 This  data  element  is  used  to represent vendor- and
  3502.                 user-defined data  elements.    A  Qualifier  component
  3503.                 extends  the  encoding  space  for  identifiers.    The
  3504.                 Qualifier component is  not  guaranteed  to  be  unique
  3505.                 among all interconnected systems.  This data element is
  3506.                 interpreted   according   to  prior  agreement  between
  3507.                 systems.  (Extension and Vendor-Defined  data  elements
  3508.                 have the same syntax.)
  3509.  
  3510.  
  3511.                  +--------+---//---+---//---+---//---+
  3512.                  |P1111111|Lxxxxxxx|Qxxxxxxx|Anything|
  3513.                  +--------+---//---+---//---+---//---+
  3514.  
  3515.  
  3516.       4.3.2  Using data elements within message fields
  3517.  
  3518.  
  3519.            The Data Element Contents of a particular field in a message
  3520.       must  contain  at  least  one  data  element.   The types of data
  3521.       elements that can appear in the Data Element Contents of a  field
  3522.       are restricted according to what kind of field it is.  Appendix A
  3523.       (the  master  reference  appendix  for fields) defines which data
  3524.       elements are valid as the Contents for each of the fields.
  3525.  
  3526.            Some fields have  a  Data  Element  Contents  that  contains
  3527.       "originators"  or  "recipients."   No data element represents the
  3528.       identities of originators or recipients (because that encoding is
  3529.       not within the  scope  of  this  message  format  specification.)
  3530.       These  descriptions  simply  list  "originators" or "recipients",
  3531.       implying no restrictions on how the identifiers  for  originators
  3532.       or recipients are represented.
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541.                                      53
  3542.  
  3543.                                                           Section 4.3.3
  3544.  
  3545.       4.3.3  Properties and associated elements
  3546.  
  3547.  
  3548.            This message format specification defines two properties.
  3549.  
  3550.       Comment                                 01        001 
  3551.                                                 16         8
  3552.                 This  property may contain any series of data elements;
  3553.                 it most commonly contains one or more ASCII-Strings.
  3554.  
  3555.       Printing-Name                           02        002 
  3556.                                                 16         8
  3557.                 This property contains one ASCII-String.  In this case,
  3558.                 the ASCII-String may contain only  the  printing  ASCII
  3559.                 characters plus the "space" character.
  3560.  
  3561.  
  3562.       4.3.4  Encryption identifiers
  3563.  
  3564.  
  3565.            This  message  format  specification  defines two encryption
  3566.       identification codes.
  3567.  
  3568.       Unspecified                             00        000 
  3569.                                                 16         8
  3570.                 Use of  this  encryption  identifier  as  part  of  the
  3571.                 Encrypted  data  element  indicates that the encryption
  3572.                 method being used was not specified  for  inclusion  as
  3573.                 part of the data element.
  3574.  
  3575.       FIPS-Standard                           01        001 
  3576.                                                 16         8
  3577.                 Use  of  this  encryption  identifier  as  part  of the
  3578.                 Encrypted  data  element  indicates  that  the  Federal
  3579.                 Information   Processing   Standard   method  for  data
  3580.                 encryption was [NatB-77].
  3581.  
  3582.  
  3583.       4.3.5  Compression identifiers
  3584.  
  3585.  
  3586.            This message format specification  defines  one  compression
  3587.       identification code for use with the Compressed data element.
  3588.  
  3589.       Unspecified                             00        000 
  3590.                                                 16         8
  3591.                 Use  of  this  compression  identifier  as  part of the
  3592.                 Compressed data element indicates that the  compression
  3593.                 method  being  used  was not specified for inclusion as
  3594.                 part of the data element.
  3595.  
  3596.  
  3597.  
  3598.  
  3599.  
  3600.                                      54
  3601.  
  3602.                                                           Section 4.3.6
  3603.  
  3604.       4.3.6  Message types
  3605.  
  3606.  
  3607.            This message format specification defines message type (MID)
  3608.       codes  for use in classifying the type of a message.  The message
  3609.       type could  be  confused  with  the  message  identifier  in  the
  3610.       Message-Id field; they are completely distinct concepts.
  3611.  
  3612.       FIPS-Standard                           01        01 
  3613.                                                 16        8
  3614.                 This  message  type  marks  messages  defined  by  this
  3615.                 message format specification.
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.  
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636.  
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.  
  3656.  
  3657.  
  3658.  
  3659.                                      55
  3660.  
  3661.  
  3662.  
  3663.                             SUMMARY OF APPENDIXES
  3664.  
  3665.  
  3666.  
  3667.  
  3668.       Appendix A  Defines  the  fields  in  the message format specifi-
  3669.                   cation.  This alphabetical appendix is for  reference
  3670.                   use   by   implementors.      It   contains  semantic
  3671.                   definitions of fields from  Section  3.1.    It  also
  3672.                   defines  Field  Identifier values and specifies which
  3673.                   data elements are valid as the Contents for  each  of
  3674.                   the fields.
  3675.  
  3676.       Appendix B  Defines  the  data  elements  in  the  message format
  3677.                   specification.  This alphabetically ordered  appendix
  3678.                   is  for  reference  use  by implementors.  It consol-
  3679.                   idates information from Section 4.3.
  3680.  
  3681.       Appendix C  Provides a reference table listing the data  elements
  3682.                   in numerical order by their identifier octets.
  3683.  
  3684.       Appendix D  Provides a reference table summarizing the components
  3685.                   of messages according to whether they are required or
  3686.                   optional for CBMSs implementing the specification.
  3687.  
  3688.       Appendix E  Provides  a  reference  table  organizing the message
  3689.                   components according to the functional class  of  the
  3690.                   components.
  3691.  
  3692.       Appendix F  Provides   an  overview  of  the  syntactic  elements
  3693.                   defined by this message format specification.
  3694.  
  3695.       Appendix G  Summarizes syntactic elements  according  to  whether
  3696.                   they are required or optional for a CBMS implementing
  3697.                   the message format specification.
  3698.  
  3699.       Appendix H  Examples  of  each syntactic element displaying their
  3700.                   syntax and describing their associated semantics.
  3701.  
  3702.  
  3703.  
  3704.  
  3705.  
  3706.  
  3707.  
  3708.  
  3709.  
  3710.  
  3711.  
  3712.  
  3713.  
  3714.  
  3715.  
  3716.  
  3717.  
  3718.                                      56
  3719.  
  3720.                                                              Appendix A
  3721.  
  3722.                                  APPENDIX A
  3723.                   FIELDS -- IMPLEMENTORS' MASTER REFERENCE
  3724.  
  3725.  
  3726.  
  3727.  
  3728.            This  appendix  defines  all  of  the  fields in the message
  3729.       format specification for  reference  use  by  implementors.    It
  3730.       contains  semantics  definitions  of fields from Section 3.1.  It
  3731.       also defines Field Identifier values and which data elements  are
  3732.       valid  as  the  Contents  for  each  of  the  fields.   The field
  3733.       definitions appear alphabetically.
  3734.  
  3735.            Each field in the list has the following form:
  3736.  
  3737.  
  3738.       ------------------------------------------------------------
  3739.  
  3740.  
  3741.       Field Name               Compliance   identifier  identifier
  3742.                                               value       value 
  3743.                                                    16          8
  3744.  
  3745.                    Description of the field semantics.   Names  of
  3746.               data  elements  that  are  valid in the Data Element
  3747.               Contents of this kind of field.
  3748.  
  3749.  
  3750.  
  3751.       ------------------------------------------------------------
  3752.  
  3753.  
  3754.       Attachments              OPTIONAL       08        010 
  3755.                                                 16         8
  3756.                 This field  contains  additional  data  accompanying  a
  3757.                 message.    It  is similar in intent to enclosures in a
  3758.                 conventional mail system.  Contents of this  field  are
  3759.                 unrestricted.
  3760.  
  3761.       Author                   OPTIONAL       0C        014 
  3762.                                                 16         8
  3763.                 This  field  identifies the individual(s) who wrote the
  3764.                 primary contents of the message.   Use  of  the  Author
  3765.                 field  is  discouraged  when the contents of the Author
  3766.                 field and the From field would be completely redundant.
  3767.                 This field contains one or more originator identities.
  3768.  
  3769.  
  3770.  
  3771.  
  3772.  
  3773.  
  3774.  
  3775.  
  3776.  
  3777.                                      57
  3778.  
  3779.                                                              Appendix A
  3780.  
  3781.       Bcc                      OPTIONAL       0D        015 
  3782.                                                 16         8
  3783.                 This  field  identifies  additional  recipients  for  a
  3784.                 message (a "blind carbon copies list").   The  contents
  3785.                 of  this  field are not to be included in copies of the
  3786.                 message sent to the primary and  secondary  recipients.
  3787.                 See  section 3.2.1 for further discussion of the use of
  3788.                 blind carbon copies lists. This field contains  one  or
  3789.                 more recipient identities.
  3790.  
  3791.       Cc                       BASIC          06        006 
  3792.                                                 16         8
  3793.                 This   field  identifies  secondary  recipients  for  a
  3794.                 message (a "carbon copies" list).  This field  contains
  3795.                 one or more recipient identities.
  3796.  
  3797.       Circulate-Next           OPTIONAL       0E        016 
  3798.                                                 16         8
  3799.                 This field is used in conjunction with the Circulate-To
  3800.                 field.    (See Section 3.2.6.1 for further discussion.)
  3801.                 It identifies all recipients in a circulation list  who
  3802.                 have not yet received the message.  This field contains
  3803.                 one or more recipient identities.
  3804.  
  3805.       Circulate-To             OPTIONAL       0F        017 
  3806.                                                 16         8
  3807.                 This  field  identifies  recipients  for  a  circulated
  3808.                 message.  (See Section 3.2.6.1 for further discussion.)
  3809.                 It is  used  in  conjunction  with  the  Circulate-Next
  3810.                 field.    This  field  contains  one  or more recipient
  3811.                 identities.
  3812.  
  3813.       Comments                 OPTIONAL       10        020 
  3814.                                                 16         8
  3815.                 This field permits adding  comments  onto  the  message
  3816.                 without   disturbing   the  original  contents  of  the
  3817.                 message.  While the Comments field will usually contain
  3818.                 one or more ASCII-Strings, there are no restrictions on
  3819.                 its contents.
  3820.  
  3821.       Date                     OPTIONAL       11        021 
  3822.                                                 16         8
  3823.                 This  field  contains  a  date   that   the   message's
  3824.                 originator  wishes  to  associate  with a message.  The
  3825.                 Date field is to the Posted-Date field as the date on a
  3826.                 letter is to the postmark added  by  the  post  office.
  3827.                 This field contains one Date.
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.  
  3835.  
  3836.                                      58
  3837.  
  3838.                                                              Appendix A
  3839.  
  3840.       End-Date                 OPTIONAL       12        022 
  3841.                                                 16         8
  3842.                 This  field  contains the date on which a message loses
  3843.                 effect.    (See  also   Section   3.2.5   for   further
  3844.                 discussion.)  This field contains one Date.
  3845.  
  3846.       From                     REQUIRED       01        001 
  3847.                                                 16         8
  3848.                 This  field  contains  the  identity of the originators
  3849.                 taking formal responsibility for  this  message.    The
  3850.                 contents  of  the  From field is to be used for replies
  3851.                 when no Reply-to field appears  in  a  message.    This
  3852.                 field contains one or more originator identities.
  3853.  
  3854.       In-Reply-To              OPTIONAL       13        023 
  3855.                                                 16         8
  3856.                 This  field designates previous correspondence to which
  3857.                 this message is a reply.  The usual  contents  of  this
  3858.                 field  would be the contents of the Message-ID field of
  3859.                 the message(s) being replied to.  This  field  contains
  3860.                 one or more Unique-IDs or ASCII-Strings.
  3861.  
  3862.       Keywords                 OPTIONAL       14        024 
  3863.                                                 16         8
  3864.                 This  field  contains  keywords  or  phrases for use in
  3865.                 retrieving a message.  This field contains one or  more
  3866.                 ASCII-Strings.   (Each keyword or phrase is represented
  3867.                 by a separate ASCII-String.)
  3868.  
  3869.       Message-Class            OPTIONAL       15        025 
  3870.                                                 16         8
  3871.                 This field indicates the purpose of  a  message.    For
  3872.                 example,  it  might  contain values indicating that the
  3873.                 message is a memorandum or a  data-base  entry.    This
  3874.                 field contains one data element, an ASCII-String.
  3875.  
  3876.       Message-ID               OPTIONAL       16        026 
  3877.                                                 16         8
  3878.                 This  field contains a unique identifier for a message.
  3879.                 This identifier is intended for machine generation  and
  3880.                 processing.    Further  definition  appears  in Section
  3881.                 3.2.4.1.  Only one Message-ID field is permitted  in  a
  3882.                 message.    This  field  contains  one  data element, a
  3883.                 Unique-ID.
  3884.  
  3885.       Obsoletes                OPTIONAL       26        046 
  3886.                                                 16         8
  3887.                 This field identifies one or more  messages  that  this
  3888.                 one  supplants.    This  field  contains  at  least one
  3889.                 Unique-ID and may contain more than one.
  3890.  
  3891.  
  3892.  
  3893.  
  3894.  
  3895.                                      59
  3896.  
  3897.                                                              Appendix A
  3898.  
  3899.       Originator-Serial-Number OPTIONAL       17        027 
  3900.                                                 16         8
  3901.                 This field contains one or more serial numbers assigned
  3902.                 by  the  message's originator.  (Messages with multiple
  3903.                 recipients should  all  have  the  same  value  in  the
  3904.                 Originator-Serial-Number  field.    This field contains
  3905.                 one or more ASCII-Strings.  (One ASCII-String  is  used
  3906.                 for each serial number.)
  3907.  
  3908.       Posted-Date              REQUIRED       02        002 
  3909.                                                 16         8
  3910.                 This  field  contains  the  posting  date, which is the
  3911.                 point in time  when  the  message  passes  through  the
  3912.                 posting  slot into a message transfer system.  Only one
  3913.                 Posted-Date field is permitted  in  a  message.    This
  3914.                 field contains one Date.
  3915.  
  3916.       Precedence               OPTIONAL       18        030 
  3917.                                                 16         8
  3918.                 Ordinarily, message precedence or priority is a service
  3919.                 request  to  a  message  transfer  system.    A message
  3920.                 originator, however, can include precedence information
  3921.                 in a message.  This field indicates the  precedence  at
  3922.                 which  the  message  was  posted.    One  example  of a
  3923.                 precedence  scheme  is  the  US   Military   categories
  3924.                 "ROUTINE",  "PRIORITY",  "IMMEDIATE", "FLASH OVERRIDE",
  3925.                 and  "EMERGENCY  COMMAND  PRECEDENCE".     This   field
  3926.                 contains one ASCII-String.
  3927.  
  3928.       Received-Date            OPTIONAL       19        031 
  3929.                                                 16         8
  3930.                 This  field  is  also  called Delivery date.  It may be
  3931.                 added to a message by the recipient's message receiving
  3932.                 program.   It  indicates  when  the  message  left  the
  3933.                 delivery  system  and  entered  the recipient's message
  3934.                 processing domain.  This field contains one Date.
  3935.  
  3936.       Received-From            OPTIONAL       1A        032 
  3937.                                                 16         8
  3938.                 This field  contains  a  record  of  a  message's  path
  3939.                 through    a    message    transfer    system.      The
  3940.                 recipient's message receiving  program  may  store  any
  3941.                 such   information  that  it  obtains  from  a  message
  3942.                 transfer system in this field.  The  contents  of  this
  3943.                 field are unrestricted.
  3944.  
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.  
  3954.                                      60
  3955.  
  3956.                                                              Appendix A
  3957.  
  3958.       References               OPTIONAL       20        040 
  3959.                                                 16         8
  3960.                 This  field  identifies  other correspondence that this
  3961.                 message  references.    If  the  other   correspondence
  3962.                 contains  a  Message-ID  field,  the  contents  of  the
  3963.                 References field must be the message identifier.   This
  3964.                 field contains one or more Unique-IDs or ASCII-Strings.
  3965.  
  3966.       Reissue-Type             OPTIONAL       25        045 
  3967.                                                 16         8
  3968.                 This   field   is  used  in  conjunction  with  message
  3969.                 encapsulating  (see  Section  3.2.2)  to  differentiate
  3970.                 between messages being assigned or redistributed.  This
  3971.                 field  contains  one  data  element,  usually an ASCII-
  3972.                 String.
  3973.  
  3974.       Reply-To                 BASIC          03        003 
  3975.                                                 16         8
  3976.                 This field identifies any recipients for replies to the
  3977.                 message.  This field contains  one  or  more  recipient
  3978.                 identities.
  3979.  
  3980.       Sender                   OPTIONAL       22        042 
  3981.                                                 16         8
  3982.                 This  field  identifies the agent who sent the message.
  3983.                 It is intended either for when the sender  is  not  the
  3984.                 originator  responsible  for the message or to indicate
  3985.                 who among a group of originators  responsible  for  the
  3986.                 message  actually  sent it.  Use of the Sender field is
  3987.                 discouraged when the contents of the Sender  field  and
  3988.                 From  field  would  be  completely redundant.  Only one
  3989.                 Sender field is permitted in a  message.    This  field
  3990.                 contains one originator identity.
  3991.  
  3992.       Start-Date               OPTIONAL       23        043 
  3993.                                                 16         8
  3994.                 This  field  contains the date on which a message takes
  3995.                 effect.  (See Section 3.2.5  for  further  discussion.)
  3996.                 This field contains one Date.
  3997.  
  3998.       Subject                  BASIC          07        007 
  3999.                                                 16         8
  4000.                 This field contains whatever information the originator
  4001.                 provided  to  summarize  or  indicate the nature of the
  4002.                 message.   This  field  contains  one  or  more  ASCII-
  4003.                 Strings.
  4004.  
  4005.       Text                     BASIC          04        004 
  4006.                                                 16         8
  4007.                 This field contains the primary content of the message.
  4008.                 Contents of this field are unrestricted.
  4009.  
  4010.  
  4011.  
  4012.  
  4013.                                      61
  4014.  
  4015.                                                              Appendix A
  4016.  
  4017.       To                       REQUIRED       05        005 
  4018.                                                 16         8
  4019.                 This field identifies primary recipients for a message.
  4020.                 This field contains one or more recipient identities.
  4021.  
  4022.       Warning-Date             OPTIONAL       24        044 
  4023.                                                 16         8
  4024.                 This  field is used either alone or in conjunction with
  4025.                 an End-Date field.  It  contains  one  or  more  dates.
  4026.                 These  dates  could  be  used  by  a message processing
  4027.                 program as warnings of an impending end-date  or  other
  4028.                 event.    (See  Section  3.2.5 for further discussion.)
  4029.                 This field contains one or more Dates.
  4030.  
  4031.  
  4032.  
  4033.  
  4034.  
  4035.  
  4036.  
  4037.  
  4038.  
  4039.  
  4040.  
  4041.  
  4042.  
  4043.  
  4044.  
  4045.  
  4046.  
  4047.  
  4048.  
  4049.  
  4050.  
  4051.  
  4052.  
  4053.  
  4054.  
  4055.  
  4056.  
  4057.  
  4058.  
  4059.  
  4060.  
  4061.  
  4062.  
  4063.  
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070.  
  4071.  
  4072.                                      62
  4073.  
  4074.                                                              Appendix B
  4075.  
  4076.                                  APPENDIX B
  4077.                DATA ELEMENTS -- IMPLEMENTORS' MASTER REFERENCE
  4078.  
  4079.  
  4080.  
  4081.  
  4082.            The appendix defines all of the data elements in the message
  4083.       format  specification,  for  reference  use  by implementors.  It
  4084.       contains no new information but rather consolidates the syntactic
  4085.       information from Section 4.3.
  4086.  
  4087.            Each data element description has the following form.
  4088.  
  4089.  
  4090.       -----------------------------------------------------------------
  4091.  
  4092.  
  4093.  
  4094.       Data Element        (Compliance)   identifier   identifier
  4095.           Name            ( Category )    octet         octet 
  4096.                                                16            8
  4097.  
  4098.                 Constructive class (primitive or constructor)
  4099.  
  4100.                 Description of the syntax of the data element.
  4101.  
  4102.  
  4103.  
  4104.                 +---//---+
  4105.                 |        |     Diagram representing data element
  4106.                 +---//---+
  4107.  
  4108.  
  4109.  
  4110.  
  4111.  
  4112.       -----------------------------------------------------------------
  4113.  
  4114.  
  4115.  
  4116.  
  4117.  
  4118.  
  4119.  
  4120.  
  4121.  
  4122.  
  4123.  
  4124.  
  4125.  
  4126.  
  4127.  
  4128.  
  4129.  
  4130.  
  4131.                                      63
  4132.  
  4133.                                                              Appendix B
  4134.  
  4135.       ASCII-String             (BASIC)        02        002 
  4136.                                                 16         8
  4137.                 primitive
  4138.  
  4139.                 This data element contains a series of ASCII characters
  4140.                  [NatB-80],   each  character  right-justified  in  one
  4141.                 octet.    For  7-bit   ASCII   characters,   the   most
  4142.                 significant bit of each octet must be 0.
  4143.  
  4144.                 Note:  The  ASCII  code  table  can be extended through
  4145.                 standardized techniques [NatB-75]  to  introduce  addi-
  4146.                 tional  7-bit  or  8-bit  characters or additional code
  4147.                 tables.
  4148.  
  4149.  
  4150.                  +--------+---//---+----//-----+
  4151.                  |P0000010|Lxxxxxxx|ASCII chars|
  4152.                  +--------+---//---+----//-----+
  4153.  
  4154.       Bit-String               (OPTIONAL)     43        103 
  4155.                                                 16         8
  4156.                 primitive
  4157.  
  4158.                 This data element contains a series of bits.   It  uses
  4159.                 the  Qualifier  data  element  component  to record the
  4160.                 number  of  bits  of  padding  (as  an  8-bit  unsigned
  4161.                 integer)  needed  to  fill  the final octet of the Data
  4162.                 Element Contents to an  even  octet  boundary.    These
  4163.                 padding bits have no meaning and occur in the low order
  4164.                 bits  of  the  final  octet.   The valid values for the
  4165.                 Qualifier component are 0 through 7.    The  number  of
  4166.                 bits  in  the  Data Element Contents is calculated from
  4167.                 the following formula.
  4168.  
  4169.  
  4170.                 8   *   number of octets   -   value of
  4171.                         in the Data            Qualifier component
  4172.                         Element Contents
  4173.  
  4174.  
  4175.                  +--------+---//---+---//---+---//---+
  4176.                  |P1000011|Lxxxxxxx|Qxxxxxxx|  bits  |
  4177.                  +--------+---//---+---//---+---//---+
  4178.  
  4179.  
  4180.  
  4181.  
  4182.  
  4183.  
  4184.  
  4185.  
  4186.  
  4187.  
  4188.  
  4189.  
  4190.                                      64
  4191.  
  4192.                                                              Appendix B
  4193.  
  4194.       Boolean                  (OPTIONAL)     08        010 
  4195.                                                 16         8
  4196.                 primitive
  4197.  
  4198.                 This  data  element  contains  one octet whose value is
  4199.                 either true or false.  False is represented by all bits
  4200.                 being 0; true  is  represented  by  all  bits  being  1
  4201.                 (although  any  non-zero value should be interpreted as
  4202.                 true).
  4203.  
  4204.  
  4205.                  +--------+---//---+--------+
  4206.                  |P0001000|Lxxxxxxx| T or F |
  4207.                  +--------+---//---+--------+
  4208.  
  4209.       Compressed               (OPTIONAL)     46        106 
  4210.                                                 16         8
  4211.                 constructor
  4212.  
  4213.                 This  data  element  must  contain  a  Bit-String  data
  4214.                 element.    It  is  used to represent any data that has
  4215.                 been  compressed;  it  may   be   used   wherever   its
  4216.                 uncompressed  contents  may  appear.   A Qualifier data
  4217.                 component appears in each Compressed data  element;  it
  4218.                 contains a compression identifier (CID) to identify the
  4219.                 compression  algorithm used.  (See Section 4.3.5.)  The
  4220.                 Data Element  Contents  contains  the  product  of  the
  4221.                 compression process.
  4222.  
  4223.  
  4224.                  +--------+---//---+---//---+--------//--------+
  4225.                  |P1000110|Lxxxxxxx|Qxxxxxxx|Bit-String Element|
  4226.                  +--------+---//---+---//---+--------//--------+
  4227.  
  4228.  
  4229.       Date                     (BASIC)        28        050 
  4230.                                                 16       8
  4231.                 constructor
  4232.  
  4233.                 This   data   element  contains  an  ASCII-String  data
  4234.                 element, which is a representation of a date  and  time
  4235.                 formatted  in  accordance  with  FIPS PUBS 4 [NatB-68],
  4236.                 58 [NatB-79a], and 59 [NatB-79b].  The use of time  and
  4237.                 time  zone is optional.  It is recommended that numeric
  4238.                 offsets be used  to  indicate  time  zone  rather  than
  4239.                 alphabetic abbreviations.
  4240.  
  4241.  
  4242.                  +--------+---//---+------//------+
  4243.                  |P0101000|Lxxxxxxx| ASCII-String |
  4244.                  +--------+---//---+------//------+
  4245.  
  4246.  
  4247.  
  4248.  
  4249.                                      65
  4250.  
  4251.                                                              Appendix B
  4252.  
  4253.       Encrypted                (OPTIONAL)     47        107 
  4254.                                                 16         8
  4255.                 constructor
  4256.  
  4257.                 This  data  element  must  contain a Bit-String.  It is
  4258.                 used to represent any data that has been encrypted;  it
  4259.                 may  be  used  wherever  its  unencrypted  contents may
  4260.                 appear.  A Qualifier data  component  appears  in  each
  4261.                 Encrypted  data  element;  it  contains  an  encryption
  4262.                 identifier (EID) identifying the  encryption  algorithm
  4263.                 used.  (See Section 4.3.4 for further discussion.)  The
  4264.                 Data  Element Contents is the product of the encryption
  4265.                 process.
  4266.  
  4267.  
  4268.                  +--------+---//---+---//---+--------//--------+
  4269.                  |P1000111|Lxxxxxxx|Qxxxxxxx|Bit-String Element|
  4270.                  +--------+---//---+---//---+--------//--------+
  4271.  
  4272.       End-of-Constructor       (BASIC)        01        001 
  4273.                                                 16         8
  4274.                 primitive
  4275.  
  4276.                 This data element terminates the Data Element  Contents
  4277.                 in  a  constructor  data  element  that  has indefinite
  4278.                 length.  This data element has no  Contents  component.
  4279.                 (Use of this element is described in Section 4.2.2.1.)
  4280.  
  4281.  
  4282.                  +--------+---//---+
  4283.                  |P0000001|Lxxxxxxx|
  4284.                  +--------+---//---+
  4285.  
  4286.       Extension                (OPTIONAL)     7E        176 
  4287.                                                 16         8
  4288.                 either
  4289.  
  4290.                 This  data  element  is  used  to  extend the number of
  4291.                 available  data  elements  beyond  the  128  that   are
  4292.                 possible   using  a  7-bit  identifier.    A  Qualifier
  4293.                 component extends the encoding space  for  identifiers.
  4294.                 (Extension and Vendor-Defined have the same syntax.)
  4295.  
  4296.  
  4297.                  +--------+---//---+---//---+---//---+
  4298.                  |P1111110|Lxxxxxxx|Qxxxxxxx|Anything|
  4299.                  +--------+---//---+---//---+---//---+
  4300.  
  4301.  
  4302.  
  4303.  
  4304.  
  4305.  
  4306.  
  4307.  
  4308.                                      66
  4309.  
  4310.                                                              Appendix B
  4311.  
  4312.       Field                    (BASIC)        4C        114 
  4313.                                                 16         8
  4314.                 constructor
  4315.  
  4316.                 This   data  element  uses  a  Qualifier  data  element
  4317.                 component.  The Qualifier component  contains  a  Field
  4318.                 Identifier  (FID)  indicating  which  specific field is
  4319.                 being represented.   (See  Section  4.3.2  for  further
  4320.                 discussion.)
  4321.  
  4322.  
  4323.                  +--------+---//---+---//---+---//---+
  4324.                  |P1001100|Lxxxxxxx|Qxxxxxxx|elements|
  4325.                  +--------+---//---+---//---+---//---+
  4326.  
  4327.       Integer                  (OPTIONAL)     20        040 
  4328.                                                 16         8
  4329.                 primitive
  4330.  
  4331.                 This  data element contains a 2's complement integer of
  4332.                 variable  length,  high-order  octet  first.    It   is
  4333.                 recommended  that the data element contents be either 2
  4334.                 or 4 octets long whenever possible.
  4335.  
  4336.  
  4337.                  +--------+---//---+---//---+
  4338.                  |P0100000|Lxxxxxxx| Integer|
  4339.                  +--------+---//---+---//---+
  4340.  
  4341.       Message                  (BASIC)        4D        115 
  4342.                                                 16         8
  4343.                 constructor
  4344.  
  4345.                 This data element may contain  Field  or  Message  data
  4346.                 elements.    Its Qualifier component contains a Message
  4347.                 type (MID) indicating the type of the  message.    (See
  4348.                 Section  4.3.6  for  further  discussion.)  (The MID is
  4349.                 completely different from the message identifier in the
  4350.                 Message-ID field and should not be confused with it.)
  4351.  
  4352.  
  4353.                  +--------+---//---+---//---+
  4354.                  |P1001101|Lxxxxxxx|Qxxxxxxx|
  4355.                  +--------+---//---+---//---+
  4356.  
  4357.                  +--------//---------//---------//---------//--------+
  4358.                  | Field, Message, Encrypted, or Compressed Elements |
  4359.                  +--------//---------//---------//---------//--------+
  4360.  
  4361.  
  4362.  
  4363.  
  4364.  
  4365.  
  4366.  
  4367.                                      67
  4368.  
  4369.                                                              Appendix B
  4370.  
  4371.       No-Op                    (OPTIONAL)     00        000 
  4372.                                                 16         8
  4373.                 primitive
  4374.  
  4375.                 This data element does nothing.  No-Op is used whenever
  4376.                 it  is  necessary  to include a data element that means
  4377.                 "no operation."  It is a short placeholder.
  4378.  
  4379.  
  4380.                  +--------+---//---+
  4381.                  |P0000000|Lxxxxxxx|
  4382.                  +--------+---//---+
  4383.  
  4384.       Padding                  (OPTIONAL)     21        041 
  4385.                                                 16         8
  4386.                 primitive
  4387.  
  4388.                 This data element is used to fill any number of octets.
  4389.                 The contents of a Padding  element  are  undefined  and
  4390.                 convey no information.
  4391.  
  4392.  
  4393.                  +--------+---//---+---//---+
  4394.                  |P0100001|Lxxxxxxx|anything|
  4395.                  +--------+---//---+---//---+
  4396.  
  4397.       Property-List            (OPTIONAL)     24        044 
  4398.                                                 16         8
  4399.                 constructor
  4400.  
  4401.                 This  data  element  contains a series of Property data
  4402.                 elements to be associated with another data element.
  4403.  
  4404.  
  4405.                  +--------+---//---+-------//--------+
  4406.                  |P0100100|Lxxxxxxx|Property Elements|
  4407.                  +--------+---//---+-------//--------+
  4408.  
  4409.  
  4410.  
  4411.  
  4412.  
  4413.  
  4414.  
  4415.  
  4416.  
  4417.  
  4418.  
  4419.  
  4420.  
  4421.  
  4422.  
  4423.  
  4424.  
  4425.  
  4426.                                      68
  4427.  
  4428.                                                              Appendix B
  4429.  
  4430.       Property                 (OPTIONAL)     45        105 
  4431.                                                 16         8
  4432.                 constructor
  4433.  
  4434.                 This   data  element  uses  a  Qualifier  data  element
  4435.                 component.      The   Qualifier   component    contains
  4436.                 a  Property-Identifier (PID) to indicate which specific
  4437.                 property  is being represented.  (See Section 4.3.3 for
  4438.                 further discussion.)
  4439.  
  4440.  
  4441.                  +--------+---//---+---//---+---//---+
  4442.                  |P1000101|Lxxxxxxx|Qxxxxxxx|elements|
  4443.                  +--------+---//---+---//---+---//---+
  4444.  
  4445.       Sequence                 (OPTIONAL)     0A        012 
  4446.                                                 16         8
  4447.                 constructor
  4448.  
  4449.                 This data element contains any series of data elements.
  4450.                 Sequence differs from Set in  that  the  data  elements
  4451.                 making  up the Data Element Contents must be considered
  4452.                 as an ordered sequence (according  to  their  order  of
  4453.                 appearance in the sequence.)
  4454.  
  4455.  
  4456.                  +--------+---//---+---//---+
  4457.                  |P0001010|Lxxxxxxx|elements|
  4458.                  +--------+---//---+---//---+
  4459.  
  4460.       Set                      (OPTIONAL)     0B        013 
  4461.                                                 16         8
  4462.                 constructor
  4463.  
  4464.                 This  data element contains any series of data elements
  4465.                 with no ordering of the elements  implied.    (Sequence
  4466.                 provides   an  ordered  series.)    Although  the  data
  4467.                 elements  contained   in   a   Set   must   be   stored
  4468.                 sequentially, the order in which they are stored is not
  4469.                 defined and not processed.
  4470.  
  4471.  
  4472.                  +--------+---//---+---//---+
  4473.                  |P0001011|Lxxxxxxx|elements|
  4474.                  +--------+---//---+---//---+
  4475.  
  4476.  
  4477.  
  4478.  
  4479.  
  4480.  
  4481.  
  4482.  
  4483.  
  4484.  
  4485.                                      69
  4486.  
  4487.                                                              Appendix B
  4488.  
  4489.       Unique-ID                (OPTIONAL)     09        011 
  4490.                                                 16         8
  4491.                 constructor
  4492.  
  4493.                 This  data element is a unique identifier.  It need not
  4494.                 be human-readable.  The Data Element Contents may be an
  4495.                 ASCII-String, a Bit-String, or an Integer.
  4496.  
  4497.  
  4498.                  +--------+---//---+---//---+
  4499.                  |P0001001|Lxxxxxxx| element|
  4500.                  +--------+---//---+---//---+
  4501.  
  4502.       Vendor-Defined           (OPTIONAL)     7F        177 
  4503.                                                 16         8
  4504.                 either
  4505.  
  4506.                 This data element is used to  represent  vendor-defined
  4507.                 data  elements.    A  Qualifier  component  extends the
  4508.                 encoding  space  for  identifiers.      The   Qualifier
  4509.                 component  is  not  guaranteed  to  be unique among all
  4510.                 interconnected  systems.     This   data   element   is
  4511.                 interpreted   according   to  prior  agreement  between
  4512.                 systems.  (Extension and Vendor-Defined  data  elements
  4513.                 have the same syntax.)
  4514.  
  4515.  
  4516.                  +--------+---//---+---//---+---//---+
  4517.                  |P1111111|Lxxxxxxx|Qxxxxxxx|Anything|
  4518.                  +--------+---//---+---//---+---//---+
  4519.  
  4520.  
  4521.  
  4522.  
  4523.  
  4524.  
  4525.  
  4526.  
  4527.  
  4528.  
  4529.  
  4530.  
  4531.  
  4532.  
  4533.  
  4534.  
  4535.  
  4536.  
  4537.  
  4538.  
  4539.  
  4540.  
  4541.  
  4542.  
  4543.  
  4544.                                      70
  4545.  
  4546.                                                              Appendix C
  4547.  
  4548.                                  APPENDIX C
  4549.                        DATA ELEMENT IDENTIFIER OCTETS
  4550.  
  4551.  
  4552.  
  4553.  
  4554.       Identifier  Identifier  Data Element Name
  4555.  
  4556.       00          000         No-Op
  4557.       01          001         End-of-Constructor
  4558.       02          002         ASCII-String
  4559.       08          010         Boolean
  4560.       09          011         Unique-ID
  4561.       0A          012         Sequence
  4562.       0B          013         Set
  4563.       20          040         Integer
  4564.       21          041         Padding
  4565.       24          044         Property-List
  4566.       28          050         Date
  4567.       43          103         Bit-String
  4568.       45          105         Property
  4569.       46          106         Compressed
  4570.       47          107         Encrypted
  4571.       4C          114         Field
  4572.       4D          115         Message
  4573.       7E          176         Extension
  4574.       7F          177         Vendor-Defined
  4575.  
  4576.  
  4577.  
  4578.  
  4579.  
  4580.  
  4581.  
  4582.  
  4583.  
  4584.  
  4585.  
  4586.  
  4587.  
  4588.  
  4589.  
  4590.  
  4591.  
  4592.  
  4593.  
  4594.  
  4595.  
  4596.  
  4597.  
  4598.  
  4599.  
  4600.  
  4601.  
  4602.  
  4603.                                      71
  4604.  
  4605.                                                              Appendix D
  4606.  
  4607.                                  APPENDIX D
  4608.               SUMMARY OF MESSAGE FIELDS BY COMPLIANCE CATEGORY
  4609.  
  4610.  
  4611.  
  4612.  
  4613.            This  appendix  is  for  reference  use.  It contains no new
  4614.       information, but rather abstracts from that presented in  Section
  4615.       3.1.
  4616.  
  4617.            This  appendix  contains  the  message  field names arranged
  4618.       alphabetically within compliance category.   (Appendix  E  orders
  4619.       the  field  names  within  functional  category.)  Complete field
  4620.       definitions appear in Appendix A.
  4621.  
  4622.            Required fields must appear in a message.  Basic fields must
  4623.       be recognized and processed by all CBMS systems.  Optional fields
  4624.       need not be supported by  a  CBMS  but,  if  supported,  must  be
  4625.       processed according to the meanings defined by the message format
  4626.       specification.
  4627.  
  4628.  
  4629.  
  4630.       D.1  REQUIRED Fields
  4631.  
  4632.  
  4633.       From
  4634.       Posted-Date
  4635.       To
  4636.  
  4637.  
  4638.  
  4639.       D.2  BASIC Fields
  4640.  
  4641.  
  4642.       Cc
  4643.       Reply-To
  4644.       Subject
  4645.       Text
  4646.  
  4647.  
  4648.  
  4649.       D.3  OPTIONAL Fields
  4650.  
  4651.  
  4652.       Attachments
  4653.       Author
  4654.       Bcc
  4655.       Circulate-Next
  4656.       Circulate-To
  4657.       Comments
  4658.  
  4659.  
  4660.  
  4661.  
  4662.                                      72
  4663.  
  4664.                                                              Appendix D
  4665.  
  4666.       Date
  4667.       End-Date
  4668.       In-Reply-To
  4669.       Keywords
  4670.       Message-Class
  4671.       Message-ID
  4672.       Obsoletes
  4673.       Originator-Serial-Number
  4674.       Precedence
  4675.       Received-Date
  4676.       Received-From
  4677.       References
  4678.       Reissue-Type
  4679.       Sender
  4680.       Start-Date
  4681.       Warning-Date
  4682.  
  4683.  
  4684.  
  4685.  
  4686.  
  4687.  
  4688.  
  4689.  
  4690.  
  4691.  
  4692.  
  4693.  
  4694.  
  4695.  
  4696.  
  4697.  
  4698.  
  4699.  
  4700.  
  4701.  
  4702.  
  4703.  
  4704.  
  4705.  
  4706.  
  4707.  
  4708.  
  4709.  
  4710.  
  4711.  
  4712.  
  4713.  
  4714.  
  4715.  
  4716.  
  4717.  
  4718.  
  4719.  
  4720.  
  4721.                                      73
  4722.  
  4723.                                                              Appendix E
  4724.  
  4725.                                  APPENDIX E
  4726.                   SUMMARY OF MESSAGE SEMANTICS BY FUNCTION
  4727.  
  4728.  
  4729.  
  4730.  
  4731.            This  appendix  is  for  reference  use.  It contains no new
  4732.       information, but rather abstracts from that presented in  Section
  4733.       3.1.
  4734.  
  4735.            This  appendix  contains  the  message  field names arranged
  4736.       alphabetically within functional class.  (Appendix D  orders  the
  4737.       field names within compliance class.)  Complete field definitions
  4738.       appear in Appendix A.
  4739.  
  4740.  
  4741.  
  4742.       E.1  Circulation
  4743.  
  4744.  
  4745.       Circulate-Next
  4746.       Circulate-To
  4747.  
  4748.  
  4749.  
  4750.       E.2  Cross-Referencing
  4751.  
  4752.  
  4753.       In-Reply-To
  4754.       Message-ID
  4755.       Obsoletes
  4756.       Originator-Serial-Number
  4757.       References
  4758.  
  4759.  
  4760.  
  4761.       E.3  Life Spans
  4762.  
  4763.  
  4764.       End-Date
  4765.       Start-Date
  4766.       Warning-Date
  4767.  
  4768.  
  4769.  
  4770.       E.4  Delivery System
  4771.  
  4772.  
  4773.       Received-Date
  4774.       Received-From
  4775.  
  4776.  
  4777.  
  4778.  
  4779.  
  4780.                                      74
  4781.  
  4782.                                                              Appendix E
  4783.  
  4784.       E.5  Miscellaneous Fields Used Generally
  4785.  
  4786.  
  4787.       Attachments
  4788.       Comments
  4789.       Keywords
  4790.       Message-Class
  4791.       Precedence
  4792.       Subject
  4793.       Text
  4794.  
  4795.  
  4796.  
  4797.       E.6  Reply Generation
  4798.  
  4799.  
  4800.       Reply-To
  4801.  
  4802.  
  4803.  
  4804.       E.7  Reissuing
  4805.  
  4806.  
  4807.       Reissue-Type
  4808.  
  4809.  
  4810.  
  4811.       E.8  Sending (Normal Transmission)
  4812.  
  4813.  
  4814.       Author
  4815.       Bcc
  4816.       Cc
  4817.       Date
  4818.       From
  4819.       Posted-Date
  4820.       Sender
  4821.       To
  4822.  
  4823.  
  4824.  
  4825.  
  4826.  
  4827.  
  4828.  
  4829.  
  4830.  
  4831.  
  4832.  
  4833.  
  4834.  
  4835.  
  4836.  
  4837.  
  4838.  
  4839.                                      75
  4840.  
  4841.                                                              Appendix F
  4842.  
  4843.                                  APPENDIX F
  4844.                        SUMMARY OF DATA ELEMENT SYNTAX
  4845.  
  4846.  
  4847.  
  4848.  
  4849.            This  appendix summarizes data element syntax by diagramming
  4850.       the components of data elements.  Detailed presentation  of  data
  4851.       element syntax appears in Section 4.3.1.
  4852.  
  4853.            In  these  diagrams,  required  components of a data element
  4854.       appear as follows.  (The double border signifies "required.")
  4855.  
  4856.  
  4857.                 +========+        +===//===+
  4858.                 |        |        |        |
  4859.                 +========+        +===//===+
  4860.                 always one        one or more
  4861.                 octet long        octets long
  4862.  
  4863.  
  4864.            Optional components of  data  elements  are  represented  as
  4865.       follows.  (The single border signifies "not required.")
  4866.  
  4867.  
  4868.                 +--------+        +---//---+
  4869.                 |        |        |        |
  4870.                 +--------+        +---//---+
  4871.                 always one        one or more
  4872.                 octet long        octets long
  4873.  
  4874.  
  4875.            The  first  octet in a data element is the identifier octet.
  4876.       In diagrams of data elements, all eight bits  of  the  identifier
  4877.       octet  are  always  shown.  Bits with fixed values show the fixed
  4878.       values as 1s and 0s.  Bits with variable values are shown as  x's
  4879.       and y's.
  4880.  
  4881.            The  first  bit  in  an  identifier octet is the P-bit.  Its
  4882.       value indicates whether a data element contains a property  list.
  4883.       (A  P-bit  value of 1 indicates the presence of a property list.)
  4884.       The remaining seven bits contain the rest of the identifier.
  4885.  
  4886.            Other octets in  a  data  element  belong  to  one  of  four
  4887.       classes:    Length  Code, Qualifier, Property-List, and Contents.
  4888.       In diagrams of syntax the data  element  components  are  labeled
  4889.       according to their class.
  4890.  
  4891.  
  4892.  
  4893.  
  4894.  
  4895.  
  4896.  
  4897.  
  4898.                                      76
  4899.  
  4900.                                                              Appendix F
  4901.  
  4902.            Component Class             Label
  4903.  
  4904.           Length code                  Length
  4905.           Qualifier                    Qual
  4906.           Property-List                P-List
  4907.           Contents                     Contents
  4908.  
  4909.  
  4910.            Data elements must follow this form.
  4911.  
  4912.  
  4913.                 +========+===//===+---//---+---//---+---//---+
  4914.                 |Pxxxxxxx| Length |  Qual  | P-List |contents|
  4915.                 +========+===//===+---//---+---//---+---//---+
  4916.  
  4917.  
  4918.       The  value  of the Length component is the total number of octets
  4919.       following the length code octet in the data element.
  4920.  
  4921.  
  4922.  
  4923.  
  4924.  
  4925.  
  4926.  
  4927.  
  4928.  
  4929.  
  4930.  
  4931.  
  4932.  
  4933.  
  4934.  
  4935.  
  4936.  
  4937.  
  4938.  
  4939.  
  4940.  
  4941.  
  4942.  
  4943.  
  4944.  
  4945.  
  4946.  
  4947.  
  4948.  
  4949.  
  4950.  
  4951.  
  4952.  
  4953.  
  4954.  
  4955.  
  4956.  
  4957.                                      77
  4958.  
  4959.                                                              Appendix G
  4960.  
  4961.                                  APPENDIX G
  4962.                SUMMARY OF DATA ELEMENTS BY COMPLIANCE CATEGORY
  4963.  
  4964.  
  4965.  
  4966.  
  4967.            Compliance  categories  for syntactic elements are basic and
  4968.       optional.  Every CBMS is required to recognize and process  basic
  4969.       elements.    A  CBMS is not required to process optional elements
  4970.       although many are strongly recommended by the semantics.
  4971.  
  4972.            This appendix  summarizes  data  elements  by  listing  them
  4973.       according to their compliance category.
  4974.  
  4975.  
  4976.  
  4977.       G.1  BASIC Data Elements
  4978.  
  4979.  
  4980.       ASCII-String             (primitive)    02        002 
  4981.                                                 16         8
  4982.       Date                     (constructor)  28        050 
  4983.                                                 16         8
  4984.       End-Of-Constructor       (primitive)    01        001 
  4985.                                                 16         8
  4986.       Field                    (constructor)  4C        114 
  4987.                                                 16         8
  4988.       Message                  (constructor)  4D        115 
  4989.                                                 16         8
  4990.  
  4991.  
  4992.       G.2  OPTIONAL Data Elements
  4993.  
  4994.  
  4995.       Bit-String               (primitive)    43        103 
  4996.                                                 16         8
  4997.       Boolean                  (primitive)    08        010 
  4998.                                                 16         8
  4999.       Compressed               (constructor)  46        106 
  5000.                                                 16         8
  5001.       Encrypted                (constructor)  47        107 
  5002.                                                 16         8
  5003.       Extension                (either)       7E        176 
  5004.                                                 16         8
  5005.       Integer                  (primitive)    20        040 
  5006.                                                 16         8
  5007.       No-Op                    (primitive)    00        000 
  5008.                                                 16         8
  5009.       Padding                  (primitive)    21        041 
  5010.                                                 16         8
  5011.  
  5012.  
  5013.  
  5014.  
  5015.  
  5016.                                      78
  5017.  
  5018.                                                              Appendix G
  5019.  
  5020.       Property                 (constructor)  45        105 
  5021.                                                 16         8
  5022.       Property-List            (constructor)  24        044 
  5023.                                                 16         8
  5024.       Sequence                 (constructor)  0A        012 
  5025.                                                 16         8
  5026.       Set                      (constructor)  0B        013 
  5027.                                                 16         8
  5028.       Unique-ID                (constructor)  09        011 
  5029.                                                 16         8
  5030.       Vendor-Defined           (either)       7F        377 
  5031.                                                 16         8
  5032.  
  5033.  
  5034.  
  5035.  
  5036.  
  5037.  
  5038.  
  5039.  
  5040.  
  5041.  
  5042.  
  5043.  
  5044.  
  5045.  
  5046.  
  5047.  
  5048.  
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054.  
  5055.  
  5056.  
  5057.  
  5058.  
  5059.  
  5060.  
  5061.  
  5062.  
  5063.  
  5064.  
  5065.  
  5066.  
  5067.  
  5068.  
  5069.  
  5070.  
  5071.  
  5072.  
  5073.  
  5074.  
  5075.                                      79
  5076.  
  5077.                                                              Appendix H
  5078.  
  5079.                                  APPENDIX H
  5080.                                   EXAMPLES
  5081.  
  5082.  
  5083.  
  5084.  
  5085.            This  appendix presents at least one example for each of the
  5086.       data elements defined in this message format specification.    In
  5087.       these examples, identifier octets are represented in binary form.
  5088.       All  other  numbers  are presented in hexadecimal.  ASCII strings
  5089.       are shown as characters rather  than  their  numerical  represen-
  5090.       tation.    Although  this  message  format specification does not
  5091.       define the syntax of names and addresses, message originators and
  5092.       recipients are identified by their names.  This  does  not  imply
  5093.       anything  about  how naming and addressing can or should be done;
  5094.       it is simply a convenient way to identify message originators and
  5095.       recipients in these examples.
  5096.  
  5097.  
  5098.  
  5099.       H.1  Primitive Data Elements
  5100.  
  5101.  
  5102.            This section contains an example of each  of  the  primitive
  5103.       data  elements.   Each example contains a short explanation and a
  5104.       series of octets.
  5105.  
  5106.            No-Op data element:
  5107.  
  5108.  
  5109.            +--------+--------+
  5110.            |00000000|00000000|
  5111.            +--------+--------+
  5112.  
  5113.  
  5114.  
  5115.  
  5116.  
  5117.            End-of-Constructor data element:
  5118.  
  5119.  
  5120.            +--------+--------+
  5121.            |00000001|00000000|
  5122.            +--------+--------+
  5123.  
  5124.  
  5125.  
  5126.  
  5127.  
  5128.  
  5129.  
  5130.  
  5131.  
  5132.  
  5133.  
  5134.                                      80
  5135.  
  5136.                                                              Appendix H
  5137.  
  5138.            Boolean data element whose value is true:
  5139.  
  5140.  
  5141.            +--------+--------+--------+
  5142.            |00001000|00000001|11111111|
  5143.            +--------+--------+--------+
  5144.  
  5145.  
  5146.  
  5147.  
  5148.  
  5149.            Integer  data  element  containing five octets of data.  Its
  5150.       value is 4,294,967,296 (decimal):
  5151.  
  5152.  
  5153.            +--------+--------+--------+--------+--------+
  5154.            |00100000|  0   5 |  0   1    0   0    0   0
  5155.            +--------+--------+--------+--------+--------+
  5156.  
  5157.                     +--------+--------+
  5158.                        0   0    0   0 |
  5159.                     +--------+--------+
  5160.  
  5161.  
  5162.  
  5163.  
  5164.  
  5165.            Padding data element containing  three  octets  of  padding.
  5166.       The values of those three octets are meaningless:
  5167.  
  5168.  
  5169.            +--------+--------+--------+--------+--------+
  5170.            |00100001|  0   3 |  F   F    F   F    F   F |
  5171.            +--------+--------+--------+--------+--------+
  5172.  
  5173.  
  5174.  
  5175.  
  5176.  
  5177.            ASCII-String  data  element containing nine characters.  Its
  5178.       value is "Hi There.":
  5179.  
  5180.  
  5181.            +--------+--------+---- ----+
  5182.            |00000010|  0   9 |Hi There.|
  5183.            +--------+--------+---- ----+
  5184.  
  5185.  
  5186.  
  5187.  
  5188.  
  5189.  
  5190.  
  5191.  
  5192.  
  5193.                                      81
  5194.  
  5195.                                                              Appendix H
  5196.  
  5197.            Bit-String data element containing 44 bits of data (((7-1) x
  5198.       8)  - 4).  Six octets are used to hold those 44 bits.  The last 4
  5199.       bits in the final octet are padding and are therefore ignored.
  5200.  
  5201.  
  5202.            Bit-String  Length   Spare
  5203.            +--------+--------+--------+--------+--------+
  5204.            |01000011|  0   7 |  0   4 |  0   A    3   B
  5205.            +--------+--------+--------+--------+--------+
  5206.  
  5207.                     +--------+--------+--------+--------+
  5208.                        5   F    2   9    1   C    D   0 |
  5209.                     +--------+--------+--------+--------+
  5210.  
  5211.  
  5212.  
  5213.  
  5214.  
  5215.       H.2  Constructor Data Elements
  5216.  
  5217.  
  5218.            This section contains an example of each of the  constructor
  5219.       data  elements.    Each  example contains a short explanation and
  5220.       then an annotated series of  the  data  elements  making  up  the
  5221.       constructor.
  5222.  
  5223.            Property-List  data  element  containing  one  Property data
  5224.       element.    The  property  is  Printing-Name  and  its  value  is
  5225.       "Distribution":
  5226.  
  5227.  
  5228.            Prop-List  Length  Property  Length    PID
  5229.            +--------+--------+--------+--------+--------+
  5230.            |00100100|  1   1 |01000101|  0   F |  0   2 |
  5231.            +--------+--------+--------+--------+--------+
  5232.  
  5233.                       ASCII    Length
  5234.                     +--------+--------+----    ----+
  5235.                     |00000010|  0   C |Distribution|
  5236.                     +--------+--------+----    ----+
  5237.  
  5238.  
  5239.  
  5240.  
  5241.  
  5242.  
  5243.  
  5244.  
  5245.  
  5246.  
  5247.  
  5248.  
  5249.  
  5250.  
  5251.  
  5252.                                      82
  5253.  
  5254.                                                              Appendix H
  5255.  
  5256.            Printing-Name  Property.   The value of the Printing-Name is
  5257.       "Distribution":
  5258.  
  5259.  
  5260.             Property  Length    PID     ASCII    Length
  5261.            +--------+--------+--------+--------+--------+
  5262.            |01000101|  0   F |  0   2 |00000010|  0   C |
  5263.            +--------+--------+--------+--------+--------+
  5264.  
  5265.                     +----    ----+
  5266.                     |Distribution|
  5267.                     +----    ----+
  5268.  
  5269.  
  5270.  
  5271.  
  5272.  
  5273.            Compressed data element.  Its contents were compressed using
  5274.       an unspecified data compression algorithm.  The  compressed  data
  5275.       is in a bit-string that is 56 bits long, fully filling 7 octets:
  5276.  
  5277.  
  5278.            Compressed  Length   CID   Bit-String  Length
  5279.            +--------+--------+--------+--------+--------+
  5280.            |01000110|  0   B |  0   0 |01000011|  0   8 |
  5281.            +--------+--------+--------+--------+--------+
  5282.  
  5283.                        Spare
  5284.                     +--------+--------+--------+--------+
  5285.                     |  0   0 |  1   C    5   F    2   D
  5286.                     +--------+--------+--------+--------+
  5287.  
  5288.                     +--------+--------+--------+--------+
  5289.                        7   7    B   A    F   6    2   9 |
  5290.                     +--------+--------+--------+--------+
  5291.  
  5292.  
  5293.  
  5294.  
  5295.  
  5296.  
  5297.  
  5298.  
  5299.  
  5300.  
  5301.  
  5302.  
  5303.  
  5304.  
  5305.  
  5306.  
  5307.  
  5308.  
  5309.  
  5310.  
  5311.                                      83
  5312.  
  5313.                                                              Appendix H
  5314.  
  5315.            Encrypted  data  element.    The  encryption  method used to
  5316.       encrypt its contents has been intentionally not specified.   This
  5317.       element contains a Bit-String which contains 22 bits (((4-1) x 8)
  5318.       - 2) of data.  These 22 bits are represented in octets; the final
  5319.       2 bits in the final octet are padding and are therefore ignored:
  5320.  
  5321.  
  5322.            Encrypted   Length   EID   Bit-String  Length
  5323.            +--------+--------+--------+--------+--------+
  5324.            |01000111|  0   7 |  0   0 |01000011|  0   4 |
  5325.            +--------+--------+--------+--------+--------+
  5326.  
  5327.                        Spare
  5328.                     +--------+--------+--------+--------+
  5329.                     |  0   2 |  A   3    7   8    1   C |
  5330.                     +--------+--------+--------+--------+
  5331.  
  5332.  
  5333.  
  5334.  
  5335.  
  5336.            Date  data  element.    This  example includes a date but no
  5337.       time.  The date shown in this example is August 15, 1980:
  5338.  
  5339.  
  5340.              Date     Length   ASCII    Length
  5341.            +--------+--------+--------+--------+---  ---+
  5342.            |00101000|  0   A |00000010|  0   8 |19800815|
  5343.            +--------+--------+--------+--------+---  ---+
  5344.  
  5345.  
  5346.  
  5347.  
  5348.  
  5349.            Unique-ID data element, which is represented as  an  Integer
  5350.       data element whose value is 129 (decimal).
  5351.  
  5352.  
  5353.            Unique-ID  Length   Integer  Length
  5354.            +--------+--------+--------+--------+--------+--------+
  5355.            |00001001|  0   4 |00100000|  0   2 |  0   0    8   1 |
  5356.            +--------+--------+--------+--------+--------+--------+
  5357.  
  5358.  
  5359.  
  5360.  
  5361.  
  5362.  
  5363.  
  5364.  
  5365.  
  5366.  
  5367.  
  5368.  
  5369.  
  5370.                                      84
  5371.  
  5372.                                                              Appendix H
  5373.  
  5374.            Sequence  data element containing two ASCII-String data ele-
  5375.       ments.  The first ASCII-String is  "This  is"  while  the  second
  5376.       string is " a list":
  5377.  
  5378.  
  5379.             Sequence  Length   ASCII    Length
  5380.            +--------+--------+--------+--------+--- ---+
  5381.            |00001010|  1   2 |00000010|  0   7 |This is|
  5382.            +--------+--------+--------+--------+--- ---+
  5383.  
  5384.                       ASCII    Length
  5385.                     +--------+--------+--- ---+
  5386.                     |00000010|  0   7 | a list|
  5387.                     +--------+--------+--- ---+
  5388.  
  5389.  
  5390.  
  5391.  
  5392.  
  5393.            Set  data element containing two Integer data elements.  The
  5394.       first integer has a value of 519 (decimal) while the value of the
  5395.       second is 71 (decimal).   (These  two  values  have  no  ordering
  5396.       because they belong to a set.)
  5397.  
  5398.  
  5399.               Set     Length   Integer  Length
  5400.            +--------+--------+--------+--------+--------+--------+
  5401.            |00001011|  0   8 |00100000|  0   2 |  0   2    0   7 |
  5402.            +--------+--------+--------+--------+--------+--------+
  5403.  
  5404.                       Integer  Length
  5405.                     +--------+--------+--------+--------+
  5406.                     |00100000|  0   2 |  0   0    4   7 |
  5407.                     +--------+--------+--------+--------+
  5408.  
  5409.  
  5410.  
  5411.  
  5412.  
  5413.            Field  data  element.   The specific field shown is the Text
  5414.       field with the contents "I will see you at lunch.":
  5415.  
  5416.  
  5417.              Field    Length    FID      ASCII   Length
  5418.            +--------+--------+--------+--------+--------+
  5419.            |01001100|  1   B |  0   4 |00000010|  1   8 |
  5420.            +--------+--------+--------+--------+--------+
  5421.  
  5422.                     +----                ----+
  5423.                     |I will see you at lunch.|
  5424.                     +----                ----+
  5425.  
  5426.  
  5427.  
  5428.  
  5429.                                      85
  5430.  
  5431.                                                              Appendix H
  5432.  
  5433.            Message containing four fields, Posted-Date, From, Text, and
  5434.       To.  It was sent on July 4, 1980 at 6 p.m. eastern daylight time.
  5435.       It  is  from  a person named Smith.  The text of the message is a
  5436.       question asking  the  recipient  "Are  you  going  to  watch  the
  5437.       fireworks?".  The message is sent to Jones:
  5438.  
  5439.  
  5440.             Message   Length    Type    Field    Length
  5441.            +--------+--------+--------+--------+--------+
  5442.            |01001101|  5   A |  0   1 |01001100|  1   9 |
  5443.            +--------+--------+--------+--------+--------+
  5444.  
  5445.                        FID      Date    Length   ASCII
  5446.                     +--------+--------+--------+--------+
  5447.                     |  0   2 |00101000|  1   6 |00000010|
  5448.                     +--------+--------+--------+--------+
  5449.  
  5450.                       Length
  5451.                     +--------+----            ----+
  5452.                     |  1   4 |19800704-180000-0400|
  5453.                     +--------+----            ----+
  5454.  
  5455.  
  5456.                       Field    Length    FID     ASCII
  5457.                     +--------+--------+--------+--------+
  5458.                     |01001100|  0   8 |  0   1 |00000010|
  5459.                     +--------+--------+--------+--------+
  5460.  
  5461.                       Length
  5462.                     +--------+-- --+
  5463.                     |  0   5 |Smith|
  5464.                     +--------+-- --+
  5465.  
  5466.                        Field   Length    FID     ASCII
  5467.                     +--------+--------+--------+--------+
  5468.                     |01001100|  2   8 |  0   4 |00000010|
  5469.                     +--------+--------+--------+--------+
  5470.  
  5471.                       Length
  5472.                     +--------+
  5473.                     |  2   5 |
  5474.                     +--------+
  5475.  
  5476.                     +----                             ----+
  5477.                     |Are you going to watch the fireworks?|
  5478.                     +----                             ----+
  5479.  
  5480.                       Field    Length    FID     ASCII
  5481.                     +--------+--------+--------+--------+
  5482.                     |01001100|  0   8 |  0   5 |00000010|
  5483.                     +--------+--------+--------+--------+
  5484.  
  5485.  
  5486.  
  5487.  
  5488.                                      86
  5489.  
  5490.                                                              Appendix H
  5491.  
  5492.  
  5493.                       Length
  5494.                     +--------+-- --+
  5495.                     |  0   5 |Jones|
  5496.                     +--------+-- --+
  5497.  
  5498.  
  5499.  
  5500.  
  5501.  
  5502.       H.3  Data Elements that Extend this Specification
  5503.  
  5504.  
  5505.            This  section  contains  examples  of  data elements used to
  5506.       extend this specification.  These data  elements  can  be  either
  5507.       primitives or constructors, depending on the extension.
  5508.            Extension  data  element  containing  a  length  code  and 3
  5509.       octets.  The octet immediately following the  length  code  iden-
  5510.       tifies it as Extension Data Element 7.  The Data Element Contents
  5511.       is  the final two octets.  The interpretation of the Data Element
  5512.       Contents would be defined in an extension or  successor  to  this
  5513.       message  format  specification.    [Note: this is an example. Any
  5514.       actual extension data element 7 (if it were ever used)  would  be
  5515.       completely different from anything done here.]:
  5516.  
  5517.  
  5518.            Extension  Length
  5519.            +--------+--------+--------+--------+--------+
  5520.            |01111110|  0   3 |  0   7 |  4   A    E   9 |
  5521.            +--------+--------+--------+--------+--------+
  5522.  
  5523.  
  5524.  
  5525.  
  5526.  
  5527.            Vendor-Defined  data  element containing a length code and 3
  5528.       octets.  The first octet identifies this as  vendor-defined  data
  5529.       element  number  114  (decimal), which this particular vendor has
  5530.       defined to  contain  three  printable  ASCII  characters  in  two
  5531.       octets.    (Data  element 114 (decimal) for another user would be
  5532.       completely different.  For example, it might contain  a  floating
  5533.       point number.):
  5534.  
  5535.  
  5536.               User    Length
  5537.            +--------+--------+--------+--------+--------+
  5538.            |01111111|  0   3 |  7   2 |   P    O    E   |
  5539.            +--------+--------+--------+--------+--------+
  5540.  
  5541.  
  5542.  
  5543.  
  5544.  
  5545.  
  5546.  
  5547.                                      87
  5548.  
  5549.                                                              Appendix H
  5550.  
  5551.       H.4  Fields
  5552.  
  5553.  
  5554.            This  section  contains  examples of Field data element con-
  5555.       structors for each of several different fields  (Keywords,  Text,
  5556.       Subject, Vendor-Defined).
  5557.            Field  data  element  for keywords .  The field contains two
  5558.       keywords, Message and Computer, each represented  in  a  separate
  5559.       ASCII-string data element.
  5560.  
  5561.  
  5562.               Field   Length  Keywords   ASCII   Length
  5563.            +--------+--------+--------+--------+--------+
  5564.            |01001100|  1   4 |  1   4 |00000010|  0   7 |
  5565.            +--------+--------+--------+--------+--------+
  5566.  
  5567.                     +--- ---+
  5568.                     |Message|
  5569.                     +--- ---+
  5570.  
  5571.                       ASCII    Length
  5572.                     +--------+--------+---  ---+
  5573.                     |00000010|  0   8 |Computer|
  5574.                     +--------+--------+---  ---+
  5575.  
  5576.  
  5577.  
  5578.  
  5579.  
  5580.  
  5581.  
  5582.  
  5583.  
  5584.  
  5585.  
  5586.  
  5587.  
  5588.  
  5589.  
  5590.  
  5591.  
  5592.  
  5593.  
  5594.  
  5595.  
  5596.  
  5597.  
  5598.  
  5599.  
  5600.  
  5601.  
  5602.  
  5603.  
  5604.  
  5605.  
  5606.                                      88
  5607.  
  5608.                                                              Appendix H
  5609.  
  5610.            Field  data  element  for  Text  with  a  Property-List data
  5611.       element containing a comment attached.  The text  field  contains
  5612.       the ASCII-String data element "Do you want lunch?"; the Property-
  5613.       List  data element contains a comment property, which consists of
  5614.       an ASCII-string data element containing "Now?":
  5615.  
  5616.  
  5617.              Field    Length   Text    Prop-List  Length
  5618.            +--------+--------+--------+--------+--------+
  5619.            |11001100|  2   0 |  0   4 |00100100|  0   9 |
  5620.            +--------+--------+--------+--------+--------+
  5621.  
  5622.                      Property  Length    PID     ASCII
  5623.                     +--------+--------+--------+--------+
  5624.                     |01000101|  0   7 |  0   1 |00000010|
  5625.                     +--------+--------+--------+--------+
  5626.  
  5627.                       Length
  5628.                     +--------+-  -+
  5629.                     |  0   4 |Now?|
  5630.                     +--------+-  -+
  5631.  
  5632.                       ASCII    Length
  5633.                     +--------+--------+----          ----+
  5634.                     |00000010|  1   2 |Do you want lunch?|
  5635.                     +--------+--------+----          ----+
  5636.  
  5637.  
  5638.  
  5639.  
  5640.  
  5641.            Field data element for Subject  containing  an  ASCII-String
  5642.       data  element  ("Good  restaurants  in  Detroit"  followed  by  a
  5643.       carriage return and a line feed).  (A recipient would expect  the
  5644.       message  to  contain  some  information  about restaurants in the
  5645.       Detroit area.):
  5646.  
  5647.  
  5648.              Field    Length   Subject   ASCII   Length
  5649.            +--------+--------+--------+--------+--------+
  5650.            |01001100|  2   1 |  0   7 |00000010|  1   E |
  5651.            +--------+--------+--------+--------+--------+
  5652.  
  5653.                     +----                            ----+
  5654.                     |Good restaurants in Detroit.<cr><lf>|
  5655.                     +----                            ----+
  5656.  
  5657.  
  5658.  
  5659.  
  5660.  
  5661.  
  5662.  
  5663.  
  5664.  
  5665.                                      89
  5666.  
  5667.                                                              Appendix H
  5668.  
  5669.            Field  data  element whose form and meaning was defined by a
  5670.       vendor.    This  vendor  has  defined  vendor-defined  field   12
  5671.       (decimal)  to  be  a field with a printing name of "Reply-by" and
  5672.       contents consisting of a date; January  7,  1981  in  this  case.
  5673.       (The  meaning of vendor-defined field 12 is unique to the vendor;
  5674.       the same field number would  have  different  meaning  for  other
  5675.       vendors.):
  5676.  
  5677.  
  5678.              Field    Length  Qualifier   User   number
  5679.            +--------+--------+--------+--------+--------+
  5680.            |11001100|  1   F |  8   2 |  0   0    0   C |
  5681.            +--------+--------+--------+--------+--------+
  5682.  
  5683.                      Prop-List Length  Property  Length
  5684.                     +--------+--------+--------+--------+
  5685.                     |00100100|  0   E |01000101|  0   C |
  5686.                     +--------+--------+--------+--------+
  5687.  
  5688.                         PID    ASCII    Length
  5689.                     +--------+--------+--------+---- ----+
  5690.                     |  0   2 |00000010|  0   9 |Reply-By:|
  5691.                     +--------+--------+--------+---- ----+
  5692.  
  5693.                        Date    Length   ASCII    Length
  5694.                     +--------+--------+--------+--------+
  5695.                     |00101000|  0   A |00000010|  0   8 |
  5696.                     +--------+--------+--------+--------+
  5697.  
  5698.                +---  ---+
  5699.                     |19810107|
  5700.                     +---  ---+
  5701.  
  5702.  
  5703.  
  5704.       H.5  Messages
  5705.  
  5706.  
  5707.            This  section contains several examples of complete messages
  5708.       and shows the results of  reissuing  a  message.    (See  Section
  5709.       3.2.2.)
  5710.  
  5711.  
  5712.  
  5713.  
  5714.  
  5715.  
  5716.  
  5717.  
  5718.  
  5719.  
  5720.  
  5721.  
  5722.  
  5723.  
  5724.                                      90
  5725.  
  5726.                                                              Appendix H
  5727.  
  5728.            The  following  sample message had Stevens as its originator
  5729.       and Johnson as its recipient.  The message was sent on August 14,
  5730.       1980 at 10 a.m. EDT.  The subject  of  the  message  is  "Project
  5731.       Deadline"  and the message is a reminder that the deadline is the
  5732.       next day and that the section of the report for the project being
  5733.       done by Johnson should be turned in to Stevens  by  3  p.m.  that
  5734.       day.
  5735.  
  5736.  
  5737.             Message       Length         Type
  5738.            +--------+--------+--------+--------+
  5739.            |01001101|  8   1 |  B   6 |  0   1 |
  5740.            +--------+--------+--------+--------+
  5741.  
  5742.               Field   Length    FID     ASCII
  5743.            +--------+--------+--------+--------+
  5744.            |01001100|  0   A |  0   5 |00000010|
  5745.            +--------+--------+--------+--------+
  5746.  
  5747.                       Length
  5748.                     +--------+--- ---+
  5749.                     |  0   7 |Johnson|
  5750.                     +--------+--- ---+
  5751.  
  5752.              Field    Length    FID      ASCII
  5753.            +--------+--------+--------+--------+
  5754.            |01001100|  0   A |  0   1 |00000010|
  5755.            +--------+--------+--------+--------+
  5756.  
  5757.                       Length
  5758.                     +--------+--- ---+
  5759.                     |  0   7 |Stevens|
  5760.                     +--------+--- ---+
  5761.  
  5762.              Field    Length    FID     ASCII    Length
  5763.            +--------+--------+--------+--------+--------+
  5764.            |01001100|  1   3 |  0   7 |00000010|  1   0 |
  5765.            +--------+--------+--------+--------+--------+
  5766.  
  5767.                     +----        ----+
  5768.                     |Project Deadline|
  5769.                     +----        ----+
  5770.  
  5771.              Field    Length    FID      Date    Length
  5772.            +--------+--------+--------+--------+--------+
  5773.            |01001100|  1   7 |  0   2 |00101000|  1   4 |
  5774.            +--------+--------+--------+--------+--------+
  5775.  
  5776.  
  5777.  
  5778.  
  5779.  
  5780.  
  5781.  
  5782.  
  5783.                                      91
  5784.  
  5785.                                                              Appendix H
  5786.  
  5787.  
  5788.                       ASCII    Length
  5789.                     +--------+--------+----          ----+
  5790.                     |00000010|  1   2 |19800814-1000-0400|
  5791.                     +--------+--------+----          ----+
  5792.  
  5793.              Field    Length    FID      ASCII   Length
  5794.            +--------+--------+--------+--------+--------+
  5795.            |01001100|  6   D |  0   4 |00000010|  6   A |
  5796.            +--------+--------+--------+--------+--------+
  5797.  
  5798.                     +----
  5799.                     |Don't forget the project report is
  5800.                     +----
  5801.  
  5802.                      due tomorrow.  Please have<CrLf>
  5803.  
  5804.                      your section to me by three this
  5805.  
  5806.                            ----+
  5807.                      afternoon.|
  5808.                            ----+
  5809.  
  5810.  
  5811.  
  5812.  
  5813.  
  5814.            The  following  example illustrates the results of reissuing
  5815.       the first message in this section.   This  message  contains  the
  5816.       original  message  (as  a  Message  data  element), To, From, and
  5817.       Posted-Date fields, and a Reissue-Type field  with  Redistributed
  5818.       as its value:
  5819.  
  5820.  
  5821.             Message       Length         Type
  5822.            +--------+--------+--------+--------+
  5823.            |01001101|  8   1 |  F   C |  0   1 |
  5824.            +--------+--------+--------+--------+
  5825.  
  5826.               Field   Length    FID      ASCII
  5827.            +--------+--------+--------+--------+
  5828.            |01001100|  0   9 |  0   5 |00000010|
  5829.            +--------+--------+--------+--------+
  5830.  
  5831.                       Length
  5832.                     +--------+--  --+
  5833.                     |  0   6 |Cooper|
  5834.                     +--------+--  --+
  5835.  
  5836.  
  5837.  
  5838.  
  5839.  
  5840.  
  5841.  
  5842.                                      92
  5843.  
  5844.                                                              Appendix H
  5845.  
  5846.  
  5847.              Field    Length    FID      ASCII
  5848.            +--------+--------+--------+--------+
  5849.            |01001100|  0   A |  0   1 |00000010|
  5850.            +--------+--------+--------+--------+
  5851.  
  5852.                       Length
  5853.                     +--------+--- ---+
  5854.                     |  0   7 |Johnson|
  5855.                     +--------+--- ---+
  5856.  
  5857.              Field    Length    FID      Date    Length
  5858.            +--------+--------+--------+--------+--------+
  5859.            |01001100|  1   7 |  0   2 |00101000|  1   4 |
  5860.            +--------+--------+--------+--------+--------+
  5861.  
  5862.                        ASCII   Length
  5863.                     +--------+--------+----          ----+
  5864.                     |00000010|  1   2 |19800814-1030-0400|
  5865.                     +--------+--------+----          ----+
  5866.  
  5867.              Field    Length    FID      ASCII   Length
  5868.            +--------+--------+--------+--------+--------+
  5869.            |01001100|  1   0 |  2   5 |00000010|  0   D |
  5870.            +--------+--------+--------+--------+--------+
  5871.  
  5872.                     +----     ----+
  5873.                     |Redistributed|
  5874.                     +----     ----+
  5875.  
  5876.             Message       Length         Type
  5877.            +--------+--------+--------+--------+
  5878.            |01001101|  8   1 |  B   6 |  0   1 |
  5879.            +--------+--------+--------+--------+
  5880.  
  5881.               Field   Length    FID      ASCII
  5882.            +--------+--------+--------+--------+
  5883.            |01001100|  0   A |  0   5 |00000010|
  5884.            +--------+--------+--------+--------+
  5885.  
  5886.                       Length
  5887.                     +--------+--- ---+
  5888.                     |  0   7 |Johnson|
  5889.                     +--------+--- ---+
  5890.  
  5891.              Field    Length    FID      ASCII
  5892.            +--------+--------+--------+--------+
  5893.            |01001100|  0   A |  0   1 |00000010|
  5894.            +--------+--------+--------+--------+
  5895.  
  5896.  
  5897.  
  5898.  
  5899.  
  5900.  
  5901.                                      93
  5902.  
  5903.                                                              Appendix H
  5904.  
  5905.  
  5906.                       Length
  5907.                     +--------+--- ---+
  5908.                     |  0   7 |Stevens|
  5909.                     +--------+--- ---+
  5910.  
  5911.              Field    Length    FID     ASCII    Length
  5912.            +--------+--------+--------+--------+--------+
  5913.            |01001100|  1   3 |  0   7 |00000010|  1   0 |
  5914.            +--------+--------+--------+--------+--------+
  5915.  
  5916.                     +----        ----+
  5917.                     |Project Deadline|
  5918.                     +----        ----+
  5919.  
  5920.              Field    Length    FID      Date    Length
  5921.            +--------+--------+--------+--------+--------+
  5922.            |01001100|  1   7 |  0   2 |00101000|  1   4 |
  5923.            +--------+--------+--------+--------+--------+
  5924.  
  5925.                       ASCII    Length
  5926.                     +--------+--------+----          ----+
  5927.                     |00000010|  1   2 |19800814-1000-0400|
  5928.                     +--------+--------+----          ----+
  5929.  
  5930.              Field    Length    FID      ASCII   Length
  5931.            +--------+--------+--------+--------+--------+
  5932.            |01001100|  6   D |  0   4 |00000010|  6   A |
  5933.            +--------+--------+--------+--------+--------+
  5934.  
  5935.                     +----
  5936.                     |Don't forget the project report is
  5937.                     +----
  5938.  
  5939.                      due tomorrow.  Please have<CrLf>
  5940.  
  5941.                      your section to me by three this
  5942.  
  5943.                            ----+
  5944.                      afternoon.|
  5945.                            ----+
  5946.  
  5947.  
  5948.  
  5949.       H.6  Unknown Lengths
  5950.  
  5951.  
  5952.            This  section contains two examples of data elements with an
  5953.       unknown length.  The two examples have been presented in sections
  5954.       H.2 and H.5, but with a known rather than an unknown length.
  5955.  
  5956.  
  5957.  
  5958.  
  5959.  
  5960.                                      94
  5961.  
  5962.                                                              Appendix H
  5963.  
  5964.            Set  data  element  with  an  unknown  length containing two
  5965.       Integer data elements.  The first integer  has  a  value  of  519
  5966.       (decimal)  while the value of the second is 71 (decimal).  (These
  5967.       two values have no ordering because they belong to a set.)
  5968.  
  5969.  
  5970.               Set     Length   Integer  Length
  5971.            +--------+--------+--------+--------+--------+--------+
  5972.            |00001011|  8   0 |00100000|  0   2 |  0   2    0   7 |
  5973.            +--------+--------+--------+--------+--------+--------+
  5974.  
  5975.                       Integer  Length
  5976.                     +--------+--------+--------+--------+
  5977.                     |00100000|  0   2 |  0   0    4   7 |
  5978.                     +--------+--------+--------+--------+
  5979.  
  5980.                     End-of-Con Length
  5981.                     +--------+--------+
  5982.                     |00000000|00000000|
  5983.                     +--------+--------+
  5984.  
  5985.  
  5986.  
  5987.  
  5988.  
  5989.  
  5990.            The following sample message  with  an  unknown  length  had
  5991.       Stevens  as  its  originator  and  Johnson as its recipient.  The
  5992.       message was sent on August 14, 1980 at 10 a.m. EDT.  The  subject
  5993.       of  the  message  is  "Project  Deadline"  and  the  message is a
  5994.       reminder that the deadline is the next day and that  the  section
  5995.       of  the  report  for  the project being done by Johnson should be
  5996.       turned in to Stevens by 3 p.m. that day.
  5997.  
  5998.  
  5999.             Message   Length    Type
  6000.            +--------+--------+--------+
  6001.            |01001101|  8   0 |  0   1 |
  6002.            +--------+--------+--------+
  6003.  
  6004.               Field   Length    FID     ASCII
  6005.            +--------+--------+--------+--------+
  6006.            |01001100|  0   A |  0   5 |00000010|
  6007.            +--------+--------+--------+--------+
  6008.  
  6009.                       Length
  6010.                     +--------+--- ---+
  6011.                     |  0   7 |Johnson|
  6012.                     +--------+--- ---+
  6013.  
  6014.  
  6015.  
  6016.  
  6017.  
  6018.  
  6019.                                      95
  6020.  
  6021.                                                              Appendix H
  6022.  
  6023.  
  6024.              Field    Length    FID      ASCII
  6025.            +--------+--------+--------+--------+
  6026.            |01001100|  0   A |  0   1 |00000010|
  6027.            +--------+--------+--------+--------+
  6028.  
  6029.                       Length
  6030.                     +--------+--- ---+
  6031.                     |  0   7 |Stevens|
  6032.                     +--------+--- ---+
  6033.  
  6034.              Field    Length    FID     ASCII    Length
  6035.            +--------+--------+--------+--------+--------+
  6036.            |01001100|  1   3 |  0   7 |00000010|  1   0 |
  6037.            +--------+--------+--------+--------+--------+
  6038.  
  6039.                     +----        ----+
  6040.                     |Project Deadline|
  6041.                     +----        ----+
  6042.  
  6043.              Field    Length    FID      Date    Length
  6044.            +--------+--------+--------+--------+--------+
  6045.            |01001100|  1   7 |  0   2 |00101000|  1   4 |
  6046.            +--------+--------+--------+--------+--------+
  6047.  
  6048.                       ASCII    Length
  6049.                     +--------+--------+----          ----+
  6050.                     |00000010|  1   2 |19800814-1000-0400|
  6051.                     +--------+--------+----          ----+
  6052.  
  6053.              Field    Length    FID      ASCII   Length
  6054.            +--------+--------+--------+--------+--------+
  6055.            |01001100|  6   D |  0   4 |00000010|  6   A |
  6056.            +--------+--------+--------+--------+--------+
  6057.  
  6058.                     +----
  6059.                     |Don't forget the project report is
  6060.                     +----
  6061.  
  6062.                      due tomorrow.  Please have<CrLf>
  6063.  
  6064.                      your section to me by three this
  6065.  
  6066.                            ----+
  6067.                      afternoon.|
  6068.                            ----+
  6069.  
  6070.                     End-of-Con Length
  6071.                     +--------+--------+
  6072.                     |00000000|00000000|
  6073.                     +--------+--------+
  6074.  
  6075.  
  6076.  
  6077.  
  6078.                                      96
  6079.  
  6080.                                                              Appendix H
  6081.  
  6082.  
  6083.  
  6084.  
  6085.  
  6086.  
  6087.  
  6088.       H.7  Message Encoding Using Vendor-Defined Fields
  6089.  
  6090.  
  6091.            This  example is provided to illustrate the encoding of non-
  6092.       FIPS format messages in the FIPS format.  It is the intent of the
  6093.       standard to deal with computer based message  systems  which  are
  6094.       primarily  intended for person-to-person use.  This example deals
  6095.       with the definition and use of vendor-defined  fields  to  extend
  6096.       the  use  of  the  standard to station-to-station messaging.  The
  6097.       context is a military message using the military standard  JANAP-
  6098.       128 format.
  6099.  
  6100.  
  6101.       H.7.1  Example of a JANAP-128 Message
  6102.  
  6103.  
  6104.           JANAP-128
  6105.           RTTUZYUW RUABCDE0010 0330930-UUUU--RUXABYE.
  6106.           ZNR UUUUU
  6107.           R 020830Z FEB 82
  6108.           FM Commander,Atlantic Fleet
  6109.           TO USS SHIPA
  6110.           BT
  6111.           UNCLAS
  6112.  
  6113.            MESSAGE        BODY
  6114.  
  6115.           BT
  6116.           #0010
  6117.           NNNN
  6118.  
  6119.  
  6120.       H.7.2  Encoding of Example using the FIPS Message Format
  6121.  
  6122.  
  6123.             Message   Length             Type
  6124.            +--------+--------+--------+--------+
  6125.            |01001101|  8   1 |  D   0 |  0   1 |
  6126.            +--------+--------+--------+--------+
  6127.  
  6128.                       Field    Length    FID
  6129.                     +--------+--------+--------+
  6130.                     |01001100|  0   4 |  1   8 |
  6131.                     +--------+--------+--------+
  6132.  
  6133.  
  6134.  
  6135.  
  6136.  
  6137.                                      97
  6138.  
  6139.                                                              Appendix H
  6140.  
  6141.  
  6142.                                ASCII    Length
  6143.                              +--------+--------+--------+
  6144.                              |00000010|  0   1 |    R   |
  6145.                              +--------+--------+--------+
  6146.  
  6147.                       Field    Length    FID
  6148.                     +--------+--------+--------+--------+--------+
  6149.                     |01001100|  0   7 |  8   2 |  0   0 |  0   1 |
  6150.                     +--------+--------+--------+--------+--------+
  6151.  
  6152.                                ASCII    Length
  6153.                              +--------+--------+--------+--------+
  6154.                              |00000010|  0   2 |    T   |    T   |
  6155.                              +--------+--------+--------+--------+
  6156.  
  6157.                       Field    Length    FID
  6158.                     +--------+--------+--------+--------+--------+
  6159.                     |01001100|  0   6 |  8   2 |  0   0 |  0   2 |
  6160.                     +--------+--------+--------+--------+--------+
  6161.  
  6162.                                ASCII    Length
  6163.                              +--------+--------+--------+
  6164.                              |00000010|  0   1 |    U   |
  6165.                              +--------+--------+--------+
  6166.  
  6167.                       Field    Length    FID
  6168.                     +--------+--------+--------+--------+--------+
  6169.                     |01001100|  0   9 |  8   2 |  0   0 |  0   3 |
  6170.                     +--------+--------+--------+--------+--------+
  6171.  
  6172.                                ASCII    Length
  6173.                              +--------+--------+----  ----+
  6174.                              |00000010|  0   4 |   ZYUW   |
  6175.                              +--------+--------+----  ----+
  6176.  
  6177.                       Field    Length    FID
  6178.                     +--------+--------+--------+
  6179.                     |01001100|  0   A |  2   2 |
  6180.                     +--------+--------+--------+
  6181.  
  6182.                                ASCII    Length
  6183.                              +--------+--------+----   ----+
  6184.                              |00000010|  0   7 |  RUABCDE  |
  6185.                              +--------+--------+----   ----+
  6186.  
  6187.                       Field    Length    FID
  6188.                     +--------+--------+--------+
  6189.                     |01001100|  0   7 |  1   7 |
  6190.                     +--------+--------+--------+
  6191.  
  6192.  
  6193.  
  6194.  
  6195.  
  6196.                                      98
  6197.  
  6198.                                                              Appendix H
  6199.  
  6200.  
  6201.                                ASCII    Length
  6202.                              +--------+--------+----  ----+
  6203.                              |00000010|  0   4 |   0010   |
  6204.                              +--------+--------+----  ----+
  6205.  
  6206.                       Field    Length    FID      Date    Length
  6207.                     +--------+--------+--------+--------+--------+
  6208.                     |01001100|  1   8 |  0   2 |00101000|  1   5 |
  6209.                     +--------+--------+--------+--------+--------+
  6210.  
  6211.                                ASCII    Length
  6212.                              +--------+--------+----           ----+
  6213.                              |00000010|  1   3 |19820202093000-0000|
  6214.                              +--------+--------+----           ----+
  6215.  
  6216.                       Field    Length    FID
  6217.                     +--------+--------+--------+--------+--------+
  6218.                     |01001100|  0   9 |  8   2 |  0   0 |  0   2 |
  6219.                     +--------+--------+--------+--------+--------+
  6220.  
  6221.                                ASCII    Length
  6222.                              +--------+--------+----  ----+
  6223.                              |00000010|  0   4 |   UUUU   |
  6224.                              +--------+--------+----  ----+
  6225.  
  6226.                       Field    Length    FID
  6227.                     +--------+--------+--------+--------+--------+
  6228.                     |01001100|  0   C |  8   2 |  0   0 |  0   4 |
  6229.                     +--------+--------+--------+--------+--------+
  6230.  
  6231.                                ASCII    Length
  6232.                              +--------+--------+----  ----+
  6233.                              |00000010|  0   7 |  RUXABYE |
  6234.                              +--------+--------+----  ----+
  6235.  
  6236.                       Field    Length    FID
  6237.                     +--------+--------+--------+--------+--------+
  6238.                     |01001100|  0   A |  8   2 |  0   0 |  0   2 |
  6239.                     +--------+--------+--------+--------+--------+
  6240.  
  6241.                                ASCII    Length
  6242.                              +--------+--------+----   ----+
  6243.                              |00000010|  0   5 |   UUUUU   |
  6244.                              +--------+--------+----   ----+
  6245.  
  6246.                       Field    Length    FID
  6247.                     +--------+--------+--------+
  6248.                     |01001100|  0   4 |  1   8 |
  6249.                     +--------+--------+--------+
  6250.  
  6251.  
  6252.  
  6253.  
  6254.  
  6255.                                      99
  6256.  
  6257.                                                              Appendix H
  6258.  
  6259.  
  6260.                                ASCII    Length
  6261.                              +--------+--------+--------+
  6262.                              |00000010|  0   1 |    R   |
  6263.                              +--------+--------+--------+
  6264.  
  6265.                       Field    Length    FID      Date    Length
  6266.                     +--------+--------+--------+--------+--------+
  6267.                     |01001100|  1   4 |  1   1 |00101000|  1   1 |
  6268.                     +--------+--------+--------+--------+--------+
  6269.  
  6270.                                ASCII    Length
  6271.                              +--------+--------+----       ----+
  6272.                              |00000010|  0   F |8202020830-0000|
  6273.                              +--------+--------+----       ----+
  6274.  
  6275.                       Field    Length    FID
  6276.                     +--------+--------+--------+
  6277.                     |01001100|  1   B |  0   1 |
  6278.                     +--------+--------+--------+
  6279.  
  6280.                                ASCII    Length
  6281.                              +--------+--------+
  6282.                              |00000010|  1   8 |
  6283.                              +--------+--------+
  6284.  
  6285.                                       +----                ----+
  6286.                                       |Commander,Atlantic Fleet|
  6287.                                       +----                ----+
  6288.  
  6289.                       Field    Length    FID
  6290.                     +--------+--------+--------+
  6291.                     |01001100|  0   C |  0   5 |
  6292.                     +--------+--------+--------+
  6293.  
  6294.                                ASCII    Length
  6295.                              +--------+--------+----   ----+
  6296.                              |00000010|  0   9 | USS SHIPA |
  6297.                              +--------+--------+----   ----+
  6298.  
  6299.                       Field    Length    FID
  6300.                     +--------+--------+--------+
  6301.                     |01001100|  0   7 |  0   4 |
  6302.                     +--------+--------+--------+
  6303.  
  6304.                                ASCII    Length
  6305.                              +--------+--------+----  ----+
  6306.                              |00000010|  0   4 |   BODY   |
  6307.                              +--------+--------+----  ----+
  6308.  
  6309.  
  6310.  
  6311.  
  6312.  
  6313.  
  6314.                                      100
  6315.  
  6316.                                                              Appendix H
  6317.  
  6318.  
  6319.                       Field    Length    FID
  6320.                     +--------+--------+--------+
  6321.                     |01001100|  0   7 |  1   7 |
  6322.                     +--------+--------+--------+
  6323.  
  6324.                                ASCII    Length
  6325.                              +--------+--------+----  ----+
  6326.                              |00000010|  0   4 |   0010   |
  6327.                              +--------+--------+----  ----+
  6328.  
  6329.  
  6330.       H.7.3  Field Mappings of JANAP-128 to FIPS Format
  6331.  
  6332.  
  6333.           JANAP-128 Field              FIPS Format Field
  6334.  
  6335.           Precedence                   Precedence (Appendix A)
  6336.           Language Media Format        Vendor-Defined
  6337.           Security                     Vendor-Defined
  6338.           Content Indicator Code       Vendor-Defined
  6339.           Origination Station          Sender (Appendix A)
  6340.             Routing Indication
  6341.           Station Serial Number        Originator-Serial-Number
  6342.                                          (Appendix A)
  6343.           Time of File                 Posted-Date (Appendix A)
  6344.           Security                     Vendor-Defined
  6345.           Destination Station          Vendor-Defined
  6346.             Routing Indicator
  6347.           Security                     Vendor-Defined
  6348.           Precedence                   Precedence (Appendix A)
  6349.           Date/Time Group              Date (Appendix A)
  6350.           FM                           From (Appendix A)
  6351.           TO                           To (Appendix A)
  6352.           Body of Message              Text (Appendix A)
  6353.           Station Serial Number        Originator-Serial-Number
  6354.                                          (Appendix A)
  6355.  
  6356.  
  6357.       H.7.4  Vendor-Defined Fields
  6358.  
  6359.  
  6360.  
  6361.  
  6362.  
  6363.  
  6364.  
  6365.  
  6366.  
  6367.  
  6368.  
  6369.  
  6370.  
  6371.  
  6372.  
  6373.                                      101
  6374.  
  6375.  
  6376.  
  6377.       -----------------------------------------------------------------
  6378.  
  6379.  
  6380.            Field Name                                Identifier Value  
  6381.                                                                      8
  6382.  
  6383.                                  Description
  6384.  
  6385.  
  6386.       -----------------------------------------------------------------
  6387.  
  6388.  
  6389.            Language Media Format                                    01 
  6390.                                                                       8
  6391.            This   field   contains  two  ASCII  characters;  the  first
  6392.       indicates the input media and the second the output media.
  6393.  
  6394.            Security                                                 02 
  6395.                                                                       8
  6396.            This  field  contains  a  variable  length  ASCII  character
  6397.       indicator of the security classification of the messages.
  6398.  
  6399.            Content Indicator Code                                   03 
  6400.                                                                       8
  6401.            This  field  contains  four  ASCII  characters  and provides
  6402.       information describing the message content and  message  handling
  6403.       actions to be performed.
  6404.  
  6405.            Destination Station Routing Indicator                    04 
  6406.                                                                       8
  6407.            This field contains four ASCII characters indicating the CPU
  6408.       and terminal device to which the message should be sent.
  6409.  
  6410.  
  6411.  
  6412.  
  6413.  
  6414.  
  6415.  
  6416.  
  6417.  
  6418.  
  6419.  
  6420.  
  6421.  
  6422.  
  6423.  
  6424.  
  6425.  
  6426.  
  6427.  
  6428.  
  6429.  
  6430.  
  6431.  
  6432.                                      102
  6433.  
  6434.  
  6435.  
  6436.                                  REFERENCES
  6437.  
  6438.  
  6439.  
  6440.  
  6441.       [BlaR-80]
  6442.            R. P. Blanc and J. F. Heafner. The NBS Program in Computer
  6443.            Network Protocol Standards. In Proceedings, ICCC 80.  1980.
  6444.  
  6445.       [CCIT-82]
  6446.            CCITT Study Group VII/5. Draft recommendation X.MHS1:
  6447.            Message Handling Systems: System Model - Service Elements
  6448.            (Version 2). Technical Report, International Telegraph and
  6449.            Telephone Consultative Committee (CCITT), December, 1982.
  6450.  
  6451.       [CroD-77]
  6452.            David H. Crocker, John J. Vittal, Kenneth T. Pogran,
  6453.            D. Austin Henderson, Jr. Standard for the Format of ARPA
  6454.            Network Text Messages. RFC 733, The Rand Corporation, Bolt
  6455.            Beranek and Newman Inc, Massachussets Institute of
  6456.            Technology, Bolt Beranek and Newman Inc., November, 1977.
  6457.  
  6458.       [FeiE-79]
  6459.            E. Feinler, J. Pickens, and A. Sjoberg. Computer Message
  6460.            Services Bibliography. Technical Report NIC-BIBLIO-791201,
  6461.            SRI International, December, 1979.
  6462.  
  6463.       [ISOD-79]
  6464.            ISO/TC97/SC6 Data Communications. Second Draft Proposed
  6465.            Communication Heading Format Standard. ISO/TC97/SC6 N 1948,
  6466.            ISO International Organization for Standardization
  6467.            Organization Internationale de Normalisation, September,
  6468.            1979. Secretariat: USA (ANSI).
  6469.  
  6470.       [ISOD-82]
  6471.            ISO/TC97/SC16. Information Processing Systems - Open Systems
  6472.            Interconnection - Basic Reference Model. ISO/DIS 7498, ISO
  6473.            International Organization for Standardization Organization
  6474.            Internationale de Normalisation, December, 1982.
  6475.  
  6476.       [NatB-68]
  6477.            National Bureau of Standards. Calendar Date. Federal
  6478.            Information Processing Standards Publication 4, U.S.
  6479.            Department of Commerce / National Bureau of Standards,
  6480.            November, 1968.
  6481.  
  6482.       [NatB-75]
  6483.            National Bureau of Standards. Code Extension Techniques in 7
  6484.            or 8 Bits. Federal Information Processing Standards
  6485.            Publication 35, U.S. Department of Commerce / National
  6486.            Bureau of Standards, June, 1975.
  6487.  
  6488.  
  6489.  
  6490.  
  6491.                                      103
  6492.  
  6493.  
  6494.  
  6495.       [NatB-77]
  6496.            National Bureau of Standards. Data Encryption Standard.
  6497.            Federal Information Processing Standards Publication 46,
  6498.            U.S. Department of Commerce / National Bureau of Standards,
  6499.            January, 1977.
  6500.  
  6501.       [NatB-79a]
  6502.            National Bureau of Standards. Representations of Local Time
  6503.            of the Day for Information Interchange. Federal Information
  6504.            Processing Standards Publication 58, U.S. Department of
  6505.            Commerce / National Bureau of Standards, February, 1979.
  6506.  
  6507.       [NatB-79b]
  6508.            National Bureau of Standards. Representations of Universal
  6509.            Time, Local Time Differentials, and United States Time Zone
  6510.            References for Information Interchange. Federal Information
  6511.            Processing Standards Publication 59, U.S. Department of
  6512.            Commerce / National Bureau of Standards, February, 1979.
  6513.  
  6514.       [NatB-80]
  6515.            National Bureau of Standards. Code for Information
  6516.            Interchange. Federal Information Processing Standards
  6517.            Publication 1-1, U.S. Department of Commerce / National
  6518.            Bureau of Standards, December, 1980.
  6519.  
  6520.       [PosJ-79]
  6521.            Jonathan B. Postel. INTERNET MESSAGE PROTOCOL. RFC 753,
  6522.            Information Sciences Institute, March, 1979.
  6523.  
  6524.       [TasG-80]
  6525.            Task Group X3S33 on Data Communications Formats, ANSI
  6526.            Subcommittee X3S3 on Data Communications. Third Draft
  6527.            Proposed American National Standard for Heading Format
  6528.            Structure for Code Independent Communication Headings. ANSI
  6529.            document X3S37/80-01, Computer and Business Equipment
  6530.            Manufacturers Association, 1980.
  6531.  
  6532.  
  6533.  
  6534.  
  6535.  
  6536.  
  6537.  
  6538.  
  6539.  
  6540.  
  6541.  
  6542.  
  6543.  
  6544.  
  6545.  
  6546.  
  6547.  
  6548.  
  6549.  
  6550.                                      104
  6551.  
  6552.  
  6553.  
  6554.                                     INDEX
  6555.  
  6556.  
  6557.  
  6558.  
  6559.  
  6560.                 ASCII-String   35, 36, 47, 50, 52, 54, 58, 59, 60, 61,
  6561.                         63, 65, 69
  6562.                 Assignment   22, 28, 61
  6563.                 Attachments   23, 57
  6564.                 Author   19, 57
  6565.  
  6566.                 BASIC   18
  6567.                 BASIC Data Elements
  6568.                    ASCII-String   47, 63
  6569.                    Date   50, 65
  6570.                    End-of-Constructor   48, 66
  6571.                    Field   50, 66
  6572.                    Message   51, 67
  6573.                 BASIC fields
  6574.                    Cc   20
  6575.                    Reply-To   19
  6576.                    Subject   23
  6577.                    Text   23
  6578.                 BASIC syntactic elements   35
  6579.                 Bcc   19, 25, 57
  6580.                 Bit numbering in octets   37
  6581.                 Bit-String   36, 42, 47, 49, 50, 52, 64, 65, 69
  6582.                 Boolean   36, 48, 64
  6583.  
  6584.                 Cc   20, 58
  6585.                 Chains of correspondence   29
  6586.                 Circulate-Next   20, 31, 58
  6587.                 Circulate-To   20, 31, 58
  6588.                 Circulation   31
  6589.                 Comment   36, 37, 44, 54
  6590.                 Comments   23, 58
  6591.                 Compliance requirements   41
  6592.                 Compressed   37, 43, 49, 54, 65
  6593.                 Compression identifier   49, 65
  6594.                 Compression Identifiers
  6595.                    Unspecified   54
  6596.                 Constructor data element   35, 36
  6597.                 Contents   38, 76
  6598.                 Cross Referencing   29
  6599.  
  6600.                 Data Element Contents   43, 44, 87, 42, 44, 52, 69, 42,
  6601.                         44, 46, 47, 51, 64, 69, 87
  6602.                 Data Elements
  6603.                    ASCII-String (BASIC)   47, 63
  6604.                    Bit-String (OPTIONAL)   47, 64
  6605.  
  6606.  
  6607.  
  6608.  
  6609.                                      105
  6610.  
  6611.  
  6612.  
  6613.                    Boolean (OPTIONAL)   48, 64
  6614.                    Compressed (OPTIONAL)   49, 65
  6615.                    Date (BASIC)   50, 65
  6616.                    Encrypted (OPTIONAL)   50, 65
  6617.                    End-of-Constructor (BASIC)   48, 66
  6618.                    Extension (OPTIONAL)   52, 66
  6619.                    Field (BASIC)   50, 66
  6620.                    Integer (OPTIONAL)   48, 67
  6621.                    Message (BASIC)   51, 67
  6622.                    No-Op (OPTIONAL)   49, 67
  6623.                    Padding (OPTIONAL)   49, 68
  6624.                    Property (OPTIONAL)   51, 68
  6625.                    Property-List (OPTIONAL)   51, 68
  6626.                    Sequence (OPTIONAL)   51, 69
  6627.                    Set (OPTIONAL)   52, 69
  6628.                    Unique-ID (OPTIONAL)   52, 69
  6629.                    Vendor-Defined (OPTIONAL)   53, 70
  6630.                 Date   20, 50, 58, 60, 61, 62, 65
  6631.                 Dating   30
  6632.                 Delivery   13, 20, 60
  6633.                 Delivery Protocol   13
  6634.                 Delivery Slot   13
  6635.  
  6636.                 Encapsulating   26
  6637.                 Encrypted   37, 43, 50, 54, 65
  6638.                 Encryption identifier   50, 65
  6639.                 Encryption Identifiers
  6640.                    FIPS-Standard   54
  6641.                    Unspecified   54
  6642.                 End-Date   20, 21, 30, 58, 62
  6643.                 End-Of-Constructor   36, 42, 44, 48, 66
  6644.                 Extension   35, 46, 52, 66
  6645.  
  6646.                 Field   14, 31, 35, 36, 37, 43, 50, 51, 66, 67, 72
  6647.                 Field Identifier   50, 66
  6648.                 Field label presentation   35
  6649.                 Fields
  6650.                    Attachments (OPTIONAL)   57, 23
  6651.                    Author (OPTIONAL)   57, 19
  6652.                    Bcc (OPTIONAL)   57, 19
  6653.                    Cc (BASIC)   58, 20
  6654.                    Circulate-Next (OPTIONAL)   58, 20
  6655.                    Circulate-To (OPTIONAL)   58, 20
  6656.                    Comments (OPTIONAL)   58, 23
  6657.                    Date (OPTIONAL)   58, 20
  6658.                    End-Date (OPTIONAL)   58, 20
  6659.                    From (REQUIRED)   59, 19
  6660.                    In-Reply-To (OPTIONAL)   59, 21
  6661.                    Keywords (OPTIONAL)   59, 23
  6662.                    Message-Class (OPTIONAL)   59, 22
  6663.                    Message-ID (OPTIONAL)   59, 21
  6664.  
  6665.  
  6666.  
  6667.  
  6668.                                      106
  6669.  
  6670.  
  6671.  
  6672.                    Obsoletes (OPTIONAL)   59, 21
  6673.                    Originator-Serial-Number (OPTIONAL)   59, 21
  6674.                    Posted-Date (REQUIRED)   60, 20
  6675.                    Precedence (OPTIONAL)   60, 22
  6676.                    Received-Date (OPTIONAL)   60, 20
  6677.                    Received-From (OPTIONAL)   60, 22
  6678.                    References (OPTIONAL)   60, 22
  6679.                    Reissue-Type (OPTIONAL)   61, 22
  6680.                    Reply-To (BASIC)   61, 19
  6681.                    Sender (OPTIONAL)   61, 19
  6682.                    Start-Date (OPTIONAL)   61, 21
  6683.                    Subject (BASIC)   61, 23
  6684.                    Text (BASIC)   61, 23
  6685.                    To (REQUIRED)   61, 19
  6686.                    Warning-Date (OPTIONAL)   62, 21
  6687.                 FIPS-Standard   54, 55
  6688.                 From   17, 19, 29, 57, 59, 61
  6689.  
  6690.                 Globally unique identifiers   29
  6691.  
  6692.                 Identifier octet   38, 41, 37, 38, 42, 44, 76
  6693.                 Identifiers
  6694.                    globally unique   29
  6695.                 In-Reply-To   21, 29, 59
  6696.                 Indefinite length code   41
  6697.                 Integer   36, 48, 52, 67, 69
  6698.  
  6699.                 Keywords   23, 59, 88
  6700.  
  6701.                 Length Code   40, 41, 42, 38, 39, 40, 41, 42, 44, 46,
  6702.                         76, 77, 87
  6703.                 Long length code   41
  6704.  
  6705.                 Message Transfer System   13, 22, 60
  6706.                 Message   14, 17, 35, 36, 37, 43, 51, 67
  6707.                 Message content   13
  6708.                 Message envelope   13
  6709.                 Message stores   30
  6710.                 Message Transfer System   13, 22, 60, 12, 13, 14, 17,
  6711.                         20, 22, 60
  6712.                 Message Types
  6713.                    FIPS-Standard   55
  6714.                 Message-Class   22, 59
  6715.                 Message-ID   21, 22, 29, 31, 59, 60
  6716.  
  6717.                 No-Op   49, 67
  6718.                 Numbering bits in octets   37
  6719.  
  6720.                 Obsoletes   21, 29, 59
  6721.                 Octets
  6722.                    bit numbering in   37
  6723.  
  6724.  
  6725.  
  6726.  
  6727.                                      107
  6728.  
  6729.  
  6730.  
  6731.                 OPTIONAL   18
  6732.                 OPTIONAL Data Elements
  6733.                    Bit-String   47, 64
  6734.                    Boolean   48, 64
  6735.                    Compressed   49, 65
  6736.                    Encrypted   50, 65
  6737.                    Extension   52, 66
  6738.                    Integer   48, 67
  6739.                    No-Op   49, 67
  6740.                    Padding   49, 68
  6741.                    Property   51, 68
  6742.                    Property-List   51, 68
  6743.                    Sequence   51, 69
  6744.                    Set   52, 69
  6745.                    Unique-ID   52, 69
  6746.                    Vendor-Defined   53, 70
  6747.                 OPTIONAL fields
  6748.                    Attachments   23
  6749.                    Author   19
  6750.                    Bcc   19
  6751.                    Circulate-Next   20
  6752.                    Circulate-To   20
  6753.                    Comments   23
  6754.                    Date   20
  6755.                    End-Date   20
  6756.                    In-Reply-To   21
  6757.                    Keywords   23
  6758.                    Message-Class   22
  6759.                    Message-ID   21
  6760.                    Obsoletes   21
  6761.                    Originator-Serial-Number   21
  6762.                    Precedence   22
  6763.                    Received-Date   20
  6764.                    Received-From   22
  6765.                    References   22
  6766.                    Reissue-Type   22
  6767.                    Sender   19
  6768.                    Start-Date   21
  6769.                    Warning-Date   21
  6770.                 OPTIONAL syntactic elements   35
  6771.                 Originator   15, 18, 20, 30, 57, 58, 59, 61
  6772.                 Originator-Serial-Number   21, 30, 59
  6773.  
  6774.                 Padding   49, 68
  6775.                 Person   18
  6776.                 Posted-Date   17, 20, 31, 58, 60
  6777.                 Posting   13
  6778.                 Posting Protocol   13
  6779.                 Posting Slot   13
  6780.                 Precedence   22, 60
  6781.                 Precedence categories   22
  6782.  
  6783.  
  6784.  
  6785.  
  6786.                                      108
  6787.  
  6788.  
  6789.  
  6790.                 Precedence scheme   60
  6791.                 Presentation
  6792.                    field label   35
  6793.                 Primitive data element   36, 35, 36
  6794.                 Printing-Name   36, 37, 44, 54, 82
  6795.                 Process   18
  6796.                 Properties
  6797.                    Comment   54
  6798.                    Printing-Name   54
  6799.                 Property   38, 43, 51, 68
  6800.                 Property-Identifier   51, 68
  6801.                 Property-List   36, 38, 44, 46, 51, 68, 76
  6802.  
  6803.                 Qualifier   38, 39, 40, 41, 42, 43, 44, 46, 47, 49, 50,
  6804.                         51, 52, 53, 64, 65, 66, 68, 70, 76
  6805.                 Qualifiers   43
  6806.  
  6807.                 Received-Date   20, 60
  6808.                 Received-From   22, 60
  6809.                 Recipient   15, 19, 20, 22, 57, 58, 60, 61
  6810.                 Redistribution   22, 26, 61
  6811.                 References   22, 29, 60
  6812.                 Reissue-Type   22, 61
  6813.                 Reply   18, 28
  6814.                 Reply-to   19, 28, 59, 61
  6815.                 REQUIRED   18
  6816.                 REQUIRED fields
  6817.                    From   19
  6818.                    Posted-Date   20
  6819.                    To   19
  6820.                 Requirements
  6821.                    compliance   41
  6822.                 Role   18
  6823.  
  6824.                 Sender   19, 31, 61
  6825.                 Sequence   35, 36, 51, 69
  6826.                 Sequences   36
  6827.                 Serial Numbers   21, 30, 59
  6828.                 Set   36, 51, 52, 69
  6829.                 Short length code   41
  6830.                 Slot   13
  6831.                 Start-Date   21, 30, 61
  6832.                 Subject   23, 61
  6833.                 Syntactic reissuing   26
  6834.  
  6835.                 Text   23, 32, 61
  6836.                 To   17, 19, 31, 37, 61
  6837.  
  6838.                 Unique identifiers   29
  6839.                 Unique-ID   52, 59, 60, 69
  6840.                 Unspecified   54
  6841.  
  6842.  
  6843.  
  6844.  
  6845.                                      109
  6846.  
  6847.  
  6848.  
  6849.  
  6850.                 User Agent   12, 13, 14
  6851.                 User interface   35
  6852.  
  6853.                 Vendor-Defined   35, 46, 53, 70
  6854.  
  6855.                 Warning-Date   21, 30, 62
  6856.  
  6857.  
  6858.  
  6859.  
  6860.  
  6861.  
  6862.  
  6863.  
  6864.  
  6865.  
  6866.  
  6867.  
  6868.  
  6869.  
  6870.  
  6871.  
  6872.  
  6873.  
  6874.  
  6875.  
  6876.  
  6877.  
  6878.  
  6879.  
  6880.  
  6881.  
  6882.  
  6883.  
  6884.  
  6885.  
  6886.  
  6887.  
  6888.  
  6889.  
  6890.  
  6891.  
  6892.  
  6893.  
  6894.  
  6895.  
  6896.  
  6897.  
  6898.  
  6899.  
  6900.  
  6901.  
  6902.  
  6903.                                      110
  6904.