Of all the sessions I missed at OSCON, perhaps the one I regret the most was Brian Capouch’s “Understanding Asterisk.” And that was before I had the opportunity to catch up with him this morning.
For those unfamiliar with the Asterisk project, it’s essentially an open source telephony project suitable – among other things – as a replacement for PBX systems. What I’m beginning to realize, however, after reading things like this and having the opportunity to speak with folks like Brian is that I – like a lot of people – have dramatically underestimated the implications of the technology.
The difficulty I think is that we’re simply not used to thinking about telephony or voice in packetized, digital terms – as just another data object that can be programatically manipulated. Instead, I had it bucketed in the traditional PBX/voicemail/etc system box, and as such my thinking was limited. About six or eight months ago I recommended to a few ISV customers of ours that they should consider Asterisk as a bundled piece of offerings to their SMB customers, many of whom are probably either have no equivalent system, are paying through the nose to telecoms for it, or are frustrated with a legacy PBX.
While it turns out that the idea wasn’t so bad, as some of the SugarCRM customers asked for a similar integration and one of the projects apparently will be delivering it, that’s child play for Asterisk. Brian discussed some really creative uses, like an Asterisk based system using a webcam and other components costing under $100 that will ring the line of your choice when it senses movement. Or one of his students, who’s built an Asterisk based wakeup call system built for and used by his peers. Or a system that pings connections for his wireless ISP, and if receiving five timeouts places a call to the support technician including directions, problem description and more. Or a system that allows for a business with offices in geographies as varied as Boston and Tokyo to not only route support calls automatically to the office that’s open, but allow for local calling between them.
As I put it to Brian, I see Asterisk as a lot like Greasemonkey. Both open their respective mediums to programmatic manipulation, and therefore to the creativity of a vibrant and growing community. Just as we’ve seen a small forest of Greasemonkey applications spring up – few if any of which could have been predicted beforehand – so to do I think we’ll see a flood of new applications for Asterisk, many of which will save businesses and consumers some combination of time and money, while offering them features and services they’ve never had before.
The primary obstacle for the project at present, as near as I can determine, is the learning curve which, because it introduces telephony concepts and jargon on top of the technical packages, is relatively steep. But the web resources there are getting better all the time (I’ll let you know how I make out in a few weeks), and Brian’s got a book aimed at folks like me – some technical ability, with no telephony background – coming out from Addison Wesley next spring and I know I’ll be picking up a copy.
In addition, there are some manufacturers and carriers that seem less than keen to support Asterisk. Some of the VOIP providers have taken a stance similar to some of the mobile phone carriers, which is that the hardware you’re issued is locked permamently, despite the fact that they have no intention of ever using it again. My VOIP provider, Packet8, seems to be one of the folks in this boat as my BPA410 seems to be less configurable to work with Asterisk than was its predecessor. The traditional objection to allowing this is similar to the pushback I got concerning Greasemonkey: support. If Packet8 or Vonage were to allow their hardware to be reset, they’d find themselves in a support nightmare, or so the argument goes. I’m not particularly sympathetic to this view; seems to me that you could just take the stance that electronics manufacturers always have, which is that if you modify the device in any way, shape or form you can kiss your support goodbye. Most of the Asterisk crowd would be perfectly fine with that, but in many cases – my Packet8 device for one – modifying the device simply isn’t possible.
Provided I can get the basics together, however, Brian – who besides being a professor at St. Joseph’s in Indiana and wireless ISP entrepreneur, hacks and speaks on Asterisk with a focus on the embedded side – has offered to help with any difficulties I run into. What more can you say about the guy and open source in general?
How does this compare to Skype is the logical question folks with some interest in this space will ask? Well, as Brian pointed out Skype is essentially a closed system and as such is not manipulable in the same fashion as Asterisk allows. Clearly they’ve got a ton of mindshare and users, which have been enough to earn them multi-billion dollar valuations from some, but I’ll be interested to see how much further Skype can grow longer term if the applications are limited by the nature of the system.
Anyway, if you’re interested in open source trends and opportunities in the 12 to 18 month timeframe, I’d watch Asterisk very closely. This could be big, particularly if any of the hardware/wireless/ISPs scent the opportunity that I for one believe is there. Stay tuned.