Welcome To FreeSWITCH
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 telephony applications can be developed using a wide range of free tools.
FreeSWITCH was originally designed and implemented by Anthony Minessale 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 GoogleTalk 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 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.
FreeSWITCH Communicator - The FreeSWITCH Softphone!
The FreeSWITCH team is happy to announce the advent of a new open-source project based upon FreeSWITCH: FreeSWITCH Communicator, the FreeSWITCH-powered softphone. It is available now in the FreeSWITCH source directory. The project leader is João Mesquita, an active member of the FreeSWITCH user and developer communities.
WHY A NEW SOFTPHONE?
I asked João Mesquita why he felt the need to start a new project. Regarding softphones he notes that there is no "open-source, cross-platform [and] stable solution out there." He was already a FreeSWITCH supporter, and when considering how to use libfreeswitch in a project he felt that a softphone would be a logical choice. Certainly there has been a lot of talk about FreeSWITCH's capabilities of scaling up, however the FreeSWITCH Communicator project will demonstrate the usefulness of FreeSWITCH being able to scale down.
Another advantage of using FreeSWITCH is that it supports many zero-cost audio codecs. Imagine a softphone that can support Siren, CELT, G.711, G.722, BroadVoice 16 and 32 and many others. Additionally, since FreeSWITCH is cross-platform it can be used as the telephony engine in FreeSWITCH Communicator running under Linux, Mac OSX, and Windows.
WHAT IS INSIDE FreeSWITCH COMMUNCATOR AND HOW DOES IT WORK?
Because the goal is to have a cross-platform softphone it was necessary to choose a GUI toolkit that supports cross-platform development. João relates that the choices are extremely limited and that for this project it was an easy decision: Qt from Nokia. The Qt toolkit supports numerous platforms as does FreeSWITCH. The FreeSWITCH Communicator project aims to support the "big three" of Linux, OSX, and Windows.
The softphone itself uses the FreeSWITCH softphone configuration as its base. The audio interface uses mod_portaudio and the SIP interface uses mod_sofia. All existing codecs are compiled and included. The project intends to support all codecs added in the future. (This is another reason to use FreeSWITCH as a telephony engine - new codecs and features are added very quickly and easily.)
HOW YOU CAN HELP
Like most open-source projects there are many ways that the community can help. The most important thing people can do right now is compile and test the new software. More information about using FreeSWITCH Communicator can be found on the wiki. João will gladly accept constructive feedback on compiling and using FreeSWITCH Communicator. There are certainly other ways that you can help. We can always use new documentation on the wiki page, including how-to information on compiling and running FreeSWITCH Communicator. Those with programming experience can assist with writing coding and adding Doxygen markup. If you have graphic design, art, or UI design skills then you are in a great position to assist with the usability and aesthetics of FreeSWITCH Communicator. Please contact João (IRC: jmesquita) if you wish to assist him with this project.
Thanks again to João Mesquita and the rest of the FreeSWITCH community for helping to make these wonderful open-source telephony projects possible. Please keep up the great work.