I have three extensions which are having vm problems. The first one disconnects you after you put in the correct password. The other two extensions do not play any messages. The user is told there are messages, but the system never plays them. It does act is if it did by offering the chance to save or delete the message.
Please check the permissions on the /var/spool/asterisk/voicemail directry and all directories under it. I’m guessing you do not have them with owner and group settings of asterisk.
Is this a hand built system or a distro build? Please provide that info and if hand built the directions and deviations from those directions when your built it.