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.
There is a Network World article with the following headline:
Linux Foundation chief: 'You are an idiot' if you don't give back to open source
The lede on the story is this:
Taking without contributing back to the upstream project defeats the benefit of open source and sooner or later, all open source users realize this, contends Jim Zemlin
After reading the whole article I think you'll agree that the title is pretty much just sensationalistic clickbait. However, Jim Zemlin does make an interesting argument about why it's important to give back to the open source projects that you use: It's in your business interest to do so. I think that makes a lot of sense. The usual mantra we hear (and often repeat ourselves) is, "Don't be a leech! Give back to the project that you downloaded for FREE." That mantra is probably still true. However, in a world where Open Source is big business it may not matter any more.
Consider the "money" quote from Jim Zemlin in the aforementioned article. Instead of giving back because it's "the right thing" to do there are business reasons to give back:
"It doesn't matter. I don't care if anyone contributes back... [It's] not the right thing to do because of some moral issue or because we say you should do it. It's because you are an idiot if you don't. You're an idiot because the whole reason you're using open source is to collectively share in development and collectively maintain the software. Let me tell you, maintaining your own version of Linux ain't cheap, and it ain't easy."
I like Jim's reasoning here. Normally the people who don't "give back" are considered "idiots" or "leeches" or a host of other colorful epithets. However, none of that really matters any more. Those who don't give back aren't idiots in the epithetical sense. Rather, they are idiots because they are running the risk of shooting themselves in the foot from a business perspective. If you use Open Source software in your business then a healthy Open Source project and community is good for business.The more heavily you rely on Open Source, the more you need healthy projects and communities. Giving something back to the community is an investment in your own business.
That brings up an interesting question: what, exactly, does it mean to "give back"?
What It Means To "Give Back"
The article cites Canonical (the Ubuntu folks) as an example of an entity that "doesn't give back." The basis for this claim is that Canonical isn't in the top 10 list of employers who contribute to the Linux kernel. According to the article, they're not even in the top 30 of employers who contribute to the Linux kernel. To some, this is damning evidence of "idiocy" on the part of Canonical: if you aren't making contributions to the kernel then you aren't "giving back." The list cites "number of changesets per employer" for the most recent quarter. It is foolish to use this metric as a proxy for how much a company "gives back." By this metric, Microsoft is a better Linux community member than Canonical! (Not to mention others who came in behind Microsoft this quarter: TI, Broadcom, Oracle, AMD, Nokia, Fujitsu, Google,...)
Since I live in the US I'll use an American football metaphor. Using "number of changesets per employer" as a metric for "how much they give back" is like using "number of yards gained" as a metric for how much a player "contributes" to his team's success. By this token, the members of the offensive line don't contribute, nor do the members of the defense, and all the special teams players aside from the kick returner. The fullback must be a slacker because he only carried the ball 3 times for a total 6 yards. What if he punched it in on 4th and goal from the 1 yard line? You get the idea. Yards gained is a valuable metric for certain players, but it isn't the only metric and certainly isn't the most important one. (Points scored, anyone?) By the same token, the number of changesets per employer is an important metric for seeing who's doing what in contributing to the Linux kernel. However, it is not a viable proxy for measuring how much someone "gives back" to a project.
Thankfully we hear from Jim Zemlin again. Regarding Canonical he states: "Just to be clear, Canonical staff, engineers, management are not idiots. They get open source well and as they grow, I think it will be in their business interests to give back."
I agree. Besides, there is a difference between "Linux" the kernel and "GNU/Linux" the complete operating system environment. The Linux kernel is like the Hemi engine running the automobile. The automobile doesn't do much without the engine, and the engine needs something to move. They work together. Giving back to the Linux ecosystem is every bit as important as contributing to the Linux kernel. Does anyone think that Canonical hasn't helped the Linux ecosystem? Of course, they have!
So, how can you give back to your favorite open source project? If you know how to write code then submitting patches is almost universally accepted as a way to give back. "Patches welcome" is not just a catch phrase. However, most of us are not skilled coders. We can give back in other ways. For example, the need for testing and documentation is ubiquitous. If you know how to check out a piece of software and run it through its paces then please do so. Find out how your favorite project's bug tracking system works. FreeSWITCH uses Jira. Most developers will tell you that a well-researched, detailed bug report is a godsend. Many developers spend an inordinate amount of time trying to decipher and reproduce bugs that are reported. A useful skill to develop to help them out is to be a "bug marshal" - someone who reads bug reports and verifies them by trying to reproduce the symptoms.
You can also help out by getting involved in the community. Most communities have a mailing list and a community knowledge store called a wiki. FreeSWITCH uses MediaWiki. Some projects have a community forum. Get connected with your community. Read the mailing list posts and answer the easy questions that you know. Join the IRC channel if your community has one. This is a great way to connect with others who share your interest in an open source project. The experts will help you when you are a noob and after you learn a bit you'll be in a position to help the next newbie. (Remember how it felt the first time you asked a question in IRC or on the mailing list?) Developing a thriving community is a great way to keep an Open Source project healthy.
If you really want to help out then consider donating money or buying a developer something from his or her wishlist. Send them a gift card from Starbucks or Amazon.com. Find a way to give them a personal "thank you" - they appreciate what you do and they will definitely be more inclined to help you the next time you have a question.
The moral of the story: don't be an "idiot"! Giving back to your Open Source project helps everyone, yourself included.
Michal Bielicki (IRC: Cypromis) has announced that the next FreeSWITCH training in Germany is to be held September 19-21 in Berlin. This will be a German language session. More information can be found on the Wizards of FOSS web site.
Thanks to Michal for helping to expand FreeSWITCH in Europe!
A few news items just crossed my desk and I thought you'd appreciate having some quick links. These all come from Channel Partners, so a quick tip o' the cap to them for sending these along:
- SIP Trunking Reality Check - Some good things to keep in mind when buying (or installing) SIP trunks.
- PBX Sales Are Growing Again - No surprise that Cisco (bleh) is the market leader, but there is a surprise entry on the list. (Sorry, it's not FreeSWITCH or CudaTel... yet!)
- CenturyLink Keeps Growing - After completing its acquisition of Qwest, CenturyLink gobbled up Savvis and is now the third largest telecom in North America.
If you have other news picks feel free to send them my way or drop them into the comments section on this post.
We are happy to announce that long-time FreeSWITCH community member Michal Bielicki (IRC: Cypromis) has helped to organize a number of training sessions for FreeSWITCH and other OSS projects. Michal reports that the FreeSWITCH training will be conducted in German, and there will be German Git training as well. For those in Europe who would like to learn more we invite you to visit the Wizards of Foss site to get more information.
Thank you to Michal and the rest of the worldwide FreeSWITCH community for giving our project such a great international flair!
If you've seen the movie Office Space then this video will make perfect sense. Warning, the audio is probably NSFW so use headphones or low volume.
Good news for for all of our RTMP users: Anthony has checked the sample Flex client into the main FreeSWITCH repo! This is essentially the same client that is used on the new FreeSWITCH conference interface.
The response to mod_rtmp has been exceedingly positive. While mod_rtmp covers the server side of things, many have asked for more information and ideas on what to do on the client side. The sample Flex client is a great starting point for prospective developers to learn more about building an RTMP client.
In addition to the sample client, we also have a Jira case open for the building of a more complete RTMP client. We've had a good response to the call for volunteers to help. Most of them are willing QA testers, which is definitely a good thing. We have also had a few programmers with Adobe development experience volunteer to assist. If you are able to help out please add your name to the comments section on FS-3368.
Lastly, we'd like to remind everyone that you can learn more about mod_rtmp - not to mention rub elbows with the FreeSWITCH developers - at ClueCon 2011, which is being held in Chicago this August 9-11. We hope to see everyone there!
Today has been a bit busy with tech news that may be of interest to our community so I've summarized a few items and have provided links. They both come via Slashdot:
FCC Ups Penalties For Caller ID Spoofing - This is a good one to keep in mind if you are a service provider. Make sure that your users aren't up to no good - we'd hate to have our community members drawn into litigation because of illegal activities on the part of individual users. Note that modifying caller ID isn't the issue here, but rather "to commit fraud or with other harmful intent."
USPTO Rejects Many of Oracle's Android Claims - More good news from this proverbial clash of the tech titans. If you didn't already know, Oracle is suing Google for infringing on various Java-related patents that were acquired when they bought Sun Microsystems. It seems that most people realize just how silly these patents are - even the USPTO, who in their infinite wisdom issued the patents in the first place, has rejected many of the claims. If you want some deeper insights into this issue I highly recommend reading Groklaw's coverage of the litigation.
Just to let everyone know, Philip Zimmermann, aka the father of PGP, is coming back to ClueCon 2011! (More information available here.) Philip will be headlining the VoIP security roundtable session on Wednesday afternoon.
For more information about ClueCon please visit our website or call 877.742.CLUE.
The FreeSWITCH team is pleased to announce that we have officially released mod_rtmp - the first truly free RTMP solution for open source VoIP and telephony! A special thanks goes out to Barracuda Networks for sponsoring the professional development of this module and allowing it to be freely released under the MPL along with the rest of FreeSWITCH.
RTMP - the Real Time Messaging Protocol - was originally developed by Macromedia to allow the streaming of audio and video through the ubiquitous Flash player. After Adobe acquired Macromedia they released the RTMP specifications which has allowed third party developers to create server-side applications that work with Flash and other RTMP-enabled clients. mod_rtmp turns FreeSWITCH into an RTMP server, allowing you to bridge RTMP client streams to SIP and TDM connections as well as conferences. Currently, mod_rtmp supports the Speex audio codec.
One of the applications of this technology is to allow Web site visitors to make phone calls right from their browser. A company's Web page can detect Flash and offer the visitor an option to "Click Here" to speak to a customer service representative.
To illustrate the usefulness of mod_rtmp, Anthony Minessale has added a Flash-based connector to the public FreeSWITCH conference. Browse there and try it out. Be sure that Flash is installed for your browser and that you have a headset or other audio device. For security reasons you will need to explicitly allow Flash to access to your audio device. Click "Call FreeSWITCH Conference" and then enter a name in the popup box. Click "Call" and you will be connected to the FreeSWITCH public conference. (Be sure to open the keypad and press zero to unmute!) If others are present you will be able to speak with them. Audio devices that support wide-band audio will produce higher quality audio.
Would you like to learn more about FreeSWITCH and mod_rtmp? Be sure to join the FreeSWITCH developers at ClueCon 2011 this August 9-11 in Chicago. ClueCon is a great opportunity to meet the authors of some of your favorite open source VoIP and telephony software projects.