Skip to content

Config

Configuration structure

This chapter describes the data model for configuration parameters.

This model holds the main Signal configuration, which can be changed at runtime. Settings are organized into groups for the host, validation, startup actions, and other features.

Configuration parameters groups

Config contains the following groups:

Group Required Description
host Yes Remote host configuration
terminal No Startup actions
debug No Logging configuration
validation No Field data validation settings
fields No Field generation settings
specification No Specification settings
api No API configuration

Configuration parameters

The configuration parameters in each group are listed below.

Group Parameter Type Required Default value Description Validation Valid example
host host str Yes - Remote ISO8583 host IP address Valid IPv4 address 172.21.30.5
host port int Yes - Remote ISO8583 host port Digits only 16677
host keep_alive_mode bool No False Send regular keep-alive transactions to host - true
host keep_alive_interval int No 300 Automatic keep-alive interval. Used when keep_alive_mode is true Digits only 10
host header_length_exists bool No True Whether a TCP/IP message length header is present - true
host header_length int No 0 TCP/IP message header length in bytes. Used when header_length_exists is true Digits only 2
terminal process_default_dump bool No False Parse default transaction file on GUI startup - true
terminal connect_on_startup bool No False Connect to remote TCP/IP host on GUI startup - true
terminal load_remote_spec bool No False Load remote specification data on GUI startup - true
terminal show_license_dialog bool No False Show license dialog on GUI startup - true
terminal run_api bool No False Start API mode on GUI startup - true
debug level log-level No INFO Debug level log-level WARNING
debug clear_log bool No False Clear the GUI log before sending a new message - true
debug parse_subfields bool No False Show parsed complex field data in the GUI log - true
debug print_description bool No False Show field descriptions in the GUI log - true
debug backup_storage_depth_exists bool No False Store old log files, 10 MB each - true
debug backup_storage_depth int No 30 Log retention count: how many recent 10 MB log files to keep Digits only 10
debug reduce_keep_alive bool No True Hide automatically generated keep-alive messages in the log file and on screen - true
validation validation_enabled bool No False Enable GUI field validation - true
validation validate_window bool No False Validate MainWindow transaction data - true
validation validate_incoming bool No False Validate incoming transaction data - true
validation validate_outgoing bool No False Validate outgoing transaction data - true
validation validation_mode validation-mode No WARNING How to handle validation violations. See validation modes validation-mode ERROR
fields max_amount_limited bool No False Whether the maximum generated amount is limited - true
fields max_amount int No 100 Maximum generated amount. Used when max_amount_limited is true Digits only 500
fields send_internal_id bool No True Send Signal's transaction ID to the remote host - true
fields json_mode bool No True Display fields in a JSON-like structure in the GUI main window - true
fields hide_secrets bool No True Hide secret fields in the GUI main window - true
fields build_fld_90 bool No True Send original data elements in DE90 for a reversal transaction - true
specification backup_on_startup bool No False Back up the specification when Signal starts - true
specification backup_on_shutdown bool No False Back up the specification when Signal stops - true
specification backup_storage bool No True Store specification backup files - true
specification backup_storage_depth int No 100 Specification backup retention count: how many recent backups to keep - 5
specification load_remote_spec bool No False Load remote Specification on GUI startup - false
specification remote_spec_url str No "" Remote Specification service URL Valid URL http://spec.iso8583.com/spec
specification rewrite_local_spec bool No False Replace the local specification file when a remote specification is loaded - false
api port int No 7777 Local API port for incoming requests Digits only 5665
api wait_remote_host_response bool No True Wait for the remote host response or a timeout before responding to the API request - true
api waiting_timeout_seconds int No 10 Seconds to wait for the remote host response before timing out Digits only 8
api hide_secrets bool No False Hide secret fields in the API response - true
api parse_subfields bool No False Parse complex fields in API response messages - true

Config example

Config data example
{
    "host": {
        "host": "127.0.0.1",
        "port": 16677,
        "keep_alive_mode": false,
        "keep_alive_interval": 300,
        "header_length": 2,
        "header_length_exists": true
    },
    "terminal": {
        "process_default_dump": true,
        "connect_on_startup": true,
        "load_remote_spec": false,
        "show_license_dialog": false,
        "run_api": true
    },
    "debug": {
        "level": "INFO",
        "clear_log": true,
        "parse_subfields": true,
        "backup_storage_depth_exists": true,
        "backup_storage_depth": 10,
        "reduce_keep_alive": true,
        "print_description": true
    },
    "validation": {
        "validation_enabled": true,
        "validate_window": true,
        "validate_incoming": true,
        "validate_outgoing": true,
        "validation_mode": "WARNING"
    },
    "fields": {
        "max_amount": 1000,
        "max_amount_limited": true,
        "build_fld_90": true,
        "send_internal_id": true,
        "json_mode": true,
        "hide_secrets": true
    },
    "specification": {
        "rewrite_local_spec": false,
        "remote_spec_url": "",
        "backup_storage_depth": 10,
        "backup_storage": true,
        "backup_on_startup": true,
        "backup_on_shutdown": true
    },
    "api": {
        "address": "0.0.0.0",
        "port": 7777,
        "wait_remote_host_response": true,
        "waiting_timeout_seconds": 10,
        "hide_secrets": true,
        "parse_subfields": true
    }
}