AX25.DOC

        AX.25 Amateur Packet-Radio Link-Layer Protocol
                   Version 2.0  October 1984


2.  AX.25 Link-Layer Protocol Specification

2.1  Scope and Field of Operation

       In  order  to  provide  a  mechanism  for  the   reliable
transport  of  data  between  two  signaling  terminals,  it   is
necessary  to define a protocol that can accept and deliver  data
over a variety of types of communications links.  The AX.25 Link-
Layer  Protocol is designed to provide this service,  independent
of any other level that may or may not exist.

       This protocol conforms to ISO Recommendations 3309,  4335
(including DAD 1&2) and 6256 high-level data link control  (HDLC)
and  uses  some terminology found in these  documents.   It  also
conforms with ANSI X3.66, which describes ADCCP, balanced mode.

       This  protocol  follows,  in principle,  the  CCITT  X.25
Recommendation,  with the exception of an extended address  field
and  the addition of the Unnumbered Information (UI)  frame.   It
also follows the principles of CCITT Recommendation Q.921  (LAPD)
in the use of multiple links, distinguished by the address field,
on a single shared channel.

       As  defined,  this  protocol will work  equally  well  in
either half- or full-duplex Amateur Radio environments.

       This protocol has been designed to work equally well  for
direct  connections between two individual  amateur  packet-radio
stations or an individual station and a multiport controller.

       This  protocol allows for the establishment of more  than
one  link-layer  connection  per  device, if  the  device  is  so
capable.

       This  protocol  does not  prohibit  self-connections.   A
self-connection  is considered to be when a device establishes  a
link  to  itself using its own address for both  the  source  and
destination of the frame.

       Most  link-layer  protocols assume that one  primary  (or
master)  device  (generally  called  a  DCE,  or  data   circuit-
terminating equipment) is connected to one or more secondary  (or
slave)  device(s)  (usually  called a DTE,  or  data  terminating
equipment).   This type of unbalanced operation is not  practical
in a shared-RF Amateur Radio environment.  Instead, AX.25 assumes
that  both  ends  of  the link are of  the  same  class,  thereby
eliminating  the two different classes of devices.  The term  DXE
is  used in this protocol specification to describe the  balanced
type of device found in amateur packet radio.

2.2  Frame Structure

       Link  layer packet radio transmissions are sent in  small
blocks of data, called frames.  Each frame is made up of  several
smaller groups, called fields.  Fig.1 shows the three basic types
of  frames.  Note that the first bit to be transmitted is on  the
left side.



       First
       Bit Sent

         Flag      Address     Control     FCS      Flag
       01111110  112/560 Bits  8 Bits    16 Bits  01111110

               Fig. 1A -- U and S frame construction



       First
       Bit Sent

Flag      Address      Control    PID    Info.       FCS      Flag
01111110  112/560 Bits   8 Bits   8 Bits  N*8 Bits   16 Bits  01111110

               Fig. 1B -- Information frame construction



       Each field is made up of an integral number of octets (or
bytes), and serves a specific function as outlined below.

2.2.1  Flag Field

       The flag field is one octet long.  Since the flag is used
to  delimit  frames, it occurs at both the beginning and  end  of
each  frame.  Two frames may share one flag, which  would  denote
the  end of the first frame, and the start of the next frame.   A
flag consists of a zero followed by six ones followed by  another
zero,  or  01111110 (7E hex).  As a result of bit  stuffing  (see
2.2.6,  below),  this sequence is not allowed to  occur  anywhere
else inside a complete frame.

2.2.2  Address Field

       The address field is used to identify both the source  of
the  frame and its destination.  In addition, the  address  field
contains  the  command/response information  and  facilities  for
level 2 repeater operation.

       The encoding of the address field is described in 2.2.13.

2.2.3  Control Field

       The  control field is used to identify the type of  frame
being  passed  and  control several attributes  of  the  level  2
connection.   It  is  one octet in length, and  its  encoding  is
discussed in 2.3.2.1, below.

2.2.4  PID Field

       The  Protocol  Identifier  (PID) field  shall  appear  in
information  frames (I and UI) only.  It identifies what kind  of
layer 3 protocol, if any, is in use.

       The PID itself is not included as part of the octet count
of the information field.  The encoding of the PID is as follows:



 M      L
 S      S
 B      B
 yy01yyyy AX.25 layer 3 implemented.
 yy10yyyy AX.25 layer 3 implemented.
 11001100 Internet Protocol datagram layer 3 implemented.
 11001101 Address resolution protocol layer 3 implemented.
 11110000 No layer 3 implemented.
 11111111 Escape character.  Next octet contains more Level 3
          protocol information.



       Where:

       A y indicates all combinations used.

       Note:

       All  forms  of  yy11yyyy and yy00yyyy  other  than  those
listed  above  are  reserved  at this time  for  future  level  3
protocols.   The  assignment of these formats is  up  to  amateur
agreement.   It  is  recommended that the  creators  of  level  3
protocols   contact  the  ARRL  Ad  Hoc  Committee   on   Digital
Communications for suggested encodings.

2.2.5  Information Field

       The  information field is used to convey user  data  from
one  end of the link to the other.  I fields are allowed in  only
three  types of frames:  the I frame, the UI frame, and the  FRMR
frame.   The  I  field can be up to 256 octets  long,  and  shall
contain  an integral number of octets.  These  constraints  apply
prior to the insertion of zero bits as specified in 2.2.6, below.
Any  information  in the I field shall be passed along  the  link
transparently,  except  for the zero-bit  insertion  (see  2.2.6)
necessary  to prevent flags from accidentally appearing in the  I
field.

2.2.6  Bit Stuffing

       In  order to assure that the flag bit sequence  mentioned
above  doesn't appear accidentally anywhere else in a frame,  the
sending  station  shall monitor the bit sequence for a  group  of
five  or more contiguous one bits.  Any time five contiguous  one
bits  are sent the sending station shall insert a zero bit  after
the  first  one  bit.   During frame  reception,  any  time  five
contiguous  one  bits  are  received,  a  zero  bit   immediately
following five one bits shall be discarded.

2.2.7  Frame-Check Sequence

       The  frame-check sequence (FCS) is a  sixteen-bit  number
calculated  by  both the sender and receiver of a frame.   It  is
used  to  insure that the frame was not corrupted by  the  medium
used to get the frame from the sender to the receiver.  It  shall
be calculated in accordance with ISO 3309 (HDLC) Recommendations.

2.2.8  Order of Bit Transmission

       With  the  exception of the FCS field, all fields  of  an
AX.25 frame shall be sent with each octet's least-significant bit
first.  The FCS shall be sent most-significant bit first.

2.2.9  Invalid Frames

       Any frame consisting of less than 136 bits (including the
opening  and closing flags), not bounded by opening  and  closing
flags, or not octet aligned (an integral number of octets), shall
be  considered  an  invalid frame by the link  layer.   See  also
2.4.4.4, below.

2.2.10  Frame Abort

       If a frame must be prematurely aborted, at least  fifteen
contiguous ones shall be sent with no bit stuffing added.

2.2.11  Interframe Time Fill

       Whenever   it  is  necessary  for  a  DXE  to  keep   its
transmitter  on  while  not actually  sending  frames,  the  time
between frames should be filled with contiguous flags.

2.2.12  Link Channel States

       Not applicable.

2.2.13  Address-Field Encoding

       The  address  field of all frames shall be  encoded  with
both the destination and source amateur call signs for the frame.
Except  for the Secondary Station Identifier (SSID), the  address
field  should  be made up of upper-case alpha and  numeric  ASCII
characters only.  If level 2 amateur "repeaters" are to be  used,
their call signs shall also be in the address field.

       The  HDLC address field is extended beyond one  octet  by
assigning  the  least-significant  bit of each  octet  to  be  an
"extension bit".  The extension bit of each octet is set to zero,
to indicate the next octet contains more address information,  or
one,  to  indicate  this is the last octet of  the  HDLC  address
field.   To make room for this extension bit, the  amateur  Radio
call sign information is shifted one bit left.

2.2.13.1  Nonrepeater Address-Field Encoding

       If  level  2 repeaters are not being  used,  the  address
field is encoded as shown in Fig. 2.  The destination address  is
the call sign and SSID of the amateur radio station to which  the
frame is addressed, while the source address contains the amateur
call  sign  and SSID of the station that sent the  frame.   These
call signs are the call signs of the two ends of a level 2  AX.25
link only.



       First
       Octet Sent

                    Address Field of Frame
       Destination Address         Source Address
       A1 A2 A3 A4 A5 A6 A7    A8 A9 A10 A11 A12 A13 A14

       Fig. 2 -- Nonrepeater Address-Field Encoding



       A1  through A14 are the fourteen octets that make up  the
two  address  subfields of the address  field.   The  destination
subaddress is seven octets long (A1 thru A7), and is sent  first.
This  address sequence provides the receivers of frames  time  to
check  the  destination address subfield to see if the  frame  is
addressed to them while the rest of the frame is being  received.
The  source  address subfield is then sent in octets  A8  through
A14.   Both  of these subfields are encoded in the  same  manner,
except  that  the last octet of the address field  has  the  HDLC
address extension bit set.

       There  is  an octet at the end of each  address  subfield
that contains the Secondary Station Identifier (SSID).  The  SSID
subfield  allows an Amateur Radio operator to have more than  one
packet-radio station operating under the same call sign.  This is
useful when an amateur wants to put up a repeater in addition  to
a regular station, for example.  The C bits (see 2.4.1.2,  below)
and H bit (see 2.2.13.2, below) are also contained in this octet,
along with two bits which are reserved for future use.

       Fig.  3A shows a typical AX.25 frame in  the  nonrepeater
mode of operation.



       Octet   ASCII   Bin.Data  Hex Data

       Flag            01111110     7E
        A1       K     10010110     96
        A2       8     01110000     70
        A3       M     10011010     9A
        A4       M     10011010     9A
        A5       O     10011110     9E
        A6     space   01000000     40
        A7     SSID    11100000     E0
        A8       W     10101110     AE
        A9       B     10000100     84
        A10      4     01100100     68
        A11      J     10010100     94
        A12      F     10001100     8C
        A13      I     10010010     92
        A14    SSID    01100001     61
      Control    I     00111110     3E
        PID    none    11110000     F0
        FCS    part 1  XXXXXXXX     HH
        FCS    part 2  XXXXXXXX     HH
       Flag            01111110     7E

       Bit position    76543210

     Fig. 3A -- Nonrepeater AX.25 frame



       The frame shown is an I frame, not going through a  level
2 repeater, from WB4JFI (SSID=0) to K8MMO (SSID=0), with no level
3  protocol.   The P/F bit is set; the  receive  sequence  number
(N(R)) is 1; the send sequence number (N(S)) is 7.

2.2.13.1.1  Destination Subfield Encoding

       Fig.  3 shows how an amateur call sign is placed  in  the
destination address subfield, occupying octets A1 thru A7.



            Octet   ASCII   Bin.Data   Hex Data

             A1       W     10101110      AE
             A2       B     10000100      84
             A3       4     01101000      68
             A4       J     10010100      94
             A5       F     10001100      8C
             A6       I     10010010      92
             A7     SSID    CRRSSID0

          Bit Position-->   76543210

         Fig. 3 -- Destination Field Encoding



       Where:

       1.  The top octet (A1) is the first octet sent, with  bit
           0  of each octet being the first bit sent, and bit  7
           being the last bit sent.

       2.  The  first (low-order or bit 0) bit of each octet  is
           the HDLC address extension bit, which is set to  zero
           on all but the last octet in the address field, where
           it is set to one.

      3.   The  bits marked "r" are reserved bits.  They may  be
           used in an agreed-upon manner in individual networks.
           When not implemented, they should be set to one.

       4.  The  bit marked "C" is used as  the  command/response
           bit of an AX.25 frame, as outlined in 2.4.1.2 below.

       5.  The  characters of the call sign should  be  standard
           seven-bit  ASCII  (upper  case only)  placed  in  the
           leftmost seven bits of the octet to make room for the
           address  extension  bit.  If the call  sign  contains
           fewer  than six characters, it should be padded  with
           ASCII spaces between the last call sign character and
           the SSID octet.

       6.  The  0000  SSID is reserved for  the  first  personal
           AX.25 station. This establishes one standard SSID for
           "normal" stations to use for the first station.

2.2.13.2  Level 2 Repeater-Address Encoding

       If  a  frame  is to go through  level  2  amateur  packet
repeater(s), there is an additional address subfield appended  to
the end of the address field.  This additional subfield  contains
the call sign(s) of the repeater(s) to be used.  This allows more
than one repeater to share the same RF channel.  If this subfield
exists,  the  last octet of the source subfield has  its  address
extension  bit  set to zero, indicating that  more  address-field
data  follows.  The repeater-address subfield is encoded  in  the
same  manner  as the destination and  source  address  subfields,
except for the most-significant bit in the last octet, called the
"H" bit.  The H bit is used to indicate whether a frame has  been
repeated or not.

       In  order  to provide some method of  indicating  when  a
frame has been repeated, the H bit is set to zero on frames going
to  a repeater.  The repeater will set the H bit to one when  the
frame  is retransmitted.  Stations should monitor the H bit,  and
discard  any frames going to the repeater (uplink frames),  while
operating  through  a repeater.  Fig. 4 shows how  the  repeater-
address subfield is encoded.  Fig. 4A is an example of a complete
frame after being repeated.



               Octet   ASCII   Bin.Data  Hex Data

                A15      W     10101110     AE
                A16      B     10000100     84
                A17      4     01101000     68
                A18      J     10010100     94
                A19      F     10001100     8C
                A20      I     10010010     92
                A21    SSID    HRRSSID1

             Bit Order  -->    76543210

             Fig. 4 -- Repeater-address encoding



  Where:

  1.  The  top octet is the first octet sent, with bit  0  being
      sent first and bit 7 sent last of each octet.

  2.  As  with  the  source and  destination  address  subfields
      discussed  above, bit 0 of each octet is the HDLC  address
      extension  bit, which is set to zero on all but  the  last
      address octet, where it is set to one.

  3.  The  "R"  bits are reserved in the same manner as  in  the
      source and destination subfields.

  4.  The  "H" bit is the has-been-repeated bit.  It is  set  to
      zero  whenever a frame has not been repeated, and  set  to
      one by the repeater when the frame has been repeated.



       Octet    ASCII   Bin.Data  Hex Data

       Flag             01111110     7E
        A1        K     10010110     96
        A2        8     01110000     70
        A3        M     10011010     9A
        A4        M     10011010     9A
        A5        O     10011110     9E
        A6      space   01000000     40
        A7      SSID    11100000     E0
        A8        W     10101110     AE
        A9        B     10000100     84
        A10       4     01101000     68
        A11       J     10010100     94
        A12       F     10001100     8C
        A13       I     10010010     92
        A14     SSID    01100000     60
        A15       W     10101110     AE
        A16       B     10000100     84
        A17       4     01101000     68
        A18       J     10010100     94
        A19       F     10001100     8C
        A20       I     10010010     92
        A21     SSID    11100011     E3
      Control     I     00111110     3F
        PID     none    11110000     F0
        FCS     part 1  XXXXXXXX     HH
        FCS     part 2  XXXXXXXX     HH
       Flag             01111110     7E

       Bit position     76543210

     Fig. 4A -- AX.25 frame in repeater mode



       The  above frame is the same as Fig. 3A, except  for  the
addition of a repeater-address subfield (WB4JFI, SSID=1).  The  H
bit is set, indicating this is from the output of the repeater.

2.2.13.3 Multiple Repeater Operation

       The  link-layer AX.25 protocol allows  operation  through
more  than  one  repeater, creating  a  primitive  frame  routing
mechanism.   Up to eight repeaters may be used by  extending  the
repeater-address subfield.  When there is more than one  repeater
address,  the repeater address immediately following  the  source
address  subfield  will be considered the address  of  the  first
repeater  of  a multiple-repeater chain.  As a  frame  progresses
through  a chain of repeaters, each successive repeater will  set
the  H bit (has-been-repeated bit) in its SSID octet,  indicating
that  the  frame has been successfully repeated through  it.   No
other  changes  to the frame are made (except for  the  necessary
recalculation of the FCS).  The destination station can determine
the  route  the frame took to each it by  examining  the  address
field.

       The  number of repeater addresses is variable.   All  but
the last repeater address will have the address extension bits of
all  octets  set to zero, as will all but the  last  octet  (SSID
octet) of the last repeater address.  The last octet of the  last
repeater address will have the address extension bit set to  one,
indicating the end of the address field.

       It should be noted that various timers (see 2.4.7, below)
may  have  to be adjusted to accommodate  the  additional  delays
encountered  when a frame must pass through  a  multiple-repeater
chain,  and  the return acknowledgement must travel  through  the
same path before reaching the source device.

       It  is anticipated that multiple-repeater operation is  a
temporary method of interconnecting stations over large distances
until  such  time that a layer 3 protocol is in use.   Once  this
layer 3 protocol becomes operational, repeater chaining should be
phased out.

2.3  Elements of Procedure

2.3.1
    The  elements of procedure are defined in terms  of  actions
that occur on receipt of frames.

2.3.2  Control-Field Formats and State Variables

2.3.2.1  Control-Field Formats

       The control field is responsible for identifying the type
of  frame  being sent, and is also used to  convey  commands  and
responses  from  one  end of the link to the other  in  order  to
maintain proper link control.

       The  control  fields  used in AX.25 use  the  CCITT  X.25
control fields for balanced operation (LAPB), with an  additional
control field taken from ADCCP to allow connectionless and round-
table operation.

       There are three general types of AX.25 frames.  They  are
the Information frame (I frame), the Supervisory frame (S frame),
and  the  Unnumbered  frame (U frame).  Fig. 5  shows  the  basic
format  of  the  control field associated  with  these  types  of
frames.



             Control-Field      Control-Field Bits
                 Type         7  6  5  4  3  2  1  0

               I Frame          N(R)   P    N(S)   0
               S Frame          N(R)  P/F S  S  0  1
               U Frame        M  M  M P/F M  M  1  1

                 Fig. 5 -- Control-field formats



       Where:

       1.  Bit 0 is the first bit sent and bit 7 is the last bit
           sent of the control field.

       2.  N(S) is the send sequence number (bit 1 is the LSB).

       3.  N(R)  is  the receive sequence number (bit 5  is  the
           LSB).

       4.  The  "S" bits are the supervisory function bits,  and
           their encoding is discussed in 2.3.4.2.

       5.  The  "M" bits are the unnumbered frame modifier  bits
           and their encoding is discussed in 2.3.4.3.

       6.  The  P/F bit is the Poll/Final bit.  Its function  is
           described in 2.3.3.  The distinction between  command
           and response, and therefore the distinction between P
           bit and F bit, is made by addressing rules  discussed
           in 2.4.1.2.

2.3.2.1.1  Information-Transfer Format

       All I frames have bit 0 of the control field set to zero.
N(S)  is  the sender's send sequence number  (the  send  sequence
number  of  this frame).  N(R) is the sender's  receive  sequence
number (the sequence number of the next expected received frame).
These numbers are described in 2.3.2.4.  In addition, the P/F bit
is to be used as described in 2.4.2.


2.3.2.1.2  Supervisory Format

       Supervisory  frames  are denoted by having bit 0  of  the
control  field set to one, and bit 1 of the control field set  to
zero.   S  frames  provide  supervisory  link  control  such   as
acknowledging or requesting retransmission of I frames, and link-
level window control.  Since S frames do not have an  information
field,  the  sender's send variable and  the  receiver's  receive
variable are not incremented for S frames.  In addition, the  P/F
bit is used as described in 2.4.2.

2.3.2.1.3  Unnumbered Format

       Unnumbered frames are distinguished by having both bits 0
and 1 of the control field set to one.  U frames are  responsible
for  maintaining additional control over the link beyond what  is
accomplished  with  S  frames.  They  are  also  responsible  for
establishing  and  terminating link connections.  U  frames  also
allow  for the transmission and reception of information  outside
of   the  normal  flow  control.   Some  U  frames  may   contain
information and PID fields.  The P/F bit is used as described  in
2.4.2.

2.3.2.2  Control-Field Parameters

2.3.2.3  Sequence Numbers

       Every  AX.25  I  frame shall be  assigned,  modulo  8,  a
sequential  number  from  0 to 7.  This will allow  up  to  seven
outstanding I frames per level 2 connection at a time.

2.3.2.4  Frame Variables and Sequence Numbers

2.3.2.4.1  Send State Variable V(S)

       The send state variable is a variable that is internal to
the  DXE  and  is never sent.  It contains  the  next  sequential
number  to  be assigned to the next transmitted  I  frame.   This
variable is updated upon the transmission of each I frame.

2.3.2.4.2  Send Sequence Number N(S)

       The send sequence number is found in the control field of
all  I  frames.  It contains the sequence number of the  I  frame
being sent.  Just prior to the transmission of the I frame,  N(S)
is updated to equal the send state variable.


2.3.2.4.3 Receive State Variable V(R)

       The receive state variable is a variable that is internal
to the DXE.  It contains the sequence number of the next expected
received I frame.  This variable is updated upon the reception of
an  error-free  I  frame whose send sequence  number  equals  the
present received state variable value.

2.3.2.4.4  Received Sequence Number N(R)

       The  received sequence number is in both I and S  frames.
Prior  to  sending an I or S frame, this variable is  updated  to
equal  that  of  the received  state  variable,  thus  implicitly
acknowledging  the  proper  reception of all  frames  up  to  and
including N(R)-1.

2.3.3  Functions of Poll/Final (P/F) Bit

       The  P/F bit is used in all types of frames.  It is  used
in  a  command  (poll) mode to request an immediate  reply  to  a
frame.   The  reply  to this poll is  indicated  by  setting  the
response  (final)  bit  in  the  appropriate  frame.   Only   one
outstanding  poll condition per direction is allowed at  a  time.
The procedure for P/F bit operation is described in 2.4.2.

2.3.4  Control Field Coding for Commands and Responses

       The following commands and responses, indicated by  their
control field encoding, are to be use by the DXE:

2.3.4.1  Information Command Frame Control Field

       The  function  of  the  information  (I)  command  is  to
transfer   across  a  data  link  sequentially  numbered   frames
containing an information field.

       The  information-frame control field is encoded as  shown
in  Fig. 6.  These frames are sequentially numbered by  the  N(S)
subfield to maintain control of their passage over the link-layer
connection.



                         Control Field Bits
                          7 6 5 4 3 2 1 0
                           N(R) P  N(S) 0

                   Fig. 6 -- I frame control field



2.3.4.2  Supervisory Frame Control Field

       The supervisory frame control fields are encoded as shown
in Fig. 7.



       Control Field Bits       7   6   5   4   3   2   1   0
       Receive Ready     RR        N(R)    P/F  0   0   0   1
       Receive Not Ready RNR       N(R)    P/F  0   1   0   1
       Reject            REJ       N(R)    P/F  1   0   0   1

               Fig. 7 -- S frame control fields


                         The Frame identifiers:

C or SABM          Layer 2 Connect Request
D or DISC          Layer 2 Disconnect Request
I                  Information Frame
RR                 Receive Ready. System Ready To Receive
RNR or NR          Receive Not Ready. TNC Buffer Full
RJ or REJ          Reject Frame. Out of Sequence or Duplicate
FRMR               Frame Reject. Fatal Error
UI                 Unnumbered Information Frame. "Unproto"
DM                 Disconnect Mode. System Busy or Disconnected.


2.3.4.2.1  Receive Ready (RR) Command and Response

       Receive Ready is used to do the following:

  1.  to  indicate  that the sender of the RR is  now  able  to
      receive more I frames.

  2.  to  acknowledge  properly  received I frames  up  to,  and
      including N(R)-1, and

  3.  to clear a previously set busy condition created by an RNR
      command having been sent.

       The status of the DXE at the other end of the link can be
requested  by  sending a RR command frame with the P-bit  set  to
one.

2.3.4.2.2  Receive Not Ready (RNR) Command and Response

       Receive Not Ready is used to indicate to the sender of  I
frames  that  the receiving DXE is temporarily  busy  and  cannot
accept any more I frames.  Frames up to N(R)-1 are  acknowledged.
Any I frames numbered N(R) and higher that might have been caught
between states and not acknowledged when the RNR command was sent
are not acknowledged.

       The RNR condition can be cleared by the sending of a  UA,
RR, REJ, or SABM frame.

       The status of the DXE at the other end of the link can be
requested  by sending a RNR command frame with the P bit  set  to
one.

2.3.4.2.3  Reject (REJ) Command and Response

       The  reject frame is used to request retransmission of  I
frames  starting  with N(R).  Any frames that were  sent  with  a
sequence number of N(R)-1 or less are acknowledged.  Additional I
frames may be appended to the retransmission of the N(R) frame if
there are any.

       Only  one  reject  frame condition  is  allowed  in  each
direction  at  a time.  The reject condition is  cleared  by  the
proper  reception of I frames up to the I frame that  caused  the
reject condition to be initiated.

       The status of the DXE at the other end of the link can be
requested  by sending a REJ command frame with the P bit  set  to
one.

2.3.4.3  Unnumbered Frame Control Fields

       Unnumbered  frame control fields are either  commands  or
responses.

       Fig.  8 shows the layout of U frames  implemented  within
this protocol.



       Control Field                Type     Control Field Bits
                                           7  6  5  4  3  2  1  0

Set Asynchronous Balanced Mode-SABM  Cmd    0  0  1  P  1  1  1  1
Disconnect-DISC                      Cmd    0  1  0  P  0  0  1  1
Disconnected Mode-DM                 Res    0  0  0  F  1  1  1  1
Unnumbered Acknowledge-UA            Res    0  1  1  F  0  0  1  1
Frame Reject-FRMR                    Res    1  0  0  F  0  1  1  1
Unnumbered Information-UI           Either  0  0  0 P/F 0  0  1  1

               Fig. 8 -- U frame control fields



2.3.4.3.1  Set Asynchronous Balanced Mode (SABM) Command

       The  SABM  command  is  used  to  place  2  DXEs  in  the
asynchronous balanced mode.  This is a balanced mode of operation
known as LAPB where both devices are treated as equals.

       Information fields are not allowed in SABM commands.  Any
outstanding  I frames left when the SABM command is  issued  will
remain unacknowledged.

       The  DXE  confirms  reception and acceptance  of  a  SABM
command   by  sending  a  UA  response  frame  at  the   earliest
opportunity.   If  the  DXE is not capable of  accepting  a  SABM
command, it should respond with a DM frame if possible.

2.3.4.3.2  Disconnect (DISC) Command

       The  DISC  command is used to terminate  a  link  session
between  two  stations.  No information field is permitted  in  a
DISC command frame.

       Prior  to  acting on the DISC frame,  the  receiving  DXE
confirms acceptance of the DISC by issuing a UA response frame at
its  earliest opportunity.  The DXE sending the DISC  enters  the
disconnected state when it receives the UA response.

       Any  unacknowledged  I frames left when this  command  is
acted upon will remain unacknowledged.

2.3.4.3.3  Frame Reject (FRMR) Response

2.3.4.3.3.1
    The FRMR response frame is sent to report that the  receiver
of  a frame cannot successfully process that frame and  that  the
error condition is not correctable by sending the offending frame
again.  Typically this condition will appear when a frame without
an  FCS  error  has  been received  with  one  of  the  following
conditions:

1.  The  reception of an invalid or not implemented  command  or
    response frame.

2.  The reception of an I frame whose information field  exceeds
    the agreed-upon length.  (See 2.4.7.3, below.)

3.  The  reception  of an improper N(R).  This  usually  happens
    when the N(R) frame has already been sent and  acknowledged,
    or when N(R) is out of sequence with what was expected.

4.  The reception of a frame with an information field where one
    is  not  allowed, or the reception of a U or S  frame  whose
    length is incorrect.  Bits W and Y described in  2.3.4.3.3.2
    should both be set to one to indicate this condition.

     5.  The reception of a supervisory frame with the F bit set
    to  one,  except  during a  timer  recovery  condition  (see
    2.4.4.9), or except as a reply to a command frame sent  with
    the  P  bit  set to one. Bit W  (described  in  2.3.4.3.3.2)
    should be set to one.

6.  The reception of an unexpected UA or DM response frame.  Bit
    W should be set to one.

7.  The reception of a frame with an invalid N(S).  Bit W should be
    set to one.

       An  invalid N(R) is defined as one which points to  an  I
frame  that previously has been transmitted and acknowledged,  or
an  I  frame which has not been transmitted and is not  the  next
sequential I frame pending transmission.

       An  invalid N(S) is defined as an N(S) that is  equal  to
the  last transmitted N(R)+k and is equal to the  received  state
variable  V(R),  where  k is the maximum  number  of  outstanding
information frames as defined in 2.4.7.4 below.

       An  invalid  or not implemented command  or  response  is
defined  as a frame with a control field that is unknown  to  the
receiver of this frame.

2.3.4.3.3.2
    When a FRMR frame is sent, an information field is added  to
the  frame that contains additional information indicating  where
the  problem  occurred.  This information field is  three  octets
long and is shown in Fig. 9.



                    Information Field Bits
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
 0  0  0  0  Z  Y  X  W   V(R)    C   V(S)  0  Rejected Frame
                                  R            Control Field

            Fig. 9 -- FRMR frame information field



 Where:

 1.  The rejected frame control field carries the control  field
     of  the frame that caused the reject condition.  It  is  in
     bits 0-7 of the information field.

 2.  V(S)  is  the  current send state variable  of  the  device
     reporting the rejection (bit 9 is the low bit).

 3.  The  CR bit is set to zero to indicate the  rejected  frame
     was a command, or one if it was a response.

 4.  V(R)  is the current receive state variable of  the  device
     reporting rejection (bit 13 is the low bit).

 5.  If W is set to 1, the control field received was invalid or
     not implemented.

 6.  If  X  is  set  to 1, the  frame  that  caused  the  reject
     condition  was considered invalid because it was a U  or  S
     frame  that had an information field that is  not  allowed.
     Bit W must be set to 1 in addition to the X bit.

 7.  If  Y is set to 1, the control field received and  returned
     in   bits   exceeded  the  maximum   allowed   under   this
     recommendation in 2.4.7.3, below.

 8.  If  A is set to 1, the control field received and  returned
     in bits 1 to 8 contained an invalid N(R).

 9.  Bits 8, and 20 to 23 are set to 0.


2.3.4.3.4  Unnumbered Acknowledge (UA) Response

       The  UA  response  frame  is  sent  to  acknowledge   the
reception  and  acceptance of a SABM or DISC  command  frame.   A
received command is not actually processed until the UA  response
frame  is  sent.  Information fields are not permitted  in  a  UA
frame.

2.3.4.3.5  Disconnected Mode (DM) Response

       The  disconnected  mode response is sent whenever  a  DXE
receives  a  frame  other  than a SABM or UI  frame  while  in  a
disconnected  mode.   It  is  also sent to  request  a  set  mode
command,  or  to indicate it cannot accept a  connection  at  the
moment.  The DM response does not have an information field.

       Whenever a SABM frame is a received, and it is determined
that  a  connection is not possible, a DM frame  shall  be  sent.
This  will  indicate  that the called  station  cannot  accept  a
connection at that time.

       While a DXE is in the disconnected mode, it will  respond
to  any command other than a SABM or UI frame with a DM  response
with the P/F bit set to 1.

2.3.4.3.6  Unnumbered Information (UI) Frame

       The   Unnumbered  Information  frame  contains  PID   and
information fields and is used to pass information along the link
outside the normal information controls.  This allows information
fields  to go back and forth on the link bypassing flow  control.
Since   these  frames  are  not  acknowledgeable,  if  one   gets
obliterated, there is no way to recover it.  A received UI  frame
with  the  P bit set shall cause a response  to  be  transmitted.
This response shall be a DM frame when in the disconnected  state
or  a  RR  (or  RNR, if appropriate)  frame  in  the  information
transfer state.

2.3.5  Link Error Reporting and Recovery

       There are several link-layer errors that are  recoverable
without  terminating the connection.  These error situations  may
occur  as  a  result  of  malfunctions  within  the  DXE,  or  if
transmission errors occur.

2.3.5.1  DXE Busy Condition

       When  a  DXE  becomes temporarily  unable  to  receive  I
frames,  such  as when receive buffers are full, it will  send  a
Receive Not Ready (RNR) frame.  This informs the other DXE   that
this  DXE  cannot handle any more I frames at the  moment.   This
condition is usually cleared by the sending of a UA, RR, REJ,  or
SABM command frame.

2.3.5.2  Send Sequence Number Error

       If the send sequence number, N(S), of an otherwise error-
free  received frame does not match the receive  state  variable,
V(R),  a  send sequence error has occurred, and  the  information
field will be discarded.  The receiver will not acknowledge  this
frame, or any other I frames, until N(S) matches V(R).

       The  control  field of the erroneous I frame(s)  will  be
accepted so that link supervisory functions such as checking  the
P/F  bit can still be performed.  Because of this  updating,  the
retransmitted I frame may have an updated P bit and N(R).

2.3.5.3  Reject (REJ) Recovery

       REJ  is  used  to request a retransmission  of  I  frames
following  the  detection  of a N(S) sequence  error.   Only  one
outstanding  "sent  REJ" condition is allowed at  a  time.   This
condition  is  cleared  when  the  requested  I  frame  has  been
received.

       A DXE receiving the REJ command will clear the  condition
by  resending all outstanding I frames (up to the  window  size),
starting with the one indicated in N(R) of the REJ frame.

2.3.5.4  Time-out Error Recovery

2.3.5.4.1  T1 Timer Recovery

       If  a DXE, due to a transmission error, does not  receive
(or  receives and discards) a single I frame or the last I  frame
in  a sequence of I frames, it will not detect  a  send-sequence-
number  error,  and therefore will not transmit a REJ.   The  DXE
which transmitted the unacknowledged I frame(s) shall,  following
the  completion of time-out period T1, take appropriate  recovery
action  to determine when I frame retransmission should begin  as
described  in 2.4.4.9, below.  This condition is cleared  by  the
reception of an acknowledgement for the sent frame(s), or by  the
link being reset.  See 2.4.6.

2.3.5.4.2  Timer T3 Recovery

       Timer  T3 is used to assure the link is still  functional
during  periods of low information transfer.  Whenever T1 is  not
running  (no  outstanding I frames), T3 is used  to  periodically
poll  the  other DXE of a link.  When T3 times out, a RR  or  RNR
frame  is transmitted as a command and with the P bit  set.   The
waiting  acknowledgement  procedure  (2.4.4.9,  below)  is   then
executed.

2.3.5.5  Invalid Frame or FCS Error

       If  an invalid frame is received, or a frame is  received
with  an FCS error, that frame will be discarded with  no  action
taken.

2.3.5.6  Frame Rejection Condition

       A  frame  rejection condition occurs  when  an  otherwise
error-free  frame  has been received with one of  the  conditions
listed in 2.3.4.3.3 above.

       Once  a  rejection  error occurs, no more  I  frames  are
accepted  (except for the examination of the P/F bit)  until  the
error is resolved.  The error condition is reported to the  other
DXE by sending a FRMR response frame.  See 2.4.5.

2.4  Description of AX.25 Procedures

       The  following  describes the procedures used  to  setup,
use, and disconnect a balanced link between two DXE stations.

2.4.1  Address Field Operation

2.4.1.1  Address Information

       All   transmitted  frames  shall  have   address   fields
conforming  to  2.2.13, above.  All frames shall  have  both  the
destination device and the source device addresses in the address
field,  with the destination address coming first.   This  allows
many links to share the same RF channel.  The destination address
is  always  the address of the station(s) to receive  the  frame,
while the source address contains the address of the device  that
sent the frame.

       The destination address can be a group name or club  call
sign if the point-to-multipoint operation is allowed.   Operation
with  destination addresses other than actual amateur call  signs
is a subject for further study.

2.4.1.2  Command/Response Procedure

       AX.25  Version 2.0 has implemented  the  command/response
information   in  the  address  field.   In  order  to   maintain
compatibility    with   previous   versions   of    AX.25,    the
command/response information is conveyed using two bits.

       An  upward-compatible AX.25 DXE can determine whether  it
is  communicating  with  a DXE using an  older  version  of  this
protocol by testing the command/response bit information  located
in  bit 7 of the SSID octets of both the destination  and  source
address subfields.  If both C bits are set to zero, the device is
using  the  older protocol.  The newer version  of  the  protocol
always has one of these two bits set to one and the other set  to
zero, depending on whether the frame is a command or a response.

       The  command/response  information is  encoded  into  the
address field as shown in Fig. 10.



  Frame Type          Dest. SSID C-Bit    Source SSID C-Bit

 Previous versions             0                    0
 Command (V.2.0)               1                    0
 Response (V.2.0)              0                    1
 Previous versions             1                    1

             Fig. 10 -- Command/Response encoding



       Since  all  frames  are  considered  either  commands  or
responses, a device shall always have one of the bits set to one,
and the other bit set to zero.

       The  use  of the command/response  information  in  AX.25
allows  S frames to be either commands or responses.   This  aids
maintenance   of  proper  control  over  the  link   during   the
information transfer state.

2.4.2  P/F Bit Procedures

       The next response frame returned by the DXE to a SABM  or
DISC command with the P bit set to 1 will be a UA or DM  response
with the F bit set to 1.

       The next response frame returned to an I frame with the P
bit  set  to 1, received during the information  transfer  state,
will be a RR, RNR, or REJ response with the F bit set to 1.

       The next response frame returned to a supervisory command
frame  with the P bit set to 1, received during  the  information
transfer state, will be a RR, RNR, or REJ response frame with the
F bit set to 1.

       The  next  response frame returned to a S  or  I  command
frame  with  the  P bit set to 1, received  in  the  disconnected
state, will be a DM response frame with the F bit set to 1.

       The  P  bit  is used in  conjunction  with  the  time-out
recovery condition discussed in 2.3.5.4, above.

       When not used, the P/F bit is set to zero.

2.4.3  Procedures For Link Set-Up and Disconnection

2.4.3.1  LAPB Link Connection Establishment

       When  one DXE wishes to connect to another DXE,  it  will
send  a SABM command frame to that device and start  timer  (T1).
If  the other DXE is there and able to connect, it  will  respond
with  a UA response frame, and reset both of its  internal  state
variables  (V(S)  and V(R)).  The reception of  the  UA  response
frame  at  the  other  end will  cause  the  DXE  requesting  the
connection  to  cancel the T1 timer and set  its  internal  state
variables to 0.

       If the other DXE doesn't respond before T1 times out, the
device requesting the connection will re-send the SABM frame, and
start  T1  running  again.  The DXE should  continue  to  try  to
establish  a  connection  until it has  tried  unsuccessfully  N2
times.  N2 is defined in 2.4.7.2, below.

       If,  upon  reception of a SABM command, the  DXE  decides
that  it  cannot enter the indicated state, it should send  a  DM
frame.

       When  receiving a DM response, the DXE sending  the  SABM
should  cancel  its  T1 timer, and  not  enter  the  information-
transfer state.

       The  DXE sending a SABM command will ignore  and  discard
any  frames except SABM, DISC, UA, and DM frames from  the  other
DXE.

       Frames  other  than UA and DM in response to  a  received
SABM  will  be  sent  only after the link is set  up  and  if  no
outstanding SABM exists.

2.4.3.2  Information-Transfer Phase

       After establishing a link connection, the DXE will  enter
the  information-transfer  state.  In this state,  the  DXE  will
accept  and  transmit I and S frames according to  the  procedure
outlined in 2.4.4, below.

       When  receiving a SABM command while in the  information-
transfer  state,  the  DXE will follow  the  resetting  procedure
outlined in 2.4.6 below.

2.4.3.3  Link Disconnection

2.4.3.3.1
    While  in  the information-transfer state,  either  DXE  may
indicate a request to disconnect the link by transmitting a  DISC
command frame and starting timer T1 (see 2.4.7).

2.4.3.3.2
    A DXE, upon receiving a valid DISC command, shall send a  UA
response  frame  and enter the disconnected state.  A  DXE,  upon
receiving  a  UA  or DM response to a sent  DISC  command,  shall
cancel timer T1, and enter the disconnected state.

2.4.3.3.3
    If  a UA or DM response is not correctly received before  T1
times out, the DISC frame should be sent again and T1  restarted.
If  this happens N2 times, the DXE should enter the  disconnected
state.

2.4.3.4  Disconnected State

2.4.3.4.1
    A  DXE  in  the disconnected state  shall  monitor  received
commands  and react upon the reception of a SABM as described  in
2.4.3.1 above and will transmit a DM frame in response to a  DISC
command.

2.4.3.4.2
    In the disconnected state, a DXE may initiate a link  set-up
as outlined in connection establishment above (2.4.3.1).  It  may
also  respond  to  the  reception  of  a  SABM  and  establish  a
connection, or it may ignore the SABM and send a DM instead.

2.4.3.4.3
    Any  DXE receiving a command frame other than a SABM  or  UI
frame  with the P bit set to one should respond with a  DM  frame
with  the  F  bit  set to one.  The  offending  frame  should  be
ignored.

2.4.3.4.4
    When  the DXE enters the disconnected state after  an  error
condition  or if an internal error has resulted in the DXE  being
in  the  disconnected  state, the DXE  should  indicate  this  by
sending  a  DM response rather than a DISC frame and  follow  the
link  disconnection procedure outlined in 2.4.3.3.3, above.   The
DXE  may then try to re-establish the link using the link  set-up
procedure outlined in 2.4.3.1, above.

2.4.3.5  Collision Recovery

2.4.3.5.1  Collisions in a Half-Duplex Environment

       Collisions  of  frames in a half-duplex  environment  are
taken  care  of  by  the  retry  nature  of  the  T1  timer   and
retransmission count variable.  No other special action needs  to
be taken.

2.4.3.5.2  Collisions of Unnumbered Commands

       If sent and received SABM or DISC command frames are  the
same,  both  DXEs  should  send a UA  response  at  the  earliest
opportunity, and both devices should enter the indicated state.

       If sent and received SABM or DISC commands are different,
both  DXEs should enter the disconnected state and transmit a  DM
frame at the earliest opportunity.

2.4.3.5.3  Collision of a DM with a SABM or DISC

       When  an  unsolicited  DM  response  frame  is  sent,   a
collision  between it and a SABM or DISC may occur.  In order  to
prevent  this  DM from being misinterpreted, all  unsolicited  DM
frames  should  be transmitted with the F bit set to  zero.   All
SABM  and DISC frames should be sent with the P bit set  to  one.
This will prevent any confusion when a DM frame is received.

2.4.3.6  Connectionless Operation

       In  Amateur  Radio,  there  is  an  additional  type   of
operation  that is not feasible using level 2 connections.   This
operation  is  the  round table, where several  amateurs  may  be
engaged  in one conversation.  This type of operation  cannot  be
accommodated by AX.25 link-layer connections.

       The   way   round-table  activity   is   implemented   is
technically  outside  the AX.25 connection, but still  using  the
AX.25 frame structure.

       AX.25 uses a special frame for this operation, called the
Unnumbered  Information (UI) frame.  When this type of  operation
is  used,  the  destination  address  should  have  a  code  word
installed  in  it to prevent the users of that  particular  round
table from seeing all frames going through the shared RF  medium.
An example of this is if a group of amateurs are in a round-table
discussion  about  packet  radio, they could put  PACKET  in  the
destination  address,  so  they would receive  frames  only  from
others in the same discussion.  An added advantage of the use  of
AX.25  in this manner is that the source of each frame is in  the
source  address  subfield,  so  software  could  be  written   to
automatically display who is making what comments.

       Since  this  mode  is connectionless, there  will  be  no
requests for retransmissions of bad frames.  Collisions will also
occur, with the potential of losing the frames that collided.

2.4.4  Procedures for Information Transfer

       Once  a  connection  has been  established,  as  outlined
above, both devices are able to accept I, S, and U frames.

2.4.4.1  Sending I Frames

       Whenever  a DXE has an I frame to transmit, it will  send
the  I frame with N(S) of the control field equal to its  current
send  state  variable V(S).  Once the I frame is sent,  the  send
state  variable  is  incremented  by one.  If  timer  T1  is  not
running, it should be started.  If timer T1 is running, it should
be restarted.

       The DXE should not transmit any more I frames if its send
state variable equals the last received N(R) from the other  side
of  the link plus seven.  If it were to send more I  frames,  the
flow control window would be exceed, and errors could result.

       If  a  DXE is in a busy condition, it may  still  send  I
frames as long as the other device is not also busy.

       If  a  DXE is in the frame-rejection mode, it  will  stop
sending I frames.

2.4.4.2  Receiving I Frames

2.4.4.2.1
    If  a DXE receives a valid I frame (one with a  correct  FCS
and  whose  send sequence number equals  the  receiver's  receive
state variable) and is not in the busy condition, it will  accept
the  received I frame, increment its receive state variable,  and
act in one of the following manners:

1.  If it has an I frame to send, that I frame may be sent with the
    transmitted N(R) equal to its receive state variable V(R) (thus
    acknowledging the received frame).  Alternately, the device may
    send a RR frame with N(R) equal to V(R), and then send the I
    frame.

2.  If there are no outstanding I frames, the receiving device will
    send a RR frame with N(R) equal to V(R).  The receiving DXE may
    wait a small period of time before sending the RR frame to be sure
    additional I frames are not being transmitted.

2.4.4.2.2
    If  the  DXE  is  in a busy condition,  it  may  ignore  any
received  I  frames without reporting this condition  other  than
repeating the indication of the busy condition.

       If  a busy condition exists, the DXE receiving  the  busy
condition   indication  should  poll  the  sender  of  the   busy
indication periodically until the busy condition disappears.

       A  DXE may poll the busy DXE periodically with RR or  RNR
frames with the P bit set to one.

       The  reception  of  I  frames  that  contain  zero-length
information  fields  shall be reported to the next level  but  no
information field will be transferred.

2.4.4.3  Reception of Out of Sequence Frames

       When  an I frame is received with a correct FCS, but  its
send sequence number, N(S), does not match the current receiver's
receive  state  variable, the frame should be discarded.   A  REJ
frame  shall be sent with a receive sequence number equal to  one
higher (modulo 8) than the last correctly received I frame if  an
uncleared  N(S) sequence error condition has not been  previously
established.   The  received state variable and poll bit  of  the
discarded  frame should be checked and acted upon, if  necessary,
before discarding the frame.

2.4.4.4  Reception of Incorrect Frames

       When  a  DXE receives a frame with an incorrect  FCS,  an
invalid  frame, or a frame with an improper address,  that  frame
shall be discarded.

2.4.4.5  Receiving Acknowledgement

       Whenever an I or S frame is correctly received, even in a
busy condition, the N(R) of the received frame should be  checked
to  see if it includes an acknowledgement of outstanding  sent  I
frames.   The T1 timer should be cancelled if the received  frame
actually  acknowledges previously unacknowledged frames.  If  the
T1  timer is cancelled and there are still some frames that  have
been sent that are not acknowledged, T1 should be started  again.
If  the T1 timer runs out before an acknowledgement is  received,
the  device  should proceed to the  retransmission  procedure  in
2.4.4.9.

2.4.4.6  Receiving Reject

       Upon receiving a REJ frame, the transmitting DXE will set
its  send  state variable to the same value as  the  REJ  frame's
received sequence number in the control field.  The DXE will then
retransmit  any  I  frame(s) outstanding at  the  next  available
opportunity conforming to the following:

1.  If the DXE is not transmitting at the time, and the  channel
    is  open,  the  device  may commence  to  retransmit  the  I
    frame(s) immediately.

2.  If   the   DXE  is  operating  on  a   full-duplex   channel
    transmitting  a UI or S frame when it receives a REJ  frame,
    it may finish sending the UI or S frame and then  retransmit
    the I frame(s).

3.  If   the   DXE  is  operating  in  a   full-duplex   channel
    transmitting  another I frame when it receives a REJ  frame,
    it  may  abort  the  I  frame  it  was  sending  and   start
    retransmission of the requested I frames immediately.

4.  The DXE may send just the one I frame outstanding, or it may
    send  more than the one indicated if more I frames  followed
    the  first  one not acknowledged, provided the total  to  be
    sent does not exceed the flow-control window (7 frames).

       If the DXE receives a REJ frame with the poll bit set, it
should  respond with either a RR or RNR frame with the final  bit
set before retransmitting the outstanding I frame(s).

2.4.4.7  Receiving a RNR Frame

       Whenever  a  DXE  receives a RNR  frame,  it  shall  stop
transmission  of  I  frames until the  busy  condition  has  been
cleared.   If timer T1 runs out after the RNR was  received,  the
waiting  acknowledgement  procedure  listed  in  2.4.4.9,  below,
should  be  performed.  The poll bit may be used  in  conjunction
with  S  frames  to test for a change in  the  condition  of  the
busied-out DXE.

2.4.4.8  Sending a Busy Indication

       Whenever a DXE enters a busy condition, it will  indicate
this  by sending a RNR response at the next  opportunity.   While
the  DXE is in the busy condition, it may receive and  process  S
frames,  and if a received S frame has the P bit set to one,  the
DXE should send a RNR frame with the F bit set to one at the next
possible  opportunity.   To  clear the busy  condition,  the  DXE
should  send either a RR or REJ frame with the received  sequence
number equal to the current receive state variable, depending  on
whether the last received I frame was properly received or not.

2.4.4.9  Waiting Acknowledgement

       If timer T1 runs out waiting the acknowledgement from the
other DXE for an I frame transmitted, the DXE will restart  timer
T1  and transmit an appropriate supervisory command frame (RR  or
RNR)  with  the  P  bit set.  If the  DXE  receives  correctly  a
supervisory  response frame with the F bit set and with  an  N(R)
within  the  range from the last N(R) received to the  last  N(S)
sent  plus  one, the DXE will restart timer T1 and will  set  its
send  state  variable  V(S) to the received N(R).   It  may  then
resume   with   I  frame  transmission  or   retransmission,   as
appropriate.  If, on the other hand, the DXE receives correctly a
supervisory response frame with the F bit not set, or an I  frame
or  supervisory command frame, and with an N(R) within the  range
from  the last N(R) received to the last N(S) sent plus one,  the
DXE will not restart timer T1, but will use the received N(R)  as
an  indication of acknowledgement of transmitted I frames  up  to
and including I frame numbered N(R)-1.

       If timer T1 runs out before a supervisory response  frame
with  the  F  bit set is received, the  DXE  will  retransmit  an
appropriate supervisory command frame (RR or RNR) with the P  bit
set.  After N2 attempts to get a supervisory response frame  with
the  F bit set from the other DXE, the DXE will initiate  a  link
resetting procedure as described in 2.4.6, below.

2.4.5  Frame Rejection Conditions

       A  DXE  shall initiate the frame-reset procedure  when  a
frame  is received with the correct FCS and address field  during
the information-transfer state with one or more of the conditions
in 2.3.4.3.3, above.

       Under these conditions, the DXE will ask the other DXE to
reset  the  link by transmitting a FRMR response as  outlined  in
2.4.6.3, below.

       After sending the FRMR frame, the sending DXE will  enter
the  frame reject condition.  This condition is cleared when  the
DXE that sent the FRMR frame receives a SABM or DISC command,  or
a DM response frame.  Any other command received while the DXE is
in the frame reject state will cause another FRMR to be sent  out
with the same information field as originally sent.

       In  the  frame rejection condition, additional  I  frames
will not be transmitted, and received I frames and S frames  will
be discarded by the DXE.

       The DXE that sent the FRMR frame shall start the T1 timer
when  the  FRMR is sent.  If no SABM or DISC  frame  is  received
before the timer runs out, the FRMR frame shall be retransmitted,
and   the  T1  timer  restarted  as  described  in  the   waiting
acknowledgement section (2.4.4.9) above.  If the FRMR is sent  N2
times without success, the link shall be reset.

2.4.6  Resetting Procedure

2.4.6.1
    The   resetting  procedure  is  used  to   initialize   both
directions  of  data  flow  after  a  nonrecoverable  error   has
occurred.   This resetting procedure is used in the  information-
transfer state of an AX.25 link only.

2.4.6.2
    A DXE shall initiate a reset procedure whenever it  receives
an unexpected UA response frame or an unsolicited response  frame
with  the  F bit set to one.  A DXE may also initiate  the  reset
procedure  upon receipt of a FRMR frame.  Alternatively, the  DXE
may  respond to a FRMR by terminating the connection with a  DISC
frame.

2.4.6.3
    A  DXE  shall  reset the link by sending a  SABM  frame  and
starting  timer  T1.  Upon receiving a SABM frame  from  the  DXE
previously connected to, the receiver of a SABM frame should send
a  UA  frame back at the earliest opportunity, set its  send  and
receive  state  variables,  V(S) and V(R), to zero  and  stop  T1
unless it has sent a SABM or DISC itself.  If the UA is correctly
received by the initial DXE, it resets its send and receive state
variables, V(S) and V(R), and stops timer T1.  Any busy condition
that previously existed will also be cleared.

       If  a  DM response is received, the DXE  will  enter  the
disconnected  state  and  stop timer T1.  If timer  T1  runs  out
before  a UA or DM response frame is received, the SABM  will  be
retransmitted  and timer T1 restarted.  If timer T1 runs  out  N2
times,  the  DXE  will  enter the  disconnected  state,  and  any
previously existing link conditions will be cleared.

    Other  commands  or  responses received by  the  DXE  before
completion of the reset procedure will be discarded.

2.4.6.4
    One  DXE  may request that the other DXE reset the  link  by
sending  a  DM response frame.  After the DM frame is  sent,  the
sending DXE will then enter the disconnected state.

2.4.7  List of System Defined Parameters

2.4.7.1  Timers

       To   maintain  the  integrity  of  the  AX.25   level   2
connection, use of these timers is recommended.

2.4.7.1.1  Acknowledgement Timer T1

       The  first timer, T1, is used to make sure a DXE  doesn't
wait  forever  for a response to a frame it  sends.   This  timer
cannot be expressed in absolute time, since the time required  to
send frames varies greatly with the signaling rate used at  level
1.   T1  should take at least twice the amount of time  it  would
take  to send maximum length frame to the other DXE, and get  the
proper response frame back from the other DXE.  This would  allow
time for the other DXE to do some processing before responding.

       If  level  2 repeaters are to be used, the  value  of  T1
should be adjusted according to the number of repeaters the frame
is being transferred through.

2.4.7.1.2  Response Delay Timer T2

       The  second timer, T2, may be implemented by the  DXE  to
specify  a maximum amount of delay to be introduced  between  the
time an I frame is received, and the time the resulting  response
frame is sent.  This delay may be introduced to allow a receiving
DXE to wait a short period of time to determine if there is  more
than  one frame being sent to it.  If more frames  are  received,
the  DXE can acknowledge them at once (up to seven), rather  than
acknowledge  each individual frame.  The use of timer T2  is  not
mandatory,  but  is recommended to  improve  channel  efficiency.
Note  that, on full-duplex channels, acknowledgements should  not
be delayed beyond k/2 frames to achieve maximum throughput.   The
k parameter is defined in 2.4.7.4, below.

2.4.7.1.3  Inactive Link Timer T3

       The third timer, T3, is used whenever T1 isn't running to
maintain  link integrity.  It is recommended that whenever  there
are  no  outstanding  unacknowledged I  frames  or  P-bit  frames
(during  the information-transfer state), a RR or RNR frame  with
the  P  bit set to one be sent every T3 time units to  query  the
status  of the other DXE.  The period of T3 is  locally  defined,
and  depends greatly on level 1 operation.  T3 should be  greater
than T1, and may be very large on channels of high integrity.

2.4.7.2  Maximum Number of Retries (N2)

       The maximum number of retries is used in conjunction with
the T1 timer.

2.4.7.3  Maximum Number of Octets in an I Field (N1)

       The maximum number of octets allowed in the I field  will
be 256.  There shall also be an integral number of octets.

2.4.7.4  Maximum Number of I Frames Outstanding (k)

       The  maximum number of outstanding I frames at a time  is
seven.

                             END.
--------------------------------------------------------------------------