FreeSwitch merupakan open source lintas-platform skalalabel platform telepon yang dirancang untuk rute dan interkoneksi protokol komunikasi yang populer menggunakan audio, video, teks atau bentuk media lainnya.
CARA MENGINSTALL FREESWITCH DI LINUX UBUNTU SERVER 11.04
1. Persyaratan
Prasyarat ini wajib menyediakan untuk mengkompilasi instalasi standar FreeSWITCH dan menguji konfigurasi yang disertakan dan IVR sampel. Berikut syarat-syarat package yang harus terinstal agar proses kompilasi berjalan dengan baik :
a. GIT atau WGET
b. AUTOCONF
c. AUTOMAKE
d. GCC-C ++
e. LIBJPEG-DEVEL
f. LIBTOOL
g. MAKE
h. NCURSES-DEVEL
Lalu ketikkan di terminal ubuntu : #sudo apt-get install git-core build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev
Ada modul opsional yang dapat di bangun dan jika demikian mungkin memerlukan satu atau lebih hal berikut :
a. Curl-devel
b. Expat-devel
c. GnuTLS
d. Libtiff
e. Libx11-devel
f. ODBC or UNIX-ODBC and ODBC-devel
g. Open SSL
h. Python-devel
i. ZLIB and ZLIB-devel
j. Libzrtp
Lalu ketikkan lagi di terminal : #sudo apt-get install libcurl4-openssl-dev libexpat1-dev libgnutls-dev libtiff4-dev libx11-dev unixodbc-dev libssl-dev python2.6-dev \
zlib1g-dev libzrtpcpp-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev python-dev \
uuid-dev
2. INSTALASI FREESWITCH
a. Masuk ke : #cd /usr/local/src
a. Lalu kita bisa memilih proses download melalui Git atau Wget. Bila mau mendownload melalui Git ketik : #git clone git://git.freeswitch.org/freeswitch.git setelah itu ketik : #cd freeswitch lalu ketik lagi : #./bootstrap.sh
Bila mau mendownload melalui Wget ketik : #wget http://files.freeswitch.org/freeswitch-1.0.6.tar.gz . setelah itu ekstrak file dengan perintah : #tar xvfz freeswitch-1.0.6.tar.gz Lalu kita konfigurasi file freeswitch dengan perintah : #./configure
b. Setelah kita mendownload dan mengekstrak, lalu edit file modules.conf terlebih dahulu dan menghilangkan tanda “#” di kata kunci “flite” setelah itu save.
c. Sehabis kita mengedit file modules.conf, lakukan perintah #./configure lalu #make setelah itu #make install untuk proses pendownloadan menggunakan Git. Untuk yang menggunakan pendownloadan Wget langsung dengan perintah #make dan #make install
d. Lalu kompilasi dan install sound dengan perintah : #make all cd-sounds-install cd-moh-install
e. Setelah itu jalankan service freeswitch dengan perintah : #/usr/local/freeswitch/bin/freeswitch
f. Instalasi sudah selesai. Tinggal mengedit di bagian extension dan SIP Phone nya.
KONFIGURASI FREESWITCH
Membuat start up Freeswitch
Menambahkan user dan group, dan mengubah hak akses yang diperlukan:
adduser freeswitch
addgroup freeswitch
chown -R freeswitch:freeswitch /usr/local/freeswitch
Kemudian membuat file / etc / init.d / freeswitch dengan script berikut:
#! /bin/sh
### BEGIN INIT INFO
# Provides: skeleton
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Freeswitch debian init script.
# Author: Matthew Williams
#
### END INIT INFO
# Do NOT "set -e"
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
DESC="Freeswitch"
NAME=freeswitch
DAEMON=/usr/local/freeswitch/bin/$NAME
DAEMON_ARGS="-nc"
PIDFILE=/usr/local/freeswitch/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
FS_USER=freeswitch
FS_GROUP=freeswitch
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
#
# Function that sets ulimit values for the daemon
#
do_setlimits() {
ulimit -c unlimited
ulimit -d unlimited
ulimit -f unlimited
ulimit -i unlimited
ulimit -n 999999
ulimit -q unlimited
ulimit -u unlimited
ulimit -v unlimited
ulimit -x unlimited
ulimit -s 240
ulimit -l unlimited
return 0
}
#
# Function that starts the daemon/service
#
do_start()
{
# Set user to run as
if [ $FS_USER ] ; then
DAEMON_ARGS="`echo $DAEMON_ARGS` -u $FS_USER"
fi
# Set group to run as
if [ $FS_GROUP ] ; then
DAEMON_ARGS="`echo $DAEMON_ARGS` -g $FS_GROUP"
fi
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null -- \
|| return 1
do_setlimits
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
Kemudian jangan lupa untuk melakukan perintah berikut:
chmod +x /etc/init.d/freeswitch
update-rc.d freeswitch defaults
Setelah selesei restart untuk menguji start up.
Menambah extension
Untuk menambahkan ekstensi baru, salin 1000.xml Anda ke file dengan nomor ekstensi dengan nama selain "1000". Contoh: Jadi jika Anda ingin menambahkan ekstensi 8989 dengan password 2424, Anda harus melakukan perintah sebagai berikut:
cd /usr/local/freeswitch/conf/directory/default
cp 1000.xml 8989.xml
nano 8989.xml
<include>
<user id="8989" mailbox="8989">
<params>
<param name="password" value="2424"/>
<param name="vm-password" value="1000"/>
</params>
<variables>
<variable name="toll_allow" value="domestic,international,local"/>
<variable name="accountcode" value="8989"/>
<variable name="user_context" value="default"/>
<variable name="effective_caller_id_name" value="Extension 8989"/>
<variable name="effective_caller_id_number" value="8989"/>
<variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
<variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
<variable name="callgroup" value="techsupport"/>
</variables>
</user>
</include>
Installasi web based (bluebox)
Install paket untuk bluebox :
#apt-get install mysql-server
#apt-get install apache2
#apt-get install php5
Sekarang kita perlu mendownload software bluebox dan kemudian menjalankannya :
#cd /var/www (pindah direktori ke web root)
#wget http://www.bluebox.co.za/?download&global[option]=quick_setup (download bluebox)
#cd .. (kembali ke direktori sebelumnya)
#chmod -R 777 www (mengatur direktori untuk bias akses Read & Write)
Buka web browser dan browse ke alamat IP dari server (contoh: http://192.168.0.1/setup.php). Kemudian akan meminta untuk mengkonfirmasi download bluebox. Selanjutnya ikuti petunjuknya.
Isi di host mysql pengguna rincian Server DatabaseName "bluebox", User Name "root", Password "bluebox", Host “localhost”, Port “3306”, Type (dirver) “mysql”.
Setelah itu membuat account untuk akses bluebox.
Kemudian pilih klik update “Config File”
Database baru sekarang dibuat. Kemudian situs ini akan mengarahkan kembali ke homepage(http://192.168.0.1/bluebox) dan sistem web base bluebox siap untuk digunakan.
Tidak ada komentar:
Posting Komentar