Unfortunately there are no packages for FreeSWITCH included with any common Linux distribution. However the FreeSWITCH project provides packages in RPM and DPKG formats. FreeSWITCH can also be installed by downloading the source code and compiling it. Full build instructions can be found on the FreeSWITCH Install Guide. Note that you should install mod_rayo to use Adhearsion via the Rayo protocol.
FLite is a free TTS engine that comes with FreeSWITCH but is disabled by default. Follow this guide to install the free FLite module. When following this guide, keep in mind that
modules.conf is in the source code directory and
modules.conf.xml is in the directory where FreeSWITCH was installed. NB: you can compile and enable only one TTS engine at a time, due to conflicts between the various engines.
Note: Depending on your manner of install (RPM, source, etc), your FreeSWITCH conf directory is likely either
/usr/local/freeswitch/conf. Please substitute the correct one for your situation when following these instructions.
In order for Adhearsion to drive FreeSWITCH, FreeSWITCH must load and configure modrayo (in `/etc/freeswitch/conf/autoloadconfigs/rayo.conf.xml`). The default configuration should be sufficient to get started, but you should at least change credentials before going to production.
Next, we need to route all inbound calls to Adhearsion. Edit the dialplan
/etc/freeswitch/conf/dialplan/default.xml and place the following configuration block near the top, immediately following the
<context name="default"> tag:
<extension name="Adhearsion"> <condition> <action application="rayo"/> </condition> </extension>
The 'rayo' application notifies Adhearsion of the incoming call and offers it control.
Lastly, if FreeSWITCH was already running, remember to run the
reloadxml command via the FreeSWITCH console to reload the config files.
Please read and follow the instructions in the general Installation guide before continuing on to the following FreeSWITCH-specific Adhearsion configuration.
As always the full list of configuration options can be viewed, along with a description and their default values, by typing
rake config:show in your application directory. There are a few configuration options that are particularly important:
config.punchblock.platformmust be set to
config.punchblock.usernamemust match that in your FreeSWITCH mod_rayo config, by default "usera@[your-FS-IP]"
config.punchblock.passwordmust match that in your FreeSWITCH mod_rayo config, by default "1"
Note that as described in our Deployment Best Practices, we recommend NOT storing the Rayo password in the
config/adhearsion.rb file. Instead this should be stored in an environment variable (specifically:
AHN_PUNCHBLOCK_PASSWORD) that is loaded by the process prior to launching. For example, start up Adhearsion with
AHN_PUNCHBLOCK_PASSWORD=your-secret-password ahn start /path/to/app