1

我的应答机检测检测到应答机是人。我在播放消息之前播放了 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

它可以在没有铃声的情况下工作,留下语音邮件。

4

1 回答 1

2

不幸的是,应答机检测不是精确的科学,而是大量的猜测。结果在很大程度上取决于答录机的问候语以及随机人员接听电话的方式。一个人通常在拿起电话后只会说几句话,比如“你好”或“这是约翰”,而自动系统(语音邮件或 ACD)会在接听后立即说出完整的问候语。因此,像“嗨,给我留言”这样的语音邮件问候很有可能被检测为人类,而真正的服务员会回答“早上好,谢谢您致电 ACME Inc,我该如何转接您的电话?” 可能会被检测为机器。

您的呼叫流程或 AMD 设置没有任何问题。在您的日志中,看起来“人”的决定是基于仅检测到 4 个单词,然后是超过 1250 秒的沉默,并且基于 after_greeting_silence 设置触发的决策算法。现在想象一个语音邮件问候语慢慢地说,“你好,谢谢你的来电。[2 秒停顿]。没有人可以接听你的电话......”等等。您的设置将无法正确检测到这种特殊情况。但正如我最初所说,没有“通用”设置可以解释这个世界上的任何问候和人类回答模式。

于 2013-03-03T17:04:13.317 回答