The Establishment Reject message is sent when an Establish message from the customer is rejected by CME.


TagField NameBinary TypeBinary LengthReqEnumerationDescription

Reject reason details.

Only used for descriptive rejects.


Matches Establish.UUID value.

Matches Establish.RequestTimestamp value.

Next expected message sequence number.

On primary connection, the expected message sequence number of the next business message from CME to customer.

  • At the beginning of the week this should be set to 1
  • Should be set to last known message sequence number + 1 for Establish message sent midweek using same UUID as previous Establish message
  • Should be set to 1 for Establish message sent midweek using different UUID from previous Establish message

On backup connection, this will be set to 0.


Rejection codes:

0 - HMACNotAuthenticated: failed authentication because identity is not recognized

1 - HMACNotAvailable: HMAC component is not responding (5sec)

3 - InvalidTimestamp: Timestamp is not greater than the one last used or value sent by the client is out of acceptable range (MIN, MAX)

4 - RequiredHMACSignatureMissing: empty bytes in HMACSignature field

5 - RequiredAccessKeyIDMissing: empty bytes in AccessKeyID field

6 - RequiredSessionMissing: empty bytes in Session field

7 - RequiredFirmMissing: empty bytes in Firm field

9 - RequiredRequestTimestampMissing: null value in RequestTimestamp field

10 - SessionBlocked: session and firm are not authorized for this port

11 - InvalidKeepAliveInterval: value is out of acceptable range (MIN, MAX)

12 – InvalidAccessKeyID: contains non-printable ASCII character

13 – InvalidSession: contains non-printable ASCII character

14 – InvalidFirm: contains non-printable ASCII character

15 - Volume Controls - exceeding TPS limit as defined for volume controls (reject action)

16 - SplitMessageRejected - Messages queued due to split message penalty being rejected because of logout or disconnect

17 - SplitMessageQueue - Reached threshold of messages queued due to split message penalty

18 - RequiredTradingSystemNameMissing: empty bytes in TradingSystemName

19 - RequiredTradingSystemVersionMissing: empty bytes in TradingSystemVersion

20 - RequiredTradingSystemVendorMissing: empty bytes in TradingSystemVendor

21 - RequiredKeepAliveIntervalMissing: null value in KeepAliveInterval field

23 - InvalidTradingSystemName: contains non-prinatable ASCII character

24 - InvalidTradingSystemVersion: contains non-prinatable ASCII character

25 - InvalidTradingSystemVendor: contains non-prinatable ASCII character

27 - DesignatedBackup - Using Designated backup before designated primary not allowed


0 – Backup

1 – Primary

Indicates whether the connection is the primary or backup.

9553SplitMsguInt8NULL Enum1N

0=Split Msg Delayed

1=Out of Order Msg Delayed

2=Complete Msg Delayed

Indicates one of the following:

  • 0 = a message was delayed as a result of being split among multiple packets (0)
  • 1 = a message was delayed as a result of TCP re-transmission (1)
  • 2 = a complete message was delayed due to a previously submitted split or out of order message (2).

If absent then the message was not delayed and was neither split nor received out of order.