Answering machine detection

Today I worked with the Asterisk function amd. Amd stand for answering machine detection and after my initial testing it seems to work very well. The documentation on the function is written very cryptically. I decided to just use the defaults and it worked amazingly well. For any auto dialing applications I highly recommend trying this function.

To help me get started I grabbed an example from the wiki and used an example from it. Here is the example from the wiki modified for Asterisk 1.4. I updated the wiki with the relevant 1.4 information.

[outbound]
exten => s,1,NoCDR
exten => s,n,AMD
exten => s,n,GotoIf($[${AMDSTATUS}=HUMAN]?humn:mach)
exten => s,n(mach),WaitForSilence(2500)
exten => s,n,Playback(message-when-machine)
exten => s,n,Hangup
exten => s,n(humn),WaitForSilence(500)
exten => s,n,Playback(message-when-human)
exten => s,n,Hangup

2 Responses to “Answering machine detection”

  1. craigesmith Says:

    How did you initiate the call?

  2. Matt Schmandt Says:

    The two most common ways to initiate a call is by either creating a call file or through the manager interface. A call file is a text file that you place in the /var/spool/asterisk/outgoing directory. Asterisk monitors that directory and will process it within a second of putting the file in that directory. The other way is through the manager interface. Using that you send text commands to initiate a call. You can consider the manager port to be like a telnet port for Asterisk that you can send text commands to.

    I will post more on this topic in the future. In the mean time you can read more about it on the following links.
    http://www.voip-info.org/tiki-index.php?page=Asterisk+auto-dial+out
    http://www.voip-info.org/wiki/index.php?page=Asterisk+manager+API

Leave a Reply

You must be logged in to post a comment.