My iPhone won't receive calls when cellular data is off?

I get voicemails but there's no missed call. Before I could receive calls even when my cellular data was off but it's been acting weird recently. Some calls ring but some don't.

Try

General, reset, reset all settings

No, this will not erase your data or apps

Try doing a Reset. Google for instructions for your particular phone.