Network Working Group J. Postel Request for Comments: 769 ISI 26 September 1980 Rapicom 450 Facsimile File Format --------------------------------- Introduction: Several organizations in the ARPA Internet community have RAPICOM 450 facsimile machines interfaced to computers. This allows these organizations to enter a facsimile representation of a page into a computer file, and to produce a page from stored facsimile data. These organizations can exchange stored facsimile data via file transfer and other protocols. The purpose of this note is to document the format used for these files so that other organizations with compatible facsimile devices can join in this information exchange procedure. The Rapicom 450: The Rapicom 450 has a built in encoding/decoding scheme. It produces data blocks of 585 bits. There are "set up" blocks and "data" blocks. The machine sends/receives several copies of the set up block, but since they are identical only one set up block is stored in the file. Records: Each 585 bit block is placed in a record of 8-bit bytes. The record format is a length byte, a command byte and the data bytes. Each record is an integral number of bytes. The length value includes the length byte and the command byte. The command describes the data in the data field. 0 1 2 3 length +--------+--------+--------+--------+---//---+--------+--------+ | length | command| data | +--------+--------+--------+--------+---//---+--------+--------+ Rapicom 450 Facsimile Record Commands: 56 - SET-UP The command code 56 (70 octal) indicates the following data field is a set up block. Postel [page 1] 26 September 1980 Rapicom 450 Facsimile File Format RFC 769 57 - DATA The command code 57 (71 octal) indicates the following data field is a data block. 58 - END The command code 58 (72 octal) indicates that this is the last record in the file. In this case the length may be 2, indicating that there is no data in this record. Conventions: In the files exchanged to date, each record contains one block. This means the data field is 74 bytes long (585/8=73.125), and the length field has the value 76 (114 octal), except the last record which may carry no data and have a length of 2. The first record of a file is always a SET UP record, the following records are DATA records, until the last record which is an END record. Details: The 585 bit data block is encoded by the Rapicom 450 and so can not be used a bit map unless the encoding/decoding procedure is known and used. The first 24 bits of the block is always a synchronization mark with the value 271 141 344 in octal or 101110010110000111100100 in binary. The low order two bits of the next byte contain a sequence number (modulo 4). The sequence number bits cycle in the order 11, 01, 10, 00, starting with the first DATA record (not the SET UP record). The line below represents a DATA record, where L represents a length bit, C represents a command bit, M represents the synchronization mark, S represents a sequence bit, F represents a fill bit, the dash represents 68 other data octets, and an D represents a data bit. LLLLLLLLCCCCCCCCMMMMMMMMMMMMMMMMMMMMMMMMDDDDDDSSDDDDDDDD-DFFFFFFF In the line below the normal values have been filled in for the length, the command, the synchronization mark and fill bits. 0100110000111001101110010110000111100100DDDDDDSSDDDDDDDD-D0000000 [page 2] Postel