My Huawei P20 Pro's last EMUI update in 2023 added VoLTE support - it was specifically added to do that. Nonetheless, because of the shambolic way that the move off 3G has been handled in Australia, my phone was effectively "bricked" on both Vodafone and Telstra.
If you're in a similar situation, here's how to force unlock/enable VoLTE on Telstra's network in Australia. Note that you will have to do this procedure every time you restart your Huawei P20 Pro. What's more, it seems to drain battery about 10%-15% faster. This makes it a bandaid solution, but does allow you to keep having mobile phone service until you get a new phone.
This works on unrooted devices running EMUI 12. I believe it also works for unrooted devices running Android 10 and below, based on the Shizuku app guide.
I don't know if it'll work with Vodafone, because they handled the situation so badly that I'll never use them again.
What you'll need
- Your Huawei P20 Pro
- A Windows 10+ desktop or laptop computer
- A USB charging cable that can transfer data
(You can verify this by using the cable to plug your phone into your computer. If Windows picks up the phone as an external device, you're good. If it doesn't, the cable won't work for these purposes.)
Apps to install
On your phone
-
Shizuku
I recommend downloading this from the Google Play store
https://shizuku.rikka.app/guide/setup/ -
Pixel IMS
This isn't available on the Google Play store any longer. Plus, we need the specific patch as linked for our Huawei P20 Pro, to prevent Pixel IMS from crashing when Shizuku is on. Normally I'd caution against downloading random APKs from the interwebs, but it all depends on your own individual desperation and situation. ;)
Github comment | Github download
If you've never installed apps on your phone outside of google play, and don't know what an "APK" is, it can seem a bit scary. But it's really easy, promise! Just follow the Pixel IMS link either on your phone, or type it into your phone's web browser. The APK download should start, and once it's done, your phone should prompt you to install it.
If the prompt doesn't show up, then once the download is done on your phone, go to Files > Downloads/Received files > Download Manager > Tap on dev.bluehouse.enablevolte.apk and you should get an installation prompt.
On your Windows computer
-
Android Debug Bridge
Download "SDK Platform Tools" for Windows, provided by Google, and extract it.
https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Enable VoLTE
- Turn on Developer Mode in your phone (if you haven't already).
Settings > About phone > Build number > Tap "Build number" repeatedly. - Turn on USB debugging on your phone.
Settings > System & updates > Developer options > Enable "Stay awake", "USB debugging", "Allow ADB debugging in charge only mode", and make sure "Set USB configuration" is "Charge only". - Plug your phone into your Windows computer.
Again, this needs to be with a cable that can do data transfer. If your computer doesn't detect your phone as an external device when you plug it in, it won't work.
- On your computer, go to the "platform-tools" folder you extracted (this is ADB).
Shift-right-click "platform-tools" folder > Open Powershell window here
Windows PowerShell will launch. - On your computer, in Windows PowerShell, type
.\adb
If successful, you should see a wall of text. :) - On your computer, in Windows PowerShell, type
.\adb start-server
You should see "daemon started successfully". - On your computer, in Windows PowerShell, type
.\adb devices
If successful, you should see "List of devices attached", a long serial number, followed by the word "device". That's your phone! :D - On your computer, in Windows PowerShell, type
.\adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
This will use your computer to start the Shizuku app you installed on your phone.
- On your phone, open Pixel IMS, and select the "SIM" tab on the bottom of the app.
For example, on my phone, it says "Telstra (SIM 1)". - On your phone, in Pixel IMS, turn on all the things!
Enable VoLTE
Enable VoWiFI
Enable VoWiFi while roaming
Enable Supplementary Services over UT
Enable Supplementary Services over CDMA
Enable Video Calling (VT)
Enable Enhanced 4G LTE (LTE+)
Allow adding APNs
Show VoWiFi Icon - On your phone, check that everything is enabled and working.
Settings > Mobile network > Mobile data > Enable "4G" and "Wi-Fi Calling".
Set preferred network mode to LTE/WCDMA/GSM auto - The top bar of your phone should show "Telstra", and "VoWiFI".
You've successfully enabled VoLTE and VoWiFi on your Huawei P20 Pro. :D
Resources
- Enable VoLTE on the Honor 90 Lite
- Pixel IMS: Enable VoLTE on Tensor Pixel devices
-
Pixel IMS patch
This is the one you need, which I've linked previously. If you use the older version, Pixel IMS will crash on your Huawei P20 Pro when Shizuku is turned on on your phone, via your Windows computer. - Shizuku user manual / setup guide
- Telstra Device Capability Checker
- Is this phone blocked? (Australian checker)
No guarantees that this will work for you. But if you have a Huawei P20 Pro in Australia, it's worth a shot. The original that twigged me on to realising that force-enabling VoLTE in a way an Australian telco would recognise was for a Huawei Honor 90 Lite, after all.
Good luck! :)