summaryrefslogtreecommitdiff
path: root/apps/app_amd.c
diff options
context:
space:
mode:
authorDade Brandon <dade@xencall.com>2015-12-20 19:33:02 -0800
committerDade Brandon <dade@xencall.com>2015-12-21 16:02:09 -0800
commitca394161cf15b018e7cdf8f3015e1363476c10f1 (patch)
treee99511c171eebde76bbf4e51cbac6937c44db676 /apps/app_amd.c
parentf0b4375b86e3168d1a80078ed34ee9058f699edb (diff)
app_amd: Correct maximum_number_of_words functionality & documentation
- The maximum_number_of_words was previously documented as being the number of words that when exceeded, would result in the AMD application returning that the audio represents a machine. This was inconsistent with its actual functionality - it was a number of words that when REACHED, would result in determination as a machine. This update corrects the functionality to match the previously documented functionality. This is a backwards incompatible change in configuration file, and has been added to UPGRADE.txt as a result. The sample configuration file and application defaults have been updated so that the default value is now 2, which reflects the same default functionality as previous versions. - Update documentation for silence_threshold, which previously implied that it was measuring time, rather than noise averages in the sample. - Update the comments in amd.conf.sample. ASTERISK-25639 #close Change-Id: I4b1451e5dc9cb3cb06d59b6ab872f5275ba79093
Diffstat (limited to 'apps/app_amd.c')
-rw-r--r--apps/app_amd.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/apps/app_amd.c b/apps/app_amd.c
index ee421b6bc..83da5330d 100644
--- a/apps/app_amd.c
+++ b/apps/app_amd.c
@@ -62,19 +62,19 @@ ASTERISK_REGISTER_FILE()
<syntax>
<parameter name="initialSilence" required="false">
<para>Is maximum initial silence duration before greeting.</para>
- <para>If this is exceeded set as MACHINE</para>
+ <para>If this is exceeded, the result is detection as a MACHINE</para>
</parameter>
<parameter name="greeting" required="false">
<para>is the maximum length of a greeting.</para>
- <para>If this is exceeded set as MACHINE</para>
+ <para>If this is exceeded, the result is detection as a MACHINE</para>
</parameter>
<parameter name="afterGreetingSilence" required="false">
<para>Is the silence after detecting a greeting.</para>
- <para>If this is exceeded set as HUMAN</para>
+ <para>If this is exceeded, the result is detection as a HUMAN</para>
</parameter>
<parameter name="totalAnalysis Time" required="false">
<para>Is the maximum time allowed for the algorithm</para>
- <para>to decide HUMAN or MACHINE</para>
+ <para>to decide on whether the audio represents a HUMAN, or a MACHINE</para>
</parameter>
<parameter name="miniumWordLength" required="false">
<para>Is the minimum duration of Voice considered to be a word</para>
@@ -85,14 +85,14 @@ ASTERISK_REGISTER_FILE()
</parameter>
<parameter name="maximumNumberOfWords" required="false">
<para>Is the maximum number of words in a greeting</para>
- <para>If this is exceeded set as MACHINE</para>
+ <para>If this is exceeded, then the result is detection as a MACHINE</para>
</parameter>
<parameter name="silenceThreshold" required="false">
- <para>How long do we consider silence</para>
+ <para>What is the average level of noise from 0 to 32767 which if not exceeded, should be considered silence?</para>
</parameter>
<parameter name="maximumWordLength" required="false">
<para>Is the maximum duration of a word to accept.</para>
- <para>If exceeded set as MACHINE</para>
+ <para>If exceeded, then the result is detection as a MACHINE</para>
</parameter>
</syntax>
<description>
@@ -130,7 +130,7 @@ ASTERISK_REGISTER_FILE()
</value>
<value name="MAXWORDS">
Word Count - maximum number of words.
- </value>
+ </value>
</variable>
</variablelist>
</description>
@@ -154,7 +154,7 @@ static int dfltAfterGreetingSilence = 800;
static int dfltTotalAnalysisTime = 5000;
static int dfltMinimumWordLength = 100;
static int dfltBetweenWordsSilence = 50;
-static int dfltMaximumNumberOfWords = 3;
+static int dfltMaximumNumberOfWords = 2;
static int dfltSilenceThreshold = 256;
static int dfltMaximumWordLength = 5000; /* Setting this to a large default so it is not used unless specify it in the configs or command line */
@@ -367,7 +367,7 @@ static void isAnsweringMachine(struct ast_channel *chan, const char *data)
sprintf(amdCause , "MAXWORDLENGTH-%d", consecutiveVoiceDuration);
break;
}
- if (iWordsCount >= maximumNumberOfWords) {
+ if (iWordsCount > maximumNumberOfWords) {
ast_verb(3, "AMD: Channel [%s]. ANSWERING MACHINE: iWordsCount:%d\n", ast_channel_name(chan), iWordsCount);
ast_frfree(f);
strcpy(amdStatus , "MACHINE");