Thursday, January 20, 2011

FreeSwitch Installation Steps in centos and Debain

     Freeswitch
  
FreeSWITCH is a scalable open source cross-platform telephony platform designed to route and interconnect popular communication protocols using audio, video, text or any other form of media.  It was created in 2006 to fill the void left by proprietary commercial solutions. FreeSWITCH also provides a stable telephony platform on which many telephony applications can be developed using a wide range of free tools.

FreeSWITCH was originally designed and implemented by Anthony Minessale with the help of Brian West and Michael Jerris. All 3 are former developers of the popular Asterisk open source PBX.  The project was initiated to focus on several design goals including modularity, cross-platform support, scalability and stability. Today, many more developers and users contribute to the project on a daily basis.

We support various communication technologies such as Skype, SIP, H.323 and GoogleTalk making it easy to interface with other open source PBX systems such as sipXecs, Call Weaver, Bayonne, YATE or Asterisk.

FreeSWITCH supports many advanced SIP features such as presence/BLF/SLA as well as TCP TLS and sRTP. It also can be used as a transparent proxy with and without media in the path to act as a SBC (session border controller) and proxy T.38 and other end to end protocols.

FreeSWITCH supports both wide and narrow band codecs making it an ideal solution to bridge legacy devices to the future. The voice channels and the conference bridge module all can operate at 8, 12, 16, 24, 32 or 48 kilohertz and can bridge channels of different rates. The G.729 codec is also available under a commercial license.

FreeSWITCH builds natively and runs standalone on several operating systems including Windows, Max OS X, Linux, BSD and Solaris on both 32 and 64 bit platforms.

FreeSWITCH supports FAX, both over audio and T.38, and can gateway between the two.


Centos Or Redhat 
Installation Steps

yum install subversion autoconf automake libtool gcc-c++ ncurses-devel make expat-devel zlib zlib-devel
Dependencies For Additional Modules in freeswitch
yum install nano unixODBC-devel openssl-devel gnutls-devel libogg-devel libvorbis-devel curl-devel
Installation git in centos
yum install gettext-devel expat-devel curl-devel zlib-devel openssl-devel
 
wget http://kernel.org/pub/software/scm/git/git-1.6.1.tar.gz
untar the git source code
 
tar xvfz git-1.6.1.tar.gz 
cd git-1.6.1.tar.gz
make prefix=/usr/local all
make prefix=/usr/local install

Downloads the source of Freeswitch from git and install

cd /usr/src/
git clone git://git.freeswitch.org/freeswitch.git
cd /usr/src/freeswitch
./bootstrap.sh
./configure
make install
make cd-sounds-install
make cd-moh-install
it install  default modules of Freeswitch if you needed additional modules
go to /usr/src/freeswitch 
edit the modules.conf
uncomment the modules need
and 
make install
 
 
In Debian
apt-get install autoconf automake g++ git-core libjpeg62-dev libncurses5-dev libtool make
cd /usr/src/
git clone git://git.freeswitch.org/freeswitch.git
cd /usr/src/freeswitch
./bootstrap.sh
./configure
make install
make cd-sounds-install
make cd-moh-install
it install  default modules of Freeswitch if you needed additional modules
go to /usr/src/freeswitch 
edit the modules.conf
uncomment the modules need
and 
make install
Start and stop commands
start
/usr/local/freeswitch/bin/freeswitch -nc  ;non console
stop 
/usr/local/freeswitch/bin/freeswitch -stop 
start up scripts
create a file in /etc/init.d/freeswitch
#!/bin/sh
#
# freeswitch.sh - startup script for freeswitch on FreeBSD
#
# This goes in /usr/local/etc/rc.d and gets run at boot-time.

case "$1" in

    start)
    if [ -x /usr/local/freeswitch/bin/freeswitch ] ; then
        echo -n " freeswitch"
        /usr/local/freeswitch/bin/freeswitch -nc &
    fi
    ;;

    stop)
    if [ -x /usr/local/freeswitch/bin/freeswitch ] ; then
        echo -n " freeswitch"
        /usr/local/freeswitch/bin/freeswitch -stop &
    fi
    ;;

    *)
    echo "usage: $0 { start | stop }" >&2
    exit 1
    ;;

esac 
and give permissions of 
chmod 755
chkconfig --add freeswitch
chkconfig --level 5 freeswitch on
chkconfig --list freeswitch
 


1 comment: