VOICECALL LITE · TEST 0.2.0

Verbindung ohne TURN testen

Dieses vorläufige Werkzeug prüft eure Internetanschlüsse. Das geplante Endprodukt ist eine eigenständige Windows-Anwendung, bevorzugt in C++; dieser Browser-Test legt deren Oberfläche oder Implementierung nicht fest.

Was muss ich installieren?

Auf beiden Windows-Geräten: einen aktuellen Microsoft Edge oder Google Chrome. Sonst nichts: kein PHP, kein Node.js, keine Erweiterung und kein TURN-Konto. Für den Sprachtest Mikrofon und möglichst Kopfhörer verwenden.

Einmalig auf deinem Webhosting: PHP 8.1 oder neuer, eine öffentlich erreichbare HTTPS-Adresse mit gültigem Zertifikat und Schreibrechte für den Ordner data. Keine Datenbank und keine cURL-Erweiterung erforderlich.

1 · Einmalig auf das PHP-Hosting kopieren

  1. Auf dem Hosting einen Ordner anlegen, beispielsweise voicecall-test.

  2. Den gesamten Inhalt des lokalen Ordners dist hineinkopieren: index.html, app.js, style.css, api.php, ANLEITUNG.html, .htaccess und data/.htaccess. Auch die versteckten .htaccess-Dateien übertragen.

  3. Dem PHP-Prozess Schreibrechte für data geben (über das Hostingpanel; nicht pauschal alles auf 777 setzen). Der Server erzeugt darin selbst state.php. Diese Datei bei späteren Updates erhalten; sie enthält die ID-Zuordnungen.

  4. Die Adresse öffnen, beispielsweise https://DEINE-DOMAIN/voicecall-test/. Es müssen eine vierstellige ID und „Vermittlung erreichbar“ erscheinen. Die Beispiel-Domain ist durch deine tatsächliche Domain zu ersetzen.

Beide Geräte müssen exakt diese Installation verwenden. Die lokale Adresse 192.168.178.55 ist von außerhalb deines Heimnetzes nicht erreichbar.

2 · Auf beiden Geräten starten

  1. Gerät A und Gerät B mit unterschiedlichen Internetanschlüssen verbinden, etwa Heimanschluss und Mobilfunk-Hotspot. Gleiche WLANs sind nur ein lokaler Funktionstest. VPNs für den ersten Test möglichst nicht verwenden; eine spätere VPN-Nutzung separat testen.

  2. Auf beiden Geräten dieselbe HTTPS-Testadresse in Edge oder Chrome öffnen. Beide Fenster während des Tests sichtbar und die Rechner wach halten. Nur einen Tab pro Browserprofil verwenden.

  3. Optional links vor der vierstelligen ID einen Namen eingeben und „Speichern“ anklicken. Erlaubt sind maximal 20 Zeichen: A–Z, a–z, Ziffern, Unterstrich und Bindestrich. Beispiel: Daniel-4827. Die vier Ziffern sind die eindeutige Rufadresse; der Name ist ein veränderbarer Zusatz. Zum Anrufen funktionieren 4827 und Daniel-4827. Ein alter Namenszusatz verhindert den Ruf nicht.

  4. Auf Gerät A die ID von Gerät B in das Zielfeld eingeben. Frühere IDs werden beim Anklicken des Felds als Liste angezeigt.

  5. Für den ersten Versuch „Nur Verbindung (ohne Mikrofon)“ auswählen und „Test anrufen“ anklicken. Auf Gerät B „Annehmen“ anklicken. Maximal etwa 45 Sekunden ab Beginn des Verbindungsaufbaus warten.

  6. Nach einem erfolgreichen Netzwerktest auflegen. Anschließend „Verbindung + Mikrofon / Sprache“ wählen und erneut anrufen. Auf beiden Geräten den Mikrofonzugriff erlauben; ggf. „Tonwiedergabe erlauben“ anklicken. Beide Personen sprechen nacheinander einige Sätze.

  7. Auf beiden Geräten „Diagnose speichern“ anklicken. So liegen die Ergebnisse beider Seiten als JSON-Dateien im Downloadordner vor.

3 · Ergebnis lesen

OHNE TURN ERFOLGREICH: Zehn aufeinanderfolgende beantwortete Testnachrichten belegen einen funktionierenden Hin- und Rückweg. Der tatsächlich gewählte ICE-Pfad wurde geprüft und enthält keinen Relay-Kandidaten. Das ist ein positiver Nachweis für die aktuelle Netzwerkkonstellation.

OHNE TURN NICHT ERFOLGREICH: Die WebRTC-Verbindungsdaten wurden ausgetauscht, aber der direkte Datenverkehr wurde nicht stabil bestätigt. Ein erneuter Test ist sinnvoll. NAT, Firewalls, blockiertes STUN, Netzabbrüche oder Browserbeschränkungen sind mögliche Ursachen. Dieses Ergebnis beweist nicht, dass ausschließlich TURN helfen kann.

NICHT GETESTET / TEST NICHT AUSWERTBAR: Beispielsweise Gegenüber offline, Ruf nicht angenommen, PHP nicht erreichbar, fehlende Verbindungsdaten oder Mikrofon nicht erlaubt. Erst die Ursache beheben; noch keine Aussage über NAT oder TURN treffen.

Audio empfangen · hier / dort: Beide Werte müssen im Sprachtest steigen. Das belegt empfangene Audiopakete auf beiden Geräten, aber weder hörbare Sprache noch die richtige Lautsprecherauswahl. Ein stummgeschaltetes Mikrofon kann weiterhin stille Pakete senden. Für den Hörtest beide Mute-Schalter ausschalten und eine hörbare Lautstärke wählen.

Netzwerkpfad: host kann lokale oder direkt erreichbare IPv6-Adressen bedeuten, srflx eine über STUN ermittelte Adresse, prflx eine während der Verbindungsprüfung ermittelte Adresse. Der Kandidatentyp allein beweist nicht, dass die Geräte in unterschiedlichen Netzen sind. Das müsst ihr durch den Testaufbau sicherstellen.

Der Test bleibt nach Erfolg aktiv. Unterbrechungen werden angezeigt. Nach dem Auflegen bleibt das bisherige Ergebnis in der Diagnose erhalten. Es werden keine Tonaufnahmen gespeichert. Der Diagnoseexport lässt IP-Adressen, SDP, Geräte-IDs und geheime Schlüssel weg.

Einstellungen und automatische Annahme

Namenszusatz, Zielhistorie, Audiogeräte, Lautstärke, Mute-Schalter und automatische Annahme werden automatisch bzw. über „Speichern“ im jeweiligen Browserprofil gespeichert. Die Mikrofonwahl gilt für den nächsten Anruf; Ausgabe und Lautstärke können während eines Gesprächs geändert werden.

Automatische Annahme ist standardmäßig aus. Eingeschaltet nimmt sie eingehende Tests ohne weiteren Klick an. Bei einem Sprachtest wird das Mikrofon aktiviert, sofern die Browserfreigabe bereits vorliegt. Die Checkbox umgeht keine Berechtigungen und kein Autoplay-Verbot. Nur einschalten, wenn das gewollt ist: Vierstellige IDs sind leicht erratbar.

Die Identität gilt für diese Website und dieses Browserprofil. Inkognito, ein anderer Browser, eine andere Domain oder gelöschte Websitedaten erzeugen eine andere Identität. Der spätere C++-Client wird seine Identität im Windows-Benutzerprofil speichern. Die Test-ID wird beim ersten Start lokal vorgeschlagen; der PHP-Server löst mögliche Kollisionen auf. IDs sind keine Passwörter: Ein separater geheimer Geräteschlüssel schützt die Anmeldung.

Lokaler Test auf dem WAMP-PC

Die Testdateien liegen bereits unter E:\DATA\wamp64_www\MY-WEBSITES\VOICECALL-LITE. Bei laufendem WAMP auf diesem PC http://localhost/MY-WEBSITES/VOICECALL-LITE/ öffnen.

Für zwei lokale Testidentitäten Edge und Chrome oder zwei getrennte Browserprofile verwenden. Zwei Tabs desselben Profils werden absichtlich blockiert, damit nicht zwei Clients dieselbe Identität benutzen. Diese lokale Probe ersetzt den Test an zwei Internetanschlüssen nicht.

Die angegebene http://192.168.178.55/MY-WEBSITES/VOICECALL-LITE/-Adresse zeigt im Browser bewusst einen HTTPS-Hinweis. Mikrofonzugriff benötigt einen sicheren Kontext; localhost ist eine erlaubte lokale Ausnahme. Keine Browser-Sicherheitsfunktionen abschalten.

Wenn etwas nicht funktioniert

Dieses Werkzeug ist für einen kleinen privaten Vorabtest gedacht. Es hat keine Benutzerkonten, Kontaktfreigaben oder umfassenden Missbrauchsschutz. Nach Abschluss die Testinstallation vom öffentlichen Hosting entfernen, sofern sie nicht weiter gebraucht wird.

Technische Quellen: WebRTC: Signalisierung, STUN und TURN · Mikrofon und sichere Kontexte · WebRTC-Spezifikation

← Zum Test