Skip to content
All posts
mobilearchitecture

How offline ringing actually works

SCsuryacloudAug 10, 20261 min read

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.