Browse Prior Art Database

Telephone Communications Data Transfer Protocol

IP.com Disclosure Number: IPCOM000122442D
Original Publication Date: 1991-Dec-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 4 page(s) / 115K

Publishing Venue

IBM

Related People

Hendershot, DR: AUTHOR [+3]

Abstract

This article describes a packetized method of data transfer in telephone communications (TELCO) of variable-length eight-bit binary messages with direction control and error checking.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Telephone Communications Data Transfer Protocol

      This article describes a packetized method of data
transfer in telephone communications (TELCO) of variable-length
eight-bit binary messages with direction control and error checking.

      Typically, telephone transfer methods are oriented to file
transfer functions.  A variable length interactive, conversation mode
method with flow control, error checking, and a data flow direction
indicator, as disclosed herein, is not available.  This method can be
used as a backup TELCO transfer method which is utilized when the
main RF transfer link is down.
TELCO Data Transmission Protocol

      The protocol is packetized and provides cyclical redundancy
checking (CRC) for each packet.  The data packets may be of any
length but should be kept to approximately 2000 bytes to minimize the
effect of telephone connections that are poor in line quality.

      The 'CRC' method is a 16 12 5 2 1 algorithm.  An identical
checking method must be used on the HOST.  The following is sample
code (taken from GreenLeaf Communication Library (Company) 'C'
prototype) that implements the CRC generation of data:
unsigned CRC (unsigned Count, unsigned StartValue, char far *Buffer)
Inputs:
      unsigned Count           Size of buffer in bytes.
      unsigned StartValue      Initial value of CRC
      char far *Buffer            Far pointer to buffer to do CRC on.
Description

      Calculate CRC (X 16 + X 12 + X 5 + 1) for buffer
of count length.  This function can be used to calculate the CRC for
an entire buffer at once or for calculating a buffer a character at a
time.
      Example for calculating the CRC of an entire buffer:
           unsigned       CRCvalue;
           extern char   *Buffer;
           CRCvalue = crc( 1024, 0, Buffer );
           The return value 'CRCvalue' would be the CRC for the
entire 1024-byte buffer.
      Example for calculating the CRC of a buffer one byte at a time
with other processing in a loop:
           unsigned       CRCvalue;
           extern char   *Buffer;
           int            BufferSize;
           CRCvalue = 0;
           while ( BufferSize-- )
           CRCvalue = crc( 1, CRCvalue, Buffer );
                       .
                       .       (other processing)
                      ...