FreeSWITCH

FreeSWITCH
FreeSWITCH
Desarrollador
Equipo de desarrollo de FreeSWITCH
www.freeswitch.org
Información general
Diseñador Anthony Minessale
Lanzamiento Enero de 2006
Última versión estable 1.0.7
14 de enero de 2011; hace 9 meses (2011-01-14)
Género Softswitch, PBX, Voz sobre IP
Programado en C
Sistema operativo Multiplataforma
Licencia Licencia Pública de Mozilla
Estado actual En desarrollo
En español No. 

FreeSWITCH es una plataforma de comunicaciones de software libre / código abierto para la creación de productos de voz, mensajería instantánea y video. El cual está disponible bajo la Licencia Pública de Mozilla. La biblioteca principal, libfreeswitch, puede ser embebida en programas externos así como en aplicaciones independientes.

Contenido

Historia

El proyecto FreeSWITCH fue anunciado por primera vez en enero de 2006 en la conferencia ETEL de O'Reilly.[1] En junio de 2007, FreeSWITCH fue seleccionado por la empresa Truphone para uso de carrier grade,[2] y en agosto de 2007, Gaboogie anunció que seleccionó a FreeSWITCH para sus servicios de conferencias.[3]

El primer lanzamiento oficial de FreeSWITCH 1.0.0 (Fénix) se ha realizado el 26 de mayo de 2008.[4] Seguidamente por un parche menor 1.0.1 que salió el 24 de julio de 2008.[5] La versión actual de FreeSWITCH es la 1.0.7 que ha sido liberada el 14 de enero de 2011.[6]

Diseño

Según el desarrollador principal, Anthony Minessale,[7] FreeSWITCH es un soft-switch construido sobre una máquina de estado sólida.[8] El objetivo principal del proyecto incluye estabilidad, escalabilidad y abstracción.

Una versión anterior del sitio web de FreeSWITCH mostraba a un cavernicola moldeando una rueda de piedra, con un mensaje que decía, “Hay muchas ruedas, y nosotros también podríamos hacer uso de ellas”. Al parecer los desarrolladores de FreeSWITCH no tienen la intención de reinventar las ruedas que pueden provenir de otras fuentes. Una manera de eliminar las complejidades innecesarias es usando bibliotecas de software libre que están a disposición para realizar las funciones necesarias—aunque, por supuesto, esto puede hacer que la instalación sea más complicada (véase DLL Hell). FreeSWITCH lista los siguientes paquetes de software entre sus dependencias primarias:[9]

  • Apache Portable Runtime
  • SQLite
  • PCRE
  • Sofia-SIP
  • libspeex
  • SpanDSP
  • libsrtp

No todas estas dependencias son necesarias para construir el núcleo de la aplicación FreeSWITCH, sino que son dependencias de los diversos módulos externos, como los codecs. FreeSWITCH es una aplicación modular y los módulos pueden extender la funcionalidad de FreeSWITCH. Además, la capa de abstracción evita a que los módulos no dependan entre sí. La meta es asegurar que el núcleo no dependa de los módulos para ser iniciado y que los módulos no dependan de otros módulos para ser cargados.

Características

FreeSWITCH incluye varios módulos que proveen aplicaciones por defecto como conferencias, XML-RPC para controlar llamadas en tiempo real, Respuesta de Voz Interactiva (IVR), Conversor texto-voz / Reconocimiento Automático de Voz (CTV/RAH), Red Telefónica Conmutada (RTC), la capacidad de interconexión con circuitos analógicos y digitales, protocolos Voz sobre IP como SIP, SCCP, H.323, XMPP, Google Talk, entre otros.[10]

Las aplicaciones que utilizan la biblioteca de FreeSWITCH pueden ser escritas en C/C++, Python, Perl, Lua, JavaScript usando el motor SpiderMonkey de Mozilla, Java y Microsoft .NET a través del Microsoft CLR o a través de Mono. Además de eso, FreeSWITCH expone APIs y aplicaciones para el control de llamadas y funcionalidad IVR para el uso del programador.[11]

El manejo de llamadas puede realizarse a través del Dialplan XML o mediante la interfaz Event Socket, la cual es una conexión socket al servidor FreeSWITCH. Cualquier lenguaje de programación o software capaz de comunicarse vía socket puede ser usado para controlar la actividad del servidor FreeSWITCH. FreeSWITCH también viene con una biblioteca para el Event Socket (ESL) o "Envoltorio de ESL" para Erlang, JavaScript, Lua, Perl, PHP, Python y Ruby. Esta biblioteca se encarga de abstraer los aspectos triviales de la programación con sockets.

Codecs soportados

FreeSWITCH soporta los siguientes codecs de audio:

  • PCMU – G.711 µ-law
  • PCMA – G.711 A-law
  • G.722
  • G.722.1
  • G.722.1c
  • G.726
  • G.726 with AAL2 packing
  • G.729 (passthrough)
  • G.729 (requiere de licencia, $10/canal)[12]
  • GSM
  • CELT
  • iLBC
  • DVI4 (IMA ADPCM)
  • BroadVoice
  • SILK
  • Speex
  • CODEC2
  • Siren
  • LPC-10
  • G.723.1 (passthrough only)
  • AMR (passthrough only)

FreeSWITCH también soporta una serie de codecs de video:

  • H261
  • H263
  • H263+ (H263-1998)
  • H263++ (H263-2000)
  • H264
  • Theora (passthrough)
  • MP4 (passthrough)

Algunos de estos codecs están implementados en modo passthrough, lo que significa que los datos viajan sin compresión y sin ningún procesamiento entre las personas que llaman, esto permite que los codecs con problemas de licencias o patentes puedan ser implementados, ya que los datos no son codificados o decodificados. Sin embargo, estos codecs no pueden ser transcodificados (i.e. ambas personas que llaman deben usar el mismo codec al usar un codec en modo passthrough, y algunas funciones de grabación y reproducción, tales como IVR no son compatibles)

También hay soporte para tarjetas de hardware de transcodificación, como los que produce la empresa Sangoma.[13] Estas tarjetas implementan los codecs en el hardware, de esta forma reduciendo el uso de CPU en el servidor. Algunos de estos codecs requieren licencia, proporcionando una alternativa a los codecs passthrough mencionados anteriormente.

Plataformas soportadas

Comparación con otros motores de telefonía

FreeSWITCH ocupa un espacio entre los conmutadores puros que simplemente encaminan llamadas, como GnuGK y SER, y los que son principalmente PBX o IVR, como Asterisk y sus derivados. FreeSWITCH proporciona bloques para el desarrollo de aplicaciones – tales como una central telefónica, un sistema de buzón de voz, conferencias, o tarjetas telefónicas – todo esto puede ser desarrollado utilizando cualquiera de los lenguajes soportados.

Véase también

Referencias

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • FreeSWITCH — Développeur Anthony Minessale et de nombreux contributeurs Dernière version 1.0.6 [ …   Wikipédia en Français

  • FreeSWITCH — Infobox Software name = FreeSWITCH caption = status = Active language = multi lingual platform = Unix like, Windows, Sun Solaris, Mac OS X author = Anthony Minessale developer = Many contributors latest release version = 1.0.1 latest release date …   Wikipedia

  • FreeSWITCH — Эта статья должна быть полностью переписана. На странице обсуждения могут быть пояснения. FreeSWITCH  открытая телефонная платформа, распространяемая в исходных кодах, созданная дл …   Википедия

  • Comparison of audio formats — The following tables compare general and technical information for a variety of audio formats and audio compression formats. For listening tests comparing the perceived audio quality of audio formats and codecs, see the article Codec listening… …   Wikipedia

  • CELT — Developed by Xiph.Org Foundation Type of format Audio Contained by Ogg Extended to Opus Standard(s) Documentation …   Wikipedia

  • Asterisk (Logiciel) — Pour les articles homonymes, voir Asterisk. Asterisk (logiciel) …   Wikipédia en Français

  • Jingle (Jabber) — Pour les articles homonymes, voir Jingle. Jingle est une extension de protocole XMPP destinée à l initialisation, au suivi et à la terminaison de sessions multimédia P2P entre clients XMPP. Jingle permet les sessions audio (VoIP) et devrait, à… …   Wikipédia en Français

  • Jingle (XMPP) — Jingle (Jabber) Pour les articles homonymes, voir Jingle. Jingle est une extension de protocole XMPP destinée à l initialisation, au suivi et à la terminaison de sessions multimédia P2P entre clients XMPP. Jingle permet les sessions audio (VoIP)… …   Wikipédia en Français

  • Jingle (protocole) — Pour les articles homonymes, voir Jingle. Jingle est une extension de protocole XMPP destinée à l initialisation, au suivi et à la terminaison de sessions multimédia P2P entre clients XMPP. Jingle permet les sessions audio (VoIP) et devrait, à… …   Wikipédia en Français

  • Liste des logiciels SIP — Cette liste de logiciels SIP décrit les logiciels qui utilisent SIP comme protocole de voix sur réseau IP (téléphonie sur Internet). Certains permettent également la visioconférence. Sommaire 1 Serveurs SIP 1.1 Logiciels Libres 1.2 …   Wikipédia en Français

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”