The Rocket.Chat Voice is currently in beta. Report any issues to Rocket.Chat support.
The standard WebRTC configuration provides the most straightforward path to enabling voice calls directly within your Rocket.Chat workspace. It leverages the built-in WebRTC capabilities of modern browsers, allowing users to make voice calls without any external telephony system or SIP infrastructure.
This setup is ideal for teams that want a quick and easy voice call solution for internal communication. Once enabled, users can make and receive voice calls directly from Rocket.Chat rooms. This guide explains how to enable and configure Rocket.Chat Voice for intra-workspace calls using the standard WebRTC configuration.
How WebRTC works: peer-to-peer connectivity
Rocket.Chat Voice relies on WebRTC to establish a direct, peer-to-peer media link between the users' browsers. The primary technical challenge for any peer-to-peer communication is Network Address Translation (NAT), as users are often behind different firewalls and private networks.
To overcome this, a crucial component known as the ICE (Interactive Connectivity Establishment) server is required to negotiate a reliable network path for a direct connection. It includes:
STUN (Session Traversal Utilities for NAT): It assists a client in finding its own public IP address and port when behind a NAT. This allows clients to attempt a direct, low-latency connection.
TURN (Traversal Using Relays around NAT): When a direct peer-to-peer connection is impossible (e.g., due to highly restrictive firewalls), the TURN server acts as a relay, routing the entire media stream between the two users to guarantee the call connects.
Rocket.Chat does not include or provide STUN or TURN servers. You are responsible for deploying, configuring, and providing the addresses for these servers to ensure reliable connectivity, particularly in complex or air-gapped network environments. For basic testing, you may use publicly available STUN servers.
Prerequisites
Before you begin, confirm you have the following:
An active Enterprise plan. If you don’t have one, request a trial or contact the Sales Team to purchase a license.
The Rocket.Chat Voice add-on is enabled on your workspace.
Configure WebRTC settings
Once the prerequisites are met, the next step is to configure the WebRTC network settings in your workspace.
In your Rocket.Chat workspace, navigate to Administration > Workspace > Settings > Team Voice Calls.
Enable Team Voice Calls.
Go to WebRTC settings and update the following fields:
Field
Description
Ice Servers
A comma-separated list of STUN and/or TURN servers used to gather network address candidates for Voice calls.
Use the format: [username:password@]stun:host:port or [username:password@]turn:host:port .
Usernames and passwords may be HTML-encoded. Only one working address is needed for a call, but all configured servers are contacted before the call starts.
ICE Gathering Timeout
Specify how long (in milliseconds) the system should wait for ICE candidate gathering to complete before starting a call.
A longer timeout ensures TURN servers have time to respond, but may delay call setup. For local or STUN-only setups, a shorter timeout may reduce call startup delays.
Click Save Changes.
After saving the configuration, your workspace is now ready to handle voice calls using the standard WebRTC engine.
Next steps
Once you have successfully configured your WebRTC settings, the next step is to Set up Rocket.Chat Voice Permissions in order to define which users have access to the calling features. Once permissions are set, users can refer to the Rocket.Chat Voice User Guide to start making calls within Rocket.Chat.