the only thing i can suggest is to reboot the sim card. this is called reseeding. I'm not sure what they call it, but what it does is cause the iPhone ( or phones in general ) to update the preferred roaming list. this also has the ability to restore lost features like Voice over LTE that may be missing on your iPhone
this might require you to be on wifi
turn off the iPhone
remove the sim card
wait 30 seconds
turn on the iPhone
wait for the iPhone to boot up
wait for the iPhone to show its unlock screen
unlock the iPhone
wait for the home screen to appear
wait for the error insert sim card
finally, after all that, insert your sim card. the iPhone will show ' searching ' and it will refresh the sim card
this is similar to what people on Verizon had to to before LTE came out to refresh the roaming tables.
from what I've seen if you leave your sim card in your phone 24 hours a day, and never boot it up this way, it can't update the roaming tables.
when switching carriers or when things would happen, like i wasn't getting wifi calling, i wasn't get tethering , or i wasn't able to turn on VOLTE , its been my experience that this reseed procedure fixes stuff
the other thing i can think of is to have your sim card replaced
lately I've been having problems with the phone dropping from LTE to 4G on T-Moble when i dial codes like #932#
it will stay there for a minute. but i think its a bug that t-mobile knows about and they seem to have fixed it
i think the reseeding would force the sim card to get a new carrier update ( if there is one ), so thats why i posted it