FIX 4.4 : Logon <A> message

Structure | Sample Message | Related Messages

Description

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.

The HeartBtInt <108> field is used to declare the timeout interval for generating heartbeats (same value used by both sides). The HeartBtInt <108> value should be agreed upon by the two firms and specified by the Logon initiator and echoed back by the Logon acceptor.

Upon receipt of a Logon <A> message, the session acceptor will authenticate the party requesting connection and issue a Logon <A> message as acknowledgment that the connection request has been accepted. The acknowledgment Logon <A> can also be used by the initiator to validate that the connection was established with the correct party.

successful-logonSuccessful Logon

The session acceptor must be prepared to immediately begin processing messages after receipt of the Logon <A>. The session initiator can choose to begin transmission of FIX messages before receipt of the confirmation Logon <A>, however it is recommended that normal message delivery wait until after the return Logon <A> is received to accommodate encryption key negotiation.

The confirmation Logon <A> can be used for encryption key negotiation. If a session key is deemed to be weak, a stronger session key can be suggested by returning a Logon <A> message with a new key. This is only valid for encryption protocols that allow for key negotiation. (See the FIX Web Site's Application notes for more information on a method for encryption and key passing.)

The Logon <A> message can be used to specify the MaxMessageSize <383> supported (e.g. can be used to control fragmentation rules for very large messages which support fragmentation). It can also be used to specify the MsgTypes supported for both sending and receiving.

Structure

Tag Field Name Req'd Comments
<MessageHeader> Y MsgType <35> = A
98 EncryptMethod Y

(Always unencrypted)

108 HeartBtInt Y

Note same value used by both sides

95 RawDataLength N

Required for some authentication methods

96 RawData N

Required for some authentication methods

141 ResetSeqNumFlag N

Indicates both sides of a FIX session should reset sequence numbers

789 NextExpectedMsgSeqNum N

Optional, alternative via counterparty bi-lateral agreement message gap detection and recovery approach (see Volume 2 - "Logon Message NextExpectedMsgSeqNum Processing" section)

383 MaxMessageSize N

Can be used to specify the maximum number of bytes supported for messages received

384 NoMsgTypes N

Specifies the number of repeating RefMsgTypes <372> specified

=> 372 RefMsgType N

Specifies a specific, supported MsgType <35>. Required if NoMsgTypes <384> is > 0. Should be specified from the point of view of the sender of the Logon <A> message

=> 385 MsgDirection N

Indicates direction (send vs. receive) of a supported MsgType <35>. Required if NoMsgTypes <384> is > 0. Should be specified from the point of view of the sender of the Logon <A> message

464 TestMessageIndicator N

Can be used to specify that this FIX session will be sending and receiving 'test' vs. 'production' messages.

553 Username N
554 Password N

Note: minimal security exists without transport-level encryption.

<MessageTrailer> Y

 

Sample Message

The '^' character is used to represent SOH character.

8=FIX.4.4^9=102^35=A^49=BuySide^56=SellSide^34=1^52=20190605-11:40:30.392^98=0^108=30^141=Y^553=Username^554=Password^10=104^

Related Messages