Skip to content
White-label softphone

A softphone that rings, even when the app is asleep

The reason most softphones miss calls is simple: a backgrounded app loses its connection. Spanvox fixes it the only way that actually works, a server-side registration plus VoIP push that wakes the app and rings it natively through CallKit and ConnectionService.

  • CallKit + ConnectionService
  • Your APNs / FCM identity
  • No persistent socket
  • No PBX changes
What "rings every time" requires

Three things, working together

Reliable ringing is not one trick, it is an architecture. Spanvox runs all three so you do not have to build them.

Server-side registration

Spanvox holds the upstream SIP registration to your PBX, so the call has somewhere to land even when the device’s own socket is gone.

APNs / FCM wake

On an incoming call we send a VoIP push that wakes the app from the background, or from a fully killed state, with no battery-draining socket to maintain.

Native call UI

The call surfaces through CallKit on iOS and ConnectionService on Android, so it rings on the lock screen and over Bluetooth like a real phone call.

Push runs under your own APNs and FCM identity, and works against your existing PBX with no trunk, no dialplan edits and no firewall changes.

FAQ

Softphone push, answered

Why does my iOS softphone not ring when the app is closed?

iOS suspends backgrounded apps, so the SIP socket dies and the PBX can no longer reach the device. The fix is a server-side registration plus a PushKit/APNs notification that wakes the app and rings it through CallKit.

How does Spanvox make calls ring reliably?

Spanvox holds the upstream SIP registration server-side and, on an incoming call, sends an APNs or FCM push that wakes the app and presents the native incoming-call screen via CallKit or ConnectionService, even from a killed state.

Does this use CallKit and ConnectionService?

Yes. Calls surface through CallKit on iOS and ConnectionService on Android, so they look and behave like native phone calls, including on the lock screen and over Bluetooth.

Can the app ship under my own push credentials?

Yes. Spanvox sends push through your own APNs and FCM identity, so notifications come from your brand, not a shared vendor certificate.

Do I need to keep the app open or running?

No. There is no need to keep the app foregrounded or maintain a persistent socket. Push wakes it on demand, which preserves battery while still ringing every call.

Does push work without a SIP trunk or PBX changes?

Yes. The push gateway sits with the Spanvox registration bridge, so it works against your existing PBX with no trunk, no dialplan edits and no firewall changes.

Stop missing calls

Try push that wakes the app, free, on one SIP domain, bridged to your existing PBX.