Overall roughly equal
TL;DR: Overall, the two systems are roughly equal, both are well supported and both are well documented for the needs of anyone with basic PBX needs. For most purposes, either way you go, you’re going to be fine. However, most likely, if you’re asking “Asterisk or FreeSWITCH” you have little experience with either, and therefore little experience with telephony — which turns out to be far more complex under the hood than you might think by using a smartphone. In this common case, you should probably go with Asterisk because: it’s easier to start with, your project is and will remain in-house managing a handful, dozens, or even hundreds of simultaneous calls but not thousands, and you won’t be concerned with advanced features like multi-tenancy, licensing implications, and whether certain call features have more extensively configurable properties. On the other hand, if you’re already a software developer or network engineer with previous exposure to telephony concepts or already know you want to integrate intimately with call features, and/or you have big plans and need to look as far into the future as you can, you’ll want to go with FreeSWITCH. I’m in the latter category, but I understand the practical value that sometimes it is better to give a person a fish instead of teaching them how to fish, since in this case, the caught fish can teach you how to fish if it’s really needed.
Why another article comparing these two?
It’s actually a summary of such articles, and writing is how I organize my thoughts. I’ve worked lightly with Asterisk over the years, but I have a lot of exposure to telephony as a developer working with larger proprietary systems, and am currently making a decision between these two “smaller” open source systems. I’m doing a ground-up evaluation of our own proprietary IVR system built around Asterisk. We’re either going to continue working with Asterisk at the core or migrate the project to FreeSWITCH, so I’m researching both, and to be frank, on almost all counts, I like what FreeSWITCH has to offer. I still like Asterisk — in fact, as a developer, I keep imagining a system that has a single interface managing both to make it even easier for people to decide, but that may be going too far.
I’ve just read through all of the following articles, which are listed in rough order of importance from my perspective, although anyone else might sort them differently. For example, the first article is old and kind of geeky but it puts you right into the heart of the difference between the two systems, since it was written by the lead developer of FreeSWITCH who had been working deeply with Asterisk for years before deciding to rebuild from the ground up. One of the things I like most about it is that he remained respectful of Asterisk, and speaks well of its merits even while diving into some of its weaknesses. This kind of generosity, in a world of humans who tend to compete fiercely, is attractive to me, and speaks well of FreeSWITCH’s thoughtful origins.
FreeSWITCH: How does FreeSWITCH compare to Asterisk?
Reddit: FreeSwitch vs Asterisk?
OnSIP: FreeSWITCH – The Asterisk Replacement?
A Comparison of VOIP Platforms: Asterisk vs. FreeSWITCH
Choosing between Asterisk and FreeSWITCH
WhichVOIP: FreeSWITCH vs Asterisk
Asterisk Vs FreeSWITCH
I reckon there are other such articles out there, but these are the ones that appeared first in Google. Since you’re still reading after all of those links, many of which are more detailed and better than this article, I’ll assume you’re interested in looking at a few gems like the Rosetta Stone (comparing specific features between both systems) and some high level observations that drove my decision to go with FreeSWITCH over Asterisk.
So what is a PBX vs a Switch?
PBX is smaller scale. A PBX is basically a switch that works inside an organization; a switch is analogous to a PBX that works between organizations. So, you’re a squirrel, a PBX is a tree, and a switch is forest. When Anthony Minessale said “Asterisk is a PBX, FreeSWITCH is a switch” what he meant was that FreeSWITCH was originally designed to do what Asterisk was doing — and to scale, whereas Asterisk was originally designed to address the needs of people who wanted an open source alternative to the big proprietary systems that needed some disrupting at the entry level. Both A and F are actually Back To Back User Agents, both have embedded SIP servers, both cover all the same basic telephony features. Due to the advent of VOIP, the distinction between PBX and Switch has blurred since back in the day when switches were some of the most expensive, sophisticated software on the planet, and PBXes were smaller versions of switches that ran inside universities and large corporations and neighborhoods.
Asterisk to FreeSWITCH Rosetta Stone
https://freeswitch.org/confluence/display/FREESWITCH/Rosetta+Stone helps already those familiar with Asterisk to quickly locate that which is equivalent or analogous in FreeSWITCH. It’s also useful for a quick overview of how the two systems “think” about the world.
To be continued as soon as I have time…