The hardest part of calling isn't the media — it's reaching someone whose app is closed. Here's how suryacloud rings a locked phone.
The push handshake
When you call invite(), the signalling server checks whether the callee has a live socket. If not, it sends a high-priority push:
- Android → FCM data message that wakes a background handler.
- iOS → an APNs push routed into CallKit, which shows the native full-screen call UI.
From ring to media
The moment the user taps accept, the SDK — even from a cold start — reconnects, exchanges a session token, and joins the LiveKit room. Media flows in under a second.
Why it's reliable
Because the whole path runs on infrastructure you control, there's no third-party push relay to blame at 2am. You can trace every hop.
Get started
Your comms. Your cloud. Your call.
Start free with 10,000 participant-minutes every month. Move to your own infrastructure whenever you're ready — the SDKs never change.