AsteriskTech- The culture / technology / and evolution of

A social network and information resource for Asterisk enthusiasts

Aaron Rosenthal

Asterisk and FreeSWITCH

This week I'm using some link bait which discusses a few of the differences between Asterisk and FreeSWITCH. David Greenfield wrote a short blog post discussing one particular case study where FreeSWITCH was used over Asterisk. I wouldn't say I'm all that crazy-go-nuts over the post but the topic is worth additional discussion since FreeSWITCH and Asterisk are both fantastic pieces of OS telephony software each of which are strong in their own right. This is in no way a comprehensive comparison between the two, but it's a start.

I think an even better comparison between Asterisk and Freeswitch was written by Anders Brownworth which looks at the differences between the two from a slightly more technical overview. As head of R&D for Bandwidth.com, I'm glad to hear Anders is playing with Open Source software like Asterisk and FreeSWITCH. My last post about Junction Networks discussed the use of OS software in a carrier network, it would be good news for OS-VoIP to learn that a big player like Bandwidth.com also uses OS software somewhere within their infrastructure, and where (they probably do already but won't admit it like most carriers). Perhaps Mr. Brownworth can shed some light on the topic for another OS-VoIP article???

Most people will agree that Asterisk in its current state has more feature capabilities than FreeSWITCH in its current state. What largely differentiates FreeSWITCH features and Asterisk features is how they operate as you begin to scale a system and the way in which those features and dial plans are managed.

I'm admittedly more biased towards Asterisk because it's been around longer and well, because my company is a Digium partner, but I'm also not one to ignore new software even if it feels like sleeping on the other side of the bed. That's the problem with these large stagnant corporate IT infrastructures, it's that the people in charge of them have largely relied on their proprietary vendors for information about new technology, and have become too comfortable with relying on these folks for the right information. It takes a true IT leader to step out of their comfort zone and see whether there's a better way of doing things, something other than that which has been spoon fed to them by vendors. A very simple way to prevent this type of comfortable stagnation is to simply read a few select magazines, and/or blogs on a regular basis; just to keep you up to speed with everything. Throw a wrench into the machine; rustle some vendor feathers; go ahead and see what's new, source some technology solutions from competitors of existing vendors... there's little to lose- either you find something better or your vendor freaks out enough to offer better pricing, it's a win win!

Back to FreeSWITCH and Asterisk. So why would one consider using FreeSWITCH and why Asterisk? There's no easy answer to this question because it truly depends on what you're trying to do, and since both pieces of software offer near limitless possibilities, I'm left with only the time and patience to discuss just a few. Depending on what you're trying to achieve, and what you need done, FreeSWITCH and Asterisk in my experience are typically used in a complementary fashion. Since FreeSWITCH was largely designed to satisfy the carrier space, perhaps its biggest advantage over Asterisk is in its distinctly different architecture. The general consensus amongst developers is that FreeSWITCH is capable of handling larger call loads on less hardware yet Asterisk has far more feature capabilities and is therefore perhaps the most suitable of the two in small to mid sized IP PBX deployments.

For anyone who has worked with Open Source VoIP software, they will know that in order to build the most stable VoIP system, you'll probably end up using a collection of Open Source software (maybe even proprietary software as well). Our rule for production systems is only ever use the software that does the job the best, and if that means proprietary then so be it (most of the time there's still a perfectly suitable OS alternative). This is the beauty of using software which is highly interoperable. One example in the design of an IP PBX would be using OpenSER for handling routing and load balancing, FreeSWITCH could be used as the IVR media gateway and conferencing, while Asterisk is left to handle the majority of the PBX features. Technically Asterisk could take care of all this but with a little more complexity, especially when handling thousands of simultaneous calls. I would argue that in the ~1000 extension space (still a fairly large system for Open Source VoIP standards) Asterisk may be all you need to build a complete IP PBX.

Asterisk has loads of features and although most work near flawlessly, there's also a couple that don't. One simple example is the call barge feature. I work with Polycom phones and wouldn't have it any other way but the call barge feature for some reason or another does not work properly between Polycom and Asterisk. If anyone at Asterisk/Polycom is reading this, GIT-ER FIXED! So FreeSWITCH can actually be used in such an instance to provide this standard "key system" functionality.
For very specific applications like conferencing and media serving, FreeSWITCH is the clear winner.
As the above quote from Anders Brownsworth states, FreeSWITCH is also excellent for conferencing. In fact Junction Networks, see post, also uses FreeSWITCH for their conferencing service. One of the reasons why FreeSWITCH is so good at conferencing is that call conferencing is a very resource intensive activity. Each call added into a conference requires an exponential amount of computing resources. Although Asterisk handles conferencing quite well, FreeSWITCH can support more calls on less hardware.

I haven't done much testing on the topic, but from what I hear people saying, typically a single Asterisk server has the capacity to handle ~250-300 simultaneous calls whereas FreeSWITCH users claim that with the same server ~1000 simultaneous calls can be handled. Remember that the purpose behind FreeSWITCH is...well... switching and call control, therefore most of the processes running FreeSWITCH aren't all that resource intensive hence more calls/less hardware.

At the end of the day, it helps to know where you're trying to go. If you plan to implement some element of Open Source telephony into your corporate communications infrastructure, you need to know exactly how the system must scale because scaling is one of the most important differentiators for which Open Source VoIP software to use and how you use it. If for example a large corporation decided to replace their entire Avaya infrastructure with Open Source VoIP software, the typical approach is start with a few small locations and eventually migrate everything into one large centrally managed yet geographically dispersed system. The difficult part about this approach is a single office might have 100 users, where Asterisk would be the software of choice, but a larger centrally managed system will likely be built for a much larger user population using a combination of the software I've already mentioned. You can't expect that the lessons learned building a small Asterisk system will map well to a larger clustered system built with various OS VoIP software.

Highly skilled Open Source VoIP engineers are few and far between, my advice to anyone interested in OS VoIP is to either use a highly skilled OS engineering firm, or run your Linux engineers through weeks (if not months) of training. You might say, well what about a consultant? Consultants can be an excellent resource for projects like these, but my experience is that only 1 in 10 really know what they're doing. There's a lot of amateurs out there who might have plenty of Trixbox deployments under their belt but the second you say custom development or troubleshoot, they're stuck with a finger up the bum, wide-eyed, and not a single clue as to what to do. I say all this because every week at SpecialAI some poor business gives me a call because their OS VoIP project got stuck where their consultants IQ ran out. Perhaps I'll write an article about how to choose the right OS VoIP consultant/freelancer but the responsible move for most organizations with a stretched IT department is to spend the extra money and simply hire the right company with the right support infrastructure to build, deploy, and maintain mission critical OS VoIP systems.

Blog post from www.os-voip.com

Add a Comment

You need to be a member of AsteriskTech- The culture / technology / and evolution of to add comments!

Join this network

About AsteriskTech- The culture / technology / and evolution of

Aaron Rosenthal Aaron Rosenthal created this social network on Ning.

Create your own social network!

© 2009   Created by Aaron Rosenthal on Ning.   Create your own social network

Report an Issue  |  Feedback  |  Privacy  |  Terms of Service