Session-Level Messages
Establishing a connection
- Client sends server → Logon
<A>message - Is client ResetSeqNumFlag
<141>set toY?- Yes, reset sequence numbers and proceed:
- Server resets the next expected client sequence number
- Server resets its own sequence number
- Server responds with ← Logon
<A>message with reset sequence number - Client sends server → Heartbeat
<0>
- No, negotiate sequence numbers on both sides:
- Is client MsgSeqNum
<34>value what the server is expecting?- No, value is greater than expected:
- Server responds with ← Logon
<A>message - Server sends client ← Resend Request
<2> - Client sends server → Sequence Reset
<4>(GapFillFlag<123>=Y)
- Server responds with ← Logon
- No, value is less than expected:
- Server disconnects
- After checking what happened, client re-sends Logon
<A>message with ResetSeqNumFlag<141>field set toY
- Otherwise:
- server sends client ← Heartbeat
<0>
- server sends client ← Heartbeat
- No, value is greater than expected:
- Is server MsgSeqNum
<34>value what the client is expecting?- No, value is greater than expected:
- Server responds with ← Logon
<A>message - Client sends server → Resend Request
<2> - If the server is unable to replay the messages due to technical reasons, it may send a Business Message Reject
<j>message with:- BusinessRejectReason
<380>set to0(Other) - Text
<58>set to"Unable to process ResendRequest. Please contact support."
- BusinessRejectReason
- If there are no issues, the server proceeds to replay the messages to the client:
- Server responds with ← message PossDupFlag
<43>=Y - Replay from server to client is complete
- Server responds with ← Heartbeat
<0>
- Server responds with ← message PossDupFlag
- Server responds with ← Logon
- No, value is less than expected:
- Client disconnects or sends server → Logout
<5> - Gemini coordinates with the client to triage so the FIX connection can be re-established
- Client disconnects or sends server → Logout
- Otherwise:
- Client sends server → Heartbeat
<0>
- Client sends server → Heartbeat
- No, value is greater than expected:
- Is client MsgSeqNum
- Yes, reset sequence numbers and proceed:
- Success! Your FIX connection is established.
Last modified on

