Session Messages By MsgType

Name Description
(0) Heartbeat

The Heartbeat (0) monitors the status of the communication link and identifies when the last of a string of messages was not received.

(1) Test Request

The Test Request (1) message forces a heartbeat from the opposing application. The Test Request (1) message checks sequence numbers or verifies communication line status. The opposite application responds to the Test Request (1) with a Heartbeat (0) containing the TestReqID (112) .

(2) Resend Request

The Resend Request (2) is sent by the receiving application to initiate the retransmission of messages. This function is utilized if a sequence number gap is detected, if the receiving application lost a message, or as a function of the initialization process.

(3) Reject

The reject (3) message should be issued when a message is received but cannot be passed through to the application level. An example of when a reject may be appropriate would be the receipt of a message with invalid basic data (e.g. MsgType=&) which successfully passes de-encryption, CheckSum (10) and BodyLength (9) checks. As a rule, messages should be forwarded to the trading application for business level rejections whenever possible.

(4) Sequence Reset

The Sequence Reset (4) message is used by the sending application to reset the incoming sequence number on the opposing side. This message has two modes: "Sequence Reset-Gap Fill" when GapFillFlag (123) is 'Y' and "Sequence Reset-Reset" when GapFillFlag (123) is N or not present. The "Sequence Reset-Reset" mode should ONLY be used to recover from a disaster situation which cannot be otherwise recovered via "Gap Fill" mode. The Sequence Reset (4) message can be used in the following situations:

  • During normal resend processing, the sending application may choose not to send a message (e.g. an aged order). The Sequence Reset - Gap Fill (4) is used to mark the place of that message.
  • During normal resend processing, a number of administrative messages are not resent, the Sequence Reset - Gap Fill (4) message is used to fill the sequence gap created.
  • In the event of an application failure, it may be necessary to force synchronization of sequence numbers on the sending and receiving sides via the use of Sequence Reset - Reset (4)
(5) Logout

The Logout (5) message initiates or confirms the termination of a FIX session. Disconnection without the exchange of Logout (5) messages should be interpreted as an abnormal condition.

(A) Logon

The Logon (A) message authenticates a user establishing a connection to a remote system. The Logon (A) message must be the first message sent by the application requesting to initiate a FIX session.