Supported Deployment Scenarios

Currently, only A and B scenarios are supported. There will be more scenarios in the future.


Scenario A

Terminals connect to the server via the application's built-in OpenVPN client's secure channel. This is the preferred deployment for operators who don't have dedicated routers in their ATM machines with VPN capability features.


Scenario B

Terminals connect to the server via a VPN provided by additional hardware, such as a router. This scenario is considered more secure than Scenario A because the VPN configuration is not distributed by CAS.


Gate service

Listens for terminal’s pairing requests. In the event of successful pairing, the gate service sends the terminal the VPN configuration, including information on how to connect to the master service. Prior to pairing, the terminal's VPN configuration must already exist.

Gate service uses batmgate unix user, which is a member of the batm group.
Gate service is listening on port 7741. Please note that the same port uses master service but on a different interface.

Gate service’s TCP port 7741 should be accessible from the Internet only temporarily when performing the pairing. Don’t leave it open. Leaving it open will encourage attackers to try playing with your server.

Gate service is only compatible with terminals running on version 20230801 and newer! Terminals running older software will automatically get upgraded by gate service.

Configuration of gate service


See the example below to see that every service has its own bind IP address used to run application enabling expected behavior, basic setup will be created during the first batm-manage start

public_ip= master_bind_ip= admin_bind_ip= gate_bind_ip=


Basic properties fully functional will be generated by the first batm-manage start gate (or all when it comes to gate service)

However, gate service can be further configured by following properties:

  • batm.processing-slots

    • optional, default value: 20

    • this property is used to throttle upgrade traffic so server won’t be overloaded by too many terminals downloading upgrade packages at a time


    • optional, default value: /batm/app/shared/

    • location where the terminal upgrade package used to upgrade terminals to version 20230801 will be located, the package will be downloaded once and then reused for all terminals

    • make sure the location has the correct permission and is accessible to batmgate user

  • batm.master.hostname

    • optional. by default gate service distributes to terminal master_bind_ip as a target to connect to master service. batm.master.hostname allows you to set FQDN that would be sent to the terminal.

  • batm.vpn-skip

    • optional, default value: false

    • this property indicates to gate service that it is not going to distribute VPN configurations to the terminals (because of Deployment Scenario B: value is true ) and therefore it is not a problem when VPN configuration is not found on drive and this step can be skipped.


Master service

Listens to terminal’s requests. Answers only terminal requests that are coming from trusted ( paired ) terminals.
Master service uses batmmaster unix user, which is a member of the batm group.
Master service is listening on port 7741. Please note that the same port uses gate service but on a different interface.

Master service should never be exposed to the Internet.

Admin service

Listens to user's browser requests. Enables CAS users to configure ATMs remotely and inspect processed transactions.
Admin service uses batmadmin unix user, which is a member of the batm group.

Admin service is listening on port 7777.


A very powerful way for extending the existing functionality of the server. More can be read here.

Copyright © 2020-2024 General Bytes USA LLC