A quick guide to help you with the installation of Debian and FreeSWITCH.
Table of Contents
FreeSWITCH is a versatile platform and can be installed with a minimum of 512 megabytes of RAM for a testing instance, however, a full gig of ram, on a bare metal box (dedicated computer or server) is recommended.
If you do not have a spare box you may install FreeSWITCH on your Windows machine using Virtualbox with a Debian ISO. However, your performance may vary depending on your machine.
But hopefully you have a spare box on which to install Debian, and continue with the tutorial.
Debian 10 (Stretch)
Download Debian minimal iso.
Follow these slides:
If you see this, your CD has successfully bootstrapped. Proceed to "Install".
Select your language.
Choose your Location.
Choose Keyboard Layout.
Choose a hostname for Debian. I'm calling mine "freeswitch"
You can leave your domain name blank for now, and change it later if needed.
Choose a strong root password... at least 16 digits with number, letters, upper case, lower case, and special characters.
Confirm your root password.
Type in your full or fake name.
Choose a memorable username. You will use this username to establish an initial remote connection after the installation is complete.
Choose the username password.
Confirm username password.
Choose your time zone.
Choose "Guided - use entire disk"... of course, if you're an advanced user, you can setup your partitions manually.
Choose your disk to install Debian onto. If your spare box has more than one listed (sda) should work.
However, if you're trying to dual boot, because your spare computer already has an old Windows on it, with and extra hard drive, you may want to choose (sdb) if that's your extra drive.
But this guided is not responsible for errors on your part. This should be installed on a computer you care little for.
All files on partition will do fine. After all its "recommended for new users".
Finish partitioning and write changes to disk.
Choose "Yes" to confirm.
Wait for the base system to install.
Choose an archive country like "United States".
Choose an archive mirror like "ftp.us.debian.org".
You can leave the proxy blank, unless you have one. (beginners probably don't)
Generally choose "No" for package survey, unless you want to assist the Debian Project with usage stats.
All that is needed for FreeSWITCH is "web server", "SSH server", and "standard system utilities".
If you would like to add graphical user interface(GUI), select "Debian desktop environment" and one of the "..." choices.
But a GUI is more for your own comfort. It will not be used all for purpose of this tutorial.
Wait while your Debian packages install.
Choose "Yes" to install GRUB boot loader... without it, Debian will not boot.
install GRUB to your "/dev/sda" drive.... if earlier you chose another drive, be sure to choose "/dev/sdb" or whatever.
You're Debian install is complete. Eject the CD and reboot machine.
At first boot, this is what you should see if your installation was sucessful. Hit "Enter" to boot, or wait 15 seconds for auto boot.
Because you are on the local physical machine, you can login with your root account, or username account.
Excellent. You now have root (#) access on your local Debian machine.
Type in "ifconfig" <enter> and write down your IP address is... in this case it's "192.168.150.3". You may want to do "exit". We're done here.
Establish a remote connection to your Debian machine so you can copy and paste commands from webpage to terminal.
From Linux and macOS
Open a terminal
Type in your username password, then:
Type in your root password. You should now be at root denoted by the "#" symbol.
Use PuTTY to remotely access the Debian SSH server.
Click this Download link and Install the PuTTY msi.
Set the window Columns and Rows to FreeSWITCH recommended size.
Load in your IP, give it a name and save config.
Load the saved settings and Open.
Accept the SSH key.
Login to your Debian machine remotely with your username and password
Enter "su" on the command line, then put in root password.
You should be at root on your debian, denoted by “root@[hostname]:~#”. That “#” symbol means you have root access.
Prepare your Debian Environment
Install Emacs, the FreeSWITCH editor of choice
apt-get update && apt-get dist-upgrade apt-get install emacs-nox
Prepare for Install
wget -O - https://files.freeswitch.org/repo/deb/debian-release/fsstretch-archive-keyring.asc | apt-key add - echo "deb http://files.freeswitch.org/repo/deb/freeswitchdebian-1.8release/ buster main" > /etc/apt/sources.list.d/freeswitch.list
apt-get update && apt-get install -y freeswitch-meta-all
FreeSWITCH Command Line Interface
Lets start up the fs_cli and see if it works.
You should now have a running FreeSWITCH at your finger tips. But we have more work to do.
fs_cli versus root:
The ">" will denote you are in the fs_cli
The "#" will denote you are in the bash root "#".
Exit fs_cli: (using three periods)
Change Default Password
Edit the vars.xml file
Edit file accordingly:
<X-PRE-PROCESS cmd="set" data="default_password=MAKE_GOOD_PASSWORD"/>
service freeswitch restart
Ideally you would have two phones/clients minimum to test with, or three clients to test conferencing with.
Install a free softphone like X-lite and/or Linphone on your desktop.
To Install Voip by Antisip or Linphone on your phone and tablet.
Install Linphone from the Google Play Store. You may need to dig further into the app config/settins to enable video calling.
Voip By Antisip
Install Voip By Antisip from Google Play Store. You may need to dig further into the app config/settins to enable video calling.
Install Zoiper from Google Play Store. You may need to dig further into the app config/settins to enable video calling.
Download and Install for Windows Desktop. You may need to dig further into the app config/settins to enable video calling.
Download and Install X-lite for Windows Desktop. You may need to dig further into the app config/settins to enable video calling.
Making a Test Call
At this point you should have every thing set up to make and receive internal calls from extension to extension.
Audio calls should all work between the various apps without further configuration. For the Windows and Android apps, you may need to tinker with the settings to enable video calls.
Other Test Calls
Test call the conference bridge.
From a few of your devices, call into one of the FreeSWITCH pre-configured conference bridges at 3500.
Test call the IVR
Call the example IVR menu when you dial 5000.
Test call the Milliwatt
Useful for directing spam callers to an ear drum shattering tone at 9197
Test call the Tone Stream
Will bring you back to the Gameboy days of Tetris at 9198
Test call video recording
Test call video playback
at extension 9193
There are several mailinglist available, find a complete list here: http://lists.freeswitch.org/mailman/listinfo
- Main User mailinglist: firstname.lastname@example.org
- FreeSWITCH developer mailinglist: email@example.com
- Biz mailing-list: firstname.lastname@example.org.
ClueCon Weekly Conference call
There is a weekly conference calls to help the FreeSWITCH project: ClueCon Weekly Conference call
ClueCon Annual Convention
ClueCon is an annual telephony and voice over IP developers conference started in 2005 by the FreeSWITCH core developer team
Join us at ClueCon: https://www.cluecon.com/