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