Add JustCall as a phone server type

Featurekamo-internal
Shipped
September 3, 2026 at 6:30 AM UTC
Author
Kamo
Commit
829e755

Adds JustCall to the picker at **************** with its API key and secret, a contacts-import toggle, credential status on the providers tab, and the logo. The interesting part is dialling. JustCall publishes no SIP registrar and no WebRTC credential to third-party applications, and its only outbound-call endpoint drives an AI voice agent rather than a person — so the backend reports voiceCalls=false, which useSoftphone already gates registration on, and no softphone is built. But a member on JustCall can place a call perfectly well, just not here, and "voice calls not available with current provider" would be a lie. dial() therefore hands the number to JustCall's own web dialler. That handoff is its own module rather than a branch inside the hook: it is a lib concern, and putting it there makes it testable. It uses the web dialler rather than the justcall: protocol the desktop app registers, because a browser cannot tell whether that app is installed and an unhandled protocol navigation does nothing at all — a member without the app would click dial and watch nothing happen. ProviderCapabilities gained providerType so a false voiceCalls can be acted on rather than merely reported: for most providers it means "no dialling", for this one it means "dial over there". Mirrors SipCredentialsResult.provider, which exists for the same reason. The new coverage test is the frontend twin of PbxProviderBillingCoverageTest — a provider nobody remembered to label does not fail loudly, it renders as a blank card in the one screen an admin uses to choose it. Verified: tsc clean, all 14 guards including check-i18n-keys --require-messages, 4,938 vitest tests. `next build` was NOT run against these changes: another session held this working directory with its own concurrent builds throughout.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing