Bug # 1247: Add patch to specify minimum vmail length and discard that

which does not meet the minimum


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Malcolm Davenport 2004-03-18 22:49:06 +00:00
parent d3b2cb19e4
commit 264bfb7121
2 changed files with 17 additions and 0 deletions

View File

@ -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";

View File

@ -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