Home
» Hoe
»
Krijg Nextcloud Talk-gesprekken tot stand wanneer directe media niet werkt.
Krijg Nextcloud Talk-gesprekken tot stand wanneer directe media niet werkt.
Om een Nextcloud Talk-gesprek te herstellen dat geen verbinding kan maken of eenrichtingsverkeer heeft, configureert u een bereikbare TURN-relay, voert u de hostnaam, poort en het gedeelde geheim in de Talk-instellingen in en staat u verkeer toe via zowel de TURN-listener als de relaypoorten. TURN biedt WebRTC een doorgeschakelde route wanneer een directe verbinding mislukt; het herstelt geen zwakke wifi-verbindingen, pakketverlies of een overbelast netwerk.
Illustratief voorbeeld: Stel je een kleine organisatie voor waarvan de medewerkers wel vanuit kantoor aan een Talk-gesprek kunnen deelnemen, maar niet betrouwbaar video kunnen verzenden vanuit een hotelnetwerk. De firewall van het hotel blokkeert mogelijk het directe mediapad. Het onderstaande voorbeeld volgt de beheerder terwijl deze de route controleert, coTURN configureert en de wijziging test; het is geen verslag van een daadwerkelijke implementatie of test.
1. Controleer of een relais de juiste oplossing is.
Nextcloud Talk probeert in eerste instantie deelnemers rechtstreeks met elkaar te verbinden. STUN helpt apparaten het openbare adres en de poort te vinden die door een router zijn aangemaakt. Wanneer een firewall of beperkende NAT nog steeds een directe verbinding blokkeert, stuurt TURN het medium door. Een STUN-server alleen kan die doorverbinding niet verzorgen.
Vergelijk een gesprek via het kantoornetwerk met een gesprek via een apart netwerk, zoals een mobiele hotspot. Als het gesprek op de ene locatie wel tot stand komt, maar op de locatie met beperkte bandbreedte herhaaldelijk geen audio of video kan genereren, is TURN een logische volgende stap. Als het gesprek wel tot stand komt, maar op elk netwerk wazig of haperend blijft, meet dan eerst de bandbreedte, het pakketverlies, de wifi-kwaliteit en de CPU-belasting; het routeren van meer media via een relay kan de belasting verhogen en levert geen extra capaciteit op.
Illustratie: een beheerderspagina met configuratievelden en een gemaskeerde inloggegevens, die de instellingen weergeven die vóór een testoproep moeten worden gecontroleerd.
Noteer de Talk-versie, de TURN-hostnaam en -poort, of de TURN-host zich achter NAT bevindt en of er een High Performance Backend (HPB) is geïnstalleerd. Houd het geheim geheim. De onderstaande commando's gaan ervan uit dat Linux met systemd wordt gebruikt; de pakketpaden kunnen variëren.
2. Configureer coTURN met authenticatie via een gedeeld geheim.
De Talk-documentatie van Nextcloud raadt coTURN 4.5.0.8 of later aan, omdat oudere versies een probleem hebben met IPv6 UDP-sockets. Installeer het vanuit de repository van uw distributie en zoek het actieve configuratiebestand (vaak /etc/turnserver.conf). Genereer een willekeurig geheim op de TURN-host:
openssl rand -hex 32
Sla die waarde op in een wachtwoordmanager of een beveiligde configuratieopslag. Stel in de actieve coTURN-configuratie de listener, de authenticatie met gedeeld geheim en het realm in. Vervang de voorbeeldhostnaam en het voorbeeldgeheim door de werkelijke waarden:
De Talk-documentatie is lt-cred-mechalleen van toepassing op coTURN-versies ouder dan 4.5.0.8; upgrade oudere installaties in plaats van blindelings oude instellingen te kopiëren. Als coTURN zich achter NAT bevindt, configureer dan de publieke en relay-adressen zoals vereist in de implementatiehandleiding en zorg ervoor dat de DNS-naam wordt omgezet naar een adres dat bereikbaar is voor deelnemers.
Illustratie: een configuratie-editor die de coTURN-listener en authenticatie-instellingen weergeeft; gebruik de gedocumenteerde parameternamen in de tekst, niet de waarden die uit de afbeelding zijn afgeleid.
3. Open het luister- en doorstuurpad.
Sta de TURN-luisterpoort (3478 in dit voorbeeld) toe via de host- en upstream-firewalls voor UDP en TCP. Voor TLS heeft coTURN ook een geldig certificaat en een geldige privésleutel nodig, en Talk moet turns:. Poort 443 kan toegang bieden tot meer restrictieve netwerken, maar controleer op conflicten: een HPB heeft die poort mogelijk ook nodig, wat aparte IP-adressen of hosts vereist.
Media maakt ook gebruik van relaypoorten. Sta het coTURN-relay UDP-bereik toe in de hostfirewall, de cloudbeveiligingsgroep en de router. Als u min-porten instelt max-port, open dan precies dat bereik; alleen de listener toestaan is onvoldoende. Voor een TURN-host achter NAT moet u zowel het listener- als het relaybereik doorsturen en de publieke/relay-adressen configureren. Behoud de coTURN-peerbeperkingen om toegang tot niet-gerelateerde interne services te voorkomen.
Illustratie: firewall-ingangen vertegenwoordigen het luister- en doorstuurverkeer dat moet worden toegestaan; het exacte poortbereik is afhankelijk van de coTURN-configuratie.
Start coTURN opnieuw na het bewerken en controleer of de service actief is. Bijvoorbeeld op een systemd-host:
sudo systemctl restart coturn
sudo systemctl status coturn --no-pager
De servicestatus bevestigt dat het proces is gestart; het bewijst niet dat een externe browser de relay kan bereiken. Controleer de firewalls van de host en de provider afzonderlijk en bekijk de coTURN-logboeken op bindfouten, authenticatiefouten of berichten over toewijzingsquota.
4. Voeg de server toe in Talk en controleer of het een echt gesprek is.
Open als beheerder de beheerdersinstellingen > Talk . Voer de TURN-hostnaam en -poort in, bijvoorbeeld turn.example.org:3478, en hetzelfde geheim als static-auth-secret. Voeg geen https://, turn:, of turns:toe aan het hostnaamveld; kies het schema in de Talk-instellingen. Houd UDP en TCP indien mogelijk ingeschakeld. Gebruik dit turns:pas nadat TLS in coTURN is geconfigureerd.
Sla de instellingen op en voer de ingebouwde TURN-controle van Talk uit, indien beschikbaar. Bel vervolgens vanuit het beperkte netwerk naar een ander netwerk en controleer of de audio en video in beide richtingen werken. Controleer tijdens het gesprek de coTURN-logboeken op toewijzingsfouten of authenticatiefouten. In het voorbeeld vergelijkt de beheerder de verbinding, vergelijkbaar met die in een hotel, met het gesprek op kantoor.
Illustratie: een gespreksvenster voor twee personen toont de volledige controle na het opslaan van de TURN-instellingen; controleer of elke deelnemer media kan verzenden en ontvangen.
Als de controle mislukt, vergelijk dan de hostnaam, poort en secret, en controleer vervolgens DNS, firewallregels, het UDP-relaybereik, NAT-forwarding en servicelogboeken. Een eenvoudige controle kan een probleem met het relaypad missen, dus test vanuit een extern netwerk. Volg voor een TURN-diagnose de browserspecifieke procedure van Talk; de consolemethode is tijdelijk en het gedrag van browsers verschilt.
TURN is niet schaalbaar voor groepsgesprekken. Voor grotere groepen, zo stelt Nextcloud, zijn gesprekken met meer dan ongeveer 5-10 gebruikers de HPB (High Performance Bundle) vereist. Als TURN verbinding maakt maar de videokwaliteit slecht blijft, controleer dan de bandbreedte, pakketverlies, wifi-interferentie en serverbelasting voordat u de relay-quota wijzigt.
Verificatie
De oplossing wordt ondersteund door drie waarneembare tekenen: Talk accepteert de TURN-configuratie, coTURN-logboeken tonen relay-toewijzingen tijdens een gesprek en deelnemers op verschillende netwerken kunnen audio en video in beide richtingen uitwisselen. Als alleen het gesprek met het kantoor werkt, of als de logboeken geen inkomend verzoek tonen, is de openbare route nog steeds geblokkeerd of komen de geconfigureerde host en poort niet overeen. Als er wel media wordt doorgestuurd, maar de kwaliteit slecht blijft, werkt de TURN-connectiviteit en ligt het resterende probleem waarschijnlijk ergens anders in het netwerk of de gespreksinfrastructuur.