@ -62,19 +62,19 @@ ASTERISK_REGISTER_FILE()
< syntax >
< syntax >
< parameter name = " initialSilence " required = " false " >
< parameter name = " initialSilence " required = " false " >
< para > Is maximum initial silence duration before greeting . < / para >
< para > Is maximum initial silence duration before greeting . < / para >
< para > If this is exceeded set as MACHINE < / para >
< para > If this is exceeded , the re sult is d etection as a MACHINE < / para >
< / parameter >
< / parameter >
< parameter name = " greeting " required = " false " >
< parameter name = " greeting " required = " false " >
< para > is the maximum length of a greeting . < / para >
< para > is the maximum length of a greeting . < / para >
< para > If this is exceeded set as MACHINE < / para >
< para > If this is exceeded , the re sult is d etection as a MACHINE < / para >
< / parameter >
< / parameter >
< parameter name = " afterGreetingSilence " required = " false " >
< parameter name = " afterGreetingSilence " required = " false " >
< para > Is the silence after detecting a greeting . < / para >
< para > Is the silence after detecting a greeting . < / para >
< para > If this is exceeded set as HUMAN < / para >
< para > If this is exceeded , the re sult is d etection as a HUMAN < / para >
< / parameter >
< / parameter >
< parameter name = " totalAnalysis Time " required = " false " >
< parameter name = " totalAnalysis Time " required = " false " >
< para > Is the maximum time allowed for the algorithm < / para >
< 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 >
< parameter name = " miniumWordLength " required = " false " >
< parameter name = " miniumWordLength " required = " false " >
< para > Is the minimum duration of Voice considered to be a word < / para >
< para > Is the minimum duration of Voice considered to be a word < / para >
@ -85,14 +85,14 @@ ASTERISK_REGISTER_FILE()
< / parameter >
< / parameter >
< parameter name = " maximumNumberOfWords " required = " false " >
< parameter name = " maximumNumberOfWords " required = " false " >
< para > Is the maximum number of words in a greeting < / para >
< 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 re sult is d etection as a MACHINE < / para >
< / parameter >
< / parameter >
< parameter name = " silenceThreshold " required = " false " >
< 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 >
< parameter name = " maximumWordLength " required = " false " >
< parameter name = " maximumWordLength " required = " false " >
< para > Is the maximum duration of a word to accept . < / para >
< para > Is the maximum duration of a word to accept . < / para >
< para > If exceeded set as MACHINE < / para >
< para > If exceeded , then the re sult is d etection as a MACHINE < / para >
< / parameter >
< / parameter >
< / syntax >
< / syntax >
< description >
< description >
@ -154,7 +154,7 @@ static int dfltAfterGreetingSilence = 800;
static int dfltTotalAnalysisTime = 5000 ;
static int dfltTotalAnalysisTime = 5000 ;
static int dfltMinimumWordLength = 100 ;
static int dfltMinimumWordLength = 100 ;
static int dfltBetweenWordsSilence = 50 ;
static int dfltBetweenWordsSilence = 50 ;
static int dfltMaximumNumberOfWords = 3 ;
static int dfltMaximumNumberOfWords = 2 ;
static int dfltSilenceThreshold = 256 ;
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 */
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 ) ;
sprintf ( amdCause , " MAXWORDLENGTH-%d " , consecutiveVoiceDuration ) ;
break ;
break ;
}
}
if ( iWordsCount > = maximumNumberOfWords ) {
if ( iWordsCount > maximumNumberOfWords ) {
ast_verb ( 3 , " AMD: Channel [%s]. ANSWERING MACHINE: iWordsCount:%d \n " , ast_channel_name ( chan ) , iWordsCount ) ;
ast_verb ( 3 , " AMD: Channel [%s]. ANSWERING MACHINE: iWordsCount:%d \n " , ast_channel_name ( chan ) , iWordsCount ) ;
ast_frfree ( f ) ;
ast_frfree ( f ) ;
strcpy ( amdStatus , " MACHINE " ) ;
strcpy ( amdStatus , " MACHINE " ) ;