Voip Information and Wiki Voip Information and Wiki
 
Home  
 

FreeSWITCH


 
Voice_over_IP
 
 

FreeSWITCH online

 
 
FreeSWITCH - Wikipedia, the free encyclopedia

FreeSWITCH

From Wikipedia, the free encyclopedia
Jump to: navigation, search
FreeSWITCH
FreeSWITCH Logo
Original author(s) Anthony Minessale
Developer(s) Many contributors
Stable release 1.0.6 / April 6, 2010; 4 months ago (2010-04-06)
Development status Active
Operating system Cross-platform
Platform Unix-like, Windows, Sun Solaris, Mac OS X
Available in multi-lingual
Type VoIP software, Softswitch
License Mozilla Public License (MPL)
Website 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. Its core library, libfreeswitch, is capable of being embedded into other projects, as well as being used as a stand-alone application.

Contents

History

The FreeSWITCH project was first announced in January 2006 at O'Reilly's ETEL Conference1. In June 2007, FreeSWITCH was selected by Truphone for carrier grade use,2 and in August 2007, Gaboogie announced that it selected FreeSWITCH as its conferencing platform.3

FreeSWITCH's first official 1.0.0 (Phoenix) release was on May 26, 2008 4. A minor 1.0.1 patch release came out on July 24, 2008.5 Current release is 1.0.6 which came out on 6 April 2010. 6

Design

According to the lead designer, Anthony Minessale7, FreeSWITCH is intended to be a softswitch that is built on top of a solid, state-machine driven core.8 The stated goals of the project include stability, scalability, and abstraction.

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—though, of course, this can introduce its own problems (see dependency hell). FreeSWITCH lists these software packages among its primary dependencies:9

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.citation needed

Platform support

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, SCCP, H.323, XMPP, GoogleTalk and others.10

Applications using the FreeSWITCH library can be written in C/C++, Python, Perl, Lua, JavaScript using Mozilla's SpiderMonkey engine, Java and Microsoft .NET via Microsoft's CLR or via Mono. In each case, FreeSWITCH exposes primitives for call control and IVR functionality for the programmer to use.11

Call control applications can use the Event Socket, which is a socket-based connection to the FreeSWITCH server. Any programming language or software that is capable of communicating via sockets can be used to control activity on the FreeSWITCH server. FreeSWITCH also comes with an Event Socket Library (ESL) and "ESL-wrappers" for Erlang, JavaScript, Lua, Perl, PHP, Python, and Ruby. The wrappers are libraries that abstract away some of the mundane aspects of socket-level programming.

Codec Support

FreeSWITCH supports a number of audio codecs:

Issues

While there are some important features missing from FreeSWITCH, many issues deal with its unique configuration methods, or its significant differences from other popular PBX/Softswitch programs.

  • BRI support is currently limited to Sangoma interface cards12
  • XML configuration files may be confusing to new users, especially users that have traditionally used Asteriskcitation needed
  • International EuroISDN is not fully supported13
  • FreeSWITCH will support the T.38 fax in the next release14, but currently does not support acting as a fax gateway for T.38, although it allows T.38 passthrough15

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, a voicemail system, a conferencing system or a calling card - can be built using any of the supported languages.

See also

References

  1. ^ "Beyond Asterisk, The Future of Telephony. What's Next?". O'Reilly Media. 2006-01-25. http://conferences.oreillynet.com/cs/etel2006/view/e_sess/8270. Retrieved 2007-10-06. 
  2. ^ Truphone (June 5, 2007). "Truphone Selects FreeSWITCH and TelcoBridges to Enable VoIP Calls over WiFi on Mobile Phones". Press release. http://www.prweb.com/releases/2007/6/prweb530752.htm. 
  3. ^ "Gaboogie Embraces Open Source For New Mobile Group Calling and Conference Calling Solution". Gaboogie. 2007-08-03. http://www.prleap.com/pr/88279/. Retrieved 2007-10-06. 
  4. ^ "FreeSWITCH 1.0.0 "Phoenix" Released!". http://www.freeswitch.org/node/122. 
  5. ^ "FreeSWITCH 1.0.1 "Phoenix" Released!". http://www.freeswitch.org/node/130. 
  6. ^ "FreeSWITCH Advances "Free" Speech With 1.0.6 Release". http://www.freeswitch.org/node/250. 
  7. ^ Gallagher, Kathleen (October 18, 2009). "Flipping the FreeSwitch - Brookfield is home to revolutionary software". Milwaukee Journal Sentinel. http://www.jsonline.com/business/64684137.html. 
  8. ^ "An Interview with the Creator of FreeSWITCH". O'Reilly Media. July 25, 2006. http://www.oreillynet.com/pub/a/etel/2006/07/25/an-interview-with-the-creator-of-freeswitch.html?CMP=ILC-FV7511446129&ATT=1837. 
  9. ^ A complete list of dependencies can be found in the dependencies page section of the FreeSWITCH documentation.
  10. ^ "Modules". FreeSWITCH Documentation Wiki. 2007-10-08. http://wiki.freeswitch.org/wiki/Modules. Retrieved 2007-10-07. 
  11. ^ "Languages for Call Control". FreeSWITCH Documentation Wiki. 2007-10-08. http://wiki.freeswitch.org/wiki/Languages_for_Call_Control. Retrieved 2007-10-07. 
  12. ^ FreeSWITCH Wiki FAQ
  13. ^ FreeSWITCH Wiki OpenZAP
  14. ^ http://www.freeswitch.org/node/264
  15. ^ FreeSWITCH Wiki Mod_Fax

External links

 
   
 
  Voip Information and Wiki content courtesy of Wikipedia.org