私の留守番電話検出は留守番電話を人間として検出します。メッセージを再生する前に7秒間の着信音が鳴り、ユーザーにキーを押してからAMDを処理するように求めるだけです。
これが私のAMD.confです
;
; Answering Machine Detection Configuration
;
[general]
initial_silence = 2250 ; Maximum silence duration before the greeting.
; If exceeded then MACHINE.
greeting = 1500 ; Maximum length of a greeting. If exceeded then MACHINE.
after_greeting_silence = 1250 ; Silence after detecting a greeting.
; If exceeded then HUMAN
total_analysis_time = 5000 ; Maximum time allowed for the algorithm to decide
; on a HUMAN or MACHINE
min_word_length = 100 ; Minimum duration of Voice to considered as a word
between_words_silence = 50 ; Minimum duration of silence after a word to consider
; the audio what follows as a new word
;maximum_number_of_words = 3 ; Maximum number of words in the greeting.
maximum_number_of_words = 8 ; Maximum number of words in the greeting.
; If exceeded then MACHINE
silence_threshold = 256
そして、私のログでは、これをボイスメールに送ったときに表示されます。
-- AMD: initialSilence [2250] greeting [1500] afterGreetingSilence [1250] totalAnalysisTime [5000] minimumWordLength [100] betweenWordsSilence [50] maximumNumberOfWords [8] silenceThreshold [256]
-- AMD: Word detected. iWordsCount:1
-- AMD: Changed state to STATE_IN_SILENCE
-- AMD: Word detected. iWordsCount:2
-- AMD: Changed state to STATE_IN_SILENCE
-- AMD: Word detected. iWordsCount:3
-- AMD: Changed state to STATE_IN_SILENCE
-- AMD: Word detected. iWordsCount:4
-- AMD: Changed state to STATE_IN_SILENCE
-- AMD: HUMAN: silenceDuration:1260 afterGreetingSilence:1250
-- Executing [s@play-message-list:16] NoOp("SIP/xxxx.com_xxxx", ""AMD STATUS IS :"HUMAN"...CAUSE:"HUMAN-1260-1250") in new stack
着信音なしで動作し、ボイスメールは残ります。