I have an iPhone 6, iOS 9.3.2, however I have seen this problem on earlier OS versions. My carrier is AT&T. This problem in my opinion is a BUG.
I too have not received voicemail notifications and have not received voicemails due to this bug. I found that I can reproduce this bug easily, which is good if anyone cares to actually FIX this BUG.
To restore voicemail, I turn OFF WiFi on my phone, then power cycle the phone ( much like a win doze machine ) and when the phone comes back on line,
the voicemail notification and the messages appear on my phone. From time to time, the voicemail messages will have NO CONTENT -- I have not yet explored the bugs and behavior related to that.
My phone then works correctly, voicemail notifications and voicemail are received. Once I turn WiFi back on however, the BUG reappears and can be
corrected by turning WiFi off, then power cycling the phone.
I urge you to try the same, and if this WORKS for you PLEASE make not of it here, and bang on Apple's door to fix this BUG. Thanks and good luck!