The much-anticipated release of FreeSwitch 1.0.0 was Monday. For those not in-the-know, Freeswitch was developed by previous Asterisk developer Anthony Minessale and others who felt that Asterisk needed a major overhaul if it was ever going to scale. They felt that their concerns and opinions were falling on deaf ears and struck out on their own to create a new vision of telephony. They achieved their goals and more.

FreeSwitch is getting a lot of attention from those in the VoIP and Asterisk community and seems quite promising. Built from the ground up to address issues with scalability and deadlocks within channels, it’s rock solid. It doesn’t have as many applications right now as other software, though its modular architecture will make it a favorite of developers. Think of it as somewhere between Asterisk and Ser from a technical standpoint. Hurdles to adoption with people now using Asterisk will be: its lack of quality, easy to understand documentation, and a need of financial backing (Asterisk is venture capital city). If that happens, look out, “a storm is a comin’.” This is really powerful and flexible stuff we’re talking about here. This is one horse that could pay off at a price for those willing to take a shot.

It’s definitely its own animal. Configuration files are all in XML, which are easily edited with a plain text editor. The command syntax will be completely foreign for anyone coming from planet Asterisk to this brave new world. I wrestled with it for a few times before the light bulb went on and success was at hand. I’ll be posting all my configuration files for a small SOHO setup with an IVR and a couple of phones here. Voicemail is right out of the box and hardly any configuration is needed. If you need help just go to their IRC channel on http://freenode.net/irc_servers.shtml, and ask one of the friendly folks there. They have a neat way of helping people there. You take a number and one of the channel operators will help you with your problem. I noticed in the IRC channel, a lot of familiar names, as will anyone familiar with Asterisk. So, this is where y’all been hiding! I was told by someone there to think of FreeSwitch like Lego’s. The problem with previous telephony software was that the Lego’s were glued together. And they wanted their building blocks, being developers, to be manipulated in any way possible and as free from the core as possible. And that seems to be a main difference with Asterisk, whose core is much larger and tightly integrated. FreeSwitch is still in its infancy and will have a very bright future. One nice feature it provides is higher audio quality. It supports 8 kHz (normal telephone), 16 kHz (widenband or g722) and 32 kHz (ultra-wideband). Now people can fully take advantage of those HD-phones. There is also video support built in and it should be interesting when and what applications will pan out of that feature.

FreeSwitch already supports a whole lot of features, codecs, and protocols:

* SIP, H.323, IAX2

* GoogleTalk and Jabber support

* Centralized user and domain directory

* Stereo call recording

* Software-based conferencing

* Configuration files and call records in XML

* Interactive voice recording and call attendant

* Narrow and wideband codecs

* Voicemail-to-podcast

* Urgent message tags

* Multiple SIP registrations per user account (I like this one-very handy for testing!)

* Multi-tenancy

* NAT support

* STUN support

* Message-waiting indicator

* Presence, SLA (shared line appearance), and BLF (busy line field)

* Zapped and Sangoma hardware support

* Shoutcast streams

* OpenZAP, a common driver and interface for TDM (analog-to-digital) hardware such as Sangoma and Zaptel

From Dave Greenfield’s blog at zdnet.com:

“We replaced a cluster of 10 Asterisk servers with a single FreeSwitch server,” said Chris Parker, director of systems for a large publicly traded CLEC (Competitive Local Exchange Carrier).

Parker says he’s getting several hundred concurrent calls on a single, dual-core box that’s also doing all of the media processing, a computationally intensive task. How’s that for Big Boy Pants?!