4.6. Saving passwords in voicemail.conf

The voicemail.conf file need not serve only as a directory source; it can also be used as a general storage file for passwords. You may encounter situations where users must authenticate for reasons other than retrieving voicemail - for example, call agents logging in at a call center.
As a result, it is sometimes necessary to create voicemail.conf entries for users, even if they have no need for a mailbox. Don't worry about callers accidentally leaving messages in an unattended mailbox; only mailboxes explicitly referenced through an extension using VoiceMail() or VoiceMailMain() in extensions.conf will be accessible to callers.
For example, you might make two entries in the context [call-center-agents] in voicemail.conf:
1001 => 1234,Annaliese Chips,,,hidefromdir=yes
1002 => 1234,Donald Down,,,hidefromdir=yes
You can use these entries to authenticate a user with the dialplan application VMAuthenticate():
exten => 988,n,Read(agentno,agent-user,10,,3)
exten => 988,n,VMAuthenticate(${agentno}@call-center-agents)
Dont let this example limit your creativity, however. There are many ways to authenticate users, of which this is only one. Saving passwords in AstDB or another database (such as MySQL, for example) is usually preferable.