I recorded the call using the recording function in VICIDIAL so maybe it has recorded both channel I did not think about that.
let me send you my config
the name of the audio file played below is M8PV21 I forced it inside the amd.conf
here its my config:
extensions.conf :
exten => 545454,1,Answer()
exten => 545454,n,AMD()
exten => 545454,n,GotoIf($["${AMDSTATUS}"="HUMAN"]?HUMAN:MACHINE)
exten => 545454,n(MACHINE),Hangup()
exten => 545454,n(NOTSURE),Hangup()
exten => 545454,n,Dial(SIP/9001@IPADRESSMASK,60)
exten => 545454,n,Hangup()
AMD.conf :
;
; Answering Machine Detection Configuration
;
[general]
total_analysis_time = 5000 ; Maximum time allowed for the algorithm to decide
; on whether the audio represents a HUMAN, or a MACHINE
silence_threshold = 256 ; If the average level of noise in a sample does not reach
; this value, from a scale of 0 to 32767, then we will consider
; it to be silence.
playback_file = M8PV21 ; Audio file to play while AMD is running, so the caller
; does not just hear silence. Note that specifying this here
; will apply to ALL AMD runs, so you may wish to set it
; in the dialplan as an argument to AMD() instead.
; Default is no audio file (not to play anything).
; Greeting ;
initial_silence = 2500 ; Maximum silence duration before the greeting.
; If exceeded, then the result is detection as a MACHINE.
after_greeting_silence = 800 ; Silence after detecting a greeting.
; If exceeded, then the result is detection as a HUMAN
greeting = 1500 ; Maximum length of a greeting. If exceeded, then the
; result is detection as a MACHINE.
; Word detection ;
min_word_length = 100 ; Minimum duration of Voice to considered as a word
maximum_word_length = 5000 ; Maximum duration of a single Voice utterance allowed.
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 = 2 ; Maximum number of words in the greeting
; If exceeded, then the result is detection as a MACHINE
Log i see in asterisk logs :
[May 23 12:36:18] -- Executing [8001@trunkinbound:1] AGI("SIP/srv4-00000016", "agi-DID_route.agi") in new stack
[May 23 12:36:18] -- Launched AGI Script /usr/share/asterisk/agi-bin/agi-DID_route.agi
[May 23 12:36:18] -- AGI Script Executing Application: (Monitor) Options: (wav,/var/spool/asterisk/monitor/MIX/20240523123618_8001_777)
[May 23 12:36:18] -- <SIP/srv4-00000016>AGI Script agi-DID_route.agi completed, returning 0
[May 23 12:36:18] -- Executing [545454@default:1] Answer("SIP/srv4-00000016", "") in new stack
[May 23 12:36:18] > 0x7fb4f80373a0 -- Strict RTP switching to RTP target address IPADRESSMASKED:11992 as source
[May 23 12:36:18] -- Executing [545454@default:2] AMD("SIP/srv4-00000016", "") in new stack
[May 23 12:36:18] -- AMD: SIP/srv4-00000016 777 (N/A) (Fmt: ulaw)
[May 23 12:36:18] -- AMD: initialSilence [2500] greeting [1500] afterGreetingSilence [800] totalAnalysisTime [5000] minimumWordLength [100] betweenWordsSilence [50] maximumNumberOfWords [2] silenceThreshold [256] maximumWordLength [5000]
[May 23 12:36:18] -- <SIP/srv4-00000016> Playing 'M8PV21.slin' (language 'en')
[May 23 12:36:18] -- AMD: Channel [SIP/srv4-00000016]. Changed state to STATE_IN_SILENCE
[May 23 12:36:19] -- AMD: Channel [SIP/srv4-00000016]. Word detected. iWordsCount:1
[May 23 12:36:19] -- AMD: Channel [SIP/srv4-00000016]. Detected Talk, previous silence duration: 760
[May 23 12:36:19] -- AMD: Channel [SIP/srv4-00000016]. Changed state to STATE_IN_SILENCE
[May 23 12:36:19] -- AMD: Channel [SIP/srv4-00000016]. Detected Talk, previous silence duration: 80
[May 23 12:36:19] -- AMD: Channel [SIP/srv4-00000016]. Word detected. iWordsCount:2
[May 23 12:36:20] -- AMD: Channel [SIP/srv4-00000016]. Detected Talk, previous silence duration: 20
[May 23 12:36:20] -- AMD: Channel [SIP/srv4-00000016]. Changed state to STATE_IN_SILENCE
[May 23 12:36:20] -- AMD: Channel [SIP/srv4-00000016]. Detected Talk, previous silence duration: 100
[May 23 12:36:20] -- AMD: Channel [SIP/srv4-00000016]. Word detected. iWordsCount:3
[May 23 12:36:20] -- AMD: Channel [SIP/srv4-00000016]. ANSWERING MACHINE: iWordsCount:3
[May 23 12:36:20] -- Executing [545454@default:3] GotoIf("SIP/srv4-00000016", "0?HUMAN:MACHINE") in new stack
[May 23 12:36:20] -- Goto (default,545454,4)
[May 23 12:36:20] -- Executing [545454@default:4] Hangup("SIP/srv4-00000016", "") in new stack
[May 23 12:36:20] == Spawn extension (default, 545454, 4) exited non-zero on 'SIP/srv4-00000016'
[May 23 12:36:20] WARNING[32503][C-0000002d]: func_hangupcause.c:138 hangupcause_read: Unable to find information for channel
[May 23 12:36:20] -- Executing [h@default:1] AGI("SIP/srv4-00000016", "agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----16--------------------)") in new stack
[May 23 12:36:20] -- <SIP/srv4-00000016>AGI Script agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----16--------------------) completed, returning 0