Summary:ASTERISK-05168: Changed voicemail password doesn't stick if using Realtime
Reporter:Daniel Swarbrick (pressureman)Labels:
Date Opened:2005-09-27 18:54:30Date Closed:2011-06-07 14:10:25
Versions:Frequency of
Description:Although the prompt reports a successful password change, if a user hangs up then rings the voicemail extension, the password has not changed to the new one.

Asterisk Realtime appears to be making no attempt to update the password in the SQL backend.
Comments:By: Russell Bryant (russell) 2005-09-28 14:36:40

what realtime config module are you using?

By: Daniel Swarbrick (pressureman) 2005-09-28 17:59:07

My own - res_config_pgsql. Are you saying it works with the other, official ones? My realtime config module is successfully updating the SIP table with registrations, so I see no reason why it shouldn't also update the voicemail table if asked to do so by *.

By: Russell Bryant (russell) 2005-09-28 18:15:09

At line 473 of app_voicemail.c, ast_realtime_update(...) is called to update the password in realtime.

You're going to have to do some debugging to find where the problem is.  Verify that the function is getting called and see if you can narrow down the problem to voicemail or the update function within your realtime config module.

Also, note the return values for the update function.  A value > 0 is treated as a success for this function.

By: Daniel Swarbrick (pressureman) 2005-09-28 19:22:34

Traced it to the fact it was using a primary key called 'uniqueid', which I did not have in my SQL view.

It would be nice to have some standardisation of primary key names in Realtime (eg. sip_id, voicemail_id, iax_id etc). Ast Realtime reeks of the fact that different bits of it were written by different developers, all with different ideas of database normalisation.

By: Russell Bryant (russell) 2005-09-28 19:48:00

Patches are always welcome.  Thanks.