diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-05-20 07:58:15 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-05-20 07:58:15 +0000 |
commit | 1cc1812b6d32104f8fb9d917e26fa104383a63dc (patch) | |
tree | 596efdbc8142c483ee48e3689018031567956eb3 /apps | |
parent | 0223aed3fb93e4da196491d91115890558f83a22 (diff) |
Make playback of envelope a configurable option (bug #1683)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3027 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rwxr-xr-x | apps/app_voicemail.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 44b49f244..2dc608e16 100755 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -115,6 +115,7 @@ struct ast_vm_user { int saycid; int review; int operator; + int envelope; struct ast_vm_user *next; }; @@ -227,6 +228,7 @@ static int maxlogins; static int reviewvm; static int calloper; static int saycidinfo; +static int hearenv; static char dialcontext[80]; static char callcontext[80]; @@ -254,6 +256,8 @@ static void populate_defaults(struct ast_vm_user *vmu) vmu->operator = 1; if (saycidinfo) vmu->saycid = 1; + if (hearenv) + vmu->envelope = 1; if (callcontext) strncpy(vmu->callback, callcontext, sizeof(vmu->callback) -1); if (dialcontext) @@ -294,6 +298,11 @@ static void apply_options(struct ast_vm_user *vmu, char *options) vmu->operator = 1; else vmu->operator = 0; + } else if (!strcasecmp(var, "envelope")){ + if(ast_true(value)) + vmu->envelope = 1; + else + vmu->envelope = 0; } else if (!strcasecmp(var, "callback")) { strncpy(vmu->callback, value, sizeof(vmu->callback) -1); } else if (!strcasecmp(var, "dialout")) { @@ -2706,7 +2715,7 @@ static int play_message(struct ast_channel *chan, struct ast_vm_user *vmu, struc if(!strncasecmp("macro",context,5)) /* Macro names in contexts are useless for our needs */ context = ast_variable_retrieve(msg_cfg, "message","macrocontext"); - if (!res) + if ((!res)&&(vmu->envelope)) res = play_message_datetime(chan, vmu, origtime, filename); if ((!res)&&(vmu->saycid)) @@ -3588,6 +3597,7 @@ static int load_config(void) char *astsaycid; char *astcallop; char *astreview; + char *asthearenv; char *silencestr; char *thresholdstr; char *fmt; @@ -3739,6 +3749,13 @@ static int load_config(void) astsaycid = "no"; } saycidinfo = ast_true(astsaycid); + + hearenv = 1; + if (!(asthearenv = ast_variable_retrieve(cfg, "general", "envelope"))) { + ast_log(LOG_DEBUG,"ENVELOPE before msg enabled globally\n"); + asthearenv = "yes"; + } + hearenv = ast_true(asthearenv); if ((dialoutcxt = ast_variable_retrieve(cfg, "general", "dialout"))) { strncpy(dialcontext, dialoutcxt, sizeof(dialcontext) - 1); |