[LG V30 Guides, News, & Discussion] mishamosher:
After a couple weeks of trial and error, here is a solution that worked for me.

TRY THIS AT YOUR OWN RISK​

First, some notes:

As usual, this will NOT work with H932. This guide is intended for US998/VS996/LS998 only. I have no other V30 models, so I can not test this there.

I have noticed that after using LGUP to re-flash a V30 with a US-variant firmware, the phone is left with no contents in the /OP partition, reason why I am unable to use this guide.

And now, what I've done:

Unlock your bootloader. You can follow the WTF Guide.

Clean flash to US998 10d firmware. You'll require a Patched LGUP (go here and read the INSTALL DEV PATCHED LGUP step). Use the [PARTITION DL] command (selecting all partitions, with the help of the Select All checkbox). Do NOT try any other command in LGUP.

It is probable that your phone will start bootlooping/get stuck in the LG logo between steps. Ignore this for now. To force a re-connect in Download Mode, keep the USB cable plugged in to both the phone and the PC while pressing PWR + VolDn. As soon as the phone restarts (the screen blinks/flashes for a split second) release all the buttons except for the VolUp button, and hold it pressed until you see the Download Mode appear.

Update to US998 20h firmware. Use the same instructions as for the previous flash.

Update to US998 30b firmware. Use the same instructions as for the previous flash.

Flash the H930 31a firmware. You'll require a patched LGUP. Use the [PARTITION DL] command. Do NOT try any other command in LGUP. When the partitions selection dialog appears, mark the checkbox Select All, and then uncheck xbl, xbl2 and modem. It is imperative NOT to flash the xbl, xbl2 and modem partitions, or else you'll brick your phone.

Factory reset your phone with the help of the stock recovery. Disconnect the USB cable, power off the phone (or hold PWR + VolDn to force a reboot, and then immediately proceed to the next button combo). Now press at the same time (and hold) PWR + VolDn. As soon as your phone vibrates/your screen shows the LG logo, release the PWR button and immediately press (and hold) it (I've had more success smashing the PWR button and not simply releasing and holding it afterwards). After a few seconds a white screen asking you to factory reset your phone will appear. Release all the buttons and answer yes (twice) to proceed with the factory reset. There is a reason why this button combo is called the "button dance". Get comfortable with it.

Now decide if you want to encrypt your phone or not, as this can not be changed later.

If you want it encrypted:

Boot normally and complete the initial configuration assistant. Your phone will be auto-encrypted on first boot.

Power off your phone, hold the VolDn button and connect it to your PC via USB. You should end in fastboot mode.

Go figure the drivers and the Android Platform Tools to be able to issue commands to the phone in fastboot mode. There is plenty of information online.

Issue the command fastboot boot recovery.img, where recovery.img would be this recovery. You should be in TWRP now.

In TWRP you can directly flash the recovery image to permanently have it installed.

Get hold of the Universal DM-Verity, ForceEncrypt, Disk Quota Disabler zip, rename it to Disable_Dm-Verity_twrp.zip and flash it.

Download Magisk, rename it to Magisk-v23.0.zip and flash it.

Download AK3_RCTD_Remover.zip and flash it.

Boot normally.

If you do not want it encrypted:

As soon as the white screen for the factory reset appears, connect your phone to your PC via USB.

Answer yes (twice) and proceed with the factory reset.

Be ready for when the phone restarts, because if it boots to the OS you'll have to factory reset it again.

As soon as the erasing screen disappears and the phone self-reboots, press and hold the VolDn button. You should end in fastboot mode.

Go figure the drivers and the Android Platform Tools to be able to issue commands to the phone in fastboot mode. There is plenty of information online.

Issue the command fastboot boot recovery.img, where recovery.img would be this recovery. You should be in TWRP now.

In TWRP you can directly flash the recovery image to permanently have it installed.

Get hold of the Universal DM-Verity, ForceEncrypt, Disk Quota Disabler zip, rename it to Disable_Dm-Verity_ForceEncrypt_twrp.zip and flash it.

Download Magisk, rename it to Magisk-v23.0.zip and flash it.

Download AK3_RCTD_Remover.zip and flash it.

Boot normally and complete the initial configuration assistant. Be aware that the phone encryption button in the phone's security settings will not work and simply soft-reboot your phone. Go start from scratch if you wanted it to be encrypted.

Now you're with your phone up and running, rooted, and cross-flashed to the H930 firmware. This ensures the presence of a valid non-empty /OP partition. Also all the options and settings described here are now available.

Configure the MBN files for your carrier:

Boot normally to Android and use the help of your favorite Desktop/Android app to modify system files.

The modem partition is located at [/vendor/firmware_mnt/image].

To be able to make changes, remount the modem partition as writable by issuing the command mount -o remount,rw /system/vendor/firmware_mnt in your favorite terminal.

Copy the MBN files of your carrier (or all of them) to the modem partition and set the permissions. You do not need to find/copy the US MBN files as they are there already. You can search in the attached Modem IMG file with the help of 7-Zip ZS. These modem images can be obtained by unpacking the stock KDZ firmwares. The MBN files should go into the modem_pr/mcfg/configs/mcfg_sw/generic_ subdirectory. You should update the modem_pr/mcfg/configs/mcfg_sw/mbn_sw.txt listing file to include all the MBN files that you've copied. The same attached modem ZIP file contains a mbn_sw.txt which contents you can append to your existing one.

Update the permissions:

cd /vendor/firmware_mnt/image/modem_pr/mcfg/configs

chown -R system:system *

chmod -R 0550 *

find . -type f -print0 | xargs -0 chmod 0440

Now configure the OP data for your carrier:

Remount the OP partition as writable by issuing the command mount -o remount,rw /OP in your favorite terminal.

Update /OP/OPEN_EU/config/vo_config.xml with a new entry for your carrier. You can search in the attached OP IMGs (the name indicates the firmware/region from where it was extracted) with the help of 7-Zip ZS for an existing config.

You can try to experiment with additional settings, as described here and here.

And you are done! Reboot and you should see a VoLTE icon eventually appear.

It seems that the US998/VS996/LS998 actually has no OP images. I do not live in the US and am unable to try different settings for the /OP related files for the US carriers. If you get hold of other OP images for other regions, you could very easily adapt this guide to configure VoLTE for another region.

Special thanks to the devs and contributors that have shared the content used in this post (in no particular order, sorry if I missed someone):

tecknight

seadersn

ChazzMatt

Zackptg5

JohnFawkes

markdcouto