wiki:freeswitch

Version 8 (modified by Daniel Kahn Gillmor, 7 years ago) (diff)

--

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.

  • Installed the freeswitch-meta-vanilla package plus freeswitch-init, freeswitch-sounds, freeswitch-sounds-en-us-callie, and freeswitch-music.
  • Copied /usr/share/freeconference/conf/vanilla to /etc/freeswitch/.
  • Committed /etc/freeswitch to a git repo (please commit changes with a log entry!)
  • Created symlink /usr/storage => /var/lib/freeswitch/storage (for voicemail recording)

Incoming calls Configuration

There are three directories where incoming calls are handled:

  • /etc/freeswitch/sip_profiles/external: these files define the user/password for a voip to pstn gateway 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)
  • /etc/freeswitch/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
  • /etc/freeswitch/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.
  • /etc/freeswitch/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.

SIP account Configuration

Setting up a new account

As root@paul.mayfirst.org, do:

mf-new-mfpl-sip-account

It will prompt you for the new user's account name, e-mail address, and password.

Modifying existing accounts

Look in /etc/freeswitch/directory/mfpl on paul, adjust to taste. When done, as root@paul.mayfirst.org, run:

fs_cli -x reloadxml

Conference number

You can dial in via PSTN (718-303-3204) and press 7 to enter a conference line (that is configured via /etc/freeswitch/autoload_configs/ivr_mfpl.xml).

You can reach the same conference by dialing 3000@talk.mayfirst.org via a SIP client.

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 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 '{}' \;