[asterisk-users] Answer Machine Detection

Wes Baehr wbaehr at abilitybusiness.com
Wed Nov 22 07:35:20 MST 2006


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 at lists.digium.com [mailto:asterisk-users-
> bounces at lists.digium.com] On Behalf Of Matheus Rossato
> Sent: Tuesday, November 21, 2006 3:36 PM
> To: asterisk-users at 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



More information about the asterisk-users mailing list