Install FreeSwitch 1.6 on CentOS 7
Created#More Posted time:Nov 25, 2017 2:16 AM
Following this guide you will be able to install freeswitch on centos 7 and test its PBX functionality. Freeswitch is a free telephony platform that operates under a free
software license Mozilla Public License . Its core library is libfreeswitch and it can be used as a standalone application or integrated with other projects. It can be used as a PBX Telefony Server or Soft Switch Server capable of handling thousandas of concurrent calls. Use can use freeswitch for building a PBX Telefony Server with all
of its feautes ( connecting internat phones, IVR, integrating with PSTN networks, configuring VoIP providers, sip trunking etc ), integrating it with other open source web application to built an open source voip switch (including billing, configuring providers and customers).
The steps in this guide require root privileges. Be sure to run the steps below as root or with the sudo prefix.
Before You Begin
1. Be sure that your CentOS 7 Server is up and runing.
2. Check your user and make sure that you are root:
If you see that you are root than go on:
If not take sudo privileges by executing the following command:
Follow by your root password.
Check centos User and Group Management Tools and How To Become Root
3. Make sure to check that the server ip up to date byt excuting the following command:
yum -y update
4. Disable SELinux: Navigate to /etc/selinux/config and modify it as below:
/etc/selinux/config : SELINUX=disabled
To edit a file in centos please use vi and follow [Vi Guide]
5. Reboot your server:
Install Base Packages
1. Install Development Tools
yum -y groupinstall "Development tools"
2. Enable Epel Repository
yum -y install epel-release
3. Enable Freeswitch Repository
rpm -Uvh http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm
1. Install dependencies for freeswitch
yum install -y git gcc-c++ autoconf automake libtool wget python ncurses-devel zlib-devel libjpeg-devel openssl-devel e2fsprogs-devel sqlite-devel libcurl-devel pcre-devel speex-devel ldns-devel libedit-devel libxml2-devel libyuv-devel opus-devel libvpx-devel libvpx2* libdb4* libidn-devel unbound-devel libuuid-devel lua-devel libsndfile-devel yasm-devel
2. Navigate to /usr/local/src
3. Clone freeswitch version 1.6 from git
git clone https://freeswitch.org/stash/scm/fs/freeswitch.git
4. Navigate to /usr/local/src/freeswitch
5. Execute bootstrap.sh
6. Enable modxmlcurl,modxmlcdr, mod_perl (If you want to use calling card features)
sed -i "s#\#xml_int/mod_xml_curl#xml_int/mod_xml_curl#g" /usr/local/src/freeswitch/modules.conf
sed -i "s#\#mod_xml_cdr#mod_xml_cdr#g" /usr/local/src/freeswitch/modules.conf
To add a module use have to remove the "#" comment character at the begining of the line. To remove a module we have to add the "#" comment character.
8. Install Freeswitch with sound files
9. Install mod_perl ( Optional )
sed -i "s#\#languages/mod_perl#languages/mod_perl#g" /usr/local/src/freeswitch/modules.conf
10. Create symbolic links for Freeswitch executables
ln -s /usr/local/freeswitch/bin/freeswitch /usr/local/bin/freeswitch
ln -s /usr/local/freeswitch/bin/fs_cli /usr/local/bin/fs_cli
11. Reboot server
We are now on a working freeswitch paltform. Let's make some test to be sure that it works.
1. Check freeswitch status service
2. Enter to freeswitch cli
3. Exit freeswithc cli
or from keyboard press
ctrl + d
4. Start freeswitch service
service freeswitch start
5. Stop freeswitch service
service freeswitch stop
6. Type /help <enter> to see a list of commands
[eriol.pole edited the post at Nov 28, 2017 19:56 PM]