NETWORK WORKING GROUP                      Richard W. Watson
Request for Comments #196                  SRI-ARC
NIC 7141                                   July 20, 1971
Categories: A.5, D.7
Obsoletes: none
Updates: none

                      A MAIL BOX PROTOCOL

The purpose of this protocol is to provide at each site a
standard mechanism to receive sequential files for immediate or
deferred printing or other uses.  The files for deferred printing
would probably be stored on intermediate disk files, although
details of how a file is handled, stored, manipulated, or printed
at a site are not the concern of this protocol.

It is also assumed that there would be a program at the sending
site which sends the file in the format given below with the
optional control codes when appropriate.  This program could
probably be accessed as a subcommand of the Telnet program.

The motivation for developing this protocol is the Network
Information Center's (NIC) need to be able to deliver messages
and documents to remote sites, and to be able to receive
documents for cataloging, redistribution, and other purposes from
remote site without having to know the details of path name
conventions and file system commands at each site.  Multiple mail
boxes (128) are allowed at each site and are identified as
described below.  The default is mail box number 0 for use with
the standard mail printer defined below.

A mail box, as we see it, is simply a sequential file to which
messages and documents are appended, separated by an appropriate
site dependent code.

Although this protocol will enable people to transmit messages
directly without going through the NIC, we want to encourage
people to use the NIC as much as possible, so that dialogue will
be recorded, cataloged and available for viewing online at NIC,
using the powerful facilities of the ARC on Line System (NLS).

The Mail Box Protocol will use established network conventions,
specifically the Network Control Program, Initial Connection
Protocol, and Data Transfer Protocol, NIC 7104.

The normal transmission is to be full 7-bit ASCII in 8-bit bytes,
the high order bit set to zero.




                                                                [Page 1]


A MAIL BOX PROTOCOL                             RFC 196  NIC 7141

The standard receiving mail printer for mail box number 0 is
assumed to have a print line 72 characters wide, and a page of 66
lines.  The new line convention will be carriage return (X'OD')
followed by line feed (X'OA') as per the Telnet Protocol RFC 158,
NIC 6768.  The standard printer will accept form feed (X'OC') as
meaning move paper to the top of a new page.

It is the senders responsibility to control the length of the
print line and page. If more than 72 characters per line are sent
or if more than 66 lines are sent without a form feed, than the
receiving site can handle these situations as appropriate for
them.  These conventions can be changed by control codes as
described below.

A message or document being sent to any mail box is a string of 8
bit bytes.

At the head of the message or document sent to mail box number 0
there is to be an initial address string terminated by a form
feed.  This address string is to contain the sender's name and
address, and the receiver's name and address formatted in some
reasonable, easy-to-read form for a clerk to read and distribute.
Comments could also be included in the address string.

The format of information in mail boxes other than mail box
number 0 is not explicitly defined by this protocol.

Initial Connection

   Initial Connection will be as per the Official Initial
   Connection Protocol, Documents #2, NIC 7101, to a standard
   socket not yet assigned.  A candidate socket number would be
   socket #5.

Data Transmission

   Data Transmission will be as per the Data Transfer Protocol,
   RFC 171, NIC 6793.  That is, there will be a Modes Available
   handshake, and then transmission of special control
   information and data. A message or document is defined to be a
   block of data.  Control information is to be global.  That is,
   once a control mode is set it is assumed to apply during the







                                                                [Page 2]


A MAIL BOX PROTOCOL                             RFC 196  NIC 7141

   life of the connection unless explicitly changed. More than
   one document may be sent during the life of the connection
   unless the infinite bit stream mode is used.  In the latter
   case there will be one message or document per connection.  A
   reasonable convention for control information sent using the
   infinite bit stream mode seems to be to assume that is applies
   only to the next data stream connection from the host which
   sent the control stream.

Control Information

   The sending process should be capable of allowing the user to
   indicate the control codes associated with the transmission of
   a mail item.  The control codes can be used with any mail box
   number.

   Mail Box Number

      A site may find, as is the case at NIC, that it is useful
      to have more than one receiving mail box, each to be
      associated with a different process.

      The mail box number for material to be printed by the
      standard mail printer is mail box number 0 and is used by
      default.

      Code X'DO'

         Meaning: A seven bit binary number in an eight bit field
         with the high order bit set to zero is to follow
         indicating the receiving mail box number.

   Transmission Code Type

      The default code type is 7-bit ASCII in an 8 bit field,
      high order bit to zero.

      'Code X'AO'

         Meaning: A Data Type signal indicating that the
         transmission code is 7-bit ASCII in an 8-bit field, high
         order set to zero.







                                                                [Page 3]


A MAIL BOX PROTOCOL                             RFC 196  NIC 7141

      Code X'A1'

         Meaning: Transparency, i.e. a stream of 8 bit bytes.

      Code X'A2'

         Meaning:  EBCDIC

      Other character codes could be added in the future.

   Printer Control Codes

      The default settings are a print line of 72 characters and
      a print page of 66 lines.

      Code X'D1

         Meaning:  Set line width to 72 characters.

      Code X'D2'

         Meaning:  Use the full width of your printer.

      Code X'D3'

         Meaning:  Set page size to 66 lines.

      Code X'D4'

         Meaning:  Set page size to infinite.

      Other virtual printer control codes can be added in the
      future.

      Other classes of control codes can be added as the need
      arises.



       [ This RFC was put into machine readable form for entry ]
       [ into the online RFC archives by BBN Corp. under the   ]
       [ direction of Alex McKenzie.                   12/96   ]







                                                                [Page 4]