- 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 =July 24 ,2008
operating_system =Cross-platform
status = Active
genre = ,Softswitch
license = Mozilla Public License (MPL)
website = [http://www.FreeSWITCH.org/ FreeSWITCH]FreeSWITCH is a free/open source software communications platform for the creation of voice and chat driven products and is released under the MPL
free software license . It is capable of being embedded into other projects, as well as being used as a stand-alone application.History
The FreeSWITCH project was first announced in January 2006 at O'Reilly's ETEL Conference [cite web |url=http://conferences.oreillynet.com/cs/etel2006/view/e_sess/8270 |title=Beyond Asterisk, The Future of Telephony. What's Next? |date=
2006-01-25 |publisher=O'Reilly Media |accessed=2007-10-06] . In June 2007, FreeSWITCH was selected byTruphone for carrier grade use, [cite pressrelease|url=http://www.prweb.com/releases/2007/6/prweb530752.htm|title=Truphone Selects FreeSWITCH and TelcoBridges to Enable VoIP Calls over WiFi on Mobile Phones|date=June 5 ,2007 |publisher=Truphone] and in August 2007, Gaboogie announced that it selected FreeSWITCH as its conferencing platform. [cite web|url=http://www.prleap.com/pr/88279/ |title=Gaboogie Embraces Open Source For New Mobile Group Calling and Conference Calling Solution |date=2007-08-03 |publisher=Gaboogie |accessed=2007-10-06]FreeSWITCH's first official 1.0.0 (Phoenix) release was on May 26th, 2008 [cite web|url=http://www.freeswitch.org/node/122 | title=FreeSWITCH 1.0.0 "Phoenix" Released!] . A minor 1.0.1 patch release came out on July 24th, 2008. [cite web|url=http://www.freeswitch.org/node/130| title=FreeSWITCH 1.0.1 "Phoenix" Released!]
Design
According to the lead designer, Anthony Minessale, FreeSWITCH is intended to be a
softswitch that is built on top of a solid, state-machine driven core. [cite web|url=http://www.oreillynet.com/pub/a/etel/2006/07/25/an-interview-with-the-creator-of-freeswitch.html?CMP=ILC-FV7511446129&ATT=1837|title=An Interview with the Creator of FreeSWITCH|date=July 25 ,2006 |publisher=O'Reilly Media] The stated goals of the project include stability,scalability , andabstraction .An older version of the FreeSWITCH website showed a caveman hammering on a stone wheel, with a caption that read, “There are a lot of wheels, we might as well use them.” It seems the FreeSWITCH developers are intent on not reinventing any wheels that can come from other sources. One means of eliminating unnecessary complexity is to use freely available software libraries that perform needed functions. FreeSWITCH lists these software packages among its primary dependencies: [A complete list of dependencies can be found in the [http://www.freeswitch.org/docs/ developer documentation] section of the FreeSWITCH website.]
*
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
*libresample – A library for real-time sampling rate conversions
*libSRTP – An open-source implementation of theSecure Real-time Transport Protocol FreeSWITCH is a modular application, where modules can extend the functionality of FreeSWITCH but the abstraction layer prevents inter-module dependency. The goal is to ensure that one module is not required to load another.Fact|date=October 2007
Platform Support
*Sun Solaris 10 UNIX (SunStudio)
*FreeBSD (gmake)
*Mac OS X (gmake)
*RHEL/CentOS GNU/Linux
*Debian /Ubuntu GNU/Linux
*Windows (Native)Features
FreeSWITCH includes many modules which provide applications by default including conferencing,
XML-RPC control of live calls,Interactive voice response (IVR), TTS/ASR (text to speech/automatic speech recognition),Public switched telephone network (PSTN) interconnection ability supporting both analogue and digital circuits,Voice over IP protocols including SIP,Inter-Asterisk eXchange ,H.323 ,Jabber ,GoogleTalk and others. [cite web |url=http://wiki.freeswitch.org/wiki/Modules |title=Modules |date=2007-10-08 |publisher=FreeSWITCH Documentation Wiki |accessed=2007-10-07]Applications using the FreeSWITCH library can be written in C/C++, Python,
Perl , Lua,JavaScript using Mozilla'sSpiderMonkey engine, Java and Microsoft .NET via Mono. In each case, FreeSWITCH exposes primitives for call control and IVR functionality for the programmer to use. [cite web |url=http://wiki.freeswitch.org/wiki/Languages_for_Call_Control |title=Languages for Call Control |date=2007-10-08 |publisher=FreeSWITCH Documentation Wiki |accessed=2007-10-07]Limitations
FreeSWITCH has some limitations currently that could pose problems for certain installations. There is no
GUI available for configuration and control of calls, although several are being developed [cite web | url=http://www.wikipbx.org |title=Open Source Web GUI front-end for FreeSWITCH |date=2007-10-28 |publisher=wikipbx] [cite web | url=http://www.d-man.org/news/2008/07/26/66/ |title=Open Source DHTML/AJAX/Web GUI based on CakePHP for FreeSWITCH |date=2008-07-26 |publisher=d-man.org] . Configuration is accomplished viaXML which some may find daunting, although others have said that configuration, at least for certain aspects, is "a piece of cake". [cite web |url=http://www.voipnow.org/2007/04/74_open_source_.html |title=74 Open Source VoIP Apps & Resources |date=2007-04-16 |publisher=VoIP Now |accessed=2007-10-07]Comparison with other telephony engines
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, avoicemail system, a conferencing system or a calling card - can be built using any of the supported languages.See also
*
List of SIP software - other SIP related programsReferences
External links
* [http://www.freeswitch.org/ FreeSWITCH Project Home Page] - Contains general information and documentation for the project itself
* [irc://irc.freenode.net/freeswitch #freeswitch] on freenode
Wikimedia Foundation. 2010.