I hear ya..
For me, I only had to call voicemail once, then it fixed. I called voicemail.. Deleted EVERYTHING.. Saved messages.. All of them.
I then went on the phone, and deleted everything off the phone. Then went onto deleted messages and cleared those.
Mine worked fine after this.
Now, I will tell you that I did call AT&T and my init request was that they completely rebuild my voicemail.. (They can do this). But the lady walked me through manually deleting and fortunately it worked.
Hopefully you aren't one of the folks who needs to keep voicemails.. But I think the key was that I deleted them all, and that resolved it.
And I can see your perception on this being a phone issue.. I could explain why it's not the phone but that's a lengthy post. Not meaning to come across snarky..But I'm pretty confident in my knowledge of iOS hardware and software. That's all I can say about that.
I know this issue is a pain.. I just hoped I could help someone, that's all. My issue was actually the voicemail sound , and had been driving me batty!! I had taken to the discussion boards looking for other reports (and hopefully a workaround). I'm happy to say both have been fixed.