Visualisering (WebRTC)

Detta kapitel beskriver konfigurationen av visualiseringen som en WebRTC-deltagare. I kapitlet SIP-deltagare förklaras integreringen av deltagarna vidare.

Viktig notering: WebRTC fungerar endast via HTTPS och giltigt certifikat. Annars kommer en röstanslutning inte att uppstå.

Signalstation

Ett telefon på visualiseringen kan inte nås genom ringning. Därför måste samtalet separat signaleras via Meddelanden eller fysisk klocksignal. Därefter kan användaren genom ett samtal från visualiseringen upprätta en röstanslutning till motsatt part.

För att ta emot signalet kan antingen direkt ett kommando skickas via TCP/UDP- eller HTTP-gränssnitt från motsatt part, om detta stöds. Alternativt kan ett inkommande samtal upptäckas via Asterisk AMI-gränssnitt eller med en valplan-Händelse. Den senare varianten är den enklaste att implementera.

Konfiguration

Till skillnad från ett Telefon skapas adresskonfigurationen för visualiseringen automatiskt av servern. Därför behöver inga SIP-adresser konfigureras.

För att använda ett telefon på visualiseringen införs detta via plugin Bibliotek i en Sida. När konfigurationen av telefonen är komplett och Asterisk-telefonväxeln har startats framgångsrikt visas FAB (Floating Action Button) längst ned till höger i visualiseringen. Detta möjliggör sedan upprättandet av anslutningen av användaren.

VoIP-konfigurationen för telefonin är uppdelad i två delar. Konfigurationen av servrarna för visualiseringen görs i Nätverksgränssnittet eller under Fjärråtkomst. Alla inställningar för telefonväxeln görs i Infrastruktur under Nätverk Telefoni. Inställningarna ser liknande ut, därför måste man vara försiktig med var inställningarna görs. Oftast används också samma inställningar om servern befinner sig i samma nätverk. Standardmässigt sprids därför inställningarna från telefonin till alla nätverksanslutningar.

Använda Globalt

För att visualiseringen ska kunna upprätta en röstanslutning globalt måste WebRTC-UDP-paketen nå den interna telefonväxeln. Befinner man sig i samma nätverk eller etablerar en anslutning via VPN når paketen servern direkt och kommunikationen fungerar. Annorlunda är det om visualiseringen anropas från ett annat nätverk. Då kan serverns IP-adress inte längre nås. För detta finns två lösningsförslag:

  • STUN-server: Denna löser varje NAT-IP och ställer dessa adresser till visualiseringens förfogande. Denna försöker sedan upprätta en anslutning till var och en av dessa IP-adresser.
  • TRUN-server: Röstanslutningen byggs direkt upp via TURN. Dvs. kommunikationen omdirigeras till TURN.

All information om konfiguration hittar du i kapitlet STUN- och TRUN-servrar.

Tangentbord

Under fliken till höger i Telefonkonfigurationen kan ett Tangentbord för visualiseringen anges. Här är ett exempel på ett normalt telefon-tangentbord:

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

Eller användningen av en dörröppnare:

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

Varje siffra separeras med semikolon per rad. Om ett innehåll lämnas tomt hoppas tangenten över. Varje knapp kan innehålla en individuell text. Texten skrivs enkelt framför koden med dubbelpunkt. Stöds gör även platshållarna [icon:] och [txt:] för översättningar. Ett utropstecken framför texten förstorar teckensnittet på tangentbordet. Om endast koden används överförs denna inte. Infogas en tom rad startar en ny tabell.

Viktigt: Varje kod visas i klartext i visualiseringen och kan enkelt läsas av.

Giltiga tecken är 0-9, A-D, * och #. Även en paus kan införas med komma (,). För längre pauser upprepas kommat flera gånger.

Felsökning

För att kontrollera om en extern anslutning verkligen kan upprättas rekommenderas det att använda konsolen i Chrome-webbläsaren. Denna kan anropas via URL chrome://webrtc-internals/.

Under punkten ICE candidate grid kan till exempel kraven på IP-adresserna visas.

Kända Problem

  • På äldre iOS-enheter kan ingen anslutning upprättas om webbapplikationen används i helskärmsläge (PWA). Status 01.10.2019 (iOS13.1).
  • På vissa iOS-enheter kan ljudvolymen vara mycket låg. Genom att dubbelklicka på mikrofonen (röststyrning) ökas sedan volymen.
  • Ingen anslutning kan upprättas utan HTTPS, eftersom de flesta webbläsare kräver en säker röstanslutning.