FreeSWITCH installation on CentOS

   

     To install FreeSWITCH application for provide VoIP service i use preinstalled CentOS on my VMware cloud. The VM`s characteristics is RAM - 4GB, HDD - 10GB.

   

To connect to CLI mode use command below
/usr/local/freeswitch/bin/fs_cli -H 127.0.0.1 -P 8021 -p ClueCon



Install Prerequisites
# Add the RPM repository
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
### OR a European repository
rpm -ivh http://mirror.cedia.org.ec/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

# Install necessary components
yum install 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

OR

yum install git autoconf make automake nano libtool gcc-c++ ncurses-devel make expat-devel zlib zlib-devel libjpeg-devel unixODBC-devel openssl-devel gnutls-devel libogg-devel libvorbis-devel ncurses-devel python-devel zlib zlib-devel bzip2 which pkgconfig curl-devel libtiff-devel mysql-server php php-mysql php-xml
Download FreeSWITCH™ source code, configure modules, compile, install
=====================================
yum install libsndfile-devel lua-devel yasm libyuv
=======================================
Install FreeSWITCH
cd /usr/src
# To build from Master, the latest source code:
git clone https://freeswitch.org/stash/scm/fs/freeswitch.git
##### OR #####
# To build from the current release source code:
git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git

      (1 ) cd freeswitch/libs
        git clone https://freeswitch.org/stash/scm/sd/libyuv.git
        cd libyuv
        make -f linux.mk CXXFLAGS="-fPIC -O2 -fomit-frame-pointer -Iinclude/"
        make install
        cp /usr/lib/pkgconfig/libyuv.pc /usr/lib64/pkgconfig/
        
      (2)wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
        tar -zxvf ****.tar.gz 
        ① ./configure, ② make, ③make install
        
                          cd ..
        git clone https://freeswitch.org/stash/scm/sd/libvpx.git
        cd libvpx
        ./configure --enable-pic --disable-static --enable-shared
        make
        make install
        cp /usr/local/lib/pkgconfig/vpx.pc /usr/lib64/pkgconfig/
      (3)cd ..
        git clone https://freeswitch.org/stash/scm/sd/opus.git
        cd opus
        ./autogen.sh
        ./configure
        make
        make install
        cp /usr/local/lib/pkgconfig/opus.pc /usr/lib64/pkgconfig
      (4)
        cd ..
        git clone https://freeswitch.org/stash/scm/sd/libpng.git
        cd libpng
        ./configure
        make
        make install
        cp /usr/local/lib/pkgconfig/libpng* /usr/lib64/pkgconfig/

 FreeSWITCH“./configure”,“make && make install” FreeSWITCH
cd /usr/src/freeswitch

# The -j argument spawns multiple threads to speed the build process
./bootstrap.sh -j

# if you want to add or remove modules from the build, edit modules.conf
vi modules.conf
# add a module by removing '#' comment character at the beginning of the line
# remove a module by inserting the '#' comment character at the beginning of the line containing the name of the module to be skipped

./configure -C
 
make && make install

Install sounds:
====================
CD-Quality Sounds
make cd-sounds-install
make cd-moh-install
If you only need 8KHz sounds, you can save time and bandwidth:
====================
8KC Sounds
-------------
make sounds-install
make moh-install
=============================================

Install Freeswitch start/stop script
===============================================================
Create and install Freeswitch start/stop script.
cd /etc/init.d
touch freeswitch
chmod a+x freeswitch
nano freeswitch
Copy/paste the script contained in this text file into the freeswitch file we just created above.
Add the script as a service and set it to start on boot up.
chkconfig --add freeswitch
chkconfig freeswitch on
Add user freeswitch
adduser freeswitch -M -d /usr/local/freeswitch -s /sbin/nologin -c "Freeswitch user"
chown -R freeswitch. /usr/local/freeswitch
chown -R freeswitch. /var/lib/php/session
Change apache ownerships
sed -i "s/User apache/User freeswitch/" /etc/httpd/conf/httpd.conf
sed -i "s/Group apache/Group freeswitch/" /etc/httpd/conf/httpd.conf
Enable all services
chkconfig httpd on
chkconfig mysqld on
service freeswitch start 
service httpd start 
service mysqld start
Create mysql user account
If mysql root password has been set use mysql -p and enter the password when prompted
#mysql
mysql> CREATE USER 'bluebox'@'localhost' IDENTIFIED BY 'bluebox';
mysql> GRANT ALL PRIVILEGES ON bluebox.* TO 'bluebox'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> \q
Secure mysql
Add mysql root password if not already set.

mysqladmin -u root password 'somerootpassword'

Add the following line to /etc/my.cnf under [mysqld] to prevent external network connections.

bind-address = 127.0.0.1
Restart mysql for the change to take effect
service mysqld restart
Bluebox install
--------------------------------
Install bluebox source and preconfigure.
cd /var/www/html
git clone git://github.com/2600hz/bluebox.git bluebox
chown -R freeswitch. /var/www/html/bluebox
cd /var/www/html/bluebox
./preinstall.sh
​service httpd restart
Browse to http://freeswitch_server_IP/bluebox to complete the install.

1 comment:

  1. My Blog: Switch Installation On Centos >>>>> Download Now

    >>>>> Download Full

    My Blog: Switch Installation On Centos >>>>> Download LINK

    >>>>> Download Now

    My Blog: Switch Installation On Centos >>>>> Download Full

    >>>>> Download LINK mG

    ReplyDelete