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 and the VUC

Go check out all the new, awesome features going into FreeSWITCH! The core developers made an appearance on the VUC call this past Friday to talk about and demonstrate some of the fantastic, new features in FreeSWITCH.


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) May 16th-May 22nd

Hello, again. This passed week in the FreeSWITCH master branch we had 7 commits. We saw some neat bug fixes go in this week and I hope everyone partaking in today’s holiday enjoys their long weekend!

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.

Improvements in build system, cross platform support, and packaging:

  • FS-7488 [mod_managed] Fix a build error with Windows and removed duplicate files

The following bugs were squashed:

  • FS-7541 Fixed an issue with audio gaps in native audio recordings
  • FS-7562 [mod_sofia] Fixed an interop issue caused when using bypass media with t.38 passthru
  • FS-7567 Fixed a rare segfault on shutdown caused by a race condition
  • FS-7529 Fixed an error with call recording on G722 calls

 


FreeSWITCH Week in Review (Master Branch) May 9th-May 16th

Hello, again. This passed week in the FreeSWITCH master branch we had 14 commits. Our feature for this week is the addition of limit backend to mod_mongo. It needs some testing, so go check it out.

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-7557 [mod_mongo] Add limit backend

The following bugs were squashed:

  • FS-7552 [mod_amqp] Fixed a segfault on unload and when no connections were valid
  • FS-7463 [mod_sofia] Conditionally allow intercept of replaced call-id when processing replaces header
  • FS-7557 [mod_mongo] Fixed a crash when doing ‘limit_usage mongo foo bar’
  • FS-7545 [mod_opus] Fixed RTP timestamps to prevent un-needed resampling when transcoding
  • FS-7184 [mod_spandsp] Fixed a fax buffer overflow in t38 on failure condition with some fax machines
  • FS-7546 [mod_spandsp] Fixed a crash when sending a fax when built using clang compiler

FreeSWITCH Week in Review (Master Branch) May 2nd-May 8th

Hello, again. This passed week in the FreeSWITCH master branch we had 6 commits. Some more work was done to mod_amqp this week as well as some bug fixes.

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-7526 Add enable_fallback_format_fields for mod_amqp producer profiles if the profile param is set and create the amqp exchange on the first startup of a clean platform.

The following bugs were squashed:

  • FS-7425 Fixed a bug when using a cert with missing dhparams resulting in a segfault.
  • FS-7523 [mod_json_cdr] Fixed a segfault caused by a missing config file.
  • FS-7357 FAX now tolerates EOP and PPS messages being incorrectly echoed.

FreeSWITCH Week in Review (Master Branch) April 25th-May 1st

Hello, again. This passed week in the FreeSWITCH master branch we had 14 commits.

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.

The following bugs were squashed:

  • FS-7472 [mod_sofia] Fix for a bug where the rtp-digit-delay profile param was being ignored
  • FS-7488 [mod_managed] Fixed a build error
  • FS-7490 [mod_rayo] Fixed a bug with the format of mod_rayo generated regex not working with newer libpcre
  • FS-7491 [mod_graylog2] Send timestamp with millisecond precision instead of microsecond as required by GELF
  • FS-7466 Fixed a bug causing audio issues by repeated log lines printing when rtp_manual_rtp_bugs is set to ALWAYS_AUTO_ADJUST
  • FS-7496 [mod_http_cache] Fixed an issue with the URL args being included in the cache file name and causing problems opening the files later

FreeSWITCH Week in Review (Master Branch) April 18th-24th

Hello, again. This passed week in the FreeSWITCH master branch we had 11 commits. We had one new feature this week with a force-register-domain param being added to mod_verto.

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:

  • FS-7470 [mod_verto] Add a force-register-domain param

The following bugs were squashed:

  • FS-7060 [mod_amqp] Fix for connection errors and a case where the connection succeeds but login fails
  • FS-7456 Fix bug in SDP parser, to allow it to handle sdp with m lines in any order
  • FS-7460 [mod_sofia] Don’t force ICE in 3pcc-mode=proxy
  • FS-7465 Fixed a crash in stereo file writing
  • FS-7425 Fix an audio Handshake failure 1 when using webrtc with PFS-only client (Firefox >=38)

FreeSWITCH Week in Review (Master Branch) April 11th-17th

Hello, again. This passed week in the FreeSWITCH master branch we had 14 commits.

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.

Improvements in build system, cross platform support, and packaging:

  • FS-7060 Added amqp.conf.xml to freeswitch.spec to fix packaging
  • FS-7428 Freeswitch.spec needs to copy mongo driver tarball to libs so that packaging doesn’t fetch from files.freeswitch.org for every build.

The following bugs were squashed:

  • FS-7407 Fixed a sip presence issue where the sip proxy changes the transport between the phone and freeswitch and then freeswitch replies back to the proxy over the wrong transport
  • FS-7431 Fixed the parsing of silence streams to be less forgiving of syntax errors
  • FS-7434 Reset jitter buffer when SSRC changes
  • FS-7440 Fix bug in SDP parser, when video a= lines are above the audio a= lines, that could lead to a crash

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

Hello, again. This passed week in the FreeSWITCH master branch we had 6 commits. More feature commits went in toward mod_amqp this week. The accuracy of the logging was tweaked and improved, the command configuration was expanded, and the command binding key configuration was added.

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-7430 Add variable expansion to mod_xml_ldap
  • FS-7060 Improve the accuracy of logging and handling of producer reconnect attempt interval for mod_amqp, expand configuration for amqp command configuration, and add configuration of the amqp command binding key

Improvements in build system, cross platform support, and packaging:

  • FS-7426 Fix the debian packaging for wheezy when the newer librabbitmq1 package isn’t installed