dect
/
asterisk
Archived
13
0
Fork 0

Merged revisions 320162 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320162 | jrose | 2011-05-20 13:12:21 -0500 (Fri, 20 May 2011) | 15 lines
  
  Fixes an imapfolder related crash
  
  imapfolders being set in the general section of voicemail would cause the inbox folder name to
  change.  Since sound file names are made based on the names of the folders, this would cause
  the audio related to that folder name to change and if Asterisk attempted to play it, the
  channel would instantly hang up when the audio file couldn't be found.  This patch searches for
  the name of the folder first to leave existing behavior in tact and if that fails, it uses
  the normal inbox name to get the sound file instead.
  
  
  (closes issue #16104)
  Reported by: blkline
  
  Review: https://reviewboard.asterisk.org/r/1215/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@320178 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
jrose 2011-05-20 18:29:59 +00:00
parent efd0909a76
commit 6f3d6b7abe
1 changed files with 15 additions and 1 deletions

View File

@ -6698,7 +6698,21 @@ static int get_folder(struct ast_channel *chan, int start)
if (d)
return d;
snprintf(fn, sizeof(fn), "vm-%s", mbox(NULL, x)); /* Folder name */
d = vm_play_folder_name(chan, fn);
/* The inbox folder can have its name changed under certain conditions
* so this checks if the sound file exists for the inbox folder name and
* if it doesn't, plays the default name instead. */
if (x == 0) {
if (ast_fileexists(fn, NULL, NULL)) {
d = vm_play_folder_name(chan, fn);
} else {
ast_verb(1, "failed to find %s\n", fn);
d = vm_play_folder_name(chan, "vm-INBOX");
}
} else {
d = vm_play_folder_name(chan, fn);
}
if (d)
return d;
d = ast_waitfordigit(chan, 500);