A clean, layered voice stack that powers inbound call termination inside your app. Below: a plain-language overview for publishers, and the full SDK reference for developers.
Press play and follow a single call as it travels the stack - from the plug-in on the device, through the Minutes Platform, out to the global carrier network, and back as HD voice.
Auto-playing · click any layer to inspect it
Eight methods take you from install to live calls. Tap any method to see how it is called - HD voice by default, with graceful codec fallbacks.
Lifecycle
val jingle = JingleAdapter.getInstance(context)
jingle.start()
jingle.deactivate()
Activation
val jwt = jingle.sendSmsChallenge(phone)
jingle.activate(jwt)
jingle.setFcmToken(fcmToken)
Runtime
val result = JinglePermissions.check(context)
if (!result.allGranted) {
request(result.missing)
}jingle.setCallEndedCallback { event ->
Log.d(TAG, event.toString())
}Opus is negotiated first for HD voice; the plug-in falls back to G.722, then G.711, automatically when a leg can't carry it.
So light your users won't notice any impact on performance or battery.
Encrypted signalling, ephemeral audio handling, and continuous monitoring across the stack.
All signaling traffic encrypted with the latest TLS standard. No fallback to older protocols.
Call audio is processed in real time for routing and is never recorded or stored. Calls hand off to Tier 1 carrier (PSTN) networks for termination.
Plug-in-to-network signalling runs over TLS. Firewall-friendly with NAT traversal.
Real-time call quality metrics for every route, visible in your partner portal from day one.
Reach users in any app state - active, backgrounded, or closed.
User is actively using the app. SDK handles call directly with custom UI overlay. Highest quality path.
App is in background. The plug-in uses an Android foreground service to maintain the connection and route calls seamlessly.
App is closed. FCM push notification wakes the app, SDK initializes, and call connects within seconds.
Core call routing (SIP signalling and media) does not depend on Google Mobile Services - and neither does the primary wake path, a foreground service with a UDP wake. Firebase Cloud Messaging is an optional fallback on GMS-certified devices, so the plug-in works across major OEMs, including Huawei/HarmonyOS, Amazon Fire and other non-GMS fleets. On battery-aggressive OEMs, a one-time battery-optimisation exemption keeps call delivery most reliable.
Our compatibility layer handles OEM-specific power management, background process restrictions, and notification channels automatically.
OneUI Compatible
MIUI Compatible
Wake path scoped at integration
ColorOS Compatible
Explore the simulation-based demo app - the same plug-in, running through the real plugin path.
API keys issued, SDK integrated into dev build, test connectivity in sandbox environment.
Implement custom UI overlays, integrate Google Play dual-disclosure compliance flow.
End-to-end testing, compliance review, battery and data usage validation with your dedicated engineer.
Swap to production keys, phased rollout, go live with real-time revenue tracking.
class App : Application() { override fun onCreate() { super.onCreate() val jingle = JingleAdapter.getInstance(this) // Register here, not in an Activity: callbacks // fire even when no Activity is bound // (lock-screen answers), and the SDK replays // cached state synchronously on registration. jingle.setCallEndedCallback { event: CallEndedEvent -> // fires once per call, on main thread } jingle.setAuthStateCallback { state: AuthState -> /* ... */ } jingle.setWakeStageCallback { event: WakeStageEvent -> /* ... */ } } }
SDK returns 503 Service Unavailable. Call is automatically rerouted to another user. The end user is never interrupted.
Call session ends gracefully. SIP session released. Revenue calculated for minutes routed before disconnection. No impact on user device.
The SDK ships the correct foregroundServiceType declarations (phoneCall|microphone) in its own manifest since 5.1.2 - the manifest merger provides them, no partner action needed.
Core call routing does not depend on Google Play Services - and neither does the primary wake path, a foreground service with a UDP wake. Firebase Cloud Messaging is an optional fallback on GMS-certified devices, so Huawei/HarmonyOS, Amazon Fire and other non-GMS fleets are supported via the foreground-service wake path.
Core SDK is native Android (Kotlin). Works with Flutter, React Native, and Unity apps via the native Android plug-in. Bridge wrappers can be scoped during integration.
Users in restricted jurisdictions are automatically excluded. Geographic compliance is handled by the routing infrastructure - no action required from partners.
Roughly 30-50KB per call minute - less than a single web page load. Partners can choose to reward users, for example with mobile top-ups.
Revenue is paid to the developer. Optionally share with users as: data top-ups, in-app credits, premium features, or custom rewards via callback events.
Every partner receives access to the live Jingle Partner Portal from day one. Complete real-time visibility into all metrics.
Real-time earnings, daily/weekly/monthly totals, geographic revenue breakdown, per-minute rate by destination.
Live and historical call volume, call duration distribution, successful vs. failed routing, concurrent call capacity.
Total opted-in users, opt-in/opt-out rates, active vs. idle users, geographic distribution.
MOS (Mean Opinion Score), jitter, packet loss, codec performance, call completion rates.
OEM distribution, Android version breakdown, delivery mode performance (foreground/background/push).
Exportable CSV/PDF reports, configurable date ranges, automated monthly summary emails.
Get your plug-in credentials fast. A dedicated integration engineer will guide you through every step.