Mobilní aplikace
Mobilní operátorská aplikace je veřejně dostupná v Apple Store a Google Play. Pro její použití je nutný provisioning (prvotní nastavení), při kterém se do aplikace vloží profil konkrétního uživatele UCS.
Aplikace využívá PUSH notifikace, které jsou autorizovány pomocí vývojářských certifikátů aplikace. Tyto certifikáty nelze poskytnout přímo uživatelům UCS, proto jsou notifikace doručovány prostřednictvím služby INSOFT.
Prvotní nastavení
- Kontaktujte INSOFT a vyžádejte si přístupové údaje k UCS servisní službě.
- Obdržené údaje zadejte v administračním rozhraní do sekce ☰ System → Parameters → UCS Jedná se o INSOFT services URL, INSOFT services Client ID a INSOFT services PSK.
- Ověřte, že je správně nastavena adresa pro externí přístup k UCS: ☰ System → Parameters → Networking → System public hostname
- V rolích uživatelů (☰ System → Roles), kteří budou využívat mobilní aplikaci, nastavte požadované parametry:
- DISA number for outgoing calls -telefonní číslo UCS, přes které aplikace realizuje odchozí hovory v režimu GSM. Při použití tohoto režimu jsou hovory spojovány přes UCS, díky tomu mohou být nahrávány a je možné zobrazovat odlišnou identifikaci volajícího než číslo mobilního telefonu.
- Available application features - funkce aplikace dostupné uživatelům:
- dial - volání (softwarový telefon i hovory přes GSM)
- chat - firemní chat
- call history - historie uskutečněných hovorů
- Require FaceID - při každém otevření aplikace je vyžadováno biometrické ověření uživatele
- Allow VoIP calls (uPhone) - povolení funkce softwarového telefonu
- Pro samoobslužný provisioning uživateli je nutné povolit generování QR kódů v operátorské aplikaci.
V souboru
/etc/ucs/operator/config.jsnastavte parametrwindow.ucsOperator.ff.passwordlessLoginna hodnotutrue. Poté proveďte nasazení změn příkazem:ucs-operator-deploy.
Provisioning e-mailem
Pokud není povolen samoobslužný provisioning pomocí QR kódů, lze uživateli zaslat e-mail s odkazem, který profil do aplikace vloží. Text e-mailu se nastavuje v administračním rozhraní v sekci: ☰ System → Parameters → UCS → UCS Mobile Application provisioning e-mail.
Odeslání e-mailu uživateli se provádí přes administrační rozhraní: ☰ System → Users → 🔑 → Mobile device application → Send provisioning e-mail
Aplikační firewall
Rozhraní pro mobilní telefony lze umístit na separátní server, na kterém je spuštěný Traefik a případne i STUN server a uPhone.
Traefik
Minimální konfigurace Traefiku je distribuční soubor 05_uauth.yaml ve kterém se nastaví
http.middlewares.uAuth.forwardAuth.address = "https://ucs.zakaznik.cz:3000" a
http.services.auth.loadBalancer.servres[].url = "https://ucs.zakaznik.cz:5639".
http:
routers:
ucsApiWs:
tls: {} # Accessible only via HTTPS
rule: "PathPrefix(`/ws`)"
middlewares:
- https
- cors
- uAuth
service: ucsApi
ucsApiOptions:
tls: {} # Accessible only via HTTPS
rule: "Path(`/`) && Method(`OPTIONS`)"
middlewares:
- https
- cors
service: ucsApi
services:
ucsApi:
loadBalancer:
servers:
- url: "https://ucs.zakaznik.cz"
http:
routers:
ucsCoreSecure:
tls: {} # Accessible only via HTTPS
rule: "PathPrefix(`/JSON`)"
middlewares:
- https
- cors
- uAuth
service: ucsCore
services:
ucsCore:
loadBalancer:
servers:
- url: "http://ucs.zakaznik.cz"
http:
routers:
lightLogHttp:
tls: {} # Accessible only via HTTPS
rule: "PathPrefix(`/llog/http`)"
middlewares:
- https
- cors
- uAuth
service: lightLogHttp
services:
lightLogHttp:
loadBalancer:
servers:
- url: "http://ucs.zakaznik.cz"
STUN server
STUN/ICE server může být provozován na privátní IP, pak je potřeba nastavit parametr external-ip.
Pro správnou detekci veřejné IP adresy lokálním uPhone je potřeba, aby server poslouchal na
privátní IP (nikoliv na loobpacku 127.0.0.1).
listening-ip=10.20.30.40
external-ip=80.70.60.50
min-port=10000
max-port=20000
no-tcp
no-tls
no-dtls
no-tcp-relay
syslog
stun-only
uPhone
Zde jsou uvedeny jen parametry, kterým je potřeba věnovat pozornost. Rozsah candidate_min_port
a stun_candidate_max_port musí odpovídat rozsahu min-port a max-port STUN serveru.
IP adresa parametru stun_server nesmí být 127.0.0.1.
[sip]
interface = ens123
[webrtc]
stun_server = stun:10.20.30.40:3478
stun_candidate_min_port = 10000
stun_candidate_max_port = 20000
[nats]
url = nats://10.20.30.10:4222