Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Real-Time Communications
  3. coturn

coturn

NOASSERTIONC4.18.0

A free open-source TURN and STUN server for NAT traversal in VoIP and WebRTC applications.

GitHubGitHub
14.4k stars2.3k forks0 contributors

What is coturn?

Coturn is a free open-source TURN and STUN server that facilitates NAT traversal for VoIP and WebRTC applications. It solves the problem of establishing direct peer-to-peer connections between clients behind firewalls or NATs by relaying media traffic through a secure gateway. The server supports multiple transport protocols and authentication mechanisms to ensure reliable real-time communication.

Target Audience

Developers and system administrators building or deploying VoIP systems, WebRTC applications, or any real-time communication platform that requires reliable NAT traversal. It's particularly valuable for enterprises and services needing scalable, self-hosted TURN solutions.

Value Proposition

Developers choose Coturn for its robust implementation of TURN/STUN standards, high performance under load, and flexibility in deployment and authentication. Its open-source nature, cross-platform support, and ability to integrate with various databases and monitoring tools make it a preferred alternative to proprietary TURN services.

Overview

coturn TURN server project

Use Cases

Best For

  • Enabling WebRTC connections in environments with restrictive firewalls
  • Building scalable VoIP systems with NAT traversal requirements
  • Self-hosting TURN servers for privacy-sensitive applications
  • Load balancing TURN traffic across multiple servers
  • Integrating TURN functionality with existing SQL/NoSQL user databases
  • Deploying cross-platform TURN solutions on Linux, BSD, or Windows

Not Ideal For

  • Teams preferring fully-managed, cloud-hosted TURN services without server maintenance
  • Projects with only basic STUN needs and no requirement for media relaying
  • Environments with strict resource constraints where a lightweight library is preferred over a standalone server

Pros & Cons

Pros

Comprehensive Protocol Support

Implements full STUN and TURN specifications with UDP, TCP, TLS, DTLS, and experimental SCTP, ensuring broad compatibility for diverse real-time communication scenarios.

Flexible Authentication Options

Supports multiple user databases including SQLite, MySQL, PostgreSQL, Redis, and MongoDB, plus TURN REST API and oAuth for versatile authentication needs.

Enterprise-Grade Scalability

Uses libevent2 and configurable multi-threading to handle thousands of simultaneous calls per CPU, with load balancing via DNS SRV and ALTERNATE-SERVER mechanisms.

Rich Management Interfaces

Includes telnet CLI and HTTPS for management, plus Prometheus integration for monitoring, though the apt package lacks Prometheus support.

Cons

Complex Initial Configuration

With numerous options for databases, transports, and security, setting up Coturn optimally requires deep understanding of TURN/STUN protocols and careful tuning.

Incomplete Package Features

The apt package lacks Prometheus monitoring integration, forcing users to build from source or use Docker for full functionality, adding to setup complexity.

Experimental Protocol Support

Features like SCTP are marked as experimental, and support for draft specifications may lead to instability or compatibility issues in production environments.

Frequently Asked Questions

Quick Stats

Stars14,390
Forks2,275
Contributors0
Open Issues300
Last commit8 hours ago
CreatedSince 2015

Tags

#server#nat-traversal#voip#real-time-communication#docker#webrtc#load-balancing#networking

Built With

O
OpenSSL
M
MySQL
S
SQLite
P
PostgreSQL
M
MongoDB
P
Prometheus
D
Docker
R
Redis

Included in

Real-Time Communications471
Auto-fetched 2 hours ago

Related Projects

STUNTMANSTUNTMAN

Version 1.2. This is the source code to STUNTMAN - an open source STUN server and client code by john selbie. Compliant with the latest RFCs including 5389, 5769, and 5780. Also includes backwards compatibility for RFC 3489. Compiles on Linux, MacOS, BSD, Solaris, and Win32 with Cygwin. Windows binaries avaialble from www.stunprotocol.org.

Stars1,611
Forks375
Last commit3 months ago
eturnaleturnal

Modern and scalable STUN/TURN server written in Erlang

Stars0
Forks0
Last commit
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub