Platform
ScaiWave ScaiGrid ScaiCore ScaiBot ScaiDrive ScaiKey Models Tools & Services
Solutions
Organisations Developers Internet Service Providers Managed Service Providers AI-in-a-Box
Resources
Support Documentation Blog Downloads
Company
About Research Careers Investment Opportunities Contact
Log in

Call quality issues

Can't join a call#

Symptom: clicking Join does nothing or returns an error.

Causes:

  • Browser permissions: microphone / camera not granted. Click the camera icon in the address bar to allow. After granting, refresh the call.
  • LiveKit unreachable from your network: corporate firewall blocking UDP/WebRTC. The call panel shows SW_CALL_LIVEKIT_UNREACHABLE. Admin: check SCAIWAVE_LIVEKIT_URL and that the LiveKit instance accepts connections from your network.
  • Already in another call elsewhere: the client can only be in one call at a time. Leave the other first.

One-way audio#

You can hear them; they can't hear you. Or vice versa.

  • Mic muted: check the mute button — sometimes auto-muted on join if the room has > 4 participants.
  • Wrong input device: ScaiWave defaults to the OS default mic. Switch via the call panel's ⚙️ menu → Audio.
  • OS-level mute: Windows / macOS sometimes have separate app-level mute. Check OS sound settings.

Echo#

Almost always one participant not using headphones with their mic. The SFU does AEC but not perfectly when there's a hardware loop.

Quick test: mute everyone except the suspected loud one; echo should disappear when you find them.

Video freeze#

  • Tab is in the background and the browser is throttling. Refocus the tab.
  • Bandwidth low. LiveKit's adaptive bitrate should handle it; if not, the ⚙️ menu → Video → cap at 360p to force a lower bitrate.
  • Hardware acceleration glitch (Linux + nouveau is the common culprit). Force CPU encode via chrome://flags.

Screen share not visible#

The sharer started, you see "X is sharing" but no video.

  • Browser permission for screen share isn't system-level the way camera is — usually permission was denied at the OS picker. Sharer: re-click Share screen, pick a source, allow.
  • ScaiWave's PiP popout doesn't render screen share on Firefox (the Document PiP API isn't available there). View in the main window.

Recording missing#

Started a recording but it doesn't appear in the room afterwards.

  • LiveKit egress can take up to a minute after the call ends before the file is finalised and the webhook fires.
  • Check GET /v1/calls/{id}/recordings — if empty after 5 minutes, admin checks LiveKit egress logs and MinIO bucket permissions.

Transcription empty / nonsensical#

  • Audio quality too low (very quiet, lots of background noise).
  • Wrong language hint — ScaiGrid's speech model picks better when given a hint via the Language picker before starting.

Where to look (admin)#

  • LiveKit's logs: webhook activity, egress status.
  • ScaiWave logs: swp.call.* events, any SW_CALL_LIVEKIT_UNREACHABLE.
  • ScaiGrid logs: transcription job status.
Updated 2026-05-17 13:10:03 View source (.md) rev 3