This document defines the baseline requirements for a successful Team Voice Calls deployment, covering technical prerequisites for Rocket.Chat, FreeSWITCH, firewall configurations, and hardware recommendations tailored for various scales.
Rocket.Chat workspace requirements
To enable Team Voice Calls, your Rocket.Chat workspace must meet the following prerequisites:
Be on the Enterprise plan
Have an active Team Voice Calls add-on. Contact the Sales team to purchase one if you don’t have it
Be on the latest Rocket.Chat version
Hardware specifications
We highly recommend reviewing the Rocket.Chat System Requirements and the official FreeSWITCH performance and configuration guidelines to properly configure your server for production use.
If you plan to deploy Rocket.Chat, MongoDB, and FreeSWITCH on the same server, use the following minimum specifications:
Enviroment | vCPUs | RAM (GB) | Storage(GB) |
---|---|---|---|
POC or test | 2 | 4 | 30 |
Production | 4 | 8 | 100 |
Firewall configurations
Team Voice Calls requires specific ports to be open for signaling, media, and internal communication. Use the table below to configure your firewall rules and expose the following ports:
Port | Protocol | Purpose |
---|---|---|
443 | TCP | For secure WebSocket connections from Rocket.Chat clients to FreeSWITCH (via reverse proxy on 443, or directly on 7443 if no reverse proxy is used). |
8021 | TCP | Used by Rocket.Chat to connect to the FreeSWITCH Event Socket Layer (ESL) interface. Do not expose this port to the internet. If Rocket.Chat is hosted on a different server, ensure this port is accessible only from the Rocket.Chat server’s IP. |
20001–20048 | UDP | Used for SRTP media streams. Each call requires two port; the default range supports up to 24 concurrent calls. You can adjust the range based on your expected call volume. |
5060 | UDP(optional) | Used for SIP connections. It is required only if you intend to connect SIP phones or other SIP clients to FreeSWITCH. It’s not required for Rocket.Chat integration. |
All external communications must be encrypted using TLS. Let’s Encrypt is recommended for public-facing domains. Self-signed certificates can be used for internal or test environments, but proper security configurations are necessary.
Call capacity considerations
The number of concurrent voice calls your system can support depends on the following key factors:
RTP port availability: FreeSWITCH requires one open RTP port per media stream. Based on your expected call volume, allocate a sufficient range of ports.
Network bandwidth: Each call typically uses around 150 kbps. Your network must provide enough upload and download capacity to support the desired number of simultaneous calls. For example, handling 100 concurrent calls requires at least 15 Mbps in both directions, with additional headroom for stability.
In the next document, we’ll explore the setup instructions for deploying FreeSWITCH to power voice calls in Roccket.Chat.