Visualisierung (WebRTC)

Dieses Kapitel beschreibt die Konfiguration der Visualisierung als WebRTC-Teilnehmer. Im Kapitel SIP-Teilnehmer wird die Integration der Teilnehmer weiter erklärt.

Wichtiger Hinweis: WebRTC funktioniert nur mittels HTTPS und gültigem Zertifikat. Andernfalls wird eine Sprachverbindung nicht zustande kommen.

Signalstation

Ein Telefon auf der Visualisierung kann nicht mittels klingeln erreicht werden. Deshalb muss der Ruf separat via Mitteilungen oder physikalischem Gong signalisiert werden. Danach kann der Benutzer durch einen Anruf von der Visualisierung eine Sprachverbindung zur Gegenstelle aufbauen.

Um das Signal zu empfangen, kann entweder direkt ein Befehl mittels TCP/UDP- oder HTTP-Schnittstelle von der Gegenstelle gesendet werden, falls diese dies unterstützt. Alternativ kann ein eingehender Anruf mittels Asterisk AMI-Schnittstelle oder mit einem Wählplan-Ereignis erkannt werden. Die letztere Variante ist am einfachsten umzusetzen.

Konfiguration

Anders als ein Telefon wird die Adress-Konfiguration der Visualisierung automatisch vom Server erstellt. Es müssen daher keine SIP-Adressen konfiguriert werden.

Um ein Telefon auf der Visualisierung zu verwenden, wird dieses mittels Plugin Bibliothek in eine Seite eingefügt. Wenn die Konfiguration des Telefons vollständig ist und die Asterisk-Telefonanlage erfolgreich gestartet wurde, wird der FAB (Floating Action Button) unten rechts in der Visualisierung angezeigt. Dieser ermöglicht dann den Verbindungsaufbau durch den Benutzer.

Die VoIP-Konfiguration der Telefonie ist in zwei Teile unterteilt. Die Konfiguration der Server für die Visualisierung werden in der Netzwerkschnittstelle oder im Fernzugriff vorgenommen. Alle Einstellungen für die Telefonanlage erfolgen in der Infrastruktur unter Netzwerk Telefonie. Die Einstellungen sehen ähnlich aus, daher ist Vorsicht geboten, wo die Einstellungen vorgenommen werden. Meist werden auch dieselben Einstellungen verwendet, wenn sich der Server im selben Netzwerk befindet. Standardmässig werden deshalb die Einstellungen von der Telefonie in alle Netzwerkverbindungen verteilt.

Verwenden Weltweit

Damit die Visualisierung weltweit eine Sprachverbindung aufbauen kann, müssen die WebRTC-UDP-Pakete zur internen Telefonanlage gelangen. Befindet man sich im selben Netzwerk oder stellt eine Verbindung via VPN her, gelangen die Pakete direkt zum Server und die Kommunikation funktioniert. Anders sieht es aus, wenn die Visualisierung von einem anderen Netzwerk aufgerufen wird. Dann kann die IP-Adresse des Servers nicht mehr erreicht werden. Hierfür gibt es zwei Lösungsansätze:

  • STUN-Server: Dieser löst jede NAT-IP auf und stellt diese Adressen der Visualisierung zur Verfügung. Diese versucht dann zu jeder dieser IP-Adressen eine Verbindung aufzubauen.
  • TRUN-Server: Die Sprachverbindung wird direkt via TURN aufgebaut. D.h. die Kommunikation wird zum TURN umgeleitet.

Alle Informationen zu Konfiguration finden Sie im Kapitel STUN- und TRUN-Server.

Tastatur

Unter dem rechten Reiter in der Telefon-Konfiguration kann eine Tastatur für die Visualisierung festgelegt werden. Hier ein Beispiel eines normalen Telefon-Tastenfeldes:

!1;!2;!3
!4;!5;!6
!7;!8;!9
[icon:material/emergency]:*;!0;!#

Oder die Verwendung eines Türöffners:

[icon:material/door_open] [txt:Open]:*1234#

Jede Ziffer wird mittels Semikolon pro Zeile getrennt. Wird ein Inhalt leer gelassen, so wird die Taste entsprechend übersprungen. Jede Taste kann einen individuellen Text beinhalten. Der Text wird einfach Mittels Doppelpunkt vor den Code geschrieben. Unterstützt werden auch die Platzhalter [icon:] und [txt:] für Übersetzungen. Ein Ausrufezeichen vor dem Text vergrössert die Schriftart des Tastenfeldes. Wird nur der Code verwendet, so wird dieses nicht übertragen. Wir eine leere Zeile eingefügt, so startet eine neue Tabelle.

Wichtig: Jeder Code wird in Klartext in der Visualisierung angezeigt und kann einfach ausgelesen werden.

Gültige Zeichen sind 0-9, A-D, * und #. Auch eine Pause kann mittels Komma (,) eingefügt werden. Für längere Pausen wiederholen Sie das Komma mehrfach.

Fehlersuche

Um zu prüfen, ob eine externe Verbindung auch wirklich hergestellt werden kann, wird empfohlen die Konsole vom Chrome Browser zu verwenden. Diese kann über die URL chrome://webrtc-internals/ aufgerufen werden.

Unter dem Punkt "ICE candidate grid" kann z.B. die Anforderungen der IP-Adressen angezeigt werden.

Bekannte Probleme

  • Auf älteren iOS-Geräten kann keine Verbindung hergestellt werden, wenn die Webanwendung im Vollbildmodus (PWA) verwendet wird. Stand 01.10.2019 (iOS13.1).
  • Auf gewissen iOS-Geräten kann die Lautstärke sehr leise sein. Durch zweimaliges Drücken auf das Mikrofon (Stimmschaltung) wird die Lautstärke dann erhöht.
  • Es kann keine Verbindung ohne HTTPS hergestellt werden, da die meisten Browser eine gesicherte Sprachverbindung erfordern.