TLDR

Instalace

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).

síťová spojení

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.

    dotaz na povolení mikrofonu dodatečné povolení mikrofonu

  • 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.

    dotaz na povolení mikrofonu dodatečné povolení mikrofonu

  • 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. aplikované politiky

Ř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
chyba softphone není povolen přístup ke zvukovým zařízením, softwarový telefon není funkční
softphone v pořádku přístup ke zvukovým zařízením funguje, softwarový telefon je spuštěn
softphone neaktivní 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).

nastavení zvukových zařízení

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.

zakázaný přístup k mikrofonu v registru

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.

ověření service workeru

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č.

    reset audia Windows