Configure Team Voice Calls

Prev Next

After successfully deploying the FreeSWITCH server, the next step is to configure its integration with your Rocket.Chat workspace.

  1. In your Rocket.Chat workspace, navigate to Administration > Workspace > Settings > Team Voice Calls.

  2. Update the required settings from the table below:

Field

Description

FreeSwitch Host *

The name of your FreeSWITCH docker container. (e.g ubuntu-freeswitch-1)

FreeSwitch Port

The FreeSwitch port. By default, it is 8021.

FreeSwitch Password *

The FreeSwitch password you set in your .env file earlier.

FreeSwitch Request Timeout

The time it takes for the server to time out. By default, it is 3000. Don’t change it.

WebSocket Path*

The WebSocket Path follows this example : wss://your_voip_domain. Use the VOIP_DOMAIN you set in your .env file.

Ice Servers

A comma-separated list of STUN and/or TURN servers used to gather network address candidates for VoIP 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.

  1. Click Save Changes.

Configure VoIP permissions

To use VoIP efficiently, certain permissions must be assigned based on user roles:

  • Workspace admin/VoIP managers require the Manage Voice Calls permission to administer VoIP settings and extensions.

  • VoIP users require the View Voice Call Extensions and Allow Voice Calls permissions.

It's recommended to create custom roles for these permissions and assign them to the appropriate users.

Assign extensions to users

Once FreeSWITCH is connected, assign extensions to users in your Rocket.Chat workspace. Each extension represents a user on the FreeSWITCH server, enabling them to make and receive voice calls. By default, 19 extensions (1001 - 1019) are available in the workspace.

To assign an extension to a user:

  1. Go to Administration > Workspace > Users.

  2. Click Assign Extension in the top-right corner.

  3. Choose the User and select from the Available Extensions, then click Associate to assign the extension.

Alternatively, you can assign an extension by clicking the kebab menu next to the user in the user list and selecting Assign Extension from the options.

To unassign an extension:

  1. Click the kebab menu next to the user in the list.

  2. Select Unassign Extension and click Remove.

If you're using LDAP, you can automatically assign user extensions by mapping the Extension Field setting. Ensure this attribute is configured in your LDAP mapping; otherwise, extensions will need to be assigned manually.

Great job so far! —With FreeSWITCH deployed and configured, users with assigned extensions can now make and receive calls within your Rocket.Chat workspace. In the next section, you’ll learn how to troubleshoot common Team Voice Call issues.