aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormalcolmd <malcolmd@f38db490-d61c-443f-a65b-d21fe96a405b>2004-03-18 22:49:06 +0000
committermalcolmd <malcolmd@f38db490-d61c-443f-a65b-d21fe96a405b>2004-03-18 22:49:06 +0000
commite4d558fd3f9d61eb7c8661caa86997a6c27c1caf (patch)
tree5f7a6cb14f71a2360afa6f0233a7daaf76f01999
parente9624dc611d3d88bae62e17f52679e94c2e840ce (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-xapps/app_voicemail.c15
-rwxr-xr-xconfigs/voicemail.conf.sample2
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