Hi,
I am transferring the file from Mendelson to SI. The sequence is shown below:
1. Mendelson transfers the file and sends EFID
2. Listener responds with EFPA
3. Mendelson responds with ESID
[3:56:58 PM] [1283855206996347] Send command: EFID
[3:56:58 PM] [1283855206996347] Send command:
o-----------------------------------------------------
| EFID End File
o-----------------------------------------------------
| 0 | X(1) | ESIDCMD | EFID Command | 'T' | [54]
| 1 | 9(17) | EFITRCNT | Record Count | '00000000000000000' | [30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30]
| 18 | 9(17) | EFIDUCNT | Unit Count | '00000000000008285' | [30 30 30 30 30 30 30 30 30 30 30 30 30 38 32 38 35]
o-----------------------------------------------------
[3:57:20 PM] [1283855206996347] Received stream transmission header (10 00 00 06) indicating 2 following bytes
[3:57:20 PM] [1283855206996347] Received bytes 34 4e
[3:57:20 PM] [1283855206996347] Received command EFPA
[3:57:20 PM] [1283855206996347] Received command
o--------------------------------------------------
| EFPA End File Positive Answer
o--------------------------------------------------
| 0 | X(1) | EFPACMD | EFPA Command | '4' | [34]
| 1 | X(1) | EFPACD | Change Direction Indicator | 'N' | [4e]
o--------------------------------------------------
[3:57:20 PM] [1283855206996347] Statemachine "Speaker State Machine" received signal "EFPA", state is "CLOP"
[3:57:20 PM] [1283855206996347] Statemachine "Speaker State Machine" received signal "F_CLOSE_FILE_CF_OUTBOUND", state is "CLOP"
[3:57:20 PM] [1283855206996347] Session state: CLOP --> IDLESPCD
[3:57:20 PM] [1283855206996347] Processing unit received signal "SYSTEM_IS_IDLE_SPEAKER", state is "IDLESPCD"
[3:57:20 PM] [1283855206996347] Send stream transmission header (10 00 00 0b)
[3:57:20 PM] [1283855206996347] Send bytes: 46 30 30 30 30 30 0d
[3:57:20 PM] [1283855206996347] Send command: ESID
[3:57:20 PM] [1283855206996347] Send command:
o----------------------------------------------
| ESID End Session
o----------------------------------------------
| 0 | X(1) | ESIDCMD | ESID Command | 'F' | [46]
| 1 | 9(2) | ESIDREAS | Reason Code | '00' | [30 30]
| 3 | 9(3) | ESIDREASL | Reason Text Length | '000' | [30 30 30]
| 6 | T(n) | ESIDREAST | Reason Text | '' | []
| 6 | X(1) | ESIDCR | Carriage Return | '
' | [0d]
o----------------------------------------------
As per RFC-5024, ESID command can not immediately be sent after receiving the EFPA command. See the RFC notes below:
“The Speaker terminates the session by sending an End Session (ESID)
command. The Speaker may only do this if the Listener has just
relinquished its role as speaker."
A listener relinquishes its role as speaker by receiving CD command. That means the speaker can end the session (by sending ESID) only if the last received command was CD.
However, Mendelson responds with ESID immediately after receiving the EFPA command, which is not in-sync with RFC.
Can you check and correct me if my understanding is wrong?
--
Thanks,
Manoj Kumar
Hi, I have the same problem, have you resolved it?
ammonite,
that is not a problem in my understanding. Manoj Kumar deleted the rest of this thread, that is why you cannot read my answers here.
If a EFPACD = N is received sending a CD makes no sense. If you want to change the direction please send a EFPACD = Y, then a CD will be the answer. If a EFPACD = N comes in a and no NERP/EERP/new message is availble there is no other option then sending a ESID to close the session.
What would you expect in such a case?
Regards
Heller
Hi Heller,
for the situation that more than one file would be transfered.
SFID-->
...
EFID-->
<--EFPA (no CD)
SFID-->
...
EFID-->
<--EFPA (no CD)
CD-->
<--EERP
RTR-->
<--EERP
you cannot handel this situation.
Verena
Hi Verena,
are you just implementing a new OFTP2 solution? Could you point me the case in the RFC statemachine description, this will make it easier for me to check.
In my opinion a
<--EFPA (no CD)
CD-->
will never occur, this is only possible for
<--EFPA (CD)
CD-->
Do I missunderstand the issue?
Regards
Heller
Hi Heller
<--EFPA (no CD) eerp not created, e.g. you are not really destination of this file.
-->ESID, closed
but the partner has more files for you? so somthing wrong with your automata.
my point.
Verena
ammonite,
If the partner has more files he has to send a request to become the speaker (which is EFPA with CD). Without this a CD will not occur afterwards and the speaker may close the session.
Please have a look at RFC 5024 9.10.1 Speaker State Table:
After the receipt of EFPA with CD=N the speakers state turns to IDLESPCD. In this state he must not send a CD.
If you look from the listeners side you will see that he does not even expect a CD after sending a EFPA (no CD). Its in RFC 5024 9.12.2 processing K. The only state where a CD is expected is WF_CD - and this is archieved only for outbound EFPA (CD-Req).
Regards
Heller