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 series, 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, an IRC channel, an annual convention, and weekly videoconference calls hosted on an instance of FreeSWITCH. It's licensed under the MPL, the Mozilla Public License.
Because FreeSWITCH is an engine designed as a platform on which to build many different types of systems, it is inherently modular. Our motto is: "Don't glue the Lego pieces together". FreeSWITCH is a modular application, in which modules can extend the functionality, but the abstraction layer prevents inter-module dependency. The goal is to ensure that one module is not required to load another.
What Is FreeSWITCH™?
FreeSWITCH™ is an open source communications platform written in C from the ground up. The core is licensed under the MPL 1.1 but other components have other licensing requirements. Users have many choices of platforms on which to run the software including Windows, Mac OS X, *BSD, Debian, Ubuntu, and CentOS/Fedora/RHEL.
With a desire not to 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 (or created) to add virtually any functionality desired by the user.
- Default implementation is for a PBX or Softswitch (actually a back-to-back user agent or B2BUA)
- The core (libfreeswitch) can be embedded into almost any app that can use a .so or .dll.
- Transform it into a softphone, PBX, soft-switch, conference bridge or a custom telephony application.
- Module system allows you to extend FreeSWITCH easily.
- Handles thousands of concurrent channels with media on a standard PC.
- Interoperates with many different products and protocols.
- Such as Asterisk, Yate, or sipXecs.
- Supports SIP, SCCP, H.323, LDAP, Zeroconf, etc.
- With FreeTDM, a BSD licensed TDM abstraction library, or hardware analog FXO gateways it can interface with the PSTN as well.
- Supports Secure RTP (SRTP) and zRTP (libzrtp).
- Please see the complete Feature list for more features.
Tutorials and Guides
New Users - Start Here
Weekly Conference Calls
FreeSWITCH Community page
The following sample applications are included in the distribution:
- Gino's Pizza: Uses PocketSphinx, an open source speech recognition engine developed by Carnegie Mellon.
- PBXMate Integration: Integrating with SoliCall's PBXMate to improve audio quality.
- 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 thedonate button on the left.
Community and Support
- Join the FreeSWITCH Documentation Team: Docs Team.
- Freeswitch-ES First FreeSWITCH Spanish-language Community
- freeswitch-users user mailing list (Learn how to ask smart questions before posting!)
- freeswitch-dev developer mailing list
- IRC Chat - irc.freenode.org, channels: #freeswitch, #freeswitch-dev, #freeswitch-social, #freeswitch-docs, #freeswitch-web, #freeswitch-de, #freeswitch-es, #freeswitch-fr, #freeswitch-pl, #freetdm
- freeswitch-ru FreeSWITCH Russian Google group & Jabber conference firstname.lastname@example.org (обсуждение на русском)
- freeswitch.ru FreeSWITCH Russian wiki and forum
- freeswitch.de German FreeSWITCH site
- FreeSWITCH-CN Non-official FreeSWITCH Chinese community
- FreeSWITH-VoIP88 FreeSWITCH Chinese wiki and forum
- IRC en français - irc.geeknode.net channel #freeswitch or irc.freenode.net channel #freeswitch-fr
- Voice Conference
- SIP: email@example.com
- H.323: firstname.lastname@example.org
- IAX: email@example.com/888
- Google Talk/Jingle: firstname.lastname@example.org
- PSTN: +1-989-386-9900 or +44-3300-100-295
- Need a feature or functionality that's not listed? Then put your money where your mouth is and help finance the project! Click here for to view or post your bounty.
- Are you a programmer who wants to build something, but are looking for someone to sponsor the idea? Please add it to the bounty challenged ideas list.