wiki:freeswitch

Version 7 (modified by Jamie McClelland, 8 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

There is one directory for sip / client configuration:

  • /etc/freeswitch/directory/mfpl - each file in this directory represents one user account. If you want to add a new user account, copy existing file to a new name. You'll need to change the username, password, and all instances of the four digit number starting with 20 (it's used as your numeric extension and voicemail box). To find the next four digit number, you can run:

grep number-alias /etc/freeswitch/directory/mfpl/* | egrep -o "[0-9]+" | sort -n

After making a change, follow the tips directions below to run reloadxml from the fs_cli program.

When configuring your SIP client, you will need: username@talk.mayfirst.org plus your password.

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