So, Many users of custom roms users reported to have broken volte or volte not working while on roaming. 
There was a workaround to turn off/on radio from engineering mode but it only lasted till a reboot.
After looking into the matter last night i found the feasible permanent solution for it. It'll be little long so bear with me.

After fiddling with every firmware and custom rom i found out the cause of volte breakdown was the IMS status being not registered for some reason. You guys can check in IMS status option in 3 dot hidangan inside the engineering mode(*#*#4636#*#*). IMS services are responsible for calling and sms services over lte network.

Soo, Here is Small tutorial for all peoples who are Custom Rom on their devices and facing VoLTE issue...
This method works in few mtk OEM Roms and not all.

Tested in:
Pixel Ui mm
Condor A8 stock rom

Method 1: (preferred)

1. Unpack the Rom
2. Do normal porting
3. Apply Volte patch1 and patch2 (no need of egl folders) {Replace those files inside patch from ur stock Rom}


Method 2: (not recommended sometimes cause  rom to become totally unstable or may not boot up)

Copy all “files” in bin, lib, lib64 and paste in respective Port rom folder but Don’t replace existing files. This is to add missing files responsible for VoLTE/network

Next apply patch 1 and 2, mentioned in Method 1

Buildprop:

1. Delete unnecessary lines like cdma in case your stock rom doesn’t have those lines
2. Add all lines related to ims and VoLTE from stock/any VoLTE rom

Bootimg:

1. Edit it as per stock/any VoLTE Rom’s bootimg
2. Add modem, VoLTE, mal files in case if its present in stock
3. Zip everything and flash the Rom
4. Let it bootup

ImsService app:

1. Make a flashable zip of ImsService in system/priv-app/ImsService from stock or any other Rom

2. Flash it after Roms boots up.

You may add it directly in Rom but some cases Rom will get stuck in bootanimation.

In case one ImsService app doesn’t work try replacing from different Roms