domingo, 2 de agosto de 2009

FreeSWITCH, descarga y construcción

Introducción

FreeSWITCH es uno de los mejores proyectos de comunicaciones de código abierto que hay en la actualidad, como lo describen en su sitio oficial
http://www.freeswitch.org/

“FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat driven products scaling from a soft-phone up to a soft-switch. It can be used as a simple switching engine, a PBX, a media gateway or a media server to host IVR applications using simple scripts or XML to control the callflow.”

FreeSWITCH (escribiendo SWITCH en mayúscula) es una plataforma de telefonía de código abierto diseñada para facilitar la creación de productos de voz y chat escalando desde un soft-phone hasta un soft-switch. Puede ser usado como un motor de conmutación, una PBX, un media Gateway o un servidor de medios (media server) para alojar aplicaciones de IVR usando simples scritps o archivos XML para el control de flujo de la llamada.

En otras palabras FreeSWITCH se puede comportar como un simple soft-phone, una PBX o en realidad un soft-switch, por ello el campo de aplicación de esta plataforma resulta tan interesante.

Otra característica importante para los usuarios y programadores del mundo Windows es que puede ser construido y correr nativamente sobre Windows, también sobre Linux, Mac OS, BSD y Solaris tanto para 32 como para 64 bits (
http://wiki.freeswitch.org/wiki/Specsheet).

Descargar el código fuente
FreeSWITCH está construido en lenguaje C y el proyecto usa Subversion como controlador de código fuente. Se pueden obtener dos revisiones desde el sitio de FreeSWITCH. Una de estas revisiones se consigue accediendo directamente a través de un cliente de Subversión el trunk de proyecto que tiene la versión más actualizada del código fuente pero no necesariamente estable. La otra revisión son las versiones estables o de prueba que se pueden acceder directamente a través una URL.

Bajando el código fuente a través de Subversion
En este link se encuentra información del sitio oficial para la descarga:
http://wiki.freeswitch.org/wiki/Download_FreeSWITCH

Cuando se trabaja en Windows se tienen varias opciones para acceder a un repositorio manejado con Subversion, en esta entrega vamos a usar RapidSVN (
http://rapidsvn.tigris.org/) que es un cliente sencillo pero trabaja bien y nos va a permitir descarga el código fuente.

El código fuente puede ser conseguido desde:

http://svn.freeswitch.org/svn/freeswitch/trunk

Una vez instalamos RapidSVN se debe configurar la URL desde el menú Repositorio -> Exportar e ingresamos la URL del código fuente para su descarga.


Figura 1. Configuración RapidSVN para descarga del código fuente.

Se debe escoger el directorio destino y seleccionar la opción “Sobrescribir”, ver figura 1.

Si tenemos la posibilidad de usar los programas de línea de comandos de Subversion se puede obtener el código fuente desde:

svn co http://svn.freeswitch.org/svn/freeswitch/trunk directorio_destino

Bajar el código fuente directamente desde los archivos de FreeSWITCH
Las versiones de prueba o estables son normalmente publicadas en
http://files.freeswitch.org/

Una vez obtenido el archivo se descomprime y el código fuente estará disponible.

Construcción desde el código fuente
Se debe contar con Visual Studio 2008 la versión licenciada o la versión Express, para la compatibilidad con C# es necesario que se tenga instalado el Framework 3.5 o Mono 2.0 y que el Visual Studio pueda compilar código fuente C y C#.
Más información:
http://wiki.freeswitch.org/wiki/Installation_Guide


Se debe abrir la solución Freeswitch.2008.sln


Una vez abierta la solución se debe construir, es necesario garantizar la conexión a Internet ya que se van a descargar automáticamente algunos componentes. Una vez terminada la construcción ya contamos con los ejecutables:

- FreeSwitch.exe (ejecuta una instancia de FreeSWITCH)
- fs_cli.exe (permite conectar a una instancia de FreeSWITCH que se está ejecutando).

En la próxima entrega veremos la configuración de FreeSWITCH.

2 comentarios:

  1. Hola Diego.
    Pudiste solucionar el problema de la cancelación de eco por software para la placa Sangoma con FS?

    ResponderEliminar
  2. Hola, la cancelación de eco con Sangoma, es necesario hacerla por hardware, desafortunadamente no hay una iniciativa para implementarla por software, de hecho las funcionalidades para administración de la ganancia no trabajan correctamente.

    ResponderEliminar