Question on Re-logon and Reject-Session Level checking

Imported from previous forum

[ original email was from Suan Gaik Chuah - suangaik@planetasia.com.sg ]
hi:

Question 1:

Should the connection remain if session disconnected accidentally/power trip/in-activity/etc?

Can the session re-establish by sending new Logon message and if yes, what is the seq num?
will it start with 1 again or continue from the previous session’s last seq num?

If we continue by using the previous seq num, How to monitor the order made in the previous session?

Question 2:

For all message (admin and application), we need to parse and check incoming message string.
We should check for 11 conditions to make sure we need to send Reject-Session Level message or not.

I am not sure how to check for the CompID problem, Sending Time accuracy problem (what should be checked?)

I am confuse of invalid tag num and undefined tag checking.

According to FIX4.2,
-Tags > 442 are undefined
-Tag 24,51,85,86,125- no longer used (Q: still used in older version?)
-Tag 101- not defined, (Q: why?)
-Tag 220-222&224-230&232 -261-reserved/Allocated FIX Income Proposal (Q: what is the purpose?)

tag 5000 to 9999 - registered and defined between 2 parties.
tag > 10000 - internal used within the firm, no need registration

11 checking:

For 35=3(Reject - Session Level) - SessionRejectReason(373=num, optional
field); num as below:
0 = Invalid tag number
1 = Required tag missing
2 = Tag not defined for this message type
3 = Undefined Tag
4 = Tag specified without a value
5 = Value is incorrect (out of range) for this tag
6 = Incorrect data format for value
7 = Decryption problem
8 = Signature problem
9 = CompID problem
10 = SendingTime accuracy problem
11 = Invalid MsgType

thanks,
sg

  1. Resetting to 1 is performed at an agreed upon time and not every time you logon. In a simple case, I connect to you from 7am to 6pm. At 7am we will both start w/ MsgSeqNum of 1. If we disconnect and are down for whatever reason from 9am-9:30am, then we will reconnect continuing to use the MsgSeqNum values where we left off. It is better to think of the “Session” as lasting from 7am to 6pm and the “Connection” as being the physical connection which could be interrupted and re-established during that period. In a simple, single market case you are likely to have orders for that day applicable only to that session. If you have multi-day orders or trade 24 hours across markets, then you may have orders spanning sessions. Any reference to your orders would be by ClOrdID (or broker’s OrderID) and not MsgSeqNum and if using multi-day orders these should be unique.

  2. Please refer to a recently posted document within Organization, Technical Committee named “FIX Session-level Test Cases and Expected Behaviors”. This is also part of FIX 4.3 Draft #2’s Volume 2 as an appendix. A FIX engine will “know” the settings for a specific FIX session (within its configuration) and thus checking SenderCompID on messages you receive would be against the expected value per the configuration settings for that FIX session.

> hi:
>
> Question 1:
> ===========
> Should the connection remain if session disconnected accidentally/power trip/in-activity/etc?
>
> Can the session re-establish by sending new Logon message and if yes, what is the seq num?
> will it start with 1 again or continue from the previous session’s last seq num?
>
> If we continue by using the previous seq num, How to monitor the order made in the previous session?
>
> Question 2:
> ===========
> For all message (admin and application), we need to parse and check incoming message string.
> We should check for 11 conditions to make sure we need to send Reject-Session Level message or not.
>
> I am not sure how to check for the CompID problem, Sending Time accuracy problem (what should be checked?)
>
> I am confuse of invalid tag num and undefined tag checking.
>
> According to FIX4.2,
> -Tags > 442 are undefined
> -Tag 24,51,85,86,125- no longer used (Q: still used in older version?)
> -Tag 101- not defined, (Q: why?)
> -Tag 220-222&224-230&232 -261-reserved/Allocated FIX Income Proposal (Q: what is the purpose?)
>
> tag 5000 to 9999 - registered and defined between 2 parties.
> tag > 10000 - internal used within the firm, no need registration
>
> 11 checking:
> ============
> For 35=3(Reject - Session Level) - SessionRejectReason(373=num, optional
> field); num as below:
> 0 = Invalid tag number
> 1 = Required tag missing
> 2 = Tag not defined for this message type
> 3 = Undefined Tag
> 4 = Tag specified without a value
> 5 = Value is incorrect (out of range) for this tag
> 6 = Incorrect data format for value
> 7 = Decryption problem
> 8 = Signature problem
> 9 = CompID problem
> 10 = SendingTime accuracy problem
> 11 = Invalid MsgType
>
>
> thanks,
> sg
>
>
>