ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
AX.25 version 2.2 State Diagrams LegendTAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 1
Data Link Disconnected State — State 0 ..................................................................... 2
Data Link Awaiting Connection State — State 1 ......................................................... 3 State Main_Idea
Data Link Awaiting Release State — State 2 ............................................................... 4
Data Link Connected State — State 3 (page 1 of 3) .................................................... 5
Data Link Connected State — State 3 (page 2 of 3) .................................................... 6
DL-RELEASE
Data Link Connected State — State 3 (page 3 of 3) .................................................... 7 Signal Reception Request
SABM
Data Link Timer Recovery State — State 4 (1 of 3) .................................................... 8
Data Link Timer Recovery State — State 4 (2 of 3) .................................................... 9
Data Link Timer Recovery State — State 4 (3 of 3) .................................................. 10
DL-UNIT-DATA UI command
Data Link Subroutines (1 of 2) ................................................................................... 11 Signal Generator Indication (p-0)
Data Link Subroutines (2 of 2) ................................................................................... 12
Link Multiplexor Idle State — State 0 ....................................................................... 13
Link Multiplexor Seize Pending State — State 1 ....................................................... 14
I frame
Link Multiplexor Seize State — State 2 ..................................................................... 15 InternalSignal
push on I
pops off
frame queue
Link Multiplexor Subroutines .................................................................................... 16 Generator & Reception queue
Management Data Link Ready State — State 0 ......................................................... 17
Management Data Link Negotiating State — State 1 ................................................ 17
Parameter Negotiation N1 Notification Subroutines .................................................. 18 Save a signal until a new
Parameter Negotiation Window Notification Subroutines ......................................... 18 state is reached
Parameter Negotiation Retry Negotiation Subroutines .............................................. 19
Parameter Negotiation T1 Negotiation Subroutines ................................................... 19
Parameter Negotiation Classes of Procedures Negotiation Subroutines .................... 20 stop T2
Processing Description
Parameter Negotiation Optional Functions Negotiation Subroutines ........................ 20 start T1
Duplex Physical Receiver Ready State — State 0 ..................................................... 21
Duplex Physical Receiver Ready State — State 1 ..................................................... 21
Duplex Physical Transmitter Ready State — State 0 ................................................. 22 peer
Duplex Physical Transmitter Start State — State 1 .................................................... 22 Test receiver
busy ?
Duplex Physical Transmitter State — State 2 ............................................................ 23
Simplex Physical Ready State — State 0 ................................................................... 24
Simplex Physical Receiving State — State 1 ............................................................. 25 establish
Simplex Physical Transmitter Suppression State — State 2 ...................................... 26 Subroutine Call data link
Simplex Physical Transmitter Start State — State 3 .................................................. 27
Simplex Physical Transmitter State — State 4 ........................................................... 28
Simplex Physical Digipeating State — State 5 .......................................................... 29 start
Simplex Physical Receiver Start State — State 6....................................................... 30 Subroutine Start transmitter
Simplex Physical Subroutines .................................................................................... 30
Reassembler Ready State — State 0........................................................................... 31
Reassembler Reassembling Data State — State 1 ...................................................... 32
Reassembler Reassembling Unit Data State — State 2 .............................................. 32 Return from Subroutine
Segmenter Ready State — State 0 .............................................................................. 33
Data Link Disconnected State — State 0 ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 2
0 disconnected
control info not incorrect U DL- DL-UNIT-
all other all other all other DL-CONNECT
field premitted or S frame UA DM UI DISCONNECT DISC DATA SABM
commands primitives primitives request
error in frame length request request
DL-ERROR DL-ERROR DL-ERROR DL-ERROR DL- SAT 0 save contens of
No P=1?
Yes Yes link I frame
Yes
clear discard discards SReject
DL-DATA
v(a) 0
v(a) RNR
frame No
v(r) + 1 (expedited)
stored ?
v(a) 0 save contens of
No P=1?
I frame
establish data
Yes link Yes
discard discards SReject
DL-DATA
contents of contents of exception Yes
indication
I frame I frame >0
clear
F RNR
connection frame No
Yes v(r) + 1 (expedited)
stored ?
Yes
No
Yes
clear
N(r) error F
No off set version
negotiation NM201 ?
complete 2.0 defaults
classes of
classes of procedures
MDL-ERROR MDL-ERROR Yes
initiate N1 procedures
indicate indicate negotiation MDL-ERROR
notification negotiation
(A) (B) indication
response
complete (E)
MDL-ERROR MDL-ERROR
retransmit optional
optional indication indiciation
initiate XID command functions
functions (C) (D)
window negotiation
negotiation
notification
response
complete N1
N1 start TM201
initiate retry notification
notification
negotiation
response
complete
window window
initiate T1
notification notification
negotiation
response
complete
retry retry
negotiation negotiation
response
T1 complete T1
negotiation negotiation
response
AC <-- 0;
stop TM201
P <-- 1; P <-- 1
start TM201
XID MDL-
XID command response NEGOTIATE
(expedited) confirm
1 negotiating 0 ready 0 ready 0 ready 1 negotiating 0 ready 0 ready 1 negotiating 0 ready 0 ready
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 18
Parameter Negotiation N1 Notification Subroutines Parameter Negotiation Window Notification Subroutines
N1 initiate window complete
initiate N1 complete N1
notification window notification window
notification notification
response notification response notification
N1 N1 window window
N1
parameter parameter k negotiation parameter parameter
No negotiation No No No No No
field field requested? field field
requested?
present? present? present? present?
Yes Yes
Yes Yes Yes Yes
add RX N1 add RX k
parameter field parameter field
to XID command to XID command
TX N1 TX N1 new k new k
No No No No
acceptable ? acceptable ? acceptable ? acceptable ?
Yes Yes Yes Yes
change to new change to new change to new change to new
set TX N1 to set TX N1 to change to change to
TX N1 from XID RX N1 from XID TX k from XID TX k from XID
default default default k default TX k
command response command response
add RX N1 add RX k
parameter field parameter field
to XID response to XID response
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 19
Parameter Negotiation Retry Negotiation Subroutines Parameter Negotiation T1 Negotiation Subroutines
initiate retry complete T1
initiate T1 complete T1
retry negotiation retry negotiation
negotiation negotiation
negotiation response negotiation response
retry retry T1 T1
retry T1
parameter parameter parameter parameter
No negotiation No No No negotiation No No
field field field field
requested ? requested ?
present? present? present? present?
Yes Yes
Yes Yes Yes Yes
add retry add T1
parameter field parameter field
to XID command to XID command
change to new change to new
new N2 new T1
No N2 from XID No T1 from XID
acceptable acceptable?
response response
Yes Yes
change to new select and change to new select and
N2 from XID change to T1 from XID change to
command smaller N2 command smaller T1
add N2 add T1
parameter field parameter field
to XID response to XID response
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 20
Parameter Negotiation Classes of Procedures Negotiation Subroutines Parameter Negotiation Optional Functions Negotiation Subroutines
initiate classes of complete initiate optional complte
optional functions optional
classes of procedures classes of functions negotiation functions
procedures negotiation procedures negotiation response negotiation
negotiation response negotiation
optional optional
optional
functions functions
functions
No No parameter No parameter
optional optional negotiation
optional requrested?
field field
functions function present? present?
functions
No No parameter No parameter
negotiation
field field
requrested?
present? present? Yes Yes Yes
Yes Yes Yes select required modulo 128 modulo 128
Yes Yes
functions acceptable ? acceptable ?
No No
full-
select required full-duplex
Yes duplex Yes
functions acceptable? add optional
selected? functions
set normal set extended set normal set extended
parameter field
to XID command
No
No
add optional
functions SREJ/REJ
Yes
set half-duplex set full-duplex set half-duplex set full-duplex acceptable?
parameter field
SREJ &
to XID command REJ Yes
No
selected?
No
SREJ
Yes
acceptable?
SREJ
Yes
No selected?
add optional
functions
No
parameter to
select implicit select selective select selective
XID response reject reject reject-reject
select implicit select selective select selective
reject reject reject-reject
add optional
functions
parameter field
to XID response
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 21
Duplex Physical Receiver Ready State — State 0 Duplex Physical Receiver Ready State — State 1
0 receiver
1 receiving
ready
acquisition all other loss of
frame
of signal primitives signal
discard
PH-DATA PH-QUIET
stop all timers erronous
indication indication
primitive
PH-BUSY
indication
1 receiving 0 receiving
0 receiver
1 receiving
ready
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 22
Duplex Physical Transmitter Ready State — State 0 Duplex Physical Transmitter Start State — State 1
0 transmitter 1 transmitter
ready start
PH-SIEZE PH-RELEASE all other T103 all other
request request primitives expiry primitives
add to normal PH-SEIZE add to normal
start T103
queue confirm queue
turn on
transmitter
1 transmitter 0 transmitter 0 transmitter 1 transmitter
2 transmitting
start ready ready start
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 23
Duplex Physical Transmitter State — State 2
2 transmitting
PH-
PH-SEIZE PH-RELEASE PH-DATA all other
EXPEDITED-
request request request primitives
DATA request
PH-SEIZE turn off add to normal
confirm transmitter queue
frame
0 transmitter
2 transmitting 2 transmitting 2 transmitting
ready
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
Simplex Physical Ready State — State 0 TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 24
NOTE - Normal queue processing is enabled. Digipeater
0 ready
queue is empty
PH-
all other PH-SEIZE PH-RELEASE PH-DATA T102 acquisition all other
EXPEDITED-
primitives request request request expiry of signal primitives
DATA request
add frame to discard clear discard
add to normal clear
priority erroneous repeater acquisition erroneous
queue digipeating
queue primitive up primitive
start
set digipeating
transmitter
start
transmitter
3 transmitter 3 transmitter
0 ready 0 ready 0 ready 0 ready 1 receiving 0 ready
start start
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 25
Simplex Physical Receiving State — State 1
NOTE - Normal queue and digipeating queue processing
1 receiving
is suspended
PH-
all other PH-SEIZE loss
EXPEDITED-
primitives request of signal
DATA request
priority
add frame to queue Yes
add to normal PH-DATA start empty ?
priority
queue indication T100
queue
No
start
T101 set digipeating
PH-QUIET
indication start
transmitter
1 receiving 1 receiving 1 receiving 3 transmitter 2 transmitter
start suppression
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 26
Simplex Physical Transmitter Suppression State — State 2
2 transmitter NOTE - Normal queue and digipeating queue processing
suppression is suspended
Note 2 - p is the
PH-
all other T100 acquisition all other T102 T101 persistance
EXPEDITED-
primitives expiry of signal primitives expiry expiry parameter in the
DATA request
range 0 to 1
add frame to discard
add to normal clear repater R
priority acquisition erroneous No
queue up (note 2)
queue primitive
Yes
priority
set
No queue
digipeating
empty ?
interrupted
No
?
Yes
start
transmitter Yes
R <- random
set digipeater number in
range 0 to 1
resume
start
processing start T102
transmitter
normal queue
start
transmitter
3 transmitter 2 transmitter 2 transmitter 3 transmitter 3 transmitter 2 transmitter
suppression suppression 1 receiving 0 ready 0 ready
start start start suppression
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 27
Simplex Physical Transmitter Start State — State 3
3 transmitter NOTE - Normal queue and digipeating queue processing
start are suspended
PH-
all other T100 T104 T103 T105
EXPEDITED-
primitives expiry expiry expiry expiry
DATA request
add frame to
add to normal clear repater repeater start
priority set repeater up No
queue up up ? T106
queue
Yes
start
digipeating No
T107
start start start
T105 T105 T104 Yes
interrupted
resume Yes
processing
No
priority queue
PH-SEIZE
confirm
resume
processing
normal queue
3 transmitter 3 transmitter 3 transmitter 3 transmitter 3 transmitter 3 transmitter
start start 5 digipeating 4 transmitting
start start start start
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
Simplex Physical Transmitter State — State 4 TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 28
NOTE - Normal queue processing is enabled. Digipeat
4 transmitting
queue processing is suspended.
PH-
all other PH-SEIZE PH-DATA T107 PH-RELEASE T106
EXPEDITED-
primitives request request expiry request expiry
DATA request
add frame to
add to normal PH-SEIZE set stop stop
priority frame
queue confirm interrupted T107 107
queue
clear set
interrupted interrupted
suspend all
queue
processing
suspend all
queue
processing
priority
stop
queue Yes
T106
empty ?
No
resume
turn off
processing
transmitter
digipeat queue
start
set digipeating
T108
4 transmitting 4 transmitting 4 transmitting 4 transmitting 5 digipeating 6 receiver start
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
Simplex Physical Digipeating State — State 5 TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 29
NOTE - Normal queue processing is suspended. Digipeat
5 digipeating
queue processing is enabled.
PH- priority
all other priority T106
EXPEDITED- queue
primitives frame expiry
DATA request empty
add frame to
add to normal
priority frame
queue
queue
turn
off
transmitter
clear
digipeating
start
T108
suspend
processing
digipeat queue
5 digipeating 5 digipeating 5 digipeating 6 receiver start
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 30
Simplex Physical Receiver Start State — State 6 Simplex Physical Subroutines
NOTE - Normal queue and digipeat queue processing is start
6 receiver start transmitter
acquisition
suspended.
suspend
priority queue set repeater up
processing
PH-
all other T108
EXPEDITED- suspend all
primitives expiry
DATA request normal queue stop all timers
processing
add frame to
add to normal start stop all timers
suspend
priority priority queue
queue T100 expect T100
queue processing
syspend normal
start
start T103
queue
T101 processing
PH-BUSY PH-BUSY
indiciation indiciation
PH-QUIET
indication
turn on
transmitter
2 transmitter
6 receiver start 6 receiver start
suspression
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
Reassembler Ready State — State 0 TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 31
0 ready
all other DL-UNIT-
DL-DATA
DL DATA
indication
primitives indication
send
unmodified
primitive segment segment
info info
No No
element element
present? present?
Yes Yes
DL-DATA first first
No No
indication segment ? segment ?
Yes Yes
allocate buffers allocate buffers
discard DL-UNIT-DATA
for all for all
segment indiciation
segments segments
accumulate DL error (Z) accumulate
first segment indication first segment
N <-- number N <-- number
of segments of segments
remaining remaining
start start
TR210 TR210
1 reassembling 2 reassembling
0 ready 0 ready 0 ready 0 ready
data unit data
ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 32
Reassembler Reassembling Data State — State 1 Reassembler Reassembling Unit Data State — State 2
1 reassembling 2 reassembling
data unit data
DL-UNIT-
TR210 DL-DATA all other DL TR210 all other DL
DATA
expiry indication primitives expiry primitives
indication
discard all segment discard all discard all segment discard all
accumulated PID No accumulated accumulated PID No accumulated
segments present? segments segments present? segments
Yes Yes
DL-ERROR stop DL-ERROR stop
indication (Z) TR210 indication (Z) TR210
subsequent subsequent
No No
segment? segment?
DL-ERROR DL-ERROR
Yes indiciation (Z) Yes indiciation (Z)
number save number save
remaining No received DL remaining No received DL
segments=N? primitive segments=N? primitive
Yes Yes
discard all discard all
No N=0? accumlated No N=0? accumlated
segments segments
Yes Yes
stop stop
TR210 TR210
restart stop restart stop
TR210 TR210 TR210 TR210
DL-ERROR DL-ERROR
indication (Z) indication (Z)
assemble this assemble last assemble this assemble last
segment to segment to segment to segment to
previous previous previous previous
DL-DATA DL-DATA
indication indication
1 reassembling 2 reassembling
0 ready 0 ready 0 ready 0 ready 0 ready 0 ready
data unit data
Segmenter Ready State — State 0 ARRL AX.25 ver 2.2 State Diagrams • 1st Revision 2/26/96
TAPR • tapr@tapr.org • www.tapr.org • (817) 383-0000 33
0 ready
DL-UNIT
DL-DATA all other DL
-DATA
request primitives
indication
send
unmodified
primitive
longer than longer than
No No
N1 octets ? N1 octets ?
Yes Yes
longer than longer than
Yes Yes
(N1*128)? (N1*128)?
No No
DL-ERROR DL-ERROR
divide into DL-DATA divide into DL-UNIT-DATA
indication indication
segments request segments request
(Y) (Y)
insert segments insert segments
info elements at info elements at
start of each start of each
segment segment
DL-DATA DL-UNIT-DATA
request request
all all
segments No segments No
sent? sent?
Yes Yes
0 ready 0 ready 0 ready 0 ready 0 ready 0 ready 0 ready