is a core system service that handles call management on Android devices. It facilitates audio and video calls over various protocols like SIM, VoIP, SIP, etc. It is responsible for routing calls between different connection services and in-call user interfaces. Many users might get confused seeing this service in their phone settings. Let’s find out what is, its key functions, how it works with other services, and some troubleshooting tips.

What is is essentially the telephony server for Android. It is responsible for managing all call operations on an Android device. This includes:

  • SIM-based calls that use the telephony framework
  • VoIP calls using SIP (Session Initiation Protocol)
  • Third-party VoIP calls through ConnectionService API

The service acts as a switchboard between various ConnectionServices that provide call connectivity and InCallServices that provide the user interface.

Key Functions of

Here are some of the key functions handled by on Android:

  • Call Management: Handles all stages of a call, including initiating, answering, rejecting, holding, resuming, merging, transferring, and ending calls.
  • Audio/Video Control: Manages audio modes, volume, mute, speakerphone. For video calls, it controls video quality, zoom, and other camera operations.
  • Call Logging: Logs details like phone number, date/time, and duration for each call. Syncs call history with contacts app.
  • Multiple Call Support: Supports multiple simultaneous calls and call waiting. Allows merging two calls into a conference call.
  • VoIP Integration: Enables native integration for VoIP calls over SIP and other protocols via ConnectionServices.
  • Self-Managed Calls: Provides API for apps to directly manage calls without going through the default dialer.

How Works

The service works in conjunction with a couple of other key telephony components on Android:

  • ConnectionService – Abstract service that provides the actual telecom connection for a call via SIM, VoIP etc.
  • InCallService – Provides a calling UI for the user. The default phone app typically serves as an InCallService.
  • PhoneAccount – Represents a distinct method for making/receiving calls eg. SIM 1, SIM 2, SIP 1 etc.

Here is a simplified sequence of how an app initiates a call using

  1. The app interacts with via its API.
  2. communicates with a ConnectionService capable of making the call. For eg. the TelephonyConnectionService for SIM calls.
  3. The ConnectionService sets up the call over the mobile network or internet.
  4. Once the call is connected, invokes the InCallService to display the calling UI.
  5. The call runs between the two ConnectionServices until ended. coordinates the entire process.

This separation of connection and UI logic enables building flexible telephony apps.

Integration with InCallUI

InCallUI or is the app that surfaces the calling interface for the user. It works closely with to manage call UX.

Some examples of InCallUI integration:

  • InCallUI checks with to display the appropriate calling screen for an incoming call.
  • User actions in InCallUI like decline, hold, mute are communicated to
  • Call events like disconnect are conveyed from to InCallUI for display.
  • InCallUI displays the active call from when the user returns to the call screen.

So in essence, manages the call control logic while InCallUI handles presentation.


At times, you may encounter issues with service like:

  • Frequent “Unfortunately, has stopped” errors
  • Call failures right after dialing a number
  • Call screen going blank during a call
  • Delay in receiving incoming calls

Here are some troubleshooting tips for

  • Check for any system app updates relating to telephony and install if available.
  • Clear cache and data for apps like Phone, Contacts, InCallUI.
  • Boot into safe mode to isolate potential conflict with third party apps.
  • Try resetting network settings and APN settings.
  • Toggle Airplane mode on/off to force refresh networks.
  • Factory reset the phone if issues persist to rule out software glitches.

Conclusion is the central call management component for Android. It allows users to seamlessly make and receive calls over cellular networks, WiFi, and the internet using a wide range of protocols. The service coordinates with ConnectionServices and InCallServices to enable rich calling functionality across Android devices. Keeping running smoothly is key for an uninterrupted calling experience on your Android smartphone.