Refer here.
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.
Carriers which can test if patch works or not by developer immediately
- LG U+ (Republic of Korea)
Carriers which aren't possible for testing by developer but reported as supported by community. Please refer the Link for complete list of carriers.
- Pixel device with Google Tensor Chipset
- Google Pixel 6
- Google Pixel 6a
- Google Pixel 6 Pro
- Google Pixel 7
- Google Pixel 7a
- Google Pixel 7 Pro
- Google Pixel 8
- Google Pixel 8 Pro
- Google Pixel Fold
only if installing Shizuku using ADB
- 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.
- Follow the official guide to start Shizuku using Wifi debugging without needing any external PC, after that you should see something like "Shizuku is running" at your Pixel phone.
- Now continue to next section.
- 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 something like "Shizuku is running" at your Pixel phone. - Now continue to next section.
- As for now, there are two ways to obtain the application. Choose you favourite way and install the application.
- Via Play Store
- From Github Releases, by downloading APK file
- Start installed application.
- Tap "Allow all the time" when seeing prompt asking for Shizuku permission.
- Toggle "Enable VoLTE" to enable VoLTE.
- Restart your Pixel phone a couple of times until you can see VoLTE is working.
Download patched android.jar, put it under $ANDROID_PATH/sdk/platforms/android-34
and start hacking as usual.
- Bug report and feature request: Issues
- Anything else (including general questions): Discussions
AYOR. Tested and checked working only with LG U+.
Registered
IMS Status at Home page means VoLTE is activated.
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: Registered
if everything's done well.
No.
Yes.
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_ovr
System 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.