ODBC / Voicemail Issues

I just implemented a new load of and encountered the following issue, has anyone else encountered this???

Voicemail/ODBC, voicemail doesn’t update the password when the user changes it and even though the greeting prompts have been recorded the system will not play them. Normal voicemail message retrieval and storage works well. (Message storage is ODBC along the user data storage.)

The system does not generate email even though the email address is set and the attach flag is set to ‘yes’.

Tim McKee

FYI, at increased verbosity levels there are no error or anomalous log messages.

I don’t know if this your issue regarding the password, but it could be the update SQL statement that it makes against the database when it attempts to update the password.

Normally, the field name is password which is a reserved word in some databases. Probably the best way to check is to run a test SQL statement on it and see if it works.

If it does not work then you can change the field name to secret. You will then have to modify the source code to use that field name and recompile it.

The function needing to be changed is in app_voicemail.c called ‘static int change_password_realtime(struct ast_vm_user *vmu, const char *password)’ located on line 977 in

Hope that helps

Update, actually it turns out that the password is being changed. I see multiple recordings of my busy and unavailable messages (it looks like the originals are not being deleted when a new one is saved with the same ‘dir’ field). The system is not finding the messages to play when voicemail is entered correctly.

What could I be missing here??? Should I abort the real-time system for voicemails and revert to the file system completely?

Tim McKee

Well other then being severely disappointed that I am forced to use ODBC voicemail instead of SMTP voicemail (the best possible solution) when choosing Realtime at any level, I have got it to work.

If you want ODBC voicemail it is not impossible. Not such a bad idea for backup purposes and high availability. Also, pretty neat for integrating it into a website a heck of lot easier.

The only caveat is that if you do delete a message in the database directly Asterisk seems to be completely unaware of it and will still think it exists. The MWI does not get updated. SMTP was supposed to allow you to delete the message or mark it as read and it affected Asterisk and the MWI. Anyways…

What database are you using? What is your table structure? How do you have it defined in the features.conf and voicemail.conf? I have two tables in the database for both voicemail users and messages and it is working just fine at the moment.