Turn

De wiki.nexiat.fr
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