This document describes enabling VoLTE support on select Google Pixel devices by using Android's internal telephony.ICarrierConfigLoader.overrideConfig(). This patch can be considered as a rootless method of voenabler.
- Pixel device with Google Tensor Chipset
- Google Pixel 6
- Google Pixel 6a
- Google Pixel 6 Pro
- Google Pixel 7
- Google Pixel 7 Pro
- Windows, macOS or Linux PC with Android Platform Tools installed
- USB-A to USB-C or USB-C to USB-C cable to connect Pixel to the PC
Shizuku makes possible to call internal Android API without root permission by creating a proxy service with ADB user.
- Install Shizuku at the Pixel device you're trying to patch.

- Open installed applciation.

- Connect your Pixel phone with PC by following this description.
- Start shizuku service by executing
adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh. You should see somewhat like "Shizuku is running" at your Pixel phone.

- Now continue to next section.
- Click the following link or check out Releases tab of this Github repository to install latest version of
PixelIMSapplication's APK file. - Install downloaded APK file.
- Start installed application.
- Tap "Allow all the time" when seeing prompt asking for Shizuku permission.

- Press "ENABLE VOLTE" button to enable VoLTE (and VoWiFi perhaps). If everything is done right, you should now see toggle right next to
VoLTE Enabled by Configtext is now flipped.

- Restart your Pixel phone a couple of times until you can see VoLTE is working.
- Bug report and feature request: Issues
- Anything else (including general questions): Discussions
AYOR. Tested and checked working only with LG U+.
Flipped System Utilizing VoLTE toggle should be considered as success.
![]()
For more information, you can make use of Pixel's internal application. To open it:
- Open vanilla Dialer app from your Pixel phone.

- Dial
*#*#4636#*#*.
- Tap "Phone information" menu.

- Tap triple-dot icon at the upper right screen then select "IMS Service Status" menu.

- You should see
IMS Registration: Registeredif everything's done well.
No.
Not sure.
There is a checker method, ImsManager.isVolteEnabledByPlatform(Context), which determines if VoLTE is possible for your device-carrier combination(ref: googlesource.com). The abstract logic of that method is:
- Check if
persist.dbg.volte_avail_ovrSystem Property is true- If yes, return true
- This is how voenabler works
- Else continue
- If yes, return true
- Check if device supports VoLTE
- If not, return false
- Else continue
- Check if your carrier supports VoLTE
- If not, return false
- Else continue
- Check if your carrier requires BGA-capable SIM for VoLTE
- If not, return true
- Else continue
- Check if GBA bit is active at EF IST
- If yes, return true
- If not, return false
This patch alters the bolded logic, by force injecting config values as true regardless of carrier configuration.