Benutzer:.oOWOLKEOo./FreeSWITCH
Dieser Artikel (FreeSWITCH) ist im Entstehen begriffen und noch nicht Bestandteil der freien Enzyklopädie Wikipedia. | |
Wenn du dies liest:
|
Wenn du diesen Artikel überarbeitest:
|
FreeSWITCH
| |
---|---|
Basisdaten
| |
Maintainer | Anthony Minessale |
Aktuelle Version | 1.2.23 (19. März 2014) |
Betriebssystem | plattformübergreifend (Windows, Linux, Mac, ...) |
Programmiersprache | C |
Kategorie | VoIP (Software) |
Lizenz | Mozilla Public License (MPL) |
deutschsprachig | nein |
FreeSWITCH |
FreeSWITCH is free and open source communications software for the creation of voice and messaging products. It is licensed under the Mozilla Public License (MPL), a free software license. Its core library, libfreeswitch, is capable of being embedded into other projects, as well as being used as a stand-alone application.
Geschichte
Das FreeSWITCH Projekt wurde erstmals im Januar 2006 auf O'Reilly Media's ETEL Konferenz ankekündigt.[1] Im Juni 2007, wurde FreeSWITCH durch Truphone für die interne Verwendung ausgewählt,[2] und im August 2007, kündigte Gaboogie an, dass sie FreeSWITCH als ihre Telefonkonferenz-Plattform ausgewählt haben.[3]
FreeSWITCH's erste offizielle 1.0.0 Version (Phoenix) wurde am 26. Mai 2008 veröffentlicht.[4] Eine geringfügige 1.0.1 Aktualisierung wurde am 24. Juli 2008 veröffentlicht.[5] Auf der ClueCon Konferenz 2012 kündigte Anthony Minessale [6] die Veröffentlichung der FreeSWITCH Version 1.2.0 an[7] und dass das FreeSWITCH Entwicklerteam had adopted separate stable (version 1.2) and development (version 1.3) branches Zweige.
Aufbau
According to the lead designer, Anthony Minessale,[8] FreeSWITCH is intended to be a softswitch that is built on top of a solid core, driven by a state machine.[9] The stated goals of the project include stability, scalability, and abstraction.
Um die Komplexität gering zu halten, verwendet FreeSWITCH frei verfügbare Softwarebibliotheken libraries die notwendige Funktionen bereitstellen. Einige Abhängigkeiten sind:[10]
- Apache Portable Runtime (APR and APR-Util)
- SQLite – a lightweight implementation of a SQL engine
- PCRE – Perl Compatible Regular Expressions
- Sofia-SIP – an open-source SIP user agent library
- libspeex – Speex DSP library (replaced libresample as of version 1.0.3)
- mod_spandsp for T.38 fax gateway or passthrough are supported.
- libSRTP – an open-source implementation of the Secure Real-time Transport Protocol
Nicht alle der genannten Softwareabhängigkeiten sind erforderlich um das Freeswitch Kernprogramm zu bauen, sondern sind Abhängigkeiten der diversen externen Module, wie z.B. Codecs. Not all of these software dependencies are required to build the core freeswitch application, but are dependencies of various external modules, such as codecs. FreeSWITCH is a modular application, in which modules can extend the functionality but the abstraction layer prevents inter-module dependency. The goal is to ensure that one module is not required to load another.Vorlage:Citation needed
Features
FreeSWITCH includes many modules that provide many telephony applications, such as conferencing, XML-RPC control of live calls, interactive voice response (IVR), speech synthesis and speech recognition, public switched telephone network (PSTN) interfaces for analogue and digital circuits, voice over IP protocols including Session Initiation Protocol (SIP), Skinny Client Control Protocol (SCCP), H.323, Extensible Messaging and Presence Protocol (XMPP), GoogleTalk, T.38 and others.[11]
FreeSWITCH provides an application programming interface that exposes primitives for call control and IVR functionality. Applications may be written in the C language, C++, Python, Perl, Lua, JavaScript, Java and Microsoft .NET via Microsoft's CLR or via Mono.[12]
Call control applications can use the Event Socket, which is an Internet socket-based communications facility within FreeSWITCH providing a language independent interface. The Event Socket Library (ESL) and "ESL-wrappers" are available for Erlang, JavaScript, Lua, Perl, PHP, Python, and Ruby.
As of FreeSWITCH version 1.4, support exists for WebRTC.[13]
Codec Support
FreeSWITCH supports a variety of audio codecs:[14]
FreeSWITCH supports several video codecs:[16]
Some codecs are implemented in pass-through mode only. This means that the raw compressed data is passed through between callers, without any processing. This allows some codecs to be supported which cannot be provided freely due to patent licensing issues, since the data is never encoded or decoded. However, these codecs cannot be transcoded (i.e. both callers must use the same codec when using a pass-through codec, and some recording and playback functions such as IVR are not supported).
The software supports hardware transcoding cards, such as produced by Sangoma.[17] These implement codecs in hardware, reducing the CPU usage of the server. Some of these codecs are fully licensed, providing an alternative to the passthrough options above.
Operating and build system support
- Sun Solaris 10 UNIX (Sun Studio)
- FreeBSD (gmake)
- Mac OS X (gmake)
- Linux systems, such as Red Hat Enterprise Linux, CentOS, Debian, Ubuntu
- Microsoft Windows (native)
- Pfsense
Issues
Comparison with other telephony software
FreeSWITCH occupies a space between pure switches which simply route calls, such as GnuGK and SER, and those which are primarily PABXes or IVRs, such as Asterisk and its derivatives. FreeSWITCH provides building blocks from which applications – such as a PABX, a voicemail system, a conferencing system or a calling card – can be built using any of the supported languages.Vorlage:Citation needed
Derived products
FreeSWITCH ist a core component in many PABX in a box commercial products and open-source projects. Some of the commercial products are hardware and software bundles, for which the manufacturer supports and releases the software as open source.
Beispiele sind Barracuda Networks CudaTel VOIP PBX Serie und die Gemeinschaft (PBX).
Siehe auch
- Liste von VoIP-Software – andere VoIP Software
Weblinks
- FreeSWITCH Project Home Page – contains general information and documentation for the project itself
- FreeSWITCH Wiki – main source of documentation for FreeSWITCH
- #freeswitch bei freenode IRC
- ↑ Beyond Asterisk, The Future of Telephony. What's Next?. O'Reilly Media. 25. Januar 2006. Abgerufen am 6. Oktober 2007.
- ↑ Vorlage:Cite pressrelease
- ↑ Gaboogie Embraces Open Source For New Mobile Group Calling and Conference Calling Solution. Gaboogie. 3. August 2007. Abgerufen am 6. Oktober 2007.
- ↑ FreeSWITCH 1.0.0 "Phoenix" Released!.
- ↑ FreeSWITCH 1.0.1 "Phoenix" Released!.
- ↑ ClueCon 2012 Keynote Address.
- ↑ It's Official! FreeSWITCH 1.2 Has Been Released..
- ↑ Kathleen Gallagher: Flipping the FreeSWITCH - Brookfield is home to revolutionary software, Milwaukee Journal Sentinel. 18. Oktober 2009.
- ↑ An Interview with the Creator of FreeSWITCH. O'Reilly Media. 25. Juli 2006.
- ↑ Eine vollständige Liste der Abhängigkeiten kann auf der Abhängigkeiten Seite der FreeSWITCH Dokumentation gefunden werden.
- ↑ Modules. FreeSWITCH Documentation Wiki. 8. Oktober 2007. Abgerufen am 7. Oktober 2007.
- ↑ Languages for Call Control. FreeSWITCH Documentation Wiki. 8. Oktober 2007. Abgerufen am 7. Oktober 2007.
- ↑ FreeSWITCH Project Releases Version 1.4 Beta with WebRTC Media Support. FreeSWITCH Official Website. 19. Juni 2013. Abgerufen am 19. Juni 2013.
- ↑ http://wiki.freeswitch.org/wiki/Codecs
- ↑ http://www.freeswitch.org/node/235
- ↑ http://wiki.freeswitch.org/wiki/Codecs
- ↑ http://wiki.sangoma.com/sangoma-media-transcoding#sng_freeswitch_usage
- ↑ FreeSWITCH Wiki FAQ