What coturn does
coturn is an open-source implementation of STUN and TURN. STUN helps a client discover how it appears on the public internet; TURN relays traffic when two clients cannot establish a direct path because of NAT, firewall or carrier-network restrictions.
Why it matters in my lab
Running Matrix or another calling platform without a working TURN path can produce calls that work on one network and fail on another. coturn gives me a controlled relay and teaches the firewall, DNS, certificate and port-range requirements behind reliable voice and video.
What I validate
- Public DNS and certificate names
- STUN/TURN ports through pfSense
- Relay port range and NAT mapping
- Authentication secrets shared with the application
- Call tests from mobile and external networks
- Logs for allocation failures and timeouts
Security approach
I do not run an unauthenticated public relay. Credentials, shared secrets and exact addresses remain out of the portfolio, and firewall exposure is limited to the required service and relay ports.
Docker Compose example
services:
coturn:
image: coturn/coturn:latest
container_name: coturn
restart: unless-stopped
network_mode: host
volumes:
- ./turnserver.conf:/etc/coturn/turnserver.conf:ro
- ./certs:/etc/coturn/certs:ro