Linux Quick Install Guide
From FreeSWITCH Wiki
Contents |
Introduction
This is a generic quick install guide for Linux and Unix. This page must remain generic with no references to specific distributions.
Who This is For
Experienced Linux/Unix users familiar with FreeSWITCH™ installation or want a quick overview without reading the Installation Guide.
Prerequisites
Mandatory
These mandatory prerequisites provide for compiling the standard FreeSWITCH™ installation and test the supplied configuration and sample IVR. They are sufficient for many production systems.
- GIT or WGET
- AUTOCONF
- AUTOMAKE
- GCC-C++
- LIBJPEG-DEVEL Used by mod_spandsp for basic codecs
- LIBTOOL
- MAKE
- NCURSES-DEVEL
Debian/Ubuntu:
sudo apt-get install git-core build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev pkg-config unixodbc unixodbc-dev zlib1g-dev
CentOS/Fedora (needs more thorough checking):
sudo yum install git autoconf automake libtool ncurses-devel libjpeg-devel
Optional
There are optional modules that can be built and if so may require one or more of the following;
- curl-devel for mod_xml_curl
- expat-devel
- libtiff for fax support
- libx11-devel for Mod_skypopen
- ODBC or UNIX-ODBC and ODBC-devel see the ODBC page for information
- OpenSSL (libssl-dev / openssl-devel) for SIP SSL & TLS and Dingaling
- python-devel for the python interface
- ZLIB and ZLIB-devel
- libzrtp ZRTP encryption support, see the FreeSWITCH™ ZRTP page
Debian/Ubuntu:
sudo apt-get install libcurl4-openssl-dev libexpat1-dev libssl-dev libtiff4-dev libx11-dev unixodbc-dev \
python2.6-dev zlib1g-dev libzrtpcpp-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev \
libgdbm-dev libdb-dev python-dev uuid-dev bison autoconf g++ libncurses-dev
CentOS/Fedora (needs more thorough checking):
sudo yum install expat-devel openssl-devel libtiff-devel libX11-devel unixODBC-devel libssl-devel python-devel \
zlib-devel libzrtpcpp-devel alsa-lib-devel libogg-devel libvorbis-devel perl-libs gdbm-devel \
libdb-devel uuid-devel @development-tools
Download
Change to the directory to contain the FreeSWITCH™ source, we use /usr/local/src in this example:
cd /usr/local/src
The FreeSWITCH™ team strongly recommends installing from the latest Git tree which is extremely stable! Many reported bugs in older versions of FreeSWITCH™ are fixed in the current Git version. The developers require testing an issue on the current Git version prior to filing a bug report.
Git:
git clone git://git.freeswitch.org/freeswitch.git cd freeswitch ./bootstrap.sh
Edit modules.conf
This is optional but consider editing modules.conf.
Compile the Source
./configure make
Install FreeSWITCH™
make all install cd-sounds-install cd-moh-install
Start FreeSWITCH™
Make sure no other instance of FreeSWITCH™ or Asterisk is running on the same computer. Run command:
/usr/local/freeswitch/bin/freeswitch
Test a SIP Phone
Configure a SIP phone or softphone with the IP address of the FreeSWITCH™ computer and user "1000" and password "1234". The default FreeSWITCH™ configuration provides pre-defined definitions for extensions 1000-1019, all passwords are 1234.
- Dial 9664 to hear music.
- Dial 5000 to test the sample IVR
- Configure a second SIP phone as user 1001, dial 1001 from 1000, and 1000 from 1001 to test between phones
- Check out more in try some stuff
Troubleshooting:
- If there is no communication between the phones and FreeSWITCH™ or between phones disable the firewall on your Linux server. If testing is successful activate the firewall and open only the specific ports needed. For more information about firewalls and ports to open, see the Firewall page.
- If you suspect networking issues look into networking tools such as Wireshark or TCPDump.

