[OnePlus 3 & 3T Cross Device Themes, Apps & Mods] zezinho7:
Recently I had some bad experiences with bad reception.

At the place of my new girlfriend is very bad GSM and LTE reception. At her place of residence I could not be reached with my OP3T and I could not make outgoing calls. When I called her from home, our conversations were interrupted every few minutes.

Neither with T-Mobile (company card) nor with my Netzclub+ Sponsored card could I make any real phone calls. When I recently gave her a Oneplus 3 I decided to make both devices (+my OP3T) fit for VoWifi and VoLTE.

The goal was that it should work with Lineage 17 for microg.

I have seen here some instructions that helped. There was always just a little something missing to make it work.

Below are the steps necessary to get VoWIFI and VoLTE for T-Mobile up and running:

No root solution required, no bootloader unlock required.

Ony TWRP needs to be installed.

1. Install QPST, (have used 2.7.460)

2. Install Quallcomm Diag Driver, i used 1.1 (have used 10037.3)

3. Extract modem firmware via TWRP (system/etc/firmware, or use mine from download link)

4. Enable adb root in developer settings

5. Enable USB Debugging and connect to device via adb

adb devices (check if device is shown)

adb root

adb shell

setprop sys.usb.config diag,serial_smd,rmnet_ipa,adb

6. Open PDC from QPST with admin rights and choose phone

7. Rightclick on "Overseas..." and deactivate for Sub0 and Sub1

8. Remove the "Overseas..." completely (select it and click remove)

9. Rightclick on "H3G Denmark Commercial" and set config for Sub0 and Sub1

10. Rightclick on the profile again (currently pending state) and select activate a few times until Sub0 and Sub1 are active

11. Modify Build.prop (system/build.prop)

Extract with TWRP and modify locally and add this new block underneath

block #VENDOR_EDIT

[...]

#VOLTE

persist.dbg.ims_volte_enable=1

persist.dbg.volte_avail_ovr=1

persist.dbg.vt_avail_ovr=1

persist.dbg.wfc_avail_ovr=1

persist.radio.rat_on=combine

persist.radio.data_ltd_sys_ind=1

persist.radio.data_con_rprt=1

persist.radio.calls.on.ims=1

persist.sys.cust.lte_config=true

ro.radio_gpri=1

ro.amrwb_gpri=1

persist.data.iwlan=1

#end

[...]

Overwrite the original build.prop with your new one and chmod 0644 (both using

using TWRP File Manager) the file.

12. Put VoWIFI + VoLTE simcard into Slot 1 of sim tray.

13. In Lineage enable VoLTE and Wifi Calling (enable prefer wifi)

To check:

After step 13 wait 20 seconds until sip registration with provider completed, then dial USSD code *#*#4636#*#* to open Field test

Open "Phone information" and check ims registration state

Ims registration=registered means you had success

The provider profile change is done at the EFS partition and stay there until you restore this one via twrp.

If Wifi is off VoLTE is used automatically, sadly Lineage OS 17.1 does not have a VoLTE indicator. But you notice that LTE stays on during call and that there is no delay now.

Without VoLTE there was a 3 seconds delay to switch from LTE to 3G/2G to make the call.

If you call via VoWIFI a new Wifi Icon is displayed in Call window.

Sometimes VoLTE gets preferred over VoWifi, although in wifi call you have set wifi call is prio.

Not sure yet what triggers this.

If you use Volte OpenMarket Commercial profile VoLTE + IMS Video call works, but not VoWIFI. So for us Denmark profile is perfect.

VoLTE also works with Netzclub (O2) card in slot one, but not VoWIFI. Could work with switching to o2 IMS apn (not tested yet since i only plan to use it for telekom currently).

I read that only slot 1 supports VoLTE and VoWIFI (chipset related) which may not be true since during the process i had a condition with VoLTE working in both sim slots (+ ims registred for both). This happened when i loaded the "Idea..." profile for testing purposes. Somehow it triggered a connection crash and did not change the profile but enabled VoLTE for both cards (this time t-mobile volte working in slot 2, netzclub+ volte working in slot 1). But since VoWIFI did not work i loaded Denmark once again and now only slot 1 worked again.

Now it is even possible to activate airplane mode and to call with T-Mobile number via Wifi.

Really cool.

https://mega.nz/file/NUcUxYRR#V2sWJuHSYxHJOuh0vAK-j5777mpT3c6sMyNr24JEwjM

Edit 2020-Oct-03:

Temporary magisk installation no longer required with latest lineage os 17.1 / lineage os 17.1 microg.

Just enable adb root in developer option, and in adb shell type "adb root"

Also attached mbn files only work for 3t, will update download link soon to contain 3 files, too