= Freeswitch Details = == Installation == freeswitch is not in debian, however, an apt repository is provided by the freeswitch developers and is configured on paul.mayfirst.org in /etc/apt/sources.list.d/additional.list. We installed the freeswitch-meta-vanilla package plus freeswitch-init, freeswitch-sounds and freeswitch-sounds-en-us-callie. Next, we copied /usr/share/freeconference/conf/vanilla to /etc/freeconference/. == Basic Configuration == There are three directories where incoming calls are handled: * conf/sip_profiles/external: these files define the user/password for a voicepulse account (e.g. mfpl-voicepulse.xml). If you have a new voicepulse account, you will need to create a new file with the username/password in it and define the name of the gateway that will be referenced in the other config files (the MFPL gateway is called mfpl-voicepulse) * conf/dialplan/public/: this directory contains files that handle incoming phone calls (e.g. mfpl-voicpulse.xml). For example it says - if we get an incoming call from the number 718-303-3204 (the MFPL line), then it should be sent to the MFPL dialplan. If you add a new phone number, you will need a new file here * conf/dialplan/mfpl.xml: this directory contains a file that includes all files in the conf/dialplan/mfpl directory. This is the MFPL dial plan. The conf/dialplan/mfpl/ directory contains both an incoming.xml and outgoing.xml files. The inbound.xml file may define an application called "ivr" (interactive voice response) which is defined below. * conf/autoload_configs/ivr*: these files define interactive voice response menues (ivr_mfpl.xml). This is how you define a automated attendent with a menu of options. == Tips == If you login as {{{root@paul.mayfirst.org}}} and then type screen -x you can attach to a running screen session. There's one window that is running the /opt/freeswitch/bin/fs_cli program, an interactive connection to the freeswitch server that allows you to see what is happening as it's happening. You can also type the command: {{{ reloadxml reload mod_sofia }}} After you make a change to an xml file. If freeswitch complains about an XML parse error (which it does without telling you which file had the error), you can check for xml errors (ignore the de directory since there seems to be some utf8 errors that are not relevent to us): {{{ find /opt/freeswitch/conf ! -path '*/conf/lang/de/*' -name '*.xml' -exec xmllint --noout '{}' \; }}}