Visualisatie (WebRTC)

Dit hoofdstuk beschrijft de configuratie van de visualisatie als WebRTC-deelnemer. In het hoofdstuk SIP-deelnemer wordt de integratie van de deelnemers verder uitgelegd.

Belangrijke opmerking: WebRTC werkt alleen via HTTPS en een geldig certificaat. Anders zal er geen spraakverbinding tot stand komen.

Signaalstation

Een telefoon in de visualisatie kan niet worden gebeld. Daarom moet het signaal apart worden verzonden via Berichten of een fysiek gong. Vervolgens kan de gebruiker door middel van een oproep vanuit de visualisatie een spraakverbinding tot stand brengen met het andere eindpunt.

Om het signaal te ontvangen, kan er rechtstreeks een opdracht worden verzonden via TCP/UDP- of HTTP-interface van het andere eindpunt, indien dit wordt ondersteund. Alternatief kan een inkomende oproep worden gedetecteerd via de Asterisk AMI-interface of met een belplan-gebeurtenis. De laatste optie is het eenvoudigst om te implementeren.

Configuratie

In tegenstelling tot een telefoon wordt de adresconfiguratie van de visualisatie automatisch door de server gegenereerd. Er hoeven dus geen SIP-adressen te worden geconfigureerd.

Om een telefoon in de visualisatie te gebruiken, wordt deze toegevoegd aan een pagina via het plugin Bibliotheek. Wanneer de configuratie van de telefoon volledig is en de Asterisk-telefooncentrale succesvol is gestart, wordt de FAB (Floating Action Button) onderaan rechts in de visualisatie weergegeven. Deze stelt de gebruiker vervolgens in staat om een verbinding tot stand te brengen.

De VoIP-configuratie van de telefonie is verdeeld in twee delen. De configuratie van de servers voor de visualisatie wordt uitgevoerd in de Netwerkinterface of in de Externe toegang. Alle instellingen voor de telefooncentrale worden uitgevoerd in de Infrastructuur onder Netwerk Telefonie. De instellingen lijken erg op elkaar, dus let goed op waar de instellingen worden uitgevoerd. Meestal worden dezelfde instellingen gebruikt als de server zich in hetzelfde netwerk bevindt. Standaard worden de instellingen van de telefonie daarom naar alle netwerkverbindingen gedistribueerd.

Wereldwijd Gebruik

Om te zorgen dat de visualisatie wereldwijd een spraakverbinding kan tot stand brengen, moeten de WebRTC-UDP-pakketten naar de interne telefooncentrale worden geleid. Als u zich in hetzelfde netwerk bevindt of een verbinding via VPN maakt, worden de pakketten rechtstreeks naar de server gestuurd en werkt de communicatie. Het is anders als de visualisatie vanuit een ander netwerk wordt opgeroepen. Dan kan het IP-adres van de server niet meer worden bereikt. Hiervoor zijn er twee oplossingen:

  • STUN-server: Deze lost elk NAT-IP-adres op en maakt deze adressen beschikbaar voor de visualisatie. Vervolgens probeert de visualisatie een verbinding tot stand te brengen met elk van deze IP-adressen.
  • TRUN-server: De spraakverbinding wordt rechtstreeks via TURN tot stand gebracht. Dat wil zeggen dat de communicatie naar de TURN-server wordt omgeleid.

Alle informatie over configuratie vindt u in het hoofdstuk STUN- en TRUN-servers.

Toetsenbord

Onder het rechter tabblad in de Telefoonconfiguratie kunt u een Toetsenbord voor de visualisatie instellen. Hier is een voorbeeld van een normaal telefoontoetsenbord:

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

Of het gebruik van een deuropener:

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

Elk cijfer wordt gescheiden door een puntkomma per regel. Als een inhoud leeggelaten wordt, wordt de toets overeenkomstig overgeslagen. Elke toets kan een individuele tekst bevatten. De tekst wordt gewoonlijk geplaatst voor de code met behulp van een dubbelpunt. Ook worden de plaatsaanduiders [icon:] en [txt:] ondersteund voor vertalingen. Een uitroepteken voor de tekst vergroot het lettertype van het toetsenbord. Als alleen de code wordt gebruikt, wordt deze niet overgedragen. Wordt een lege regel ingevoegd, dan begint een nieuwe tabel.

Belangrijk: Elke code wordt in klare tekst in de visualisatie weergegeven en kan eenvoudig worden gelezen.

Geldige tekens zijn 0-9, A-D, * en #. Ook kan een pauze worden ingevoegd met behulp van een komma (,). Voor langere pauzes herhaalt u het komma meerdere keren.

Foutopsporing

Om te controleren of een externe verbinding daadwerkelijk kan worden tot stand gebracht, wordt aanbevolen de console van de Chrome-browser te gebruiken. Deze kan worden opgeroepen via de URL chrome://webrtc-internals/.

Onder het punt ICE candidate grid kunnen bijvoorbeeld de eisen voor IP-adressen worden weergegeven.

Bekende Problemen

  • Op oudere iOS-apparaten kan geen verbinding worden tot stand gebracht als de webapplicatie in fullscreen-modus (PWA) wordt gebruikt. Status 01.10.2019 (iOS13.1).
  • Op sommige iOS-apparaten kan het geluidsniveau erg laag zijn. Door twee keer op de microfoon (stemschakeling) te drukken, wordt het geluidsniveau vervolgens verhoogd.
  • Er kan geen verbinding zonder HTTPS worden tot stand gebracht, omdat de meeste browsers een beveiligde spraakverbinding vereisen.