Skip to content

Provider-managed signaling ​

Some providers carry more than media. Twilio Programmable Voice, Vonage Voice, Telnyx, Plivo, Sinch and SIP stacks own the invitation, the push and call control on their servers. With them, Callx's push ingress steps aside and the provider's events drive the core.

How it differs ​

Bring-your-own signaling (default)Provider-managed
Who sends invitationsYour backend, Callx payloadThe provider
Who receives the pushCallx ingressThe provider SDK, forwarded by an adapter
Who reports calls to the OSCallxCallx, through the adapter
providerManagedSignaling capabilityfalsetrue

The rule does not change: Callx is the only component that reports calls to CallKit or Core-Telecom. The provider SDK's own CallKit or ConnectionService integration stays off.

How a signaling adapter drives the core ​

A signaling adapter translates provider events into runtime calls:

Provider eventRuntime call
Incoming call inviteruntime.reportIncoming(…)
Call cancelled or ended remotelyruntime.remoteEnded(callId, reason)
The platform answered or ended the callruntime.platformAnswered(callId) / runtime.platformEnded(callId)
Media connected / reconnectingruntime.mediaConnected(callId) / runtime.mediaInterrupted(callId)

Do not create CallKitIngress or TelecomIngress in this mode: there must be a single owner of platform reports.

Status ​

The signaling adapter interface is being designed with its first implementation, Twilio Programmable Voice. Until it ships, hosts can wire the runtime calls above themselves. Follow the roadmap and the decisions page for progress.

Released under the MIT License. No telemetry, in the library or on this site.