Big Book of Internet File Transfer RFCs

As described, the FTP-FTAM gateway provides two sets of services: FTP-Initiated and FTAM-Initiated. Each service has its own mutually exclusive set of state variables and transitions that deterministically define the actions of the gateway. Gateway support for these state variables and transitions is required.
For conciseness in this discussion, FTP-Initiated will be abbreviated with "FTP-I", and FTAM-Initiated will be abbreviated with "FTAM-I".
Concerning error conditions, if a connection is dropped when the gateway is in any state other than FTP-I:Initial-State or FTAM-I:Initial-State, then the gateway will issue a fatal error message to the host with the remaining connection, and then drop that connection. If the remaining host is an FTP Client, then the gateway will send an ABOR, QUIT, and 426 reply code (Connection closed, transfer aborted). If it is an FTAM Initiator, then the gateway will send an F-P-ABORT with a
Other error conditions are not addressed in this discussion.
The set of state variables for the FTP-Initiated Gateway service follow:
| State Variable | State Definition |
|---|---|
| FTP-I:Initial-State | Initial state of FTP-Initiated Gateway service. |
| Gateway is waiting for an FTP Client to issue a USER command in order to proceed with connection establishment with remote FTAM Responder. If SITE or ACCT commands are sent while waiting for USER command, save arguments for subsequent use. | |
| FTP-I:Wait-for-PASS | Gateway has already received USER command from FTP Client, as well... |