This guide outlines common issues encountered during the setup or operation of Team Voice Calls with Rocket.Chat and FreeSWITCH, along with recommended troubleshooting steps. Use this guide to diagnose problems related to audio, connectivity, configuration, and call stability.
Calls connect successfully, but have no audio
When your calls are connecting but have no audio, this typically indicates a failure in RTP (Real-time Transport Protocol) connections between clients. It could be due to any of the following reasons:
RTP ports misconfigured
Verify that the
RTP_START_PORT
andRTP_END_PORT
environment variables are correctly set.Confirm that your firewall allows UDP traffic for the specified RTP port range.
Incorrect external IP configuration
Make sure that the
EXTERNAL_ADDRESS_FQDN
orEXTERNAL_ADDRESS_IP
environment variables are set correctly.FreeSWITCH resolves DNS only during startup. If using a domain, ensure:
It resolves to the correct IP when FreeSWITCH starts.
The IP doesn’t change after startup.
If using an IP address, confirm it is accurate and publicly accessible.
Unable to enable voice calling in Rocket.Chat
If a user can not enable the voice calling feature, it could be due to any of the following:
FreeSWITCH is not running
Check that the FreeSWITCH container is up and in a healthy state.
Inspect container logs for any startup errors or crashes.
Misconfigured Rocket.Chat VoIP settings : Verify that the Rocket.Chat VoIP settings are correctly configured as described in the setup instructions.
Network issues: Verify that the Rocket.Chat server can communicate with the FreeSWITCH server, and that the required ports are open in the firewall.
WebSocket connection errors
Make sure that the WebSocket connection to FreeSWITCH is working correctly. Open your browser’s developer tools and inspect the console for WebSocket-related errors.
If you find any errors, verify that the
VOIP_DOMAIN
environment variable is correctly set and resolves to the FreeSWITCH IP.
Call drops with “unable to complete call” error
If a call rings but immediately drops with an "Unable to complete call" error when answered , this can be due to several causes:
WebRTC blocked by the browser: This means that either of the clients are not being set up correctly to handle the call. To troubleshoot,
Make sure the browser supports WebRTC protocol and that it is not disabled or blocked by default.
If unsure, test with an alternate browser or device to isolate the issue.
RTP port exhaustion: If you have a lot of simultaneous calls, you may need to increase the number of RTP ports available. You can do this by changing the RTP_START_PORT and RTP_END_PORT environment variables to a larger range.
In the next section, you’ll learn how to make the most of these calling features, including placing, receiving, and managing calls within Rocket.Chat.