Before trying anything below, back up your phone:
How to back up your iPhone, iPad, and iPod touch - Apple Support
The first thing I'd try is resetting Network Settings. Settings>General>Transfer or Reset iPhone>Reset>Reset Network Settings. The only thing you'll lose is saved WiFi passwords. I don't have a lot of hope for this but it doesn't take too long and it may work.
You might also try this:
Manually update your carrier settings on your iPhone or iPad - Apple Support
Next, Settings>General>Transfer or Reset iPhone>Reset>Reset All Settings. I get that it will be very annoying to have to redo all of your settings.
Other options. Restore the phone to factory settings and test. I recommend doing this using a computer as a fresh copy of the operating system will be installed:
Restore your iPhone, iPad, or iPod to factory settings using a computer - Apple Support
If it works properly at that point, you can try restoring your backup. If that brings the problem back, you may need to restore to factory settings and then sync data through iCloud and reset all your settings.