Summary:ASTERISK-06826: [patch] Send voicemail from v-mail using Directory and Realtime fails
Reporter:Steve Feinstein (stevefeinstein)Labels:
Date Opened:2006-04-21 18:48:40Date Closed:2006-05-19 11:05:48
Versions:Frequency of
Environment:Attachments:( 0) 20060508__bug7010.diff.txt
Description:System is, MySQL voicemail works fine via realtime except when trying to send voicemail as below:

Call VoicemailMain, Log-in
Press 3 for advanced options
Press 5 to send a voicemail message
Press 2 to use the directory
Find a name, Name plays fine, and press 1

[Apr 21 18:37:38] DEBUG[28054]: res_config_mysql.c:125 realtime_mysql: MySQL RealTime: Retrieve SQL: SELECT * FROM voicemail WHERE mailbox = '1212' AND context = '(null)'
[Apr 21 18:37:38] DEBUG[28054]: res_config_mysql.c:636 mysql_reconnect: MySQL RealTime: Everything is fine.
[Apr 21 18:37:38] WARNING[28054]: app_voicemail.c:2411 leave_voicemail: No entry in voicemail config file for '1212'


The problem is obviously that the context used for the SQL query is null, but there doesn't seem to be any way to set that context.  
Comments:By: Serge Vecher (serge-v) 2006-05-08 09:24:47

Corydon76: can you please advise here? Thanks.

By: Tilghman Lesher (tilghman) 2006-05-08 10:53:09

This needs to remain unassigned, pending discussion on what is the correct action.

The issue is what context should be passed to the Directory application for a search?  Currently, Directory is passed the context, if set in the arguments to VoicemailMain, or "default" if not specified.  However, if searchcontexts=yes in voicemail.conf, then VoicemailMain searches through all contexts for authentication.

This creates a possibly inconsistency, since VoicemailMain may authenticate against a non-"default" context, yet Directory would still only search the "default" context.  The reason this issue came up is because this underlying issue was not addressed when Directory searching within VoicemailMain was implemented.

What I think should happen is that we should pass the same context as was authenticated to the Directory app.  Unfortunately, that creates a change in behavior, if the context authenticated was not "default".  This is a conundrum, because we generally do not allow behavior changes in the 1.2 series.

By: Kevin P. Fleming (kpfleming) 2006-05-18 16:14:32

That is the correct fix. It is only logical for the directory to search the same context that the active voicemail user was found in.

By: Joshua C. Colp (jcolp) 2006-05-19 11:05:48

Fixed in both 1.2 and trunk, many thanks!