Step 17 of 18
Voice & Video
Voice & Video
Matrix supports voice and video calls, but requires open ports.
Important
Voice/video does NOT work through Cloudflare Tunnel. You must open ports on your VPS.
Required Ports
ufw allow 3478/udp
ufw allow 3478/tcp
ufw allow 49152:49200/udp
| Port | Protocol | Purpose |
|---|---|---|
| 3478 | UDP+TCP | STUN/TURN signaling |
| 49152-49200 | UDP | Media relay (audio/video data) |
How It Works
- STUN - Discovers your public IP
- TURN - Relays traffic when direct connection fails (NAT traversal)
- Media - Actual voice/video data flows over UDP
Verify
After opening ports, test with a Matrix client that supports calls:
- Open your server in Element or Nheko
- Start a voice call with someone
- Check if audio/video connects
Alternative: Third-Party TURN
Don’t want to open ports? Use a hosted TURN service:
- Metered.ca - Free tier available
- Twilio - Paid
- Cloudflare Calls - Paid
Configure in config/continuwuity/continuwuity.toml with your provider’s credentials.
Text chat works fine through Cloudflare Tunnel. Only voice/video needs these ports.