9.2 DICOM Upper Layer Protocol for TCP/IP State Machine
Prev | 9 DICOM Upper Layer Protocol for TCP/IP | Next

## 9.2 DICOM Upper Layer Protocol for TCP/IP State Machine

### 9.2.1 Machine States Definition

Table 9-1. No Association

State | Definition
--- | ---
Sta 1 | Idle

Table 9-2. Association Establishment

State | Definition
--- | ---
Sta 2 | Transport connection open (Awaiting A-ASSOCIATE-RQ PDU)
Sta 3 | Awaiting local A-ASSOCIATE response primitive (from local user)
Sta 4 | Awaiting transport connection opening to complete (from local transport service)
Sta 5 | Awaiting A-ASSOCIATE-AC or A-ASSOCIATE-RJ PDU

Table 9-3. Data Transfer

State | Definition
--- | ---
Sta 6 | Association established and ready for data transfer

Table 9-4. Association Release

State | Definition
--- | ---
Sta 7 | Awaiting A-RELEASE-RP PDU
Sta 8 | Awaiting local A-RELEASE response primitive (from local user)
Sta 9 | Release collision requestor side; awaiting A-RELEASE response (from local user)
Sta 10 | Release collision acceptor side; awaiting A-RELEASE-RP PDU
Sta 11 | Release collision requestor side; awaiting A-RELEASE-RP PDU
Sta 12 | Release collision acceptor side; awaiting A-RELEASE response primitive (from local user)

Table 9-5. Waiting for Transport Connection Close

State | Definition
--- | ---
Sta 13 | Awaiting Transport Connection Close Indication (Association no longer exists)

### 9.2.2 State Machine Actions Definition

Table 9-6. Association Establishment Related Actions

Action | Definition
--- | ---
AE-1 | Issue TRANSPORT CONNECT request primitive to local transport service Next state is Sta4
AE-2 | Send A-ASSOCIATE-RQ-PDU Next state is Sta5
AE-3 | Issue A-ASSOCIATE confirmation (accept) primitive Next state is Sta6
AE-4 | Issue A-ASSOCIATE confirmation (reject) primitive and close transport connection Next state is Sta1
AE-5 | Issue Transport connection response primitive; start ARTIM timer Next state is Sta2
AE-6 | Stop ARTIM timer and if A-ASSOCIATE-RQ acceptable by service-provider: issue A-ASSOCIATE indication primitive Next state is Sta3 otherwise: issue A-ASSOCIATE-RJ-PDU and start ARTIM timer Next state is Sta13
AE-7 | Send A-ASSOCIATE-AC PDU Next state is Sta6
AE-8 | Send A-ASSOCIATE-RJ PDU and start ARTIM timer Next state is STA13

Table 9-7. Data Transfer Related Actions

State | Definition
--- | ---
DT-1 | Send P-DATA-TF PDU Next state is Sta6
DT-2 | Send P-DATA indication primitive Next state is Sta6

Table 9-8. Association Release Related Actions

Action | Definition
--- | ---
AR-1 | Send A-RELEASE-RQ PDU Next state is Sta7
AR-2 | Issue A-RELEASE indication primitive Next state is Sta8
AR-3 | Issue A-RELEASE confirmation primitive, and close transport connection Next state is Sta1
AR-4 | Issue A-RELEASE-RP PDU and start ARTIM timer Next state is Sta13
AR-5 | Stop ARTIM timer Next state is Sta1
AR-6 | Issue P-DATA indication Next state is Sta7
AR-7 | Issue P-DATA-TF PDU Next state is Sta8
AR-8 | Issue A-RELEASE indication (release collision): if association-requestor, next state is Sta9 if not, next state is Sta10
AR-9 | Send A-RELEASE-RP PDU Next state is Sta11
AR-10 | Issue A-RELEASE confirmation primitive Next state is Sta12

Table 9-9. Association Abort Related Actions

Action | Definition
--- | ---
AA-1 | Send A-ABORT PDU (service-user source) and start (or restart if already started) ARTIM timer Next state is Sta13
AA-2 | Stop ARTIM timer if running. Close transport connection Next state is Sta1
AA-3 | If (service-user inititated abort): issue A-ABORT indication and close transport connection otherwise (service-provider inititated abort): issue A-P-ABORT indication and close transport connection Next state is Sta1
AA-4 | Issue A-P-ABORT indication primitive Next state is Sta1
AA-5 | Stop ARTIM timer Next state is Sta1
AA-6 | Ignore PDU Next state is Sta13
AA-7 | Send A-ABORT PDU Next state is Sta13
AA-8 | Send A-ABORT PDU (service-provider source-), issue an A-P-ABORT indication, and start ARTIM timer Next state is Sta13

### 9.2.3 DICOM Upper Layer Protocol for TCP/IP State Transition Table

The DICOM Upper Layer Protocol State transitions are specified in Table 9-10. This table addresses both the normal and error cases for the protocol operation. Both the called and the calling aspects of an association are described in this table.

Table 9-10. DICOM Upper Layer Protocol State Transition Table

STATES | No assocn | Association establishment | Data transfer | Association release (normal & collision) | Wait for Tp Close
--- | --- | --- | --- | --- | ---
EVENTS | Sta1 | Sta2 | Sta3 | Sta4 | Sta5 | Sta6 | Sta7 | Sta8 | Sta9 | Sta10 | Sta11 | Sta12 | Sta13
A-ASSOCIATE Request (local user) | AE-1 Sta4 |  |  |  |  |  |  |  |  |  |  |  |
Transport Conn. Confirmn (local transport service) |  |  |  | AE-2 Sta5 |  |  |  |  |  |  |  |  |
A-ASSOCIATE-AC PDU (received on transport connection) |  | AA-1 Sta13 | AA-8 Sta13 |  | AE-3 Sta6 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-6 Sta13
A-ASSOCIATE-RJ PDU (received on transport connection) |  | AA-1 Sta13 | AA-8 Sta13 |  | AE-4 Sta1 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-6 Sta13
Transport Connection Indication (local transport service) | AE-5 Sta2 |  |  |  |  |  |  |  |  |  |  |  |
A-ASSOCIATE-RQ PDU (received on transport connection) |  | AE-6 Sta3 or 13 | AA-8 Sta13 |  | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-7 Sta13
A-ASSOCIATE response primitive (accept) |  |  | AE-7 Sta6 |  |  |  |  |  |  |  |  |  |
A-ASSOCIATE response primitive (reject) |  |  | AE-8 Sta13 |  |  |  |  |  |  |  |  |  |
P-DATA request primitive |  |  |  |  |  | DT-1 Sta6 |  | AR-7 Sta8 |  |  |  |  |
P-DATA-TF PDU |  | AA-1 Sta13 | AA-8 Sta13 |  | AA-8 Sta13 | DT-2 Sta6 | AR-6 Sta7 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-6 Sta13
A-RELEASE Request primitive |  |  |  |  |  | AR-1 Sta7 |  |  |  |  |  |  |
A-RELEASE-RQ PDU (received on open transport connection) |  | AA-1 Sta13 | AA-8 Sta13 |  | AA-8 Sta13 | AR-2 Sta8 | AR-8 Sta9 or 10 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-6 Sta13
A-RELEASE-RP PDU (received on transport connection) |  | AA-1 Sta13 | AA-8 Sta13 |  | AA-8 Sta13 | AA-8 Sta13 | AR-3 Sta1 | AA-8 Sta13 | AA-8 Sta13 | AR-10 Sta12 | AR-3 Sta1 | AA-8 Sta13 | AA-6 Sta13
A-RELEASE Response primitive |  |  |  |  |  |  |  | AR-4 Sta13 | AR-9 Sta11 |  |  | AR-4 Sta13 |
A-ABORT Request primitive |  |  | AA-1 Sta13 | AA-2 Sta1 | AA-1 Sta13 | AA-1 Sta13 | AA-1 Sta13 | AA-1 Sta13 | AA-1 Sta13 | AA-1 Sta13 | AA-1 Sta13 | AA-1 Sta13 |
A-ABORT PDU (received on open transport connection) |  | AA-2 Sta1 | AA-3 Sta1 |  | AA-3 Sta1 | AA-3 Sta1 | AA-3 Sta1 | AA-3 Sta1 | AA-3 Sta1 | AA-3 Sta1 | AA-3 Sta1 | AA-3 Sta1 | AA-2 Sta1
Transport connection closed indication (local transport service) |  | AA-5 Sta1 | AA-4 Sta1 | AA-4 Sta1 | AA-4 Sta1 | AA-4 Sta1 | AA-4 Sta1 | AA-4 Sta1 | AA-4 Sta1 | AA-4 Sta1 | AA-4 Sta1 | AA-4 Sta1 | AR-5 Sta1
ARTIM timer expired (Association reject/release timer) |  | AA-2 Sta1 |  |  |  |  |  |  |  |  |  |  | AA-2 Sta1
Unrecognized or invalid PDU received |  | AA-1 Sta13 | AA-8 Sta13 |  | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-8 Sta13 | AA-7 Sta13

Prev | Up | Next
9 DICOM Upper Layer Protocol for TCP/IP | Home | 9.3 DICOM Upper Layer Protocol for TCP/IP Data Units Structure