diff options
author | malcolmd <malcolmd@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-03-18 22:49:06 +0000 |
---|---|---|
committer | malcolmd <malcolmd@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-03-18 22:49:06 +0000 |
commit | e4d558fd3f9d61eb7c8661caa86997a6c27c1caf (patch) | |
tree | 5f7a6cb14f71a2360afa6f0233a7daaf76f01999 | |
parent | e9624dc611d3d88bae62e17f52679e94c2e840ce (diff) |
Bug # 1247: Add patch to specify minimum vmail length and discard that
which does not meet the minimum
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2459 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-x | apps/app_voicemail.c | 15 | ||||
-rwxr-xr-x | configs/voicemail.conf.sample | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index ad3983c7b..f4e19ef6f 100755 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -190,6 +190,7 @@ static char serveremail[80]; static char mailcmd[160]; /* Configurable mail cmd */ static char vmfmts[80]; +static int vmminmessage; static int vmmaxmessage; static int maxgreet; static int skipms; @@ -1484,6 +1485,10 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int } else close(fd); } + if (end - start < vmminmessage) { + ast_filedelete(fn, NULL); + goto leave_vm_out; + } stringp = fmt; strsep(&stringp, "|"); /* Send e-mail if applicable */ @@ -1510,6 +1515,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int } } else ast_log(LOG_WARNING, "No format for saving voicemail?\n"); +leave_vm_out: free_user(vmu); } else { ast_log(LOG_WARNING, "No entry in voicemail config file for '%s'\n", ext); @@ -3242,6 +3248,15 @@ static int load_config(void) ast_log(LOG_WARNING, "Invalid max message time length\n"); } } + + vmminmessage = 0; + if ((s = ast_variable_retrieve(cfg, "general", "minmessage"))) { + if (sscanf(s, "%d", &x) == 1) { + vmminmessage = x; + } else { + ast_log(LOG_WARNING, "Invalid min message time length\n"); + } + } fmt = ast_variable_retrieve(cfg, "general", "format"); if (!fmt) fmt = "wav"; diff --git a/configs/voicemail.conf.sample b/configs/voicemail.conf.sample index 50281e398..8e43826d6 100755 --- a/configs/voicemail.conf.sample +++ b/configs/voicemail.conf.sample @@ -12,6 +12,8 @@ serveremail=asterisk attach=yes ; Maximum length of a voicemail message ;maxmessage=180 +; Minimum length of a voicemail message +;minmessage=3 ; Maximum length of greetings ;maxgreet=60 ; How many miliseconds to skip forward/back when rew/ff in message playback |