Compilando FreeSwitch en Ubuntu con Soporte para OpenSim
Apr 06
FreeSwitch es una solución de telefonía de software libre multiplataforma diseñada para rutear e interconectar protocolos de comunicación populares que usan audio, vídeo, texto o cualquier otra forma de medio.
Actualmente es utilizado por un sin numero de aplicaciones como el servicio proveedor de voz entre las cuales se encuentra OpenSim la version de software libre del servidor de mundos virtuales basado en SecondLife por tal motivo me di a la tarea de compilar FreeSwitch con soporte para el modulo mod_xml_curl que permite a el modulo desarrollando en OpenSim la comunicación con el mundo virtual.
Este tutorial se centra en la compilación de FreeSwitch desde el repositorio Git bajo el sistema operativo Ubuntu Server 11.1o a 32 bits instalando los paquetes necesarios para la compilación básica y habilitando el modulo para la comunicacion con OpenSim.
Pasos :
- Abrir una terminal como usuario administrador en el servidor Ubuntu
- Instalar los paquetes necesarios para la compilación del software
Ejecutar el siguiente comando :
sudo apt-get install git-core build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev pkg-config unixodbc unixodbc-dev libz-dev - Descargar los fuentes desde el reposotorio Git oficial de FreeSwitch, ejecutar los siguientes comandos :
cd /usr/local/src
sudo git clone git://git.freeswitch.org/freeswitch.git
cd freeswitch - Realizar una comprobación del sistema y preconfiguracion :
sudo ./bootstrap.sh - Habilitar el modulo para la comunicación con OpenSim
Editar el archivo modules.conf, buscar la linea #xml_int/mod_xml_curl y quitar el comentario (símbolo numeral)
sudo vi modules.conf - Configurar el software para su compilación (Esto puede tomar algún tiempo, 5 min)
sudo ./configure - Compilar el software (Esto toma mucho tiempo, unos 30 min)
sudo make - Si no hay errores podemos instalar el software
sudo make install - Una vez instalado el software esta instalado en
/usr/local/freeswitch - Para iniciar el servicio ejecute el comando :
sudo /usr/local/freeswitch/bin/freeswitch - Para detenerlo desde la consola escriba el comando
shutdown
Configuración del modulo para integración con OpenSim :
- Detenga el servicio de FreeSwitch
- Abrir el archivo de modulos y habilitar el mod_xml_curl
Buscar la linea <!-- <load module="mod_xml_curl"/> -->
y quitar los comentarios : <load module="mod_xml_curl"/>
sudo vi /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml - Copiar el archivo original de configuracion del modulo
sudo mv /usr/local/freeswitch/conf/autoload_configs/xml_curl.conf.xml /usr/local/freeswitch/conf/autoload_configs/xml_curl.conf.xml.old - Adicionar la nueva configuración del modulo, editar el archivo :
(puede cambiar freeswitch con el nombre de usuario que desea y password con la clave de acceso a usar )
(también puede cambiar localhost con la IP de la maquina que tiene el servidor de OpenSim)
sudo vi /usr/local/freeswitch/conf/autoload_configs/xml_curl.conf.xml
colocar el siguiente contenido :
<configuration name="xml_curl.conf" description="cURL XML Gateway">
<bindings>
<binding name="directory">
<param name="gateway-url" value="http://localhost:9000/fsapi/freeswitch-config" bindings="directory"/>
<param name="gateway-credentials" value="freeswitch:password"/>
<param name="disable-100-continue" value="true"/>
</binding>
<binding name="dialplan">
<param name="gateway-url" value="http://localhost:9000/fsapi/freeswitch-config" bindings="dialplan"/>
<param name="gateway-credentials" value="freeswitch:password"/>
<param name="disable-100-continue" value="true"/>
</binding>
</bindings>
</configuration> - Abrir el archivo de configuración de conferencias y comentar todos los archivos de sonido para que estos no se reproduzcan cuando los usuarios estan conectados al mundo virtual
sudo vi /usr/local/freeswitch/conf/autoload_configs/conference.conf.xml
(Bajo el profile default comente todas las entradas de archivos wav) - Ejecute el servicio de FreeSwitch para verificar que todo este correcto
Configuración del OpenSim :
- Esta configuracion ha sido probada usando OpenSim 0.7.3.1 en un servidor StandAlone
- Suponga que el OpenSim esta instalado en el directorio opensim
- Ir al directorio de ejecutables del OpenSim
cd opensim/bin/ - Abrir el archivo de configuracion de OpenSim
sudo vi OpenSim.ini - Busque la configuración por defecto del FreeSwitch y cambie para que luzca así :
[FreeSwitchVoice]
Enabled = true
LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService - Edite el archivo de configuración del servicio
sudo vi config-include/StandaloneCommon.ini - Busque la configuración de FreeSwitch y cambie para que luzca asi :
(Cambie la IP 192.168.0.103 por la IP del servidor que tiene el servicio de FreeSwitch, esta debe ser una IP que los clientes puedan acceder, no debe ser localhost)
[FreeswitchService]
ServerAddress = 192.168.0.103
Realm = 192.168.0.103
SIPProxy = 192.168.0.103:5060
DefaultTimeout = 5000
Context = default
UserName = freeswitch
Password = password
EchoServer = 192.168.0.103
EchoPort = 50505
AttemptSTUN = false - Ahora puede reiniciar el OpenSim y el FreeSwitch en ese orden
ya que FreeSwitch necesita acceder a la información de configuración generada por OpenSim
Prueba :
- Abra un visor de SecondLife, por ejemplo Imprudence
- Entre a su servidor de OpenSim y deben estar habilitados los iconos para hablar y sobre el avatar debe aparecer las ondas de sonido cuando hable
Enlaces :
- Guía de Compilación e Instalación Oficial de FreeSwitch
http://wiki.freeswitch.org/wiki/Installation_Guide#Compiling_and_Installation - Guía Oficial de Integración de FreeSwitch con OpenSim
http://opensimulator.org/wiki/Freeswitch_Module - Imprudence Visor de SecondLife
http://blog.kokuaviewer.org
Read More


Diva Distribution es una version especial de OpenSim (la version libre del servidor de mundos virtuales compatible con Second Life) que adiciona una interface web que permite la administración básica de un servidor desde un navegador, permitiendo acceder a información como el numero de usuarios que están actualmente en el mundo virtual, el numero de regiones, el numero total de usuarios, la cantidad de usuarios activos los últimos 30 días, como también permite el registro de nuevos usuarios, obtener información del inventario.




El script XyyyyzText permite visualizar texto dentro de un prim ademas de permitir la creación de un conjunto de prims como un tablero para la visualización de texto multilinea, el script que realmente son cuatro: un script para modificar la forma del objeto donde se visualizan los caracteres, para que se vean 5 caras sobre un mismo lado, un script para controlar la visualización del texto en cada objeto, un script que permite controlar un conjunto de objetos para visualizar gran cantidad de caracteres y un script de ejemplo para controlar el tablero y actualizar el texto visualizado en el tablero.
En el análisis de herramientas educativas a ser utilizadas dentro de los mundos virtuales, aparece la necesidad de crear un tablero que permita visualizar cualquier texto en el, lo cual permitiría crear carteles con el numero y nombre del salón de clases, avisos de identificación de lugares, tableros de información que puedan ser actualizados fácilmente por los dueños de los mismos, como también puedan ser actualizados remotamente.
Como se menciono en entradas anteriores, se selecciono el LSL PLus como el editor de desarrollo de los scripts para los objetos dentro de los mundos virtuales de Second Life y OpenSim, este editor es un plugin para el ambiente de desarrollo Eclipse, por tal motivo se debe contar con una versión antes de comenzar la instalación del plugin,

Comentarios Recientes