Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Mostrando entradas con la etiqueta freeswitch. Mostrar todas las entradas
Mostrando entradas con la etiqueta freeswitch. Mostrar todas las entradas

Instalando FreeSwitch en Centos 6.3 paso a paso

La época de los PBX propietarios hace tiempo quedo atrás, hoy en día encontramos soluciones opensource competitivas con un costo de propiedad muy bajo y lo mejor, en la medida que crezca la necesidad se puede ir escalando y configurando opciones.
Hoy les mostrare la instalación y configuración de un PBX FreeSwitch, el cual en su forma básica nos admite hasta 1000 extensiones con un hardware accesible a nuestro bolsillo. Trabajaremos desde la cuenta root. Usaremos Git para esto, en este URL les muestro como instalarlo en Centos.

Datos:
ip server: 192.168.1.43
memoria: 512MB
swap: 512MB
Virtualizado: OpenVZ (en un server normal se configura igual)
OS: Centos 6.3 actualizado.

-Comenzamos

cd /usr/local/src

git clone git://git.freeswitch.org/freeswitch.git
Initialized empty Git repository in /usr/local/src/freeswitch/.git/
remote: Counting objects: 203810, done.
remote: Compressing objects: 100% (41893/41893), done.
remote: Total 203810 (delta 158050), reused 201031 (delta 155345)
Receiving objects: 100% (203810/203810), 86.19 MiB | 43 KiB/s, done.
Resolving deltas: 100% (158050/158050), done.

-Dependencias
 
yum install autoconf automake gcc-c++ git-core  libjpeg-devel libtool make  ncurses-devel

-Dependencias para software opcional

yum install unixODBC-devel openssl-devel libogg-devel libvorbis-devel curl-devel libtiff-devel libjpeg-devel python-devel expat-devel zlib zlib-devel bzip2 which

-Creación de ficheros de configuración

./bootstrap.sh

-Compilamos, hora de ir por un café ;-)

./configure --without-pgsql
..
..
-------------------------- FreeSWITCH configuration --------------------------

  Locations:
      Selected layout:

      prefix:          /usr/local/freeswitch
      exec_prefix:     ${prefix}
      bindir:          ${exec_prefix}/bin
      libdir:          ${exec_prefix}/lib
      modulesdir:      /usr/local/freeswitch/mod
      sysconfdir:      /usr/local/freeswitch/conf
      runtimedir:      /usr/local/freeswitch/run
      logfiledir:      /usr/local/freeswitch/log

------------------------------------------------------------------------------

-Descomentamos el modulo de Flite para activar el IVR de prueba. Salimos guardando.

vi modules.conf
asr_tts/mod_flite

-Compilamos

make
..
..
+---------- FreeSWITCH Build Complete ----------
+ FreeSWITCH has been successfully built.       
+ Install by running:                           
+                                               
+                make install                   
+                                               
+ While you're waiting, register for ClueCon!   
+ http://www.cluecon.com                        
+                                               
+-----------------------------------------------

-Instalamos

make install

-Agregamos librerías. Salimos guardando.

vi /etc/ld.so.conf
/usr/local/freeswitch/lib
/usr/local/freeswitch/mod

-Compilamos e instalamos sonidos para el IVR

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

-Ejecutamos

cd  /usr/local/freeswitch/bin
./freeswitch
...
...
 2012-10-30 13:00:16.211978 [CONSOLE] switch_core.c:2011
FreeSWITCH Version 1.3.0+git~20121030T130303Z~29628007f4 (git 2962800 2012-10-30 13:03:03Z)

FreeSWITCH Started
Max Sessions [1000]
Session Rate [30]
SQL [Enabled]
2012-10-30 13:00:16.211988 [CONSOLE] switch_core.c:2019
[This app Best viewed at 160x60 or more..]

-Descargamos e instalamos un softphone. Para esta prueba usaremos Ekiga en Ubuntu 12.10 el cual lo pueden instalar por linea de comandos o de forma mas sencilla, desde el Ubuntu Software Center.


-Lo ejecutamos y comenzamos a configurar.



-Por default FreeSwitch trae preconfiguradas las extensiones de la 1001 a la 1019 con contraseña 1234. 




-En este caso tengo el servidor en la LAN.


-Configuramos nuestro sonido. En mi caso coloco mi diadema Plantronics.


-Vídeo a usarse.



-Nuestro Ekiga


-Entramos a las preferencias y modificamos.


-Agregamos una cuenta en Ekiga desde el menú Edit - Accounts. En este caso coloco la 1001 con el password 1234.


Ya tenemos un PBX FreeSwitch con funcionalidades basicas instaladas, en proximos articulos agregaremos opciones.

Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones.
Disfrútenlo.
Share/Bookmark

BBB en Linux Ubuntu 10.04 server

Para que reunirnos físicamente si podemos hacer una videoconferencia compartiendo archivos, el "escritorio" de nuestro pc y dejarla grabada para después poder consultarla. Todo eso y mas nos permite BigBlueButton el cual les mostrare hoy como se instala y configura. Usaremos un server Ubuntu 10.04 (al día de hoy algunas dependencias aun no funcionan con Ubuntu 11.04 server)
La configuracion la haremos desde root

-Requerimientos
  • 2GB de memoria (mas es mejor)
  • Dual-Core o superior
  • Puertos abiertos: 80, 1935, 9123
  • 200GB de espacio libre en disco (o mas si vamos a grabar)
-Descargamos la llave y la instalamos
wget http://ubuntu.bigbluebutton.org/bigbluebutton.asc -O- | apt-key add -

-Activamos el repositorio multiverse
echo "deb http://us.archive.ubuntu.com/ubuntu/ lucid multiverse" | tee -a /etc/apt/sources.list

-Actualizamos, en caso de instalar un nuevo kernel, reiniciamos el server
apt-get update
apt-get dist-upgrade

-Instalamos Ruby
apt-get -y install zlib1g-dev libssl-dev libreadline5-dev libyaml-dev build-essential bison checkinstall libffi5 gcc checkinstall libreadline5 libyaml-0-2

cd /tmp
wget -c http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
tar xvzf ruby-1.9.2-p290.tar.gz
cd ruby-1.9.2-p290
./configure --prefix=/usr --program-suffix=1.9.2 --with-ruby-version=1.9.2 --disable-install-doc

make
checkinstall -D -y --fstrans=no --nodoc --pkgname='ruby1.9.2' --pkgversion='1.9.2-p290' --provides='ruby' --requires='libc6,libffi5,libgdbm3,libncurses5,libreadline5,openssl,libyaml-0-2,zlib1g' --maintainer=brendan.ribera@gmail.com

update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.2 500 --slave   /usr/bin/ri   ri   /usr/bin/ri1.9.2 --slave   /usr/bin/irb  irb  /usr/bin/irb1.9.2 --slave   /usr/bin/gem  gem  /usr/bin/gem1.9.2 --slave   /usr/bin/erb  erb  /usr/bin/erb1.9.2 --slave   /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.2

-Verificamos haya quedado instalado
ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]

gem -v
1.3.7

-Instalamos FreeSwitch
apt-get install bbb-freeswitch-config

-Instalamos BigBlueButton, hora de ir por café, postres o jugar un videojuego :-)
apt-get install bigbluebutton

-Aceptamos la licencia para usar ttf-mscorefonts


-Opcionalmente instalamos el demo. El mismo que aparece en el website de BBB
apt-get install bbb-demo

-Probamos un restart del servicio verificando todo este ok (no nos preocupemos por el warning)

bbb-conf --clean
# The following properties in /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties have no value.
#     bigbluebutton.web.logoutURL
Doing a clean restart of BigBlueButton ...
 * Stopping Red5 Server red5                                                                                                                         [ OK ]
 * Stopping Tomcat servlet engine tomcat6                                                                                                            [ OK ]
Stopping nginx: nginx.
Killing: 20176
Stopping OpenOffice headless server.
Record and Playback monitoring stopped

Cleaning Log Files ...
 * could not access PID file for nginx
 * Red5 Server is not running.
 * Tomcat servlet engine is not running.

Starting FreeSWITCH
Error: stacksize 4194303 is too large: run ulimit -s 240 or run /opt/freeswitch/bin/freeswitch -waste.
auto-adjusting stack size for optimal performance...
30876 Backgrounding.
Waiting for FreeSWITCH to start: ...................
Starting OpenOffice headless server
Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
nginx.
 * Starting Red5 Server red5                                                                                                                                   Waiting for FreeSWITCH to start:

                                                                                                                                                     [ OK ]
 * Starting Tomcat servlet engine tomcat6                                                                                                            [ OK ]
Record and Playback monitoring started
Waiting for BigBlueButton to finish starting up (this may take a minute):  done


** Potential problems described below **
# The following properties in /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties have no value.
#     bigbluebutton.web.logoutURL

-Siguiente comando de restart. Igual que con el comando anterior, hacer caso omiso del warning por bigbluebutton.web.logoutURL

bbb-conf --check

BigBlueButton Server 0.8-beta
                    Kernel version: 2.6.32-33-generic-pae
                      Distribution: Ubuntu 10.04.3 LTS (32-bit)
                            Memory: 2013 MB

/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
          Port test (tunnel): xxx.xxx.xxx.xxx
                              Red5: xxx.xxx.xxx.xxx

/etc/nginx/sites-available/bigbluebutton (nginx)
                       server name: xxx.xxx.xxx.xxx
                              port: 80
                    bbb-client dir: /var/www/bigbluebutton

/var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties (bbb-web)
                      bbb-web host: xxx.xxx.xxx.xxx

/var/lib/tomcat6/webapps/demo/bbb_api_conf.jsp (API demos)
                  bbb-web-api host: xxx.xxx.xxx.xxx

/usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml (red5)
                  voice conference: FreeSWITCH

/usr/local/bigbluebutton/core/scripts/slides.yml (record and playback)
                     playback host: xxx.xxx.xxx.xxx


** Potential problems described below **
# The following properties in /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties have no value.
#     bigbluebutton.web.logoutURL

-Entramos a probar nuestro bbb server
http://ip-del-server/

Listo, ya tenemos un server BBB. Disfrútenlo

Share/Bookmark