Skip to content

Latest commit

 

History

History
51 lines (40 loc) · 1.63 KB

README.md

File metadata and controls

51 lines (40 loc) · 1.63 KB

Asterisk app_amd for FreeSWITCH

This is an implementation of Asterisk's answering machine detection (voice activity detection) for FreeSWITCH.

Currently, in limited testing, we are able to get satisfactory results in determining what is a human and what is a machine, but there is much more to do:

  • Emit events when a decision is made (Not sure, Machine, or Human).
  • Make sure that we are unlocking and cleaning up where necessary.

Building

To build this module, all you need to do is type make, but because it relies on pkg-config and FreeSWITCH, you need to point pkg-config to where FreeSWITCH is installed before building:

host$ export PKG_CONFIG_PATH=/usr/local/freeswitch/lib/pkgconfig/
host$ make

Sample Configuration

Just put a file like this in your freeswitch installation, in conf/autoload_configs/amd.conf.xml

<configuration name="amd.conf" description="mod_amd Configuration">
  <settings>
    <param name="silence_threshold" value="256"/>
    <param name="maximum_word_length" value="5000"/>
    <param name="maximum_number_of_words" value="3"/>
    <param name="between_words_silence" value="50"/>
    <param name="min_word_length" value="100"/>
    <param name="total_analysis_time" value="5000"/>
    <param name="after_greeting_silence" value="800"/>
    <param name="greeting" value="1500"/>
    <param name="initial_silence" value="2500"/>
  </settings>
</configuration>

Events

The module fires the custom FreeSWITCH event amd with the significant fields AMD-Result and AMD-Cause. Unique-ID to recognize FreeSWITCH instance.