aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_voicemail.c
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-17 19:16:51 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-17 19:16:51 +0000
commit91e38a7babc4252eb293559bbd2ab18d7bfd6d3c (patch)
treedad077dbfd0cd7608ad4783fcea19dec13f4ff45 /apps/app_voicemail.c
parent3a9bc6fc81ceca4909888b5f368226f1418dcb6d (diff)
Merged revisions 79906 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r79906 | mmichelson | 2007-08-17 14:14:05 -0500 (Fri, 17 Aug 2007) | 6 lines Patch allows for more seamless transition from file storage voicemail to ODBC storage voicemail. If a retrieval of a greeting from the database fails, but the file is found on the file system, then we go ahead an insert the greeting into the database. The result of this is that people who switch from file storage to ODBC storage do not need to rerecord their voicemail greetings. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79907 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_voicemail.c')
-rw-r--r--apps/app_voicemail.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 752d2a8be..a749f9251 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -3061,10 +3061,19 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, struct leave_vm_
/* Play the beginning intro if desired */
if (!ast_strlen_zero(prefile)) {
- RETRIEVE(prefile, -1, ext, context);
+#ifdef ODBC_STORAGE
+ int success =
+#endif
+ RETRIEVE(prefile, -1);
if (ast_fileexists(prefile, NULL, NULL) > 0) {
if (ast_streamfile(chan, prefile, chan->language) > -1)
res = ast_waitstream(chan, ecodes);
+#ifdef ODBC_STORAGE
+ if(success == -1)
+ /*We couldn't retrieve the file from the database, but we found it on the file system. Let's put it in the database*/
+ ast_debug(1, "Greeting not retrieved from database, but found in file storage. Inserting into database\n");
+ store_file(prefile, vmu->mailbox, vmu->context, -1);
+#endif
} else {
ast_debug(1, "%s doesn't exist, doing what we can\n", prefile);
res = invent_message(chan, vmu->context, ext, ast_test_flag(options, OPT_BUSY_GREETING), ecodes);