I think it is hardware problem, try flashing the firmware from iTune using the restore default.
If it is still the same, then it must be hardware.
I got one phone that has similar problem and i took it to apple store, they gave me another one.
I didn't have to pay for mine to replace it, apple was very kind and replaced it for free even though the phone was out of warranty. But your miles may vary. If it is hardware problem, I guest it is the baseband that is borken, which is very hard to replace and I wouldn't trust anyone other than apple to replace. I don't know if there are any apple store in your state, but there are lots of them here.