Home
» Come fare
»
Portare a termine le chiamate Nextcloud Talk quando Direct Media non funziona
Portare a termine le chiamate Nextcloud Talk quando Direct Media non funziona
Per risolvere i problemi di una chiamata Nextcloud Talk che non riesce a connettersi o presenta un flusso multimediale unidirezionale, configura un relay TURN raggiungibile, inserisci il suo nome host, la porta e la chiave segreta condivisa nelle impostazioni di Talk e consenti il traffico sia attraverso il listener TURN che attraverso le sue porte di relay. TURN fornisce a WebRTC un percorso di inoltro quando una connessione diretta fallisce; non risolve problemi di Wi-Fi debole, perdita di pacchetti o rete sovraccarica.
Esempio illustrativo: Immaginate una piccola organizzazione i cui dipendenti possono partecipare a una chiamata Talk dall'ufficio, ma non riescono a inviare video in modo affidabile dalla rete di un hotel. Il firewall dell'hotel potrebbe bloccare il percorso multimediale diretto. L'esempio seguente segue l'amministratore mentre verifica il percorso, configura coTURN e testa la modifica; non si tratta di un resoconto di un'implementazione o di un test reale.
1. Confermare che un relè sia la soluzione corretta
Nextcloud Talk tenta innanzitutto di connettere direttamente i partecipanti. STUN aiuta i dispositivi a scoprire l'indirizzo IP e la porta pubblici creati da un router. Se un firewall o un NAT restrittivo impediscono ancora un percorso diretto, TURN inoltra il flusso multimediale. Un server STUN da solo non è in grado di fornire tale inoltro.
Confronta una chiamata sulla rete aziendale con una proveniente da una rete separata, come ad esempio un hotspot telefonico. Se la chiamata si connette in un luogo ma non riesce ripetutamente a stabilire audio o video nell'area con restrizioni, TURN è un controllo successivo ragionevole. Se la chiamata si connette ma rimane sfocata o intermittente su tutte le reti, misura prima la larghezza di banda, la perdita di pacchetti, la qualità del Wi-Fi e il carico della CPU; instradare più contenuti multimediali attraverso un relay potrebbe aumentare il carico e non creerà capacità.
Illustrazione: una pagina di amministrazione con campi di configurazione e credenziali mascherate, che rappresentano le impostazioni da rivedere prima di una chiamata di prova.
Annota la versione di Talk, il nome host e la porta di TURN, se l'host TURN si trova dietro un NAT e se è installato un High Performance Backend (HPB). Mantieni il segreto riservato. I comandi seguenti presuppongono Linux con systemd; i percorsi dei pacchetti possono variare.
2. Configurare coTURN con autenticazione tramite chiave segreta condivisa.
La documentazione di Nextcloud Talk raccomanda coTURN 4.5.0.8 o versioni successive perché le versioni precedenti presentano un problema con il socket UDP IPv6. Installalo dal repository della tua distribuzione e individua il file di configurazione attivo (spesso /etc/turnserver.conf). Genera un segreto casuale sull'host TURN:
openssl rand -hex 32
Memorizza quel valore in un gestore di password o in un archivio di configurazione protetto. Nella configurazione coTURN attiva, imposta il listener, l'autenticazione con chiave condivisa e il realm. Sostituisci il nome host e la chiave segreta di esempio con i valori reali:
La documentazione di Talk elenca lt-cred-mechsolo le versioni di coTURN precedenti alla 4.5.0.8; si consiglia di aggiornare le installazioni precedenti anziché copiare ciecamente le impostazioni legacy. Se coTURN si trova dietro un NAT, configurare gli indirizzi pubblici e di inoltro come richiesto dalla guida all'implementazione e assicurarsi che il nome DNS si risolva in un indirizzo raggiungibile dai partecipanti.
Illustrazione: un editor di configurazione che rappresenta le impostazioni del listener e dell'autenticazione di coTURN; utilizzare i nomi dei parametri documentati nel testo, non i valori dedotti dall'immagine.
3. Aprire il percorso di ascolto e inoltro
Consentire alla porta di ascolto TURN (3478 in questo esempio) di attraversare i firewall host e upstream per UDP e TCP. Per TLS, coTURN necessita anche di un certificato e di una chiave privata validi e Talk deve utilizzare turns:. La porta 443 può raggiungere reti più restrittive, ma verificare la presenza di conflitti: anche un HPB potrebbe necessitare di tale porta, richiedendo indirizzi IP o host separati.
Anche i media utilizzano porte di inoltro. Consenti l'intervallo UDP di inoltro di coTURN nel firewall dell'host, nel gruppo di sicurezza cloud e nel router. Se imposti min-porte max-port, apri esattamente quell'intervallo; consentire solo il listener non è sufficiente. Per un host TURN dietro NAT, inoltra sia l'intervallo del listener che quello di inoltro e configura i relativi indirizzi pubblici/di inoltro. Mantieni le restrizioni dei peer di coTURN per impedire l'accesso a servizi interni non correlati.
Illustrazione: le voci del firewall rappresentano il traffico di ascolto e di inoltro che deve essere consentito; l'intervallo di porte esatto dipende dalla configurazione di coTURN.
Dopo aver modificato coTURN, riavvialo e verifica che il servizio sia attivo. Ad esempio, su un host systemd:
sudo systemctl restart coturn
sudo systemctl status coturn --no-pager
Lo stato del servizio conferma l'avvio del processo, ma non dimostra che un browser remoto possa raggiungere il relay. Verificare separatamente i firewall dell'host e del provider e analizzare i log di coTURN per individuare errori di binding, errori di autenticazione o messaggi relativi alle quote di allocazione.
4. Aggiungi il server a Talk e verifica una chiamata reale
Come amministratore, apri Impostazioni di amministrazione > Talk . Inserisci il nome host e la porta di TURN, ad esempio turn.example.org:3478, e la stessa chiave segreta di static-auth-secret. Non includere https://, turn:o turns:nel campo del nome host; scegli lo schema nei controlli di Talk. Mantieni UDP e TCP abilitati quando possibile. Utilizza turns:solo dopo aver configurato TLS in coTURN.
Salva ed esegui il controllo TURN integrato di Talk, se disponibile. Quindi effettua una chiamata dalla rete con restrizioni verso una rete diversa e verifica la connessione audio e video bidirezionale. Controlla i log di coTURN durante la chiamata per individuare eventuali allocazioni o errori di autenticazione. Nell'esempio, l'amministratore confronta la connessione simile a quella di un hotel con la chiamata in ufficio.
Illustrazione: una finestra di chiamata a due persone rappresenta il controllo end-to-end dopo il salvataggio delle impostazioni TURN; conferma che ogni partecipante possa inviare e ricevere contenuti multimediali.
Se il controllo fallisce, confronta il nome host, la porta e la chiave segreta, quindi verifica il DNS, le regole del firewall, l'intervallo UDP di inoltro, l'inoltro NAT e i log dei servizi. Un controllo di base potrebbe non rilevare un problema del percorso di inoltro, quindi esegui il test da una rete esterna. Per una diagnostica specifica per TURN, segui la procedura specifica per il browser di Talk; il metodo da console è temporaneo e il comportamento del browser può variare.
TURN non è scalabile per le chiamate di gruppo. Per gruppi più numerosi, Nextcloud afferma che le chiamate con più di 5-10 utenti richiedono l'HPB. Se TURN si connette ma la qualità video rimane scarsa, verificare la larghezza di banda, la perdita di pacchetti, le interferenze Wi-Fi e il carico del server prima di modificare le quote di inoltro.
Verifica
La soluzione è supportata da tre segnali osservabili: Talk accetta la configurazione TURN, i log di coTURN mostrano le allocazioni di relay durante una chiamata e i partecipanti su reti diverse possono scambiarsi audio e video in entrambe le direzioni. Se funziona solo la chiamata in ufficio o i log non mostrano richieste in entrata, il percorso pubblico è ancora bloccato oppure l'host e la porta configurati non corrispondono. Se il flusso multimediale è presente ma la qualità rimane scarsa, la connettività TURN funziona e il problema rimanente è probabilmente altrove nella rete o nell'infrastruttura di chiamata.