Coturn est un serveur TURN utile pour relayer un traffic réseau.
C’est un élément essentiel pour faire de la visioconférence si les interlocuteurs sont tous derrière des pare-feu qui empêchent les connexions entrantes. Par exemples, 2 personnes en téléphones 4G ou derrière des NAT d’entreprise.
Tester sa configuration Coturn n’est pas aisée.
Si votre config coturn utilise ce genre de secret :
use-auth-secret static-auth-secret=mystaticauthpassword realm=example.com
Alors c’est un poil complexe de tester. Car le secret est utilisé générer des identifiants « court terme » qui sont utilisés par les clients. Voici donc un script pour en générer :
#!/bin/bash
HOST=example.com
SECRET=mystaticauthpassword
PORT=3478
time=$(date +%s)
expiry=8400
username=$(( $time + $expiry ))
echo
echo "Go to https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/"
echo "Remove the default server."
echo "Add a server with the below information:"
echo
echo URI : turn:$HOST:$PORT
echo username : $username
echo password : $(echo -n $username | openssl dgst -binary -sha1 -hmac $SECRET | openssl base64)
echo
Ce qui vous permet ensuite de tester sur https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ avec votre navigateur. Vous devriez voir des « relays » dans cette config avec l’adresse IP de votre serveur Coturn