By Sagar Shankaran, Founder of CallSphere
Self-managed ConnectionService is the Android-blessed path for AI voice agents. Here is how to ship it with WebRTC, FCM, and the new Core-Telecom Jetpack CallsManager.
Key takeaways
Android's Telecom framework is the equivalent of CallKit, but with two layers: the legacy ConnectionService and the modern Core-Telecom Jetpack CallsManager. AI voice agents in 2026 should target the latter and let it wrap the former for older devices.
Android's Telecom framework manages calls system-wide and routes audio through the same pipeline used by the dialer app. A "self-managed" ConnectionService lets a third-party app advertise calls without taking over the dialer UI — exactly what an AI voice agent app needs. In November 2023 Google released the Core-Telecom Jetpack library, which introduces a new `CallsManager` class that obsoletes ConnectionService for new code while wrapping it on Android 8.0+.
In 2026, AI voice agent apps should write against `CallsManager`. It interoperates with system telephony, with other standalone calling apps, and with the new "stream call audio to your tablet" feature Google is rolling out across the device family.
```mermaid flowchart LR Server[Voice Agent Backend] -- FCM high-priority --> FCM[(Firebase FCM)] FCM --> App[Android App] App -- addCall --> CallsManager[Core-Telecom CallsManager] CallsManager -- CallControlScope --> WebRTC[WebRTC PeerConnection] WebRTC -- DTLS-SRTP --> Gateway[Pion Go gateway 1.23] Gateway -- NATS --> Pod[6-container agent pod] ```
Hear it before you finish reading
Talk to a live CallSphere AI voice agent in your browser — 60 seconds, no signup.
CallSphere's Android client matches the iOS architecture across the same six verticals:
37 agents, 90+ tools, 115+ database tables, 6 verticals, 14-day /trial, 22% affiliate at /affiliate. Pricing $149/$499/$1499.
```kotlin // 1. Build a CallsManager and register capabilities val callsManager = CallsManager(context) callsManager.registerAppWithTelecom( capabilities = CallsManager.CAPABILITY_BASELINE or CallsManager.CAPABILITY_SUPPORTS_VIDEO_CALLING )
// 2. On FCM high-priority message, add the call suspend fun onFcmIncoming(payload: Map<String, String>) { val attributes = CallAttributesCompat( displayName = payload["from"] ?: "AI Agent", address = Uri.parse("voice:agent"), direction = CallAttributesCompat.DIRECTION_INCOMING, callType = CallAttributesCompat.CALL_TYPE_AUDIO_CALL, callCapabilities = CallAttributesCompat.SUPPORTS_SET_INACTIVE, ) callsManager.addCall(attributes, onAnswer = { type -> startWebRTC() // negotiate peer connection here }, onDisconnect = { reason -> stopWebRTC() }) } ```
```xml
Is ConnectionService deprecated? Not yet — but the Jetpack CallsManager is the path forward. CallsManager wraps ConnectionService on older devices automatically.
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.
Does it interoperate with CallKit on iOS? No — Telecom and CallKit are separate, but they expose semantically similar APIs (incoming/outgoing/answer/disconnect) that fit a single cross-platform abstraction.
Can I show my own UI? Yes for self-managed; the system handles audio routing while you own the screen.
Does it work with WebRTC? Yes — Telecom controls the audio mode and focus; WebRTC negotiates SRTP and renders into AudioTrack.
What about Bluetooth headsets? CallsManager + AudioManager-IN_COMMUNICATION routes correctly to Bluetooth SCO when one is connected.
Try CallSphere on Android via the WebRTC /demo, pricing at /pricing, or start a /trial.
Written by
Sagar Shankaran· Founder, CallSphere
Sagar Shankaran is the founder of CallSphere, where he builds production AI voice and chat agents deployed across healthcare, hospitality, real estate, and home services. He writes about agentic AI, LLM engineering, and shipping voice agents that handle real calls in production.
See how AI voice agents work for your industry. Live demo available -- no signup required.
A founder's guide to texto a voz (text-to-speech in Spanish): LATAM vs Castilian voices, free options, and how CallSphere ships Spanish agents.
A founder's guide to the female voice generator landscape: AI female voices, Japanese voices, robot voices, and how CallSphere ships 57+ voices live.
A founder's guide to the Siri voice generator landscape: how AI voice cloning works, what is legal, and how CallSphere uses 57+ voices in production.
A founder's guide to AI voice assistants for ecommerce: customer service, order lookup, and how CallSphere fits in versus virtual receptionists.
Robot text to speech in 2026: how I pick TTS APIs, when robotic voices help, and how CallSphere ships 57+ language voice agents. Hands-on guide.
The customer support specialist role in 2026 is half human, half AI. Here is what the job looks like, the AI tools that pair with it, and how we ship it.
© 2026 CallSphere LLC. All rights reserved.