Unified PhoneSdk supporting RingCentral + sip.js (FreePBX)

Featurekamo-internal
Shipped
April 26, 2026 at 5:00 PM UTC
Author
kamo
Commit
733cff4

The softphone hook used to instantiate ringcentral-web-phone unconditionally, which threw on any FreePBX credential shape because that SDK is hard-coded to RingCentral's WSS provisioning format. - New PhoneSdk interface defines a provider-agnostic surface (start, stop, invite, **************** plus a PhoneSdkSession with **************** - RingCentralPhoneSdk wraps ringcentral-web-phone, preserving the existing RC behaviour. - SipJsPhoneSdk wraps sip.js (UserAgent + Registerer + Inviter/Invitation), attaches remote audio via the negotiated peer connection, supports in-dialog re-INVITE for hold/unhold, and refers for transfer. - createPhoneSdk picks the adapter from creds.provider (RING_CENTRAL, FREE_PBX, KAMO_PBX). - useSoftphone now drives the unified SDK and surfaces the real SDK error text in registrationError instead of the generic 'Phone SDK failed to initialize' string. - Adds sip.js@0.21.2 dependency.

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