Turn
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Domaine | Relais NAT traversal (VOIP / WebRTC) |
| Logiciel | coturn
|
| Ports | 3478/5349 (TURN/STUN, TCP+UDP)
|
| Voir aussi | ASTERISK |
TURN (Traversal Using Relays around NAT) est un protocole (RFC 5766) permettant à deux clients situés chacun derrière un NAT d'échanger du trafic média (audio/vidéo, typiquement WebRTC ou VOIP SIP) en le relayant via un serveur tiers, lorsque la traversée directe de NAT échoue.
TURN vs STUN
- STUN (Session Traversal Utilities for NAT) permet à un client de découvrir son
adresse IP/port publics tels que vus depuis l'extérieur, pour tenter un établissement direct de flux (pair-à-pair). Léger, mais ne fonctionne pas avec tous les types de NAT (symmetric NAT notamment).
- TURN prend le relais quand STUN échoue : le serveur TURN relaie effectivement tout le
flux média entre les deux clients. Plus coûteux en bande passante (le trafic transite réellement par le serveur), mais fonctionne dans tous les cas de figure.
En pratique, un serveur comme coturn implémente les deux rôles à la fois.
Installation
apt-get install coturn
Configuration minimale
# /etc/turnserver.conf
listening-port=3478
tls-listening-port=5349
realm=exemple.local
fingerprint
lt-cred-mech
user=alice:changeme
cert=/etc/coturn/cert.pem
pkey=/etc/coturn/key.pem
Usage typique
Un serveur TURN/STUN est requis dès qu'une application WebRTC (visioconférence, ou téléphonie SIP/ASTERISK avec des clients WebRTC) doit fonctionner de bout en bout à travers des NAT d'entreprise ou grand public — sans lui, l'établissement du flux média échoue silencieusement alors que la signalisation (SIP/WebSocket) fonctionne.
Voir aussi
- ASTERISK — PBX pouvant s'appuyer sur un serveur TURN pour les clients WebRTC/NAT