Posted by Android Developer Relations Engineer Nataraj KR
Initial launch of Jetpack Telecom Library introduced call managerheritage site ConnectionService API to simplify VoIP integration. CallsManager streamlines call lifecycle management and audio routing, enabling interaction with remote surfaces such as smartwatches, Bluetooth devices, and Android Auto. Additionally, it supports call extensions for richer features – like participant handling, custom icons, call silencing, and meeting summaries on remote surfaces – all while maintaining backward compatibility up to Android O (API level 26).
Building on this foundation, Jetpack Telecom v1.1.0 Brings basic-level visibility and convenience to third-party VoIP apps. This latest release introduces powerful new capabilities including integrated call history, call log exclusion, and native callback functionality, making call management more intuitive than ever for users.
Here’s a closer look at what’s new and how you can implement these features in your application.
Bridging the dialer gap: integrated call history and callback
Historically, users have had to open separate third-party apps to view their VoIP call history or answer a missed call. With the new integrated call logging feature, system dialer apps can now display call logs directly from third-party VoIP apps.
Even better, users can now initiate a callback to a VoIP contact directly from their native system dialer, streamlining the communication experience.
how it works:
To opt-in to this feature, do the following:
- Register for a callback: Your VoIP app must register a new system-protected intent:
TelecomManager.ACTION_CALL_BACK. - Call Log: Use
TelecomManager.addCall(or related Jetpack API) to ensure that the system automatically logs calls. - Manage Call ID: When a call is registered,
CallControlScope.getCallIdProvides a unique UUID. System dialer uses it preciselyTelecomManager.EXTRA_UUIDWhen creating a callback intent. - Initiate callback: Your application must store and manage call details associated with this UUID. When the system dialer activates the callback intent
EXTRA_UUIDYour app can seamlessly resolve the ID and initiate the call with the correct details.
Fine-grained control: call log exclusion
We believe that not every VoIP call should appear in the system’s native dialer history. Whether for privacy reasons, ephemeral communications, or app-specific behavior, you need control over what comes out.
To address this, we are introducing call log exclusion. You can now prevent specific calls from being logged in the system call log by setting isLogExcluded boolean to true within CallAttributesCompat. By configuring this flag, the call is completely hidden from the system log, and the native dialer will not display it.
Important note on compatibility
These integrated logging and callback features are available for devices running Android 16.1 (SDK 36.1) and higher. refer Here To compile your app with Android SDK 36.1.
get started
We encourage developers to test these integrations and explore how integrated call history and callbacks can improve the everyday user experience of your VoIP applications.
To help you get started and see these APIs in action, we’ve put together a sample app demonstrating the new integrations.
Check out the sample app here: https://github.com/android/platform-samples/tree/main/samples/connectivity/telecom
check it out release notes And documentation Start implementing these features today!
Comment: Although Jetpack Telecom v1.1.0 APIs are accessible for integration, the ability to render native call logs of the system dialer is being introduced in phases, starting with Google Meet. To protect against spam, native dialers use secure package allow lists to control VoIP display. For local testing of your callback and logging implementations, we recommend using open-source telecom sample dialer app As your emulator environment.

