Technical Specifications
Video Chat Technical Specifications
This document outlines the network requirements, software architecture, and hosting infrastructure for the Video Chat module.
1. Network Configuration
To ensure successful connectivity and media transmission, specific ports must be allowed through the firewall. The solution relies on STUN/TURN protocols to negotiate connections through NATs and firewalls.
Firewall Rules
The following ports must be open for both inbound and outbound traffic to allow Peer-to-Peer (P2P) and relayed connections.
| Service | Port | Protocol | Description |
|---|---|---|---|
| STUN/TURN | 3478 | TCP & UDP | Default port for NAT traversal and signaling. |
| STUN/TURN (TLS) | 5349 | TCP & UDP | Secure (TLS/DTLS) port for NAT traversal. |
| TURN Relay | 49152–65535 | TCP & UDP | Ephemeral port range used for relaying media streams when P2P fails. |
Note: Failure to open the Relay port range (49152–65535) may result in connection failures for users behind strict corporate firewalls or symmetric NATs.
2. Software Architecture
The video chat functionality is built upon standard WebRTC protocols using open-source libraries for signaling and ICE (Interactive Connectivity Establishment) handling.
- WebRTC Implementation:
- Library: PeerJS
- Component: Client-side WebRTC handling and PeerJS Server for signaling.
- License: MIT License
- NAT Traversal (STUN/TURN):
- Library: Coturn
- Component: COTURN implementation acting as the STUN and TURN server.
- License: BSD 3-Clause License
3. Hosting & Infrastructure
The infrastructure is deployed across distinct environments depending on the customer region to ensure low latency and data residency compliance.
- Standard Hosting: On-premises data center located in Oslo, Norway.
- UK Region: Hosted via Microsoft Azure (UK region) specifically for UK-based customers.