Skip to content
AI Voice Agents
AI Voice Agents10 min0 views

iOS PushKit / VoIP Push for AI Inbound Notifications (2026)

PushKit is the only API that wakes a terminated iOS app for an incoming AI call. Here is what changed in 2026, why CallKit reporting is enforced, and how to ship it.

Regular APNs notifications cannot wake a terminated iOS app. PushKit can — and since iOS 13 the OS enforces that you immediately report a CallKit incoming call when you receive a VoIP push, or it terminates your app and disables future deliveries.

Background

PushKit was introduced in iOS 8 as a separate, higher-priority push channel for VoIP apps. The payload is bigger than APNs (5 KB), the priority is highest, and the OS will wake your app even from a terminated state to process it. The catch: since iOS 13, you must call `provider.reportNewIncomingCall` on CallKit synchronously inside the PushKit handler. Apple's auditors check telemetry for compliance, and the system disables your VoIP token if you violate it.

For AI voice agents in 2026, this is the only way to ring an iPhone from a backend trigger when the user has the app closed. Anything else (silent push, background fetch, Live Activities) is unreliable on cellular or after a reboot.

Architecture

```mermaid flowchart LR Backend[Voice Agent Backend] -- VoIP push --> APNs[(Apple APNs)] APNs -- topic.voip --> Device[iOS Device] Device -- pushRegistry --> Handler[PKPushRegistryDelegate] Handler -- reportNewIncomingCall --> CallKit[CallKit CXProvider] CallKit -- user answers --> WebRTC[WebRTC PeerConnection] WebRTC -- SRTP --> Gateway[Pion Go gateway 1.23] ```

CallSphere implementation

CallSphere's iOS clients across the six verticals (real estate, healthcare, behavioral health, legal, salon, insurance) all rely on PushKit:

Hear it before you finish reading

Talk to a live CallSphere AI voice agent in your browser — 60 seconds, no signup.

Try Live Demo →
  • Real Estate (OneRoof) sends a VoIP push with the seller/buyer's name and lead-source ID, then the app spins a WebRTC offer toward our Pion Go gateway 1.23. The 6-container pod (CRM, MLS, calendar, SMS, audit, transcript) handles the conversation. See /industries/real-estate.
  • Healthcare uses the identical PushKit path with HIPAA-compliant payloads (no PHI, just opaque call IDs). See /industries/healthcare.
  • The /demo browser path skips PushKit entirely — see /demo.

37 agents, 90+ tools, 115+ database tables, SOC 2 + HIPAA, $149/$499/$1499 with 14-day /trial, 22% affiliate at /affiliate.

Build steps with code

```swift import PushKit

class VoIPPushManager: NSObject, PKPushRegistryDelegate { let registry = PKPushRegistry(queue: .main)

override init() { super.init() registry.delegate = self registry.desiredPushTypes = [.voIP] }

func pushRegistry(_ registry: PKPushRegistry, didUpdate credentials: PKPushCredentials, for type: PKPushType) { // POST credentials.token (hex) to your backend Backend.registerVoIPToken(credentials.token.map { String(format: "%02x", $0) }.joined()) }

func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) { let uuid = UUID(uuidString: payload.dictionaryPayload["call_id"] as? String ?? "") ?? UUID() let update = CXCallUpdate() update.remoteHandle = CXHandle(type: .generic, value: payload.dictionaryPayload["from"] as? String ?? "AI Agent") CXProviderManager.shared.provider.reportNewIncomingCall(with: uuid, update: update) { _ in completion() } } } ```

Still reading? Stop comparing — try CallSphere live.

CallSphere ships complete AI voice agents per industry — 14 tools for healthcare, 10 agents for real estate, 4 specialists for salons. See how it actually handles a call before you book a demo.

Backend side: send through APNs with the topic suffix `.voip` and the `apns-push-type: voip` header. The token is separate from your regular APNs token; treat it as such.

Pitfalls

  • Skipping reportNewIncomingCall — iOS will terminate your app on the second offense and revoke the VoIP token until next reinstall.
  • Reporting after async work — Do the network call after `reportNewIncomingCall` returns; never before.
  • Sending PII in the payload — VoIP push payloads are visible to MDM and stored on Apple servers; HIPAA shops should send only opaque IDs.
  • Forgetting to add VoIP background mode — Info.plist must declare it; otherwise PushKit silently fails.
  • Using PushKit for non-call notifications — Apple rejects the build at App Review.

FAQ

Is PushKit available on iPad? Yes, but the device must be a "phone-capable" iPad with cellular for full background wake; Wi-Fi-only iPads still work but with looser guarantees.

Can I deliver large payloads? Up to 5 KB; if you need more, send a small payload and have the app fetch the rest.

What if the user has Do Not Disturb on? CallKit respects DND; the call goes to voicemail UI but the app still wakes.

Are PushKit deliveries guaranteed? No — it is best-effort like APNs but with higher priority.

How fast is PushKit in 2026? P50 around 200 ms in the US; p99 around 1.5 s on cellular.

Sources

See the inbound flow live at /demo, see plans at /pricing, or start a /trial.

Share

Try CallSphere AI Voice Agents

See how AI voice agents work for your industry. Live demo available -- no signup required.

Related Articles You May Like

AI Engineering

Latency vs Cost: A Decision Matrix for Voice AI Spend in 2026

Every 100ms of latency costs you. So does every cent per minute. Here is the decision matrix we use across 6 verticals to pick where to spend and where to save on voice AI infrastructure.

AI Infrastructure

WebRTC Over QUIC and the Future of Realtime: Where Voice AI Goes After 2026

WebTransport is Baseline as of March 2026. Media Over QUIC ships in production within the year. Here is what changes for AI voice agents — and what stays the same.

AI Infrastructure

Defense, ITAR & AI Voice Vendor Compliance in 2026

ITAR technical-data definitions don't care if a human or an LLM produced the output. CMMC Level 2 has been mandatory since November 2025. Here is what an AI voice vendor needs to ship to defense in 2026.

AI Strategy

AI Agent M&A Activity 2026: Aircall–Vogent, Meta–PlayAI, OpenAI's Six Deals

Q1 2026 saw a record acquisition wave: Aircall bought Vogent (May), Meta acquired Manus and PlayAI, OpenAI closed six deals. The voice AI consolidation phase has begun.

AI Infrastructure

OpenAI's May 2026 WebRTC Rearchitecture: How Voice Latency Got Real

On May 4 2026 OpenAI published its Realtime stack rebuild — split-relay plus transceiver edge. Here is what changed and what it means for production voice agents.

AI Voice Agents

Call Sentiment Time-Series Dashboards for Voice AI in 2026

Sentiment is not a single number per call - it is a curve. The shape (started positive, dropped at minute 4, recovered) tells you what your AI did wrong. Here is the per-utterance sentiment pipeline and the dashboards we ship by vertical.