Welcome to the community documentation wiki for FreeSWITCH, a telephony construction kit for building everything from softphones to full Class 5 switches. You can embed FreeSWITCH into a soft- (or hard-) phone or OpenWRT router, hook it to PRI circuits through FreeTDM and hardware interfaces such as the Sangoma A100 line, or use it to build an office PBX phone system -- from scratch, or using packaged add-ons like FusionPBX.
FreeSWITCH has a large and active development community, mailing lists and an IRC channel, an annual convention, and more. It's licensed under the MPL; the Mozilla Public License.
Which version should I use?
Executive summary: deploy stable for production systems, master for test and development systems.
The stable 1.2 series is recommended for production use. This is available in Git but also as a tarball. Although the tarball has the latest official stable release, there may be more recent patches to the stable branch in the v1.2.stable Git branch, therefore Git is still the recommended option.
The stable 1.2 series is available in Git branch v1.2.stable. Patches to the 1.2 series will be made here and periodically released as the next 1.2.x version. Since not every patch will mean a newer version you will get the very latest patches to the stable series by using this branch. This branch is a moving target - the checkout date and revision will form part of the version number.
The current stable release in a tarball of FreeSWITCH is 1.2.15, released on 14-Nov-2013. Older releases and other files are in the archive, along with digital signatures that you can use to verify your download.
If you wish to try an even newer experimental version you can use the Master branch from Git. New features will only be added to the Master branch. This will have the newest, latest, and greatest features, but due to upgrading of the bundled libraries it might be less stable than v1.2.stable for a short while. If you use this branch you should test the installation before releasing it to production use to confirm that it is stable in your environment. You can then use 'git checkout' to install the same tested revision on all your systems.
NOTE that this is a formal change of development practice; Master used to be the recommended deployment target for all users, but now the tarballs and the Git stable branch serve that purpose. Older documentation/tutorials may still exist recommending using Master, but these will now be out-of-date.
Any previous 1.0 release (eg 1.0.4, 1.0.6) is now ancient and will contain a range of bugs that have since been resolved in newer releases, so you should seriously consider upgrading to 1.2 stable.
When upgrading please review the Release Notes page to see whether there are any behavior changes since previous versions.
See the Download & Installation Guide.
If you'd like to see an overview of the features & fixes in the stable versions click here.
- FreeSWITCH™ FAQ: Frequently Asked Questions. You should really read this.
- Buy the FreeSWITCH book from Packt Publishing or Amazon!
- Be sure to buy the FreeSWITCH Cookbook too! Its available at Packt Publishing!
New Users - Start Here
- Introductory FreeSWITCH article in Linux Pro Magazine.
- Download FreeSWITCH™
- Installing FreeSWITCH™: Guide for compiling and installing FreeSWITCH™
- Ubuntu Quick Start: 10 minute guide to getting FreeSWITCH running on Ubuntu.
- Configuring FreeSWITCH™: Guide to follow after you have compiled and installed FreeSWITCH™
- SIP Provider Examples: Info and examples on how to connect to SIP provider gateways.
- Dialplan Examples: How to set up your dialplans.
- Firewall Configuration: How to set up your firewall to allow VoIP traffic.
- Performance testing and configurations: Tips on tuning and testing your FreeSWITCH installation
- Behavior Impacting Changes History: Changes made that may have impacted on previous default behavior.
Weekly Conference Calls
- Gino's Pizza: Uses PocketSphinx, an open source speech recognition engine developed by Carnegie Mellon.
- Ham Radio Integration: Interfacing radio devices to FreeSWITCH (ham, commercial and unlicensed)
- PBXMate Integration: Integrating with SoliCall's PBXMate to improve audio quality.
- Core Outline of FreeSWITCH™: This gives the basic outline of FreeSWITCH™
- Life Cycle of a Call into FreeSWITCH™: The basic life cycle of a call.
- Documentation: Examples, Command Reference, Troubleshooting and debugging FreeSWITCH™, Developers Documentation.
- Spec Sheet: What can FreeSWITCH™ do?
- Interop List: Hardware/software interoperability page.
- Real-world performance results: What FreeSWITCH can achieve in performances in REAL-WORLD, as contributed by the community.
Contributing to FreeSWITCH™
FreeSWITCH™ is run by a non-profit corporation OSTAG, the Open Source Telephony Advancement Group. FreeSWITCH™ is made possible through donations from corporations and individuals alike. Donations help keep the project going. You can donate by clicking the donate button on the left.
What Is FreeSWITCH™?
| FreeSWITCH™ is an open source communications platform written in C from the ground up. Licensed under the MPL 1.1 and running natively on Windows, Mac OS X, Linux, *BSD, and other Unix flavors, potential users are given many choices on how and where to run the software.
With a desire to not reinvent the wheel, we've designed FreeSWITCH to take advantage of as many existing software libraries as possible. It has a modular, extensible architecture, with only limited and necessary functionality in its core. Optional modules can be employed to add virtually any functionality desired by the user.
|Learn about the different aspects of FreeSWITCH™, from What's New to the Current Status, FreeSWITCH™ Project News and even when FreeSWITCH™ is in the news.|
Community and Support