Visualisointi (WebRTC)

Tämä luku kuvaa visualisoinnin WebRTC-osallisen konfigurointia. Luvussa SIP-osallisena selitetään osallisten integrointi tarkemmin.

Tärkeä huomautus: WebRTC toimii vain HTTPS:n ja voimassa olevan sertifikaatin avulla. Muutoin puhelinyhteys ei muodostu.

Signaaliasema

Visualisoinnissa olevaa puhelinta ei voi soittaa soimaan. Siksi soitto on signaloitava erikseen viestien tai fyysisen gongin avulla. Sen jälkeen käyttäjä voi soittaa visualisoinnista puhelun vastapuolelle ja muodostaa puheyhteyden.

Signaalin vastaanottamiseksi voidaan joko suoraan lähettää komento TCP/UDP- tai HTTP-rajapinnasta vastapuolelta, jos tämä tukee sitä. Vaihtoehtoisesti saapuva puhelu voidaan tunnistaa Asterisk AMI-rajapinnan tai valintatauluntapahtuman avulla. Viimeksi mainittu vaihtoehto on helpoin toteuttaa.

Konfigurointi

Eri kuin puhelimessa visualisoinnin osoitekonfiguraatio luodaan automaattisesti palvelimelta. SIP-osoitteita ei siis tarvitse konfiguroida.

Visualisoinnissa olevan puhelimen käyttämiseksi se lisätään kirjastolla sivulle. Kun puhelimen konfiguraatio on valmis ja Asterisk-puhelinlaitteisto käynnistetty onnistuneesti, näytetään FAB (Floating Action Button) visualisoinnin oikeassa alakulmassa. Tämä mahdollistaa käyttäjän yhteyden muodostamisen.

Puhelinten VoIP-konfiguraatio on jaettu kahteen osaan. Visualisointipalvelimien konfigurointi tapahtuu Verkkorajapinnassa tai Etäkäytössä. Kaikki puhelinlaitteiston asetukset tehdään Infrastruktuurissa kohdassa Verkko Puhelinverkko. Asetukset näyttävät samalta, joten on tärkeää huomioida, missä asetuksia tehdään. Useimmiten käytetään samoja asetuksia, jos palvelin sijaitsee samassa verkossa. Oletuksena puhelinverkon asetukset levitetään kaikille verkkoyhteyksille.

Käyttö Maailmanlaajuisesti

Jotta visualisointi voi muodostaa puheyhteyden maailmanlaajuisesti, WebRTC-UDP-paketit on johdettava sisäiseen puhelinlaitteistoon. Jos olet samassa verkossa tai yhdistetty VPN:n kautta, paketit pääsevät suoraan palvelimelle ja kommunikaatio toimii. Toisin kyllä asia on, jos visualisointi avataan toisesta verkosta. Tällöin palvelimen IP-osoitetta ei voi enää saavuttaa. Tähän on kaksi ratkaisua:

  • STUN-palvelin: Tämä ratkaisee jokaisen NAT-IP:n ja tarjoaa nämä osoitteet visualisoinnille. Visualisointi yrittää sitten muodostaa yhteyden jokaiseen näistä IP-osoitteista.
  • TRUN-palvelin: Puheyhteys muodostetaan suoraan TURNin kautta. Toisin sanoen kommunikaatio ohjataan TURNiin.

Kaikki tietoa konfiguroinnista löydät luvusta STUN- ja TRUN-palvelimet.

Näppäimistö

Oikean välilehden alla puhelinkonfiguraatiossa voit määrittää näppäimistön visualisoinnille. Tässä on esimerkki tavallisesta puhelimen näppäimistöstä:

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

Tai oviaukon käyttäminen:

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

Jokainen numero erotetaan puolipisteellä per rivi. Jos sisältö jätetään tyhjäksi, näppäintä ohitetaan vastaavasti. Jokaisella näppäimellä voi olla oma teksti. Teksti kirjoitetaan yksinkertaisesti kaksoispisteen jälkeen koodin edelle. Tuetaan myös paikkamerkkejä [icon:] ja [txt:] käännöksiä varten. Huutomerkin käyttäminen tekstin edellä suurentaa näppäimistön fonttia. Jos käytetään vain koodia, se ei lähetetä. Tyhjä rivi lisätään, aloittaa uusi taulukko.

Tärkeää: Jokainen koodi näytetään selväkielisenä visualisoinnissa ja sitä voi helposti lukea.

Kelvollisia merkkejä ovat 0-9, A-D, * ja #. Myös tauko voidaan lisätä pilkun (,) avulla. Pitkille tauoille toistaa pilkkua useasti.

Virheenetsintä

Tarkastaakseen, voidaanko ulkoinen yhteys todella muodostaa, suositellaan Chrome-selainta käyttävän konsolia. Tämä voidaan avata osoitteesta chrome://webrtc-internals/.

ICE candidate grid-kohdasta voi esimerkiksi näyttää IP-osoitteiden vaatimukset.

Tunnettuja ongelmia

  • Vanhemmissa iOS-laitteissa ei voida muodostaa yhteyttä, jos web-sovellus käytetään täysikokoisena (PWA). Tila 01.10.2019 (iOS13.1).
  • Joissakin iOS-laitteissa äänenvoimakkuus voi olla hyvin hiljainen. Kahdella napsautuksella mikrofonilla (äänenvaihto) äänenvoimakkuus kasvaa.
  • Yhteyttä ei voida muodostaa ilman HTTPS:ää, koska useimmat selainvaatimukset vaativat turvallisen puheyhteyden.