2600hz - Blue.box en Centos 6.2 - Interfaz grafica para FreeSWITCH

2600hz es la empresa que desarrolla unas de las más interesantes y funcionales GUI para FreeSWITCH. En este articulo veremos como instalarla en un sistema CentOS server versión 6.2

Una vez instalado el sistema operativo lo actualizamos y lo reiniciamos:

yum -y update

reboot

Reiniciado el sistema, instalamos unos cuantos paquetes y librerías para la compilación de FreeSWITCH:

yum install -y automake make mysql gcc gcc-c++ libtool curl-devel ncurses-devel mysql-connector-odbc unixODBC unixODBC-devel nano gnutls-devel \
mysql-server mysql-devel git libtheora libtheora-devel libogg libogg-devel ncurses-devel libtiff-devel libjpeg-devel mysql-server

Instalamos PHP y el servidor Apache:

yum -y install php php-common php-mysql php-pdo php-soap php-xml php-xmlrpc php-mbstring httpd

Descargamos la ultima versión disponible de FreeSWITCH:

cd /usr/src

git clone git://git.freeswitch.org/freeswitch.git

Entramos en la carpeta:

cd freeswitch

preparamos las fuentes para la compilación y asignamos como carpeta de instalación /opt/freeswitch:

./bootstrap.sh

./configure -C --prefix=/opt/freeswitch

Antes de compilar, si queremos activar módulos adicionales, modificamos el archivo modules.conf. En este caso se activará el modulo mod_dingaling (para conectarse a la red de GoogleTalk) y el modulo mod_callcentes para la configuración de colas y agentes. Se abre el archivo:

nano modules.conf

y se modifican las líneas que siguen:

#endpoints/mod_dingaling
#applications/mod_callcenter

para que queden:

endpoints/mod_dingaling
applications/mod_callcenter

Guardamos los cambios, compilamos e instalamos FreeSWITCH:

make all install cd-sounds-install cd-moh-install

Ahora creamos el archivo para que FreeSWITCH se inicie como servicio:

nano /etc/init.d/freeswitch

copiamos las líneas que siguen:

#!/bin/bash
#
#       /etc/rc.d/init.d/freeswitch
#
#       The FreeSwitch Open Source Voice Platform
#
#  chkconfig: 345 89 14
#  description: Starts and stops the freeswitch server daemon
#  processname: freeswitch
#  config: /opt/freeswitch/conf/freeswitch.conf
#  pidfile: /opt/freeswitch/run/freeswitch.pid
#
 
# Source function library.
. /etc/init.d/functions
 
PROG_NAME=freeswitch
PID_FILE=${PID_FILE-/opt/freeswitch/run/freeswitch.pid}
FS_USER=${FS_USER-freeswitch}
FS_FILE=${FS_FILE-/opt/freeswitch/bin/freeswitch}
FS_HOME=${FS_HOME-/opt/freeswitch/}
LOCK_FILE=/var/lock/subsys/freeswitch
FREESWITCH_ARGS="-nc"
RETVAL=0
 
# Source options file
if [ -f /etc/sysconfig/freeswitch ]; then
    . /etc/sysconfig/freeswitch
fi
 
# <define any local shell functions used by the code that follows>
 
start() {
        echo -n "Starting $PROG_NAME: "
        if [ -e $LOCK_FILE ]; then
            if [ -e $PID_FILE ] && [ -e /proc/`cat $PID_FILE` ]; then
                echo
                echo -n $"$PROG_NAME is already running.";
                failure $"$PROG_NAME is already running.";
                echo
                return 1
            fi
        fi
    cd $FS_HOME
        daemon --user $FS_USER --pidfile $PID_FILE "$FS_FILE $FREESWITCH_ARGS $FREESWITCH_PARAMS >/dev/null 2>&1"
        echo
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch $LOCK_FILE;
    echo
        return $RETVAL
}
 
 
stop() {
        echo -n "Shutting down $PROG_NAME: "
        if [ ! -e $LOCK_FILE ]; then
            echo
            echo -n $"cannot stop $PROG_NAME: $PROG_NAME is not running."
            failure $"cannot stop $PROG_NAME: $PROG_NAME is not running."
            echo
            return 1;
        fi
    cd $FS_HOME
    $FS_FILE -stop > /dev/null 2>&1
        killproc $PROG_NAME
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] &&  rm -f $LOCK_FILE;
        return $RETVAL
}
 
rhstatus() {
    status $PROG_NAME;
}
 
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status $PROG_NAME
    RETVAL=$?
        ;;
    restart)
        stop
        start
        ;;
    reload)
#        <cause the service configuration to be reread, either with
#        kill -HUP or by restarting the daemons, in a manner similar
#        to restart above>
        ;;
    condrestart)
        [ -f $PID_FILE ] && restart || :
    ;;
    *)
        echo "Usage: $PROG_NAME {start|stop|status|reload|restart}"
        exit 1
        ;;
esac
exit $RETVAL

Guardamos los cambios y lo volvemos ejecutable:

chmod +x /etc/init.d/freeswitch

Lo añadimos a la lista de servicios:

chkconfig --add freeswitch

y lo configuramos para que arranque en automático:

chkconfig freeswitch on

Creamos el usuario y grupo freeswtich:

useradd -c "FreeSWITCH USER" -d /opt/freeswitch -s /sbin/nologin freeswitch

useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

Cambiamos los permisos en la carpeta donde se ha instalado freeswtich:

Terminada esta primera parte, instalamos bluebox:

cd /var/www/html

Descargamos el programa:

git clone git://github.com/2600hz/bluebox.git

Entramos en la carpeta creada y lo instalamos:

cd bluebox

./preinstall.sh -y

Iniciamos MySQL y creamos la clave para el usuario root de MySQL:

service mysqld start

mysqladmin -u root password sesamo

Entramos en el cliente MySQL y creamos la base de datos Bluebox:

mysql -u root -psesamo

mysql> create database bluebox;

Creamos un usuario para que tenga los permisos para esa base de datos:

mysql> GRANT ALL ON bluebox.* TO 'bluebox'@'127.0.0.1'IDENTIFIED BY 'sesamo';

Salimos del cliente MySQL:

mysql> quit

Aumentamos la memoria disponible para la ejecución de los script en PHP:

sudo sed -i 's/memory_limit = 32M/memory_limit = 128M/g' /etc/php.ini

Configuramos Apache y MySQL para que arranquen en automático:

chkconfig mysqld on
chkconfig httpd on

Iniciamos el servidor apache y FreeSWITCH:

service httpd start

service freeswitch restart

Ahora podemos entrar a la pagina de administración de BlueBox donde se configurará el sistema:

http://IPservidor/bluebox

Primero aceptamos los términos de la licencia de uso:

Captura

Luego configuramos la conexión a la base de datos anteriormente creada:

Captura1

El sistema nos avisa que todos los datos eventualmente presentes en la base de datos serán borrados:

Captura2

Configuramos el correo electrónico que utilizaremos para acceder a la plataforma y una contraseña:

Captura3

Confirmamos los datos de configuración que aparecen en la pagina que sigue:

Captura4

El sistema nos avisa que algunos archivos de configuración de FreeSWITCH entran en conflicto con la instalación de Bluebox y que serán eliminados/modificados. Ya que la instalación de FreeSWITCH es nueva y no tenemos que hacer una copia de backup, continuamos:

Captura5

Presionamos el botón “Continue” para iniciar la instalación:

Captura6

Terminada la instalación seleccionaremos el enlace que aparece en la pagina:

Captura7

Ya estamos en la GUI Bluebox para FreeSWITCH. Si queremos hacer una primera prueba, entramos en el menú Applications –> Devices donde encontraremos una serie de extensiones configuradas.

Captura8

Seleccionamos el enlace Edit de la primera línea y anotamos los datos de la extensión:

Captura9

Esos datos son los que tenemos que configurar en el softphone/Teléfono IP junto a la dirección IP del servidor. Pasamos a la segunda extensión de la lista y hacemos lo mismo configurando un segundo softphone/Teléfono SIP. Una vez que los dos teléfonos estén conectados a la centralita, marcamos desde la la primera extensión el numero 2001. Debería timbrar la segunda extensión.

Más informaciones en la Wiki de los desarrolladores.

Comentarios

Acceso demo Blue.box

Hola,

casi se me olvidaba. Si quieren probar la GUI pueden entrar a:

http://46.102.245.223

Usuario: fulano@gmail.com
Password: admin1234

No se cuantos días la dejaré en linea, así que aprovechen.

Luego me comentan que les parece.

Saludos

yum install make

Hola,

Perdon con mi espanol! Entiende mas de yo puede hablar, para escribir es menos.

Necesito este command tambien.

yum install make

Gracias para este pagina from Australia,
Chris

Re: yum install make

Hi,

thank you.

I have update the post.

Regards

Enviar un comentario nuevo

CAPTCHA
Esta pregunta es para averiguar si eres un humano (aunque troll)
Image CAPTCHA
Enter the characters shown in the image.
Distribuir contenido Distribuir contenido