summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2008-12-11 20:57:44 +0000
committerMark Michelson <mmichelson@digium.com>2008-12-11 20:57:44 +0000
commit81b642c8c3023dffd8dc102eea3391e2685b798f (patch)
tree6f42d1a4565cc9f4e0131a70eb8f4c9d1616ca4f /apps
parent7828e7a966031731642a3f983d485a5d217f0ce8 (diff)
Add an option to voicemail.conf to allow urgent messages to be
forwarded as not urgent. (closes issue #14063) Reported by: jaroth Patches: urgfwd_v2.patch uploaded by jaroth (license 50) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-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 0206e221a..f23624fa2 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -407,6 +407,7 @@ static AST_LIST_HEAD_STATIC(vmstates, vmstate);
#define VM_TEMPGREETWARN (1 << 15) /*!< Remind user tempgreeting is set */
#define VM_MOVEHEARD (1 << 16) /*!< Move a "heard" message to Old after listening to it */
#define VM_MESSAGEWRAP (1 << 17) /*!< Wrap around from the last message to the first, and vice-versa */
+#define VM_FWDURGAUTO (1 << 18) /*!< Autoset of Urgent flag on forwarded Urgent messages set globally */
#define ERROR_LOCK_PATH -100
@@ -6267,7 +6268,9 @@ static int forward_message(struct ast_channel *chan, char *context, struct vm_st
char urgent_str[7] = "";
char tmptxtfile[PATH_MAX];
- ast_copy_string(urgent_str, urgent ? "Urgent" : "", sizeof(urgent_str));
+ if (ast_test_flag((&globalflags), VM_FWDURGAUTO)) {
+ ast_copy_string(urgent_str, urgent ? "Urgent" : "", sizeof(urgent_str));
+ }
if (vms == NULL) return -1;
dir = vms->curdir;
@@ -10663,6 +10666,12 @@ static int load_config(int reload)
}
ast_set2_flag((&globalflags), ast_true(val), VM_MOVEHEARD);
+ if (!(val = ast_variable_retrieve(cfg, "general", "forward_urgent_auto"))) {
+ ast_debug(1,"Autoset of Urgent flag on forwarded Urgent messages disabled globally\n");
+ val = "no";
+ }
+ ast_set2_flag((&globalflags), ast_true(val), VM_FWDURGAUTO);
+
if (!(val = ast_variable_retrieve(cfg, "general", "sayduration"))) {
ast_debug(1,"Duration info before msg enabled globally\n");
val = "yes";