Operátorská aplikace - IT department
Instalace
- Povolit porty
- 443/tcp (HTTPS)
- 3478/udp (STUN/ICE)
- 10000-20000/udp (RTP)
- Na firewallech vypnout helpery a inspekci vyšších komunikačních vrstev při komunikaci s UCS.
- Zajistit QoS pro hlasový provoz (ToS EF nebo CoS 5) - UDP stream, 50 paketů za sekundu, 80 kbit (každým směrem pro jeden hovor).
- Nastavit registry
- IntensiveWakeUpThrottlingEnabled 0
- BatterySaverModeAvailability 0 v Chrome, resp. pro Edge EfficiencyMode 0
- AudioProcessHighPriorityEnabled 1
- AudioCaptureAllowed ověřit, že není v registru s hodnotou 0, nebo přidat URL UCS do AudioCaptureAllowedUrls
- AutoplayAllowed 1, nebo přidat URL UCS do AutoplayAllowlist
- DefaultNotificationsSetting 1, nebo přidat URL UCS do NotificationsAllowedForUrls
- Zajistit dostatečně výkonné počítače s ohledem na další aplikace a/nebo záložky v prohlížeči, které uživatel potřebuje k odbavení hovoru. Min. 8 GB RAM (16 GB pro Windows 11), CPU ne starší než 3 generace.
Troubleshooting
- Vůbec nefunguje softphone - uživatel nemá v prohlížeči povolený přístup k mikrofonu.
- Softphone někdy nezvoní - příliš mnoho otevřených záložek v prohlížeči, málo RAM, není vypnutý IntensiveWakeUpThrottling.
- Pokud vypadne hlas nebo je nekvalitní audio v hovoru, pak při hlášení problému předejte:
- Jméno uživatele, datum a čas hovoru, telefonní číslo volajícího a volaného.
- Pracoval uživatel v kanceláři nebo na home office (používal VPN)?
- Měl uživatel připojený notebook k počítačové síti nebo domácímu routeru pomocí kabelu (nebyl připojení pomocí WiFi)?
- Měl užiavtel zapojený notebook v elektrické síti (notebook nebyl napájen z baterií)?
- Výrobce a typ notebooku, velikost RAM, model CPU.
Úvod
Operátorská aplikace UCS je webová aplikace, kterou využívají operátoři kontaktních center. Aplikace může ovládat prostřednictvím serveru UCS IP telefony nebo její součástí může být softwarový telefon. Aplikace pro komunikaci se serverem používá protokol HTTPS (RFC 2818) a v tomto protokolu WebSockety (RFC 6455). Softwarový telefon pak využívá technologii WebRTC s přenosem SIP zpráv prostřednictvím WebSocketu (RFC 7118).
Co je potřeba zajistit
Pro bezproblémový provoz operátorské aplikace je bezpodmínečně nutné splnit následující podmínky.
Konektivita
- Maximální ping 80 ms (ideálně do 20 ms).
- Maximální ztrátovost do 1% (ideálně 0%).
- Minimální rychlost 1 Mbit (ideálně 10 Mbit).
Firewally
- Veškerou komunikaci zahajuje webový prohlížeč směrem na UCS, je nutné povolit následující komunikaci:
- 80/tcp - HTTP (přesměrování na https)
- 443/tcp - HTTPS
- 3478/udp - STUN
- 10000 až 20000/udp - RTP (rozsah portů může být upraven v konkrétní instalaci, konzultujte nastavení v /etc/asterisk/rtp.conf na UCS)
- Minimální délka spojení 60 vteřin (connection tracking).
- Vypnout helpery a inspekci vyšších komunikačních vrstev.
Proxy a antivirové programy
- Vytvořit výjimky, aby proxy ani antivirové programy nezasahovaly žádným způsobem do komunikace mezi prohlížečem a UCS.
- Povolit prohlížeči přístup ke zvukovým zařízením a streamům (každý antivirový program má vlastní nastavení).
Prohlížeč
-
Zajistit dostatek RAM pro běh prohlížeče. Operátorská aplikace (vč. spuštěného softphone) vyžaduje 64 až 256 MB paměti podle velikosti call centra a počtu widgetů. Pro Windows 10 doporučujeme minimálně 8 GB RAM, pro Windows 11 minimálně 16 GB RAM (vemte v úvahu, že operátoři call center většinou potřebují několik aplikací pro obsloužení požadavků klienta). Využití paměti a procesoru jednotlivými taby v rámci prohlížeče lze zobrazit pomocí klávesové zkratky Shift+ESC.
-
Přístup k operátorské aplikaci musí být pomocí protokolu HTTPS. Při použití protokolu HTTP nebude fungovat softphone.
-
Operátorská aplikace nesmí být otevřena v anonymním režimu. Přestane fungovat podpora STUN, což zapříčiní dlouhé sestavování hovoru (až 15 vteřin), v krajním případně i hluché hovory (při průchodu NAT/VPN).
Pro nastavení lze použít HKLM (HKEY_LOCAL_MACHINE) i HKCU (HKEY_CURRENT_USER). Prioritu má nastavení v HKLM - pokud je nastaveno stejné pravilo souběžně v HKLM i HKCU, pak se ignoruje nastavení v HKCU a použije se to, které je v HKLM.
Pokud používáte Microsoft Edge, pak místo cesty Software\Policies\Google\Chrome použijte Software\Policies\Microsoft\Edge. Název parametrů zůstává stejný.
-
Povolit přístup k mikrofonu. Pokud není uživatel vyzván k povolení mikrofonu, pak může být přístup blokován pomocí doménové politiky AudioCaptureAllowed, pak je potřeba přidat výjimku pomocí klíče Software\Policies\Google\Chrome\AudioCaptureAllowedUrls.
-
Zakázat uspávání neaktivních tabů prohlížeče. Pokud se uživatel přepne do jiného tabu, pak prohlížeč po 5 minutách takový tab uspí a běh JavaScriptu je vyvolán jen jednou za minutu. Prohlížeč pak nereaguje na příchozí hovory! Pomocí doménové politiky je potřeba nastavit hodnotu 0 (false) pro klíč Software\Policies\Google\Chrome\IntensiveWakeUpThrottlingEnabled.
-
Povolit zasílání systémových notifikací s upozorněním o příchozím hovoru a upozorněním o volajících ve frontě. Pokud není uživatel vyzván k povolení notifikací, pak může být přístup blokován pomocí doménové politiky a je nutné udělit výjimku pomocí klíče Software\Policies\Google\Chrome\NotificationsAllowedForUrls\1 s hodnotou typu REG_SZ nastavenou na URL ústředny, např. https://ucs.spolecnost.cz.
-
Povolit autoplay, aby byl přehráván zvuk vyzvánění, přestože uživatel neinteraguje se stránkou (např. omylem zavřený a znovu otevřený prohlížeč, kdy se obnoví všechny dříve otevřené záložky). Povolení je nutné vynutit doménovou politikou, pomocí klíče Software\Policies\Google\Chrome\AutoplayAllowlist\1 s hodnotou typu REG_SZ nastavenou na URL ústředny, např. https://ucs.spolecnost.cz. Případně lze autoplay povolit globálně v prohlížeči pro všechny domény.
Ověření nastavení
Zda se správně propsala nastavení z doménové politiky (registrů) do prohlížeče lze ověřit zadáním adresy chrome://policy
, resp. edge://policy
.
Ve screenshotu níže je pouze ilustrativní doména ucs.insoft.cz, hodnota musí být nastavena na doménu pod kterou uživatelé reálně přistupují k operátorské aplikaci UCS.
Řešení problémů
Aplikace loguje do konzole prohlížeče, kterou je možné otevřít pomocí klávesy F12. Pokud řešíte problém konkrétního hovoru, poznamenejte si čas a telefonní čísla (volajícího a volaného).
Zvuk
Ikona | Význam |
---|---|
není povolen přístup ke zvukovým zařízením, softwarový telefon není funkční | |
přístup ke zvukovým zařízením funguje, softwarový telefon je spuštěn | |
softwarový telefon je spuštěn na jiné kartě prohlížeče nebo na jiném počítači |
Kliknutím na ikonku sluchátek a výběrem záložky Audio se zobrazí výběr zařízení:
- Přehrávání hlasu - zařízení ve kterém bude slyšet volající.
- Přehrávání vyzvánění - zařízení na kterém bude vyzvánět příchozí hovor.
- Mikrofon - zařízení do kterého mluví operátor.
Kliknutím na ikonu šipky v kruhu se přehraje testovací zvuk do vybraného zařízení. V ikonce mikrofonu je indikována úroveň hlasitosti zvuku v mikrofonu (ikonka se vybarvuje nahoru a dolů pokud do mikrofonu mluvíte).
Pokud se přes povolení přístupu k mikrofonu v prohlížeči stále nezobrazují zvuková zařízení v nabídce, pak je možné, že přístup k nim blokuje antivirový program nebo doménová politika. Ověřte, nastavení používaného antivirového programu a zda není v doménové politice zakázaný klíč Software\Policies\Google\Chrome\AudioCaptureAllowed a Software\Policies\Google\Chrome\AudioOutputAllowed.
V případě, že přetrvávají problémy s kvalitou zvuku, přestože byla vyloučena ztrátovost dat na síti, pak může být problém s vytížením CPU na počítači operátora. V tom případě je možné zvýšit prioritu procesu zpracování audia pomocí klíče Software\Policies\Google\Chrome\AudioProcessHighPriorityEnabled s hodnotou typu REG_DWORD nastavenou na hodnotu 0x00000001.
Především při práci na home-office může dojít až k hluchým hovorům, pokud je přetížené připojení k internetu (např. stahování velkých souborů). Pro základní sledování kvality připojení postačí spustit ping z počítače operátora na server UCS. Ztrátovost musí být pod 1% a RTT (čas odezvy) do 80 ms.
Špatná kvalita zvuku na začátku hovoru
Pokud si klienti stěžují, že není rozumět nebo vůbec slyšet představení operátora, pak může být problém v zeslabení zisku (hlasitosti) mikrofonu v nastavení Windows (pravým tlačítkem myši kliknout na reproduktor v systray → Zvuky → Záznam → vyberte mikrofon headsetu → Vlastnosti → Úrovně → nastavte úroveň cca. na 80).
Operátorská aplikace ve výchozím nastavení ponechává zapnutý Windows AGC (Automatic Gain Control), který reguluje zisk mikrofonu podle úrovně hlasu. Při nastaveném zeslabení
zisku mikrofonu AGC zajistí jeho postupné zesílení, které ovšem trvá vteřinu, či dvě, a proto není slyšet pozdrav operátora (pozdrav totiž spustí automatické zesílení
a následný hlas je již v pořádku). Pokud by problémy se špatnou kvalitou hlasu na začátku hovoru přetrvávaly, pak je možné v config.js operátorské aplikace nastavit parametr
autoGainControl: false
Tím se požádá zvukový subsystém Windows, aby automaticky neupravoval zisk mikrofonu.
Odpojování aplikace
Pokud se aplikace pravidelně po určitém čase odpojuje od serveru, pak antivirový program nebo firewall uzavírá WebSocketové spojení. V logu prohlížeče je pak zaznamenáno:
2021-04-11T11:54:21.226Z Connecting to wss://ucs.spolecnost.cz/ws 2021-04-11T11:54:21.452Z Connected 2021-04-11T11:58:01.277Z No heartbeat received for 35s, closing socket!
Telefon není přihlášen k telefonní ústředně
Pokud se při pokusu o vytočení hovoru objeví chybová hláška, že telefon není přiregistrován k ústředně, pak se nepodařilo spustit softwarový telefon. Nejčastější příčina je zakázaný přístup k mikrofonu v prohlížeči.
Pokud je přístup k mikrofonu v prohlížeči povolen, pak může blokovat přístup k audio zařízení antivirový program samotnému prohlížeči. V konzoli prohlížeče se pak objeví hláška:
DOMException: Requested device not found Acquiring media devices is not allowed.
Další příčinou může být firewallem ukončená nebo zablokovaná komunikace pomocí WebSocketu směrem na UCS. V logu hledejte hlášku:
2021-04-11T22:00:37.109Z sip.Transport: WebSocket opened wss://ucs.spolecnost.cz/sip
a opakující se hlášky OPTIONS/200 OK každých 30 vteřin, pomocí které ústředna ověřuje, že je softphone stále dostupný:
2021-04-11T22:01:37.260Z sip.Transport: Received WebSocket text message: OPTIONS sip:bb8q7rl6@127.0.0.1:59750;transport=ws SIP/2.0 2021-04-11T22:01:37.268Z sip.Transport: Sending WebSocket message: SIP/2.0 200 OK
Občas nefungují příchozí hovory
Pokud se uživatel přepne do jiného tabu, pak prohlížeč po 5 minutách takový tab uspí a běh JavaScriptu je vyvolán jen jednou za minutu. Z pohledu uživatele pak dochází k tomu, že softphone “občas” nevyzvání, ač uživatel s počítačem pracuje. Pomocí doménové politiky je nutné zakázat Software\Policies\Google\Chrome\IntensiveWakeUpThrottlingEnabled.
Je pravděpodobné, že při pokusu o otevření WebSocketu dojde k chybě a ta bude zalogována, případně do několika minut přestanou chodit OPTIONS zprávy z důvodu zablokování na proxy/antiviru/firewallu.
Nezobrazují se systémové notifikace nebo z nich nelze spojit hovor
Zkontrolujte, že je povoleno zasílání systémových notifikací. Dále ověřte, že je funkční service worker. V prohlížeči stiskněte F12 pro otevření konzole, vyberte záložku Application [1], v pravé nabídce Service Workers [2] a ověřte, že je Status activated and is running [3]. Také ověřte, že není zaškrtnuto Bypass for network.
401 Unauthorized
Pokud je v logu zaznamenána hláška 401 Unauthorized, neznamená to pravděpodobně chybu. Registrace SIP telefonu k ústředně je dvoufázová. V první fázi pošle softphone požadavek o registraci bez jména a hesla. Na tento požadavek ústředna vrací výzvu s vygenerovaným jednorázovým řetězcem (nonce) a až na základě tohoto řetězce je SIP telefon schopný zakódovat heslo a provést přihlášení. Následující hlášky v logu indikují naprosto běžný provoz:
2021-04-11T22:10:37.143Z sip.Transport: Sending WebSocket message: REGISTER sip:ucs.local SIP/2.0 2021-04-11T22:10:37.193Z sip.Transport: Received WebSocket text message: SIP/2.0 401 Unauthorized 2021-04-11T22:10:37.208Z sip.Transport: Sending WebSocket message: REGISTER sip:ucs.local SIP/2.0 2021-04-11T22:10:37.250Z sip.Transport: Received WebSocket text message: SIP/2.0 200 OK
Sound subsystem error
Pokud se zobrazí hláška "Sound subsystem error. Please contact your IT department.", pak něco blokuje prohlížeči přístup ke zvukovému subsystému Windows.
-
Může to být jiná audio aplikace, která si vyžádá exkluzivní přístup k mikrofonu.
-
Přístup k mikrofonu blokuje antivirový program (případně jiná security aplikace).
-
Problém může být v nastavení Windows, je zapotřebí zkontrolovat nastavení zvuku pro aplikace. Start → Nastavení → Systém → Zvuk → Předvolby pro hlasitost aplikací a zařízení. Pokud v nabídce není Chrome/Firefox/Edge, pak je nutné zmáčnkout tlačítko obnovit. Windows si doplní vstup/výstup pro prohlížeč.
Zachytávání WebRTC Wiresharkem
Pokud se nepravidelně zhoršuje kvalita hlasu, pak je nuté zachytit síťovou komunikaci mezi počítači operátorů a serverem UCS. Využívá se funkce port mirroingu na switchi a počítače s aplikací síťového analyzátoru Wireshark.
Nezapomeňte nastavit, aby se neuspával notebook, pomocí kterého budete zachytávat provoz. Vždy ho mějte zapojený do napájecího adaptéru, aby se nepřepínal do úsporného režimu.
Je vhodné postupovat principem půlení síťové cesty, tzn. nejprve nasadit Wireshark na switch do kterého jsou připojené počítače operátorů, dále pak před/za firewall, a nakonec před virtualizační platformu, ve které běží server UCS.
- Klikněte na ikonu možností zachytávání.
- Vyberte rozhraní, kterým je notebook s Wiresharkem připojen do portu, na který se mirroruje provoz z počítačů operátorů.
- Do capture fitru vyplňte "udp".
- Přepněte se na záložku výstupu zachytávání.
- Vyberte cestu a název souboru, do kterého se budou ukládat data (Wireshark ho použije jako základ názvu suboru ke kterému připojí pořadové číslo a datum s časem kdy se začalo do daného souboru zapisovat).
- Zaškrtněte, že se mají vytvářet nové soubory po splnění některé z podmínek níže.
- Nastavte rotaci poté co velikost souboru dosáhne určitou velikost (např. 50 MB).
- Nastavte jaká historie souborů se má držet (např. maximálně 200 souborů, při 50 MB zabere max. 10 GB diskového prostoru).
- Spusťte zachytávání provozu.