Hi all, i'm trying to make AMD, Answer Machine Detection, to work on my outbound context but i can't get it to work, just on inbound context like whe i use the application Answer before AMD, but i need to make AMD to do the detection on an outbound predictive dialer integration. Follow are the inbound and outbound examples. My current environment is Asterisk 1.4beta3 and a Digum TE105P with ISDN E1. Have any one managed to do answer machine detection already? [outbound] exten => _x.,1,AMD exten => _x.,2,Dial(SIP/${EXTEN}@10.1.1.203,,tT) exten => _x.,3,Wait(2) exten => _x.,4,Set(RECORDEDFILE=${CALLERID(num)}.wav) exten => _x.,5,Record(${RECORDEDFILE},,,skip) exten => _x.,6,Hangup [inbound] exten => _x.,1,Answer exten => _x.,2,AMD exten => _x.,3,Wait(2) exten => _x.,4,Set(RECORDEDFILE=${CALLERID(num)}.wav) exten => _x.,5,Record(${RECORDEDFILE},,,skip) exten => _x.,6,Hangup My AMD conf ; ; Answering Machine Detection Configuration ; [general] initial_silence = 2500 ; Maximum silence duration before the greeting. ; If exceeded then MACHINE. greeting = 1500 ; Maximum length of a greeting. If exceeded then MACHINE. after_greeting_silence = 300 ; 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 = 120 ; 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. ; If exceeded then MACHINE silence_threshold = 256
What predictive dialer are you using? How does it make outbound calls? There is a patch available for 1.2 that we have been uusing for several months if you want to use release-quality Asterisk. MATT--- On 11/21/06, Matheus Rossato <matheusrossatolista@gmail.com> wrote:> Hi all, > > i'm trying to make AMD, Answer Machine Detection, to work on my > outbound context but i can't get it to work, just on inbound context > like whe i use the application Answer before AMD, but i need to make AMD > to do the detection on an outbound predictive dialer integration. Follow > are the inbound and outbound examples. My current environment is > Asterisk 1.4beta3 and a Digum TE105P with ISDN E1. Have any one managed > to do answer machine detection already? > > [outbound] > exten => _x.,1,AMD > exten => _x.,2,Dial(SIP/${EXTEN}@10.1.1.203,,tT) > exten => _x.,3,Wait(2) > exten => _x.,4,Set(RECORDEDFILE=${CALLERID(num)}.wav) > exten => _x.,5,Record(${RECORDEDFILE},,,skip) > exten => _x.,6,Hangup > > [inbound] > > exten => _x.,1,Answer > exten => _x.,2,AMD > exten => _x.,3,Wait(2) > exten => _x.,4,Set(RECORDEDFILE=${CALLERID(num)}.wav) > exten => _x.,5,Record(${RECORDEDFILE},,,skip) > exten => _x.,6,Hangup > > > > My AMD conf > > ; > ; Answering Machine Detection Configuration > ; > > [general] > initial_silence = 2500 ; Maximum silence duration before > the greeting. > ; If exceeded then MACHINE. > greeting = 1500 ; Maximum length of a greeting. If > exceeded then MACHINE. > after_greeting_silence = 300 ; 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 = 120 ; 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. > ; If exceeded > then MACHINE > silence_threshold = 256 > > > > _______________________________________________ > --Bandwidth and Colocation provided by Easynews.com -- > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >
I had a hell of a time getting AMD to work correctly on 1.4. If I didn't compile asterisk correctly (I'm not sure how I was doing it incorrectly), it wouldn't work (and would just stop the dialplan execution). Try recompiling everything (make clean && make install) and see if that helps. (It's working fine for me now...) FYI, AMD will not Wait() for the answering machine to finish talking. It will only set some status variables, with which you should use WaitForSilence() afterwards to wait for everything to get 'quiet' AMDSTATUS - This is the status of the answering machine detection. Possible values are: MACHINE | HUMAN | NOTSURE | HANGUP AMDCAUSE - Indicates the cause that led to the conclusion. Possible values are: TOOLONG-<%d total_time> INITIALSILENCE-<%d silenceDuration>-<%d initialSilence> HUMAN-<%d silenceDuration>-<%d afterGreetingSilence> MAXWORDS-<%d wordsCount>-<%d maximumNumberOfWords> LONGGREETING-<%d voiceDuration>-<%d greeting> -- Wes Baehr> -----Original Message----- > From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users- > bounces@lists.digium.com] On Behalf Of Matheus Rossato > Sent: Tuesday, November 21, 2006 3:36 PM > To: asterisk-users@lists.digium.com > Subject: [asterisk-users] Answer Machine Detection > > Hi all, > > i'm trying to make AMD, Answer Machine Detection, to work on my > outbound context but i can't get it to work, just on inbound context > like whe i use the application Answer before AMD, but i need to make AMD > to do the detection on an outbound predictive dialer integration. Follow > are the inbound and outbound examples. My current environment is > Asterisk 1.4beta3 and a Digum TE105P with ISDN E1. Have any one managed > to do answer machine detection already? > > [outbound] > exten => _x.,1,AMD > exten => _x.,2,Dial(SIP/${EXTEN}@10.1.1.203,,tT) > exten => _x.,3,Wait(2) > exten => _x.,4,Set(RECORDEDFILE=${CALLERID(num)}.wav) > exten => _x.,5,Record(${RECORDEDFILE},,,skip) > exten => _x.,6,Hangup > > [inbound] > > exten => _x.,1,Answer > exten => _x.,2,AMD > exten => _x.,3,Wait(2) > exten => _x.,4,Set(RECORDEDFILE=${CALLERID(num)}.wav) > exten => _x.,5,Record(${RECORDEDFILE},,,skip) > exten => _x.,6,Hangup > > > > My AMD conf > > ; > ; Answering Machine Detection Configuration > ; > > [general] > initial_silence = 2500 ; Maximum silence duration before > the greeting. > ; If exceeded then MACHINE. > greeting = 1500 ; Maximum length of a greeting. If > exceeded then MACHINE. > after_greeting_silence = 300 ; 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 = 120 ; 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. > ; If exceeded > then MACHINE > silence_threshold = 256 > > > > _______________________________________________ > --Bandwidth and Colocation provided by Easynews.com -- > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users