Collaboration & Productivity

Mattermost Video Call Guide: Setup, Plugins, RTCD

J
James Eriksson
··11 min read
Learn how to enable Mattermost video calling, configure RTCD for 50+ participants, and choose between native Calls, Jitsi, and Zoom plugins. Setup guide.
TL;DR
  • Mattermost Calls is built-in audio and video calling; group calls require Professional or Enterprise licenses.
  • Setup takes two to five hours on self-hosted servers, mostly network configuration for UDP port 8443.
  • Peer-to-peer mode supports up to 50 participants; use RTCD for larger calls.
  • Jitsi and Zoom plugins are mature alternatives if you need unlimited participants.
  • Port 8443 UDP must be open; if calls connect but have no audio, check your firewall first.

Mattermost Calls lets your team make audio and video calls directly from the chat interface without leaving the app. Setup takes five minutes on cloud instances or two hours on self-hosted servers. This guide covers native Calls, when to use Jitsi or Zoom instead, how to configure RTCD for 50+ participants, and how to troubleshoot the most common problems.

What Is Mattermost Calls? (Quick Explainer)

Mattermost Calls is a built-in audio and screen-sharing feature available in Mattermost 7.0 and later. One-to-one video calling is available in all plans; group calls up to 50 participants require Professional or Enterprise licenses. Self-hosted and cloud instances both support Calls natively without extra licensing.

Mattermost added native calling in June 2022, bringing audio, video, and screen sharing into the platform itself. Before that, admins had to bolt on Jitsi, Zoom, or BigBlueButton plugins. Today, Calls is production-ready and powers thousands of remote teams.

The feature lives in the conversation interface. You see an "Open Call" button in 1:1 channels and in group conversations. Click it, and peer-to-peer calling happens over WebRTC directly between your devices. No separate app needed. No context-switching.

Entry-tier Mattermost comes with audio and 1:1 video calling. Professional and Enterprise plans unlock group calls, up to 50 concurrent participants per call on standard deployments, much higher if you run a dedicated RTCD server. You can also record calls if your license allows.

The catch: group video calling on Entry is limited to audio only. If you are a small team using Entry-plan Mattermost and you need group video, you will either upgrade to Professional or integrate a third-party tool like Jitsi.

Native Calls vs. Jitsi vs. Zoom: When to Use Each

Native Calls work best for teams already in Mattermost who want simplicity and no cost. Jitsi offers the most flexibility and works on self-hosted instances with no licensing. Zoom is best if you need enterprise compliance, recording features, and integration with existing Zoom workflows.

Native Mattermost Calls

  • Setup: five minutes on cloud, up to two hours on self-hosted (mostly network config)
  • Participant limit: up to 50 with RTCD, lower without
  • Recording: Professional and Enterprise only
  • Cost: included in your Mattermost license
  • Best for: small to mid-size teams, fully self-hosted environments, zero-friction in-chat calling

Jitsi Meet Integration

  • Setup: install the Jitsi plugin (github.com/mattermost/mattermost-plugin-jitsi), one hour typical
  • Participant limit: unlimited (Jitsi Meet has no hard cap)
  • Recording: supported
  • Cost: free and open-source (if you self-host Jitsi), or use Jitsi's managed service
  • Best for: teams that value open-source, need unlimited participants, or want to run Jitsi separately for other purposes

Jitsi has 30,200 GitHub stars, making it the most mature open-source video platform. It runs anywhere: Kubernetes, Docker, VMs, even a Raspberry Pi if you want. You get more control, but you own the operational overhead. Jitsi calls do not appear inside Mattermost channels; they open in a new window, which adds friction.

Zoom Plugin

  • Setup: configure OAuth with Zoom, add the plugin (30 minutes)
  • Participant limit: depends on your Zoom plan (300 or more with Pro/Business)
  • Recording: yes, stored in Zoom Cloud
  • Cost: Zoom licenses ($150-$270 per user per year for Business/Pro plans)
  • Best for: enterprises with existing Zoom licenses, strict audit and compliance requirements, teams that need Zoom integration elsewhere

Zoom plugins are mature and widely adopted in enterprise. You get HIPAA, BAA, and FedRAMP compliance. But you are paying per user, and calls open outside Mattermost, breaking context like Jitsi does.

Feature Comparison

FeatureNative CallsJitsiZoom
Max participants50+ (RTCD)Unlimited300+ (Business)
Setup time2-5 hours1-2 hours30 min
CostIncludedFree$150-$270/user/year
RecordingPro/EnterpriseYesYes
In-Mattermost?YesNoNo
Open-sourcePartialYesNo

If you need maximum flexibility or unlimited participants, check out the full plugin marketplace at Opsily's Mattermost plugins guide.

How to Enable Mattermost Calls: Step by Step

Enable Mattermost Calls in the System Console under Plugins, toggle Calls on, open port 8443 on your firewall for UDP traffic, then test with a 1:1 call.

Step 1: Enable the Calls Plugin in System Console

Log in as a System Admin. Navigate to System Console > Plugins > Plugins Management. You will see "Calls" in the list. Click "Enable". This activates the Calls plugin for your entire workspace.

Step 2: Open Port 8443 UDP

Mattermost Calls needs UDP port 8443 to pass media streams between participants. If your Mattermost server is behind a firewall or NAT, you must open 8443 outbound and inbound. This is non-negotiable; without it, calls will start but audio/video won't flow.

If you are on a cloud provider (AWS, DigitalOcean, Linode, Hetzner), check the Security Group or Firewall rules for your instance. Add a rule:

  • Protocol: UDP
  • Port: 8443
  • Source/Destination: 0.0.0.0/0 (allow all, or scope to your office IPs if you prefer tighter security)

For self-hosted on-premise servers, configure your corporate firewall to permit UDP 8443 outbound and inbound from your Mattermost server IP.

Step 3: Test with a 1:1 Call

Open a direct message with a colleague. You should see an "Open Call" button in the message header. Click it. You will hear a ringing sound on their end, and the call interface will appear. The first test call is the moment you discover whether your networking is right. If the call connects but you hear no audio, the issue is usually UDP port 8443 or a restrictive firewall.

Step 4: Roll Out to Teams

Once 1:1 calls work, let your teams know. Calls are on by default for all users once the plugin is enabled. No per-user setup needed.

Network Requirements and RTCD

Mattermost Calls uses UDP port 8443 to send audio and video streams peer-to-peer. For large calls (50+ participants), you need a separate RTCD (Real Time Communication Data) server to relay traffic instead of peers connecting directly.

By default, when two people start a call, their devices connect directly using WebRTC. This is efficient and private; no server in the middle. But if you have 30 people in a call, each person's device needs to upload and download 29 streams. That scales poorly. Around 50 concurrent participants, your upload bandwidth and CPU usage become the bottleneck.

RTCD (Real Time Communication Data) is a Mattermost component that acts as a media relay. Instead of peer-to-peer, all streams go to the RTCD server, which mixes or forwards them. This lets you support 100, 500, or 1,000 concurrent participants without crushing the Mattermost server.

When You Need RTCD

  • Your team is 50+ people
  • You plan all-hands video calls every week
  • You want to use Calls for training or large-group presentations

How to Set Up RTCD

RTCD is deployed as a separate service, typically on its own VM. The setup involves:

  1. Download the RTCD binary from mattermost.com/download/rtcd
  2. Configure a certificate (use Let's Encrypt for self-signed HTTPS)
  3. Point your Mattermost server to the RTCD address in System Console > Calls
  4. Restart Mattermost

This adds complexity. If you have 10-30 people, skip RTCD for now. If you are growing and want to avoid this, managed Mattermost hosting with RTCD pre-configured takes the headache out of the process.

Scaling Calls with RTCD for Group Calls

RTCD is a media relay server that lets Mattermost support 50+ concurrent video call participants without peer-to-peer connections overwhelming client devices.

RTCD decouples the Mattermost server from the media streams. Mattermost signals "User A and User B want to call", and RTCD handles the audio and video. This is crucial for server stability; without RTCD, 100 concurrent calls would max out the Mattermost process's TCP/UDP stack.

Deployment options:

  • Single RTCD instance: 100-300 concurrent participants, one server, simple
  • RTCD cluster: 1,000+ participants, requires load balancing and failover (enterprise complexity)

Most teams running Mattermost on Kubernetes (EKS, GKE) deploy RTCD as a sidecar or separate pod. The main pitfall: TURN server configuration. RTCD needs to know about your TURN servers so media can traverse NAT and firewalls. If you skip this step, calls work on the office network but fail over VPN or mobile.

Troubleshooting Common Issues

The most common problems are missing port 8443 UDP, misconfigured TURN servers, and incompatibilities on Android. Each has a diagnostic step.

Problem: No audio or video, but the call connects

This almost always means port 8443 UDP is not open. Run nmap -sU -p 8443 <your-mattermost-ip> from a remote machine. If the port shows "closed" or "filtered", your firewall is blocking it. Open the port and test again.

Problem: Calls drop after 10-20 seconds

Forum reports indicate this happens on Kubernetes (EKS) when the network plugin (Calico, Weave) does not handle UDP well at scale. If you are on EKS, ask your Kubernetes admin to increase UDP buffer sizes: net.core.rmem_max=134217728 and net.core.wmem_max=134217728. Or switch RTCD to use TCP fallback (slower but more reliable).

Problem: No video on Android

Mattermost's Android app does not fully support video calling in some versions. Audio works, but the video panel is blank. This is a known limitation. Workaround: use the mobile web interface (mattermost.yourcompany.com in Chrome) instead of the app.

Problem: Calls are laggy or choppy

If you are using RTCD and calls are still choppy, check:

  1. RTCD server has at least 4 CPU cores and 8 GB RAM
  2. Network latency between Mattermost and RTCD is less than 5 ms
  3. RTCD is not on the same VM as Mattermost (they will compete for resources)

Security and Privacy

Mattermost Calls encrypt traffic with DTLS and SRTP. Calls are not recorded by default. If you record calls, they are stored encrypted on your Mattermost server or external storage.

Because Calls is peer-to-peer by default (without RTCD), your audio and video never leave your devices and go through Mattermost's servers. They are encrypted end-to-end with DTLS (Datagram Transport Layer Security) and SRTP (Secure Real-time Transport Protocol). The Mattermost server only sees call metadata: "User A called User B at 14:32", not the content.

When you use RTCD, the media does flow through RTCD's server. RTCD decrypts the streams to mix or relay them, then re-encrypts. This is a brief decryption moment in the relay; the RTCD operator (you, or your hosting provider) has theoretical access to the media. If you need stricter guarantees, keep RTCD on your own infrastructure or use a hosted Mattermost provider with transparent RTCD handling.

Recording: Professional and Enterprise Mattermost can record calls. Recordings are encrypted at rest. Make sure your team knows recording is enabled, or you may have legal or privacy issues.

Frequently Asked Questions

Do I need a separate RTCD server?

Not for small teams. 1:1 calls and small group calls (3-10 people) work fine with peer-to-peer mode. RTCD becomes important around 50+ concurrent participants.

Can I use Mattermost Calls on mobile?

Yes, via the Mattermost mobile app on iOS and Android. Audio works reliably; video support varies by app version. The mobile web interface (Chrome/Safari) has better video support.

What is the difference between Calls and screen sharing?

Screen sharing is also part of Calls. You start a call, then click "Share Screen" to send your display to the other participants. Both happen over the same WebRTC connection.

Can I integrate Calls with our existing Zoom workspace?

Not directly. You can run the Zoom plugin alongside Calls, but they are separate. Calls are always in-Mattermost. Zoom plugin calls open in a new window.

Is Mattermost Calls available on Entry-tier licenses?

1:1 audio and video calling are available on all tiers, including Entry. Group calls (3+ participants) are Professional and Enterprise only.

What happens if my RTCD server goes down?

New calls will fail. Existing calls will drop. RTCD is a single point of failure. For high availability, run two RTCD instances with a load balancer.

Can I record calls?

Yes, if your license is Professional or Enterprise. Click the recording button in the call interface. Recordings are stored in a calls directory on your Mattermost server or in external storage if configured.

The Bottom Line

Mattermost Calls is the simplest way to add audio and video to your team's chat. For teams up to 50 people, the built-in feature is all you need. For larger deployments or stricter compliance requirements, Jitsi or Zoom plugins are mature alternatives.

The real work is network configuration: opening port 8443 and, if you scale, setting up RTCD. These tasks are fiddly but not hard if you follow the steps.

If infrastructure complexity is not your thing, Opsily manages Mattermost hosting with Calls and RTCD pre-configured. No firewall rules, no binary downloads, no TURN server headaches. You get a working video chat the day you sign up. Start at Opsily's managed Mattermost hosting.

Managed Mattermost Hosting
Opsily handles Mattermost setup, Calls configuration, and RTCD management for you.
Get Started Free

Ready to self-host your own apps?

One server. Multiple apps. No per-app fees.

Get started →