The World's First Cross-Platform Scalable FREE Multi-Protocol Soft Switch

FreeSWITCH is a scalable open source cross-platform telephony platform designed to route and interconnect popular communication protocols using audio, video, text or any other form of media.  It was created in 2006 to fill the void left by proprietary commercial solutions.  FreeSWITCH also provides a stable telephony platform on which many applications can be developed using a wide range of free tools.

FreeSWITCH was originally designed and implemented by Anthony Minessale II with the help of Brian West and Michael Jerris.  All 3 are former developers of the popular Asterisk open source PBX.  The project was initiated to focus on several design goals including modularity, cross-platform support, scalability and stability.  Today, many more developers and users contribute to the project on a daily basis.

We support various communication technologies such as Skype, SIP, H.323 and WebRTC making it easy to interface with other open source PBX systems such as sipXecs, Call Weaver, Bayonne, YATE or Asterisk.

FreeSWITCH supports many advanced SIP features such as presence/BLF/SLA as well as TCP TLS and sRTP.  It also can be used as a transparent proxy with and without media in the path to act as a SBC (session border controller) and proxy T.38 and other end to end protocols.

FreeSWITCH supports both wide and narrow band codecs making it an ideal solution to bridge legacy devices to the future.  The voice channels and the conference bridge module all can operate at 8, 12, 16, 24, 32 or 48 kilohertz in mono or stereo and can bridge channels of different rates.  The G.729 codec is also available under a commercial license.

FreeSWITCH builds natively and runs standalone on several operating systems including Windows, Max OS X, Linux, BSD and Solaris on both 32 and 64 bit platforms.

FreeSWITCH supports FAX, both over audio and T.38, and can gateway between the two.

Our developers are heavily involved in open source and have donated code and other resources to other telephony projects including openSER, sipXecs, The Asterisk Open Source PBX and Call Weaver.

a Spec Sheet is available on our Wiki.

Latest Posts

FreeSWITCH Launches New Platform on 10th Anniversary

The first line of code in FreeSWITCH was drafted Spring of 2005, nearly a decade ago. 2015 marks the 10-year anniversary of the core code and the 9-year anniversary of the FreeSWITCH Public Community. Over the years, the core developers of the project have worked hard to provide top notch community support. FreeSWITCH Solutions, the consulting firm owned and operated by the core FreeSWITCH team, have been offering commercial support for many years for companies who take things to the next level and use FreeSWITCH to power their products.

Today we are proud to announce the unveiling of FreeSWITCH.com and the FreeSWITCH Advantage™ platform and support. Built on top of Debian Linux, FreeSWITCH Advantage takes our proven support services and couples it with a reliable operating system distribution and the result is a uniform packaged system tuned specifically for running FreeSWITCH. New releases will be simple to apply and any changes to the other packages on the system that have an impact on FreeSWITCH will be applied and managed automatically. Customers will have the best environment possible in place to run their systems as well as the support they need to ensure they stay up and running. The FreeSWITCH Advantage provides critical early-access to releases to make sure any problems encountered are addressed ASAP. All of the code used with FreeSWITCH Advantage is taken straight from the project’s public git repository and packaged with testing and stability in mind so the community continues to benefit as a result.

FreeSWITCH Solutions also continues to offer the most comprehensive consulting services available with the experience and knowledge to create almost anything imaginable that pertains to interfacing with FreeSWITCH.


FreeSWITCH Week in Review (Master Branch) February 14th-20th

Hello, again. This passed week in the FreeSWITCH master branch we had 54 commits. The features for this week include: a simplification of command line arguments to allow for using -base instead of specifying each directory when using alternate configs, added support for URL attribute in the grammar tag for mod_rayo (this is useful for MRCP engines to look up their grammars directly), implement cookie-file option for mod_xml_cdr, allowing the removal of User-Agent header from the sip message, and the addition of multiple and reversed ranges for XML dialplan date and time conditions.

Join us on Wednesdays at 12:00 CT for some more FreeSWITCH fun! And head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

  • FS-7284 A simplification of command line arguments to allow for using -base instead of specifying each directory when using alternate configs.
  • FS-7285 Allow eavesdrop to bridge only one leg
  • FS-7164 Added support for URL attribute in the grammar tag for mod_rayo. This is useful for MRCP engines to look up their grammars directly.
  • FS-7299 Implement cookie-file option for mod_xml_cdr
  • FS-7302 Added params to fs_encode.c:-c for path to conf_dir -k for path to log_dir -m for path to mod_dir
  • FS-7309 Allow removal of User-Agent header from the sip message
  • FS-7304 Multiple and reversed ranges for XML dialplan date and time conditions

(more…)


FreeSWITCH Week in Review (Master Branch) February 7th-13th

Hello, again. This past week in the FreeSWITCH master branch we had 24 commits. The new features are: the addition of mongo_find_n API and the addition of error logs in mod_java.

This edition of the FreeSWITCH Week in Review marks the one year anniversary since I started this project! A whole year worth of commits! That is 1701 commits to be exact! And so many more to come!

Join us on Wednesdays at 12:00 CT for some more FreeSWITCH fun! And head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

(more…)


FreeSWITCH Week in Review (Master Branch) January 24th-31st

Hello, again. This week in the FreeSWITCH master branch we had 17 commits. The features this week are: an additional tweak to avoid jumping back and forth on ICE and setting ANI plan and ANI type for ftmod_libpri .

New features that were added:

  • 8d599a8 One more tweak to not jump back and forth on ice when you have 2 reachable
  • 8307e78 Set ANI plan and ANI type for ftmod_libpri
  • 3cd62df If ANI ton is not interpreted correctly by libpri, fallback to calling ton/type.

(more…)


FreeSWITCH Week in Review (Master Branch) January 17th-23rd

Hello, again. This week in the FreeSWITCH master branch we had 21 commits. There were quite a few commits this week geared toward new features, including: adding switch_cache_db_create_schema() to test for SCF_AUTO_SCHEMAS flag, enable nat mode for verto when ext-rtp-ip is set, auto urlencode user portion of sip uri, uuid_media support for SRTP Call, and adding –enable-sytem-lua configure arg to allow building mod_lua against system lua and allow mod_lua to build against lua 5.1 or 5.2. These lua changes mean enabling the usage of system lua in preparation for removing the lua library from tree.

New features that were added:

(more…)


FreeSWITCH Week in Review (Master Branch) January 11th-16th

Hello, again. This week in the FreeSWITCH master branch we had 15 commits. In an effort to improve the execution of the Week in Review, starting this week I will be using a Saturday-Friday time-line. This will give me more time to review the commits and get answers to questions. That being said, the features for this week are: completing the Linux portion of the update to flite-2.0.0-release and added param add-variables-to-events which will add channel variables to <offer>, <ringing>, <answered>, and <end> if set to true, while the default is false, in mod_rayo.

New features that were added:

(more…)


FreeSWITCH Week in Review (Master Branch) January 4th-10th

Hello, again. This week in the FreeSWITCH master branch we had 36 commits. Most of the features for this week involve mod_verto and include: fixes for recent firefox changes in mod_verto, work toward browser compatibility in mod_verto, some stuff to verto for introp, and some of the other commits worked toward updates for js, tweaking cdquality conference defaults, and adding utils.

New features that were added:

  • 8251218 Tweak cdquality conference defaults
  • 66c425c Add utils
  • 94bb460 Fixes for recent firefox changes in mod_verto
  • 41bfc18 Add some stuff to verto for introp
  • 9ca115c More work toward browser compatibility in mod_verto
  • b79a7e1 Vid screen share placeholder –args –enable-usermedia-screen-capturing –usermedia-screen-capturing
  • b170e9e Update minified js
  • 6c1bc0e Sync ws code

(more…)


FreeSWITCH Week in Review (Master Branch) December 28th-January 4th

Hello, again. This week in the FreeSWITCH master branch we had 10 commits. The features for this week are improvements to socket handling and the implementation of grunt for javascript management in mod_verto. Grunt is a task runner for javascript designed to automate small mundane tasks like minification, compilation, unit testing, and linting.

New features that were added:

(more…)