FreePBX and Asterisk allow users to establish a voicemail box.
When you call in to check your voicemail box using *97, you are prompted for a mailbox number and a password. Both of these prompts can be interrupted by dialing. In other words, while you hear the words prompting you for your mailbox # or your password, you can begin dialing. If you do so, the prompt will stop, and the system will accept your input and process it.
However, if your initial login fails, then Asterisk will play 'vm-incorrect-mailbox.ulaw' which is a file that indicates that your login is incorrect, has a pause, and then repeats the request for your mailbox number.
For some reason, this particular prompt is played in such a way that it is NOT interruptable. If you attempt to dial your mailbox number at any time before this prompt ends, the system will not stop playing the prompt and will not process your input. What usually seems to happen, with me at least, is that I start dialing my mailbox number just short of the end of the prompt, and so the system hears the last digit of my mailbox # and the pound key, but not the first digit. As a result, it again finds my login incorrect.
So, the bug is that when FreePBX/Asterisk plays 'vm-incorrect-mailbox.ulaw' after a login failure, it is played in such a way that the prompt cannot be interrupted.
It seems to me that the correct way to process a login failure on a *97 would be to play 'vm-incorrect.ulaw' in a way that is not interruptable, to pause, and then to play 'vm-login.ulaw' in a way that is interruptable.