FreeSWITCH

Ir a: navegación, búsqueda de
FreeSWITCH
FreeSWITCH official logo.jpg
Autor (es) original Anthony Minessale
Desarrolladores Muchos contribuyentes
Versión estable 1.6.18 (13 de junio, 2017; hace 1 día)2017-06-13)) [±]
Estado de desarrollo Activo
Escrito en C
Sistema operativo Unix-como, Windows, Solaris, OS X
Plataforma Multiplataforma
Disponible en multi-lingüe
Tipo Software de VoIP, Softswitch
Licencia de Licencia pública de Mozilla (MPL)
Sitio web FreeSwitch.org

FreeSWITCH es un libre de y código abierto servidor de aplicaciones para comunicación en tiempo real, WebRTC, telecomunicaciones, video y voz sobre Internet Protocol ()VoIP). Multiplataforma, funciona en Linux, Windows, MacOS y FreeBSD. Se utiliza para construir PBX sistemas, IVR servicios, videoconferencia con chat y compartir pantalla, venta por mayor encaminamiento de coste mínimo, Controlador de frontera de sesión (SBC) y Embedded comunicación electrodomésticos. Tiene soporte completo para cifrado de, ZRTP, DTLS, SIP. Puede actuar como una pasarela entre PSTN, SIP, WebRTCy muchos otros protocolos de comunicación. Su biblioteca básica, libfreeswitch, puede ser incrustado en otros proyectos. Está licenciado bajo la Licencia pública de Mozilla (MPL), un licencia de software libre.

Contenido

  • 1 Historia
  • 2 Diseño
  • 3 Características
  • 4 Apoyo de WebRTC
  • 5 Soporte de videoconferencia
  • 6 Compatibilidad con códecs
  • 7 Soporte para el protocolo
  • 8 Soporte de aplicaciones
  • 9 Soporte de encriptación
  • 10 Soporte de texto a voz y reconocimiento de discurso automático
  • 11 Soporte del sistema operativo y construir
  • 12 Comparación con otros software de telefonía
  • 13 Productos derivados
  • 14 Ver también
  • 15 Referencias
  • 16 Enlaces externos

Historia

El proyecto de FS fue anunciado en enero de 2006 en O ' Reilly Mediade conferencia ETEL.[1] En junio de 2007, FS fue seleccionada por Truphone para el uso,[2] y en agosto de 2007, Gaboogie anunció que seleccionó FreeSWITCH como su plataforma de conferencias.[3]

Primer oficial 1.0.0 de FreeSWITCH release (Phoenix) fue el 26 de mayo de 2008.4] Un menor 1.0.1 versión del parche salio el 24 de julio de 2008.[5] En ClueCon 2012 Anthony Minessale anunció6] la liberación de FreeSWITCH versión 1.2.0[7] y que había adoptado el equipo de desarrollo de FreeSWITCH independiente estable (versión 1.2) y ramas de desarrollo (versión 1.3).

1.4 de FreeSWITCH, lanzado a principios de 2014, es la primera versión compatible SIP Websocket y WebRTC.

1.6 FS ha añadido soporte para transcodificación de vídeo y videoconferencia, Verto protocolo WebRTC, todos WebRTC codecs y estándares.

Diseño

Según el diseñador del plomo, Anthony Minessale,[8] FS está destinado a ser un Softswitch que está construido sobre un núcleo sólido, impulsado por un máquina de estado.[9] Los objetivos del proyecto incluyen estabilidad, escalabilidad, y abstracción.

Para reducir la complejidad, FS utiliza software libre bibliotecas realizan funciones necesarias. Algunas dependencias son:[10]

  • Apache Portable Runtime (APR y APR-Util)
  • SQLite – una implementación ligera de un motor SQL
  • PCRE : Expresiones regulares compatibles con Perl
  • Sofía-SIP -una abrir-fuente SIP Biblioteca de agente de usuario
  • libspeex – Speex Biblioteca DSP (libresample sustituyó a partir de la versión 1.0.3)
  • mod_spandsp para T.38 gateway fax o passthrough son compatibles.
  • libSRTP-una implementación open-source de la Protocolo de transporte en tiempo real seguro

No todas estas dependencias de software son necesarios para construir la base FreeSwitch aplicación, pero son dependencias de varios módulos externos, tales como códecs. FS es una aplicación modular, en el que los módulos pueden ampliar la funcionalidad pero la capa de abstracción impide inter-módulo de dependencia. El objetivo es asegurar que un módulo no es necesario cargar a otro.[11]

Características

FreeSWITCH incluye muchos módulos que proporcionan muchas aplicaciones de telefonía, tales como conferencias, XML-RPC control de llamadas en vivo, respuesta de voz interactiva (IVR), síntesis de voz y reconocimiento de voz, red telefónica pública conmutada (PSTN) interfaces analógicos y circuitos digitales, voz sobre IP protocolos, incluyendo Protocolo de inicio de sesión (SIP), Verto, Protocolo de Control de cliente delgado (SCCP), H.323, Mensajería extensible y Protocolo de presencia (XMPP), GoogleTalk, T.38 y otros.[12]

FS proporciona una interfaz de programación de aplicación que expone a primitivas para el control de llamadas y la funcionalidad IVR. Aplicaciones pueden escribirse en la C lenguaje, C++, Python, Perl, Lua, JavaScript, Java y Microsoft .NET a través de Microsoft CLR o a través de Mono.[13]

Aplicaciones de control de llamada pueden utilizar la toma del evento, que es un Toma de Internet-instalación de comunicaciones dentro de FS proporciona una interfaz independiente del lenguaje de base. El evento toma de biblioteca (ESL) y "ESL-envolturas" están disponibles para Erlang, JavaScript, Lua, Perl, PHP, Python, y Ruby.

A partir de la versión 1.4 de FreeSWITCH, existe soporte para WebRTC.14]

En FreeSWITCH 1.6 se añadió soporte para Video muxing y completa WebRTC, wss, dtls, SIP.js, Verto.js, Opus 48khz a 8khz, resistente hasta a 40% pérdida de paquetes.

Main FS 1.6 características:

  • Apoyo de WebRTC
  • Directorio de dominio de usuario centralizada (directory.xml)
  • Granularidad de CDR segunda nano
  • Grabación de llamada (caller/callee en estéreo de izquierda/derecha)
  • Motor de rendimiento con base alta
  • Configuración mediante enrollamiento al servidor HTTP (mod_xml_curl).
  • Archivos de configuración XML para el análisis fácil.
  • Independiente del Protocolo
  • ZRTP para RTP transparente base cifrado y el intercambio de claves
  • Configurable RFC 2833 Tipo de carga
  • Detección y generación de Inband DTMF.
  • Software basado en conferencia (ningún requisito de hardware)
  • Conferencia de banda ancha
  • Los medios de comunicación / modos de los medios de comunicación No
  • Adecuado marcado de ENUM/ISN construido en
  • Detallados CDR en XML
  • Radio CDR
  • Servidor de suscripción
  • Líneas compartidas
  • Puente de líneas
  • Empresa/Carrier grade motor de concurso completo. (Eventos XML, nombre valor, eventos Multicast)
  • Formatos de archivo cargables y streaming
  • Secuencia y el juego de Shoutcast y Icecast
  • Habla varios idiomas interfaz de frase
  • Apoyo de ASR/TTS (nativa y a través de MRCP)
  • Características básicas de IP/PBX
  • Asistente automatizado
  • Personalizada anillo nuevo tonos (primeros medios)
  • Soporte XML-RPC
  • Múltiples formato CDR compatible
  • El motor de SQL proporciona persistencia de sesiones
  • Aislamiento del hilo de rosca
  • Caza en paralelo
  • Serie caza

Apoyo de WebRTC

[15]

  • FS es un portal de WebRTC, capaces de aceptar los medios de comunicación cifrado de los navegadores, convertirlo e intercambio con otras redes de comunicación, que utilizan diferentes codecs y cifrado, por ejemplo: PSTN, operadores de telefonía móviles, sistemas legacy, etcetera. FS pueden ser la puerta de enlace entre la red SIP y aplicaciones y los navegadores en los ordenadores de sobremesa, tablets y smartphones.
  • FS es un servidor de aplicaciones de WebRTC, capaces de proporcionar directamente servicios nativos a navegadores, como videoconferencias, IVR, Call Centers, sin el uso de cualquier entrada o tercero. FS pueden proporcionar directamente servicios WebSocket Secure (WSS), SRTP y DTLS, los protocolos nativos de WebRTC.
  • FS pone a disposición de un plano de señalización adicional porque con Verto los navegadores pueden iniciar o recibir una llamada de voz o una videollamada de la manera más fácil, y puede chatear, compartir pantalla, recibir y enviar datos en tiempo real para aplicaciones de extremo. Verto es un alternativa a XMPP o SIP en Javascript. FS pueden servir en paralelo y simultáneamente la misma aplicación a clientes que utilizan señalización SIP y Verto.

Soporte de videoconferencia

16] FreeSWITCH siempre ha sido una poderosa plataforma para conferencias, a partir de muchos años atrás como un puente de audioconferencia muy escalable. En un avance en el 2015 ClueCon en Chicago Illinois, creador de FreeSWITCH Anthony Minessale II anunció apoyo para transcodificación de vídeo, mezcla, manipulación y funcionalidad de la unidad de Control Multipunto (MCU). FreeSWITCH ahora cuenta con lo más avanzado y maduro video conferencia:

  • Múltiple soporte de códecs de vídeo y conversión
  • Múltiples diseños de videos
  • Pantalla se divide
  • Imagen en imagen
  • Compartir pantalla
  • Video superposición (textos, logos y así sucesivamente)
  • Mezcla de video
  • Efectos de vídeo y la manipulación en tiempo real
  • Chroma-Key (antecedentes de mezcla de video)
  • SIP, WebRTC, VERTO, participantes PSTN

Compatibilidad con códecs

FreeSWITCH soporta una gran variedad de códecs de audio y video:[17]

  • PCMU – G.711 μ-ley
  • PCMA- G.711 Ley
  • G.722
  • G.722.1
  • G.722.1C
  • G.726
  • G.726 con AAL2 embalaje
  • G.729 (passthrough)
  • G.729 (con licencia, $10/canal)[18]
  • GSM
  • CELT y Opus
  • iLBC
  • () DVI4IMA ADPCM)
  • BroadVoice
  • SEDA
  • Speex (estrecha y ancha) con RFC 5574 fmtp apoyo
  • Codec2
  • LPC-10
  • AMR (sólo passthrough)
  • iSAC
  • Opus_(audio_format) RFC 6716
  • VP8
  • VP9

G.723.1, H263 y H264 se admiten en el modo pass-through. Puesto que los datos comprimidos se pasan a través entre interlocutores sin ningún tratamiento, esto permite soporte para algunos codecs que no se puede proporcionar de forma gratuita debido a otros problemas de licencias o patentes.

El software soporta hardware tarjetas de transcodificación, como producido por Sangoma.[19] Estos implementan codecs hardware, reduciendo el uso de CPU del servidor. Algunos de estos codecs son con licencia completa, proporcionando una alternativa a las opciones del paso anteriores.

Soporte para el protocolo

20]

  • SIP con mod_sofia
    • Transporte UDP, TCP, SCTP y TLS para el completo cumplimiento de SIP.
    • xiWS y transportes WSS para el completo cumplimiento de WebRTC.
    • (SIP) v.2.0RFC 3261)
    • Soporte para IPv6
    • Contadores de tiempo de sesión SIP
    • Temporizadores RTP
    • RFC 3263 (SRV y NAPTR)
    • RFC 3325
    • RFC 4694
    • SRTP via SDES (obras y Polycom, Snom, Linksys Grandstream)
    • Registro SIP ciego
    • STUN soporte
    • Buffer de jitter
    • Soporte de NAT
    • Distribuidos los registros SIP
    • Última negociación de Codec
    • Múltiples registros de la SIP por cuenta de usuario.
    • Multiempresa - múltiples SIP UAs
    • Reinvites de SIP.
    • Puede actuar como un SBC (controlador de frontera de sesión)
    • Gestión de presencia
    • SIP/SIMPLE (can gateway a otros protocolos de chat)
    • Soporte de Multicast para localizar SIP Linksys y Snom
    • Apoyo de Intercom/autorespuesta.
    • Funciones de llamada como llamada espera (volver a invitar), ciego de transferencia (consulte la), Llams (302), etcetera.
  • mod_skinny - protocolo de Control llamada Skinny (SCCP)
  • mod_verto - protocolo de señalización VERTO WebRTC

Soporte de aplicaciones

[21]

  • Correo de voz
    • Multiempresa - configuración de portador de la empresa
    • Tiempo de día saludos
    • Etiquetado mensaje urgente
    • Entrega de correo electrónico
    • Reproducción y regrabación de mensajes antes de la entrega.
    • Las claves son plantillas por lo que puede cambiar para satisfacer sus necesidades.
    • Soporte de callback de dentro de buzón de voz.
    • Podcast de la voz (RSS)
    • Mensaje en espera (MWI) del indicador
  • Soporte para colas (a través de mod_fifo o mod_callcenter)
  • Estacionamiento (vía mod_fifo)
  • Conferencia
    • Software basado en conferencias sin los requisitos de hardware.
    • Conferencias de banda ancha.
    • Múltiples conferencias programadas o bajo demanda con avisos de entrada y salida
    • Reproducir archivos en la Conferencia o un solo miembro.
    • Relaciones
    • Integración de TTS
    • Transferencias de
    • Llamadas salientes
    • Colocar tecla configurable
    • Volumen, ganancia y nivel de energía por llamada.
    • Puente para la transición de la Conferencia
    • Marcación de salida multi parte.
    • RFC 4579 Conferencias CC de SIP para UAs
    • Grabación automática o bajo demanda
  • Lector de RSS
  • Fax de modo extremo, gateway y passthrough.
    • T.30 (G.711) Audio Fax (via mod_spandsp) anteriormente conocido como mod_fax.
    • T.38 fax (entrada, extremo y passthrough)

Soporte de encriptación

  • WSS
  • HTTPS
  • SRTP
  • ZRTP
  • TLS
  • SIP
  • SSL
  • SDES
  • DTLS

Soporte de texto a voz y reconocimiento de discurso automático

  • Cepstral
  • Flite
  • PocketSphinx
  • MRCP

Soporte del sistema operativo y construir

  • Debian Linux es el sistema operativo preferido ya que proporciona el soporte más amplio en las librerías necesarias para ejecutar FS libres de restricciones de licencias
  • Otros sistemas de linux, tales como RHEL y CentOS
  • Solaris () 10 UNIXEstudio de Solaris)
  • FreeBSD (gmake)
  • OS X (gmake)
  • Windows (nativo)

Comparación con otros software de telefonía

FreeSWITCH ocupa un espacio entre conmutadores puros que simplemente pase llamadas, tales como Kamailio y OpenSIPSy aquellos que proveen principalmente PBX o IVR funcionalidad, tales como Asterisk y sus derivados. FS proporciona bloques de construcción de que aplicaciones como un PBX, un correo de voz sistema, una conferencias sistema o un tarjeta de visita – se puede construir utilizando alguno de los idiomas admitidos.[22]

Productos derivados

FS es un componente esencial en muchas PBX en un cuadro de productos comerciales y proyectos de código abierto. Algunos de los productos comerciales son paquetes de hardware y software, para lo cual el fabricante apoya y lanza el software de código abierto.

Ver también

  • Lista de software SIP – otros SIP relacionados con programas

Referencias

  1. ^ "más allá de Asterisk, el futuro de la telefonía. ¿Qué sigue?". O ' Reilly Media. 2006-01-25. 2007-10-06. 
  2. ^ "Truphone selecciona FS y TelcoBridges para permitir llamadas de VoIP sobre Wi-Fi en teléfonos móviles" (Comunicado de prensa). Truphone. 05 de junio de 2007. 
  3. ^ "Gaboogie abrazos Open Source para nuevo grupo de móviles llamadas y conferencia llamada solución". Gaboogie. 2007-08-03. 2007-10-06. 
  4. ^ «FS 1.0.0 "Phoenix" liberado!». 
  5. ^ «FS 1.0.1 lanzado "Phoenix"!». 
  6. ^ "discurso ClueCon 2012". 
  7. ^ "ya es oficial! FS 1.2 ha sido liberado.". 
  8. ^ Gallagher, Kathleen (18 de octubre de 2009). "Los bancos FS - Brookfield es hogar de software revolucionario". Milwaukee Journal Sentinel. 
  9. ^ "Una entrevista con el creador del FS". O ' Reilly Media. 25 de julio de 2006. 
  10. ^ Una lista completa de dependencias puede encontrarse en el Página de dependencias sección de la documentación de FS.
  11. ^ "Introducción de FS". FreeSWITCH Wiki. 29 de enero 2016. 
  12. ^ "Módulos". Wiki de documentación de FS. 29 / 01 / 2016. 2007-10-07. 
  13. ^ "Cliente y desarrollador de Interfaces". Wiki de documentación de FS. 29 / 01 / 2016. 2007-10-07. 
  14. ^ "Proyecto FS libera la versión 1.4 Beta con soporte de medios WebRTC". Página Web oficial de FS. 2013-06-19. 2013-06-19. 
  15. ^ FreeSWITCH 1.6 Cookbook, Packt Publishing, ISBN-10: 1785280910
  16. ^ Dominio de FreeSWITCH, Packt Publishing, ISBN-10: 1784398888
  17. ^ https://FreeSwitch.org/Confluence/display/FREESWITCH/audio+codecs
  18. ^ https://www.FreeSwitch.org/node/235
  19. ^ https://wiki.Sangoma.com/Sangoma-media-transcoding#sng_freeswitch_usage
  20. ^ https://FreeSwitch.org/Confluence/display/FREESWITCH/specifications
  21. ^ https://FreeSwitch.org/Confluence/display/FREESWITCH/specifications
  22. ^ "Aplicaciones de FS". 30 de enero 2016. 

Enlaces externos

  • Documentación wiki de FreeSWITCH confluencia -contiene información general y documentación para el proyecto

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=FreeSWITCH&oldid=784536407"