FIX session configuration
FIX session attributes can be divided into three groups:
- Static configuration
- Dynamic state
- Dynamic attributes
To create a new session configuration, define the static attributes such as:
- Identification parameters
- Specific parameters of the initiator and acceptor sessions
- Others
Static configuration can be changed when the current FIX session is not connected. The parameters of the static configuration can be modified at any time. If the session is connected, the changes are stored in the database and only the latest changes are applied when the session becomes disconnected.
Dynamic state exists only when the session is connected. FIXICC H2 handles the events which are happened during the endpoint's life cycle. These events come from the FIXEdge server. For the dynamic state, the sequence of events is important for tracking.
Dynamic attributes also exist only when the session is connected. FIXICC H2 checks the state of these attributes in a configured time interval. The set of metrics depends on the type of FIXEdge server. For the dynamic attributes, the snapshot at the moment is important.
Static FIX session configuration
- Select a server to add a new session configuration to
Figure. Selecting the server from the list. - Go from the Servers page to the Server Sessions page by:
- Clicking FIX in the View drop-down menu on the top panel (item 1 in the figure above)
- Clicking the server name item in the menu on the left-side and FIX under the server name (items 2 & 3 in the figure above)
- Double-clicking the selected server configuration
- Then the FIXICC H2 opens the page with the sessions list configured for the selected server
Figure. The server sessions list.
Adding a new FIX session configuration from scratch
To add a new session from scratch:
- Press Add
- Figure. The Server Sessions page.
- Figure. The Server Sessions page.
- Choose the new session role from the Add drop-down menu:
- The initiator is responsible for establishing the connection (TCP/IP) and sends the first Logon message to the Acceptor. There is a set of parameters for initiator sessions.
- The acceptor performs authentication and replies with the confirming Logon message to the Initiator as a declaration that the FIX session has been established. In case of a connection failure, the Acceptor waits until the Initiator initiates reconnection. There is a set of parameters for acceptor sessions.
You can also create a new session configuration by:
- Clicking Create Acceptor Session or Create Initiator Session in the context menu
- When you select a new session role, the FIXICC H2 opens the New session page
Create an acceptor session
To create a new acceptor session:
- Select Acceptor from either:
- The Add drop-down button (item 1 in the figure below)
- The context menu (item 2 in the figure below)
- Figure. The Add Acceptor Session option.
- FIXICC H2 then opens the New session page for a new acceptor session
Figure. Acceptor session parameters.
Create an initiator session
To create a new initiator session:
- Select Initiator from either:
- The Add drop-down button (item 1 in the figure below)
- The context menu (item 2 in the figure below)
Figure. Add an initiator session.
- The FIXICC H2 then opens the New session page for a new initiator session.
The initiator session has a specific, mandatory set of parameters to establish a connection:
- Host - Defines the network IP address of the computer to which the connection is established
- Port - Defines the port network number on the computer to which the connection is established
- HeartbeatInterval - Defines the heartbeat interval (seconds) – a time interval between Heartbeat messages. The recommended value is 10 seconds for dedicated connections or private networks. Trading connections via the internet requires calibration. '0' means that no Heartbeat messages are sent.
You can see the parameters in the figure below:
Figure. Initiator session parameters.
Complete adding a new session configuration
After you've defined the mandatory connection parameters (Host, Heartbeart Interval, and Port), define the mandatory identification parameters that are highlighted in red in the figure above:
- Name - unique session identifier
- SenderCompID - the key parameter for purposes of session identification. Sets value of SenderCompID (49) tag in outgoing FIX messages.
- TargetCompID - the key parameter for purposes of session identification. Sets value of TargetCompID (56) tag in outgoing FIX messages.
- FIX Version - identifies the beginning of a message and the protocol version (Tag = 8)
You can find the full list of session parameters and descriptions here: Configuring FIX sessions.
After specifying all the details, you have the following options:
- Save the new session configuration by clicking OK.
If all mandatory parameters are specified and the Name, SenderCompID, TargetCompID are unique, then a new session is added to the selected server and the FIXICC H2 displays the sessions table including the new session configuration.
If the session name is not unique, the FIXICC H2 displays the error form with the message "Session <session-name> already exists".
If the session SenderCompID and TargetCompID are not unique, the FIXICC H2 displays the error form with message "Session with <SenderCompID> and <TargetCompID> already exists"
When you click the X button, the FIXICC H2 displays the New session page again to change the duplicated parameters.
If mandatory parameters aren't specified, the FIXICC H2 displays the alert form:
Figure. The alert form for empty session mandatory parameters.
After the alert form is hidden, the FIXICC H2 displays the New session page again to fill in the mandatory parameters.
- Cancel the operation by clicking Cancel. Then the FIXICC H2 displays the sessions table without changes
- Leave the page. If you edited the session parameters, the FIXICC H2 displays the following warning form:
Figure. The warning form.
The FIXICC H2 offers the following options:- Save the entered values as a new session configuration
Then a new session is added to the selected server and the FIXICC H2 displays the sessions table, including the new session configuration - Skip the changes by clicking Don't save
The new session configuration won't be added. The FIXICC H2 displays the sessions table without changes. - Stay on the New session by clicking Cancel
The FIXICC H2 displays New session to continue the editing
- Save the entered values as a new session configuration
Cloning an existing FIX session configuration
You have the ability to create a new session by cloning an existing one and changing the unique parameters:
- To clone a session, select the session from the session list and click Clone.
Figure. The Clone button.
or
- Go to the Session Dynamic State page
- Click the Clone item from the additional menu:
Figure. The Clone item from the additional menu.
The FIXICC H2 copies the selected session parameters to a new session and displays the New session page with the fields filled with the values from the selected session.
Figure. Cloned session.
A cloned session is added with the same identification parameters as the original session
You have the same options as you'd see when a new session is created from scratch:
Save a new session configuration by clicking OK.
If all mandatory parameters are specified and the Name, SenderCompID, TargetCompID are unique, then a new session is added to the selected server and the FIXICC H2 displays the sessions table including the new session configuration.If the session name is not unique, the FIXICC H2 displays an error form with the message "Session <session-name> already exists".
If the session SenderCompID and TargetCompID are not unique, the FIXICC H2 displays an error form with the message "Session with <SenderCompID> and <TargetCompID> already exists";
When you click the X button, the FIXICC H2 displays the New session page again to change the duplicated parameters.
If mandatory parameters aren't specified, the FIXICC H2 displays the following alert form:
Figure. The alert form for empty session mandatory parameters.
After the alert form is hidden, the FIXICC H2 displays the New session page again to fill in the mandatory parameters.
- Cancel the operation by clicking Cancel. Then the FIXICC H2 displays the sessions table without changes.
- Leave the page. If you edited the session parameters, the FIXICC H2 displays the following warning form:
Figure. The warning form.
The FIXICC H2 offers the following options:- Save the entered values as a new session configuration.
A new session is added to the selected server and the FIXICC H2 displays the sessions table, including the new session configuration. - Skip the changes by clicking the Don't save.
The new session configuration won't be added. The FIXICC H2 displays the sessions table without changes. - Stay on the New session page by clicking Cancel.
The FIXICC H2 displays the New session page to continue the editing.
- Save the entered values as a new session configuration.
Modifying an existing FIX session configuration
You have the ability to edit an existing session configuration.
- Select the session from the sessions list configured for the server.
- Figure. Edit session.
- Figure. Edit session.
- Select one of the following options to edit the session:
- Click Edit on the top panel (item 1 in the figure above)
- Select Edit in the context menu (item 2 in the figure above)
- Start editing the session by pressing Ctrl+E on your keyboard
or
- Go to the Session Dynamic State page
- Click the Edit item from the additional menu:
- Figure. The Edit item from the additional menu.
- The FIXICC H2 displays the Modify session page. You can change selected session static parameters.
- Figure. Modify session.
- Figure. Modify session.
- After you finished the changes, follow the same flow as when a new session is created:
Save the changed session configuration by clicking OK.
If the mandatory parameters aren't specified, the FIXICC H2 displays the following alert form:
Figure. The alert form for empty session mandatory parameters.After the alert form is hidden, the FIXICC H2 displays the Modify session page again to fill in the mandatory parameters.
Cancel the operation by clicking Cancel.
Then FIXICC H2 displays the sessions table. The selected session is not changed.Leave the page. If you edited the session parameters, the FIXICC H2 displays the following warning form:
Figure. The warning form.
The FIXICC H2 offers the following options:- Save the changes by clicking Save.
The FIXICC H2 displays the sessions table. The selected session are modified. - Skip the changes by clicking Don't save.
The FIXICC H2 displays the sessions table. The selected session is not changed. - Stay on the Modify session page by clicking Cancel.
The FIXICC H2 displays the Modify session page to continue the editing.
- Save the changes by clicking Save.
Copy session to another server
To copy a selected session's configuration to the target server configuration:
- Select the session you want to copy
- Choose Copy to server from either:
- The top panel of the Server Sessions page (item 1 in the figure below)
- Figure. The Copy to server button.
or - The additional menu in the Session Dynamic State page (item 2 in the figure below)
- Figure. The Copy to server item from the additional menu.
- FIXICC H2 shows a list of configured servers, where you can choose the target server configuration:
Note: The schedule configuration bond with the copied session won't be copied to the target server. The session configuration on the target server starts and stops with the server. You can bind a copied session with a new schedule if it is needed.
Figure. The "Select Server" form.
- You can:
- Select a server from the list and click Select
- Then FIXICC H2 copies the session configuration to the selected server and open the Session Dynamic State page for a new session
- Click Cancel to cancel the operation
- Select a server from the list and click Select
If the session name is not unique for the selected server, the FIXICC H2 displays an error form with the message "Session <session-name> already exists".
If the session SenderCompID and TargetCompID are not unique for the selected server, the FIXICC H2 displays an error form with the message "Session with <SenderCompID> and <TargetCompID> already exists";
If for some reason FIXICC H2 can't complete this operation, it displays an error form.
In this case, the session configuration won't be copied to the selected server.
Removing an existing FIX session configuration
You have the ability to remove an existing session configuration.
Figure. Remove session.
To remove a session:
- Choose one of the following options:
- Click Remove in the top panel (item 1 in the figure above)
- Select Remove in the context menu (item 2 in the figure above)
- Press Ctrl+Backspace on your keyboard
or
- Go to the Session Dynamic State page
- Click the Remove item from the additional menu:
- Figure. The Remove item from the additional menu.
- The FIXICC H2 displays the following confirmation window:
Figure. Confirmation window.
You have two options:Confirm the removal by clicking Yes.
The FIXICC H2 displays the server details page with session configuration removed from the pageA running session is disconnected and stopped first and then removed and unbound from the schedule.
- Cancel removing the session configuration by clicking No.
The FIXICC H2 displays the sessions list without changes.
Session and schedule binding
A session can be configured to start and stop with the server or according to a custom schedule.
You can choose a schedule either:
- When you add a new session configuration in the New session page
Figure. The default Scheduler section.
- Or while editing the session on the Modify session page
Figure. The Scheduler section.
You can configure all sessions to start and stop with the server.
You should comment FixLayer.FixEngine.Sessions.DefaultStartTime and FixLayer.FixEngine.Sessions.DefaultTerminateTime properties in the FIXEdge.properties file.
In this case, when no custom schedule was configured for the session then the session starts right after editing is finished.
In the Scheduler section, you have the ability to:
- Select a schedule name from the drop-down list by clicking the symbol (item 1 in the figure above). When you click the schedule name, the Schedule Name, Start Time, Terminate Time, Connect Time, Disconnect Time, Days Off, Time Zone fields are specified with the schedule parameters
- Clear all fields by clicking the symbol (item 3 in the figure above)
- When the Schedule Name is specified, see the list of sessions bound with the current schedule by clicking View sessions (item 4 in the figure above). The Schedule Details page opens in a new tab.
- Open the Server Schedules page in a popup window by clicking the
- When you select the schedule name and click Select (item 1 in the figure below) on the Server Schedules page, the Server Schedules page is closed and the initial page is shown. The schedule parameters are specified with the values from the selected schedule.
- When you click Cancel (item 2 in the figure below), the Server Schedules page is closed and the initial page is shown without changes.
- You can also Create (item 3 in the figure above), Edit (item 4 in the figure above), and Remove (item 5 in the figure above) the schedule configuration in the Server Schedules popup window.
symbol (item 2 in the figure above).
Figure. The "Server Schedules" in the popup window.
The schedules list can be filtered by using the Default Filter.
You can also use the Extended Filter for searching server information.
To finish the binding, click OK (see Figure. The Scheduler section, or Figure. The default Scheduler section).
The FIXICC H2 binds the current session with the selected schedule if one was specified.
To cancel all changes, click Cancel (see Figure. The "Scheduler" section, or Figure. The default "Scheduler" section).
If the binding operation failed, an error form and the following notification are shown.
Figure. The binding error form.
Dynamic FIX session configuration
Server Sessions
To monitor the dynamic state of the configured sessions for a given server:
Go from the Servers page to the server you choose by using one of the following options:
- Click FIX in the View drop-down menu on the top panel (item 1 in the figure above)
- Click a server name in the left-side menu > FIX (items 2 and 3 in the figure above)
- Double-click the selected server configuration
Figure. The Servers page.
Now you can see the session monitoring layout.
In the table, you can see the actual set of sessions received from the FIXEdge C++.
Figure. The Server Sessions page.
The first column of the table contains the session status indicator. This parameter shows the dynamic status of each session configured for the selected server.
You can easily detect the session status according to the following list:
Indicator | Status | Session status |
---|---|---|
Initial | the session has been added to the FIXICC H2 database but is absent in the FIXEdge configuration | |
Planned | the session is planned to be added to the session configuration (messages can't be sent to the session in the planned state) | |
Connecting/ Reconnecting/Listening | the initiator session is connecting/ acceptor session is waiting for logon message | |
Running | the session is running (initiator and acceptor sessions are connected) | |
Running | the initiator session is running (initiator session is connected to the backup acceptor session) | |
Disconnected | the session is disconnected |
You can also see the Status column so you can filter the displaying list of the sessions by dynamic status.
You can monitor the changing of the session parameters and session state just by staying on the page.
The dynamic and static session parameters are changed as a response to session events during the connection.
The frequency of the metrics values updating can be configured. The default value is 1 second.
Note: If the session name starts with the * symbol, this session configuration is added on the FIXEdge side and is absent in the FIXICC H2 database. This session configuration can't be edited, cloned, or removed. See below.
If the session state is Initial, this session configuration is absent in the FIXEdge configuration, so the Start, Stop, Restart, Reset/Change Seq Num, Send arbitrary message operations are not applicable. See below.
Figure. The Server Sessions page with the session is absent in the FIXICC H2 database.
Figure. The Server Sessions page with the session is absent in the FIXEdge configuration.
Filtering
You have the ability to filter the sessions list by using the Default Filter.
You can filter sessions by Name, SenderCompID, TargetCompID, or a combination of them.
You can also use the Extended Filter for searching session information.
Session Dynamic State
To see the dynamic state and metrics of the selected session, click on the selected session in the Server Sessions page in the sessions table in the Table view layout part.
FIXICC H2 displays the Session Dynamic State page in the Object info layout part.
You can also open the Session Dynamic State page in a new tab:
- By clicking View (item in the figure below)
- By clicking View in the tab in the Object info layout part (item 2 in the figure below)
- By clicking View (Enter) context menu item (item 3 in the figure below)
- By double-clicking on the selected session
- Or by pressing Enter on your keyboard
Figure. The Server Sessions page.
Or you can go to the Session Dynamic State from the Notifications page by clicking the name of the selected session.
Figure. The Notifications page with the name of the selected session.
Or you can go to the Session Dynamic State from the Notification Details page by clicking the Event Source the notification refers to.
Figure. The Notification Details page.
Or you can go to the Session Dynamic State from the Schedule Details page by clicking the View in tab item in the context menu of the sessions table:
Figure. The View in tab item on the Schedule Details page.
The FIXICC H2 opens the Session Dynamic State page in a new tab:
Figure. Session Dynamic State.
The Session Dynamic State page contains:
- the session dynamic parameters
- parameters of static configuration
- schedule
- metrics
- drop-down menus with operations
All information is updated in real time.
Detailed information about the menus with session operations is in the Session operations section.
Note: If the session name starts with the * symbol, this session configuration is added on the FIXEdge side and is absent in the FIXICC H2 database. This session configuration can't be edited, cloned, or removed. See below.
If the session state is Initial, this session configuration is absent in the FIXEdge configuration, so the Start, Stop, Restart, Reset/Change Seq Num, Send arbitrary message operations are not applicable. See below.
Figure. The Session Dynamic State page for the session is absent in the FIXEdge configuration.
Figure. The Session Dynamic State page for the session is absent in the FIXICC H2 database.