Un service de STUN/TURN est un service qui aide à établir une connexion avec une autre personne tout en contournant les différents problèmes de NAT
STUN: Session Traversal Utilities for NAT
Le STUN est utilisé pour identifier l’adresse IP externe d’un client derrière un NAT et permettre à deux clients de communiquer ensemble.
Voici un exemple simplifié lorsqu’une application Wazo initie la communication avec un serveur Wazo en utilisant le STUN
TURN: Traversal Using Relay around NAT
Le TURN est utilisé pour relayer la communication et permettre à un client derrière une topologie réseau complexe (ex: réseau mobile) de communiquer sans problème. Il agit donc comme intermédiaire dans une communication.
Dans le cadre d’utilisation d’un serveur TURN, il est très important d’avoir un serveur robuste et stable, car c’est par celui-ci que les communications vont être relayées.
Voici un exemple simplifié lorsqu’une application Wazo initie la communication avec un serveur Wazo en utilisant le TURN
Note: Ce schéma abstrait certaines communications pour laisser place à l’essentiel (ex: authentification, CreatePermissions, SRTP, etc..).
Cas d’utilisations
Il existe plusieurs architectures différentes pour le serveur TURN et Wazo. Voici les deux plus courantes avec une utilisation de l’application Wazo Mobile
UC Stack et le serveur TURN dans un centre de données
Lorsque le serveur TURN est installé dans un centre de données, le serveur UC Stack peut communiquer avec le serveur TURN par adresse privé (ou public).
Cependant, les applications doivent pouvoir résoudre le nom de domaine du serveur TURN via un DNS externe, peu importe où se trouve le mobile de la personne
Voici un exemple simplifié montrant les principales interactions avec le serveur DNS et TURN
UC Stack et le serveur TURN dans le réseau entreprise
Lorsque le serveur TURN est installé dans l’infrastructure de l’entreprise, celle-ci doit obligatoirement installer un serveur DNS à l’interne pour permettre au mobile de résoudre le nom de domaine avec l’IP privé du serveur TURN.
Sans DNS interne, lorsque le mobile sera connecté sur le réseau de l’entreprise, la résolution du nom de domaine du serveur TURN retournera l’IP publique et ne fonctionnera pas.
Voici un exemple simplifié montrant les principales interactions avec le serveur DNS et TURN