Technical description of communication
Introduction#
The Thulium system is available to users as a web application. One of the supported browsers is required to work.
The user interface uses the following protocols:
- HTTPS
- WebSocket - https://en.wikipedia.org/wiki/WebSocket
- a set of WebRTC protocols - for voice calls - https://en.wikipedia.org/wiki/WebRTC
- Support for these protocols/technologies is fully built into the supported browsers. The only network traffic requirement is not to block or disrupt the browser's communication with the system.
Basic Communication#
Communication from the browser is conducted with an address assigned to the client (domain name: system-name.thulium.com). Connections are established to the standard HTTPS port (TCP/443). All communication is secured by TLS 1.2 or higher.
Voice Calls - WebRTC#
In the case of voice calls made through the browser (using WebRTC), additional communication occurs.
WebRTC includes, among others, the following protocols/technologies:
- SRTP (https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol) - streaming voice transmission,
- ICE (https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment/STUN) - support for communication through NAT.
During a voice call, communication from the browser to UDP ports 16000-20000 of the system-name.thulium.com server (SRTP) occurs, and if NAT support is needed, to UDP port 19302 of the stun.l.google.com server.
Communication is two-way, initiated by the browser.
When configuring firewall/NAT, allow return/related traffic for outgoing UDP traffic in the specified range.
Voice Calls - SIP#
In the case of voice calls using a hardware VOIP/SIP telephone device, communication from the device will be conducted to UDP port 15060 (SIP) and to UDP ports 16000-20000 (RTP) of the system-name.thulium.com server.
Communication is two-way, initiated by the telephone device.
When configuring firewall/NAT, allow return/related traffic for outgoing UDP traffic in the specified range.
A minimum UDP session lifetime of 50 seconds must be ensured on the firewall/NAT.
👉 Firewalls, NAT, antivirus software, proxy servers may try to block or modify communication with the target server. If such elements are used, verify that they do not obstruct communication.
👉 In case of using VPNs, multi-WAN, load-balancing solutions, ensure that the browser communicates with the Thulium server via the same route continuously - from the moment the user logs into the system until they log out.
Route changes, especially changes in the user's public IP address during their login session, may result in loss of communication with the Thulium system.