|
By Howard Wen | Diggable
Six years ago, Mark Spencer started his own Linux technical support business. Unlike other tech startups at the time, he spent his money frugally. Spencer had to; he didn't even have enough to pay for an office PBX system, which can cost up to several thousands of dollars.
"I had about $4,000 to start it out with, and I wasn't about to buy a phone system, so I figured I'd just make one," Spencer says.
He created Asterisk, a software platform PBX system, and open-sourced the code in 1999. Asterisk was not particularly useful to others outside of Spencer's own needs for his company, until a few years later when community contributions added support for more industry-standard telephony hardware, and modern Internet voice communications technologies, like Voice-over-IP (VoIP), to succeeding versions.
As the user base of Asterisk grew, Spencer founded Digium, Inc. to capitalize on providing support for the software and to ensure development of it at a professional level. Written in C, Asterisk remains free to use and open-sourced. Over 300 people have contributed to its codebase, and Spencer estimates that about a dozen volunteers actively take part in its development.
Asterisk isn't the only notable open-source project which came from Spencer. He is the creator of the better-known GAIM, the cross-platform instant messenger which brings a user's accounts from the major messenger applications (AOL Instant Messenger, Yahoo Instant Messenger, etc.) under one convenient program. Both Asterisk and GAIM share the idea that merging together multiple communication platforms to operate in one system is a good thing, with the former doing this for the various telephony technologies and standards.
Spencer, the President of Digium, talked with us about why there is untapped potential for open source in the telephony market, and how the open-source nature of Asterisk brings faster solutions over proprietary PBX systems.
OSDir.com: Generally speaking, what are the problems with PBX software systems today and what does Asterisk bring to improve things?
Spencer: Communications systems tend to be very diverse. You got a lot of traditional telephony, "old school" PBX's, analog stuff -- everything that telephony has been for the last 100 years, and you got all the new Voice-over-IP stuff. There [are] distinct models in terms of how they all work, and one of the problems is to make that all "transparent," so that your features work as you would expect them to work and you can seamlessly integrate it together. That's one of the things that Asterisk does very well. It supports a very broad set of technologies [and] can be adapted to accommodate new technologies.
OSDir.com: That's been the major challenge with PBX systems -- bringing together old and new telephony technologies?
Spencer: Old and new features have always been a big issue. I talked to a reseller a few years ago that had a $300,000 IP-PBX that he installed for a customer. He got the whole thing installed, and they couldn't change the speed dial from the phone. The speed dial had to be programmed by the sys-admin. So all these doctors that had been using this system before were up in arms, because they couldn't program their speed dial anymore. That was a feature in their old system that wasn't in the new one. That's where having a system like Asterisk really helps because you can add whatever incremental features or change them, so it can behave the way the old system did or at least be backwards compatible with whatever works well for you.
OSDir.com: What do you advise people to bear in mind if they plan to deploy Asterisk for their PBX needs? What should they know about the features and limitations of the software's current version?
Spencer: Asterisk, as its name implies, was designed to do everything in telecom -- the name comes from the wildcard symbol. It can do most anything that you need it to do.
People need to be sure that they design their network with whatever scalability they need in mind. If you got a small office, it's no big deal to shut it down and re-install or whatever. On the other hand, if you can't have any kind of outage -- remember, these are still PCs that you're typically running with -- you need to have an architecture where you got some redundancy built into the system. These are the same kinds of problems you would run into [with a] Web server, but [people] don't necessarily think about it on the phone system side.
In terms of features, one of the biggest things that Asterisk has that is sort of unique is a peer-to-peer routing protocol. You can just scale your system by adding more boxes and they peer together with this "mesh," this "trust group." So when you add an extension on one box, it becomes available on the other units. You don't have to replace everything. Everything just connects together seamlessly. And when you add a new location, you just add another box over at that location, and pair it up with a couple of points.
OSDir.com: What are some trends in the PBX market that you've been noticing? What kind of technologies are in demand and expected?
Spencer: Most of our existing Asterisk base is fairly technically savvy people. Obviously,if you're going to run Asterisk at the command line, and edit the config files, you need to know your way around Linux.
What we're seeing now is what sort of happened in the router market as it went from being something very specialized to being something you just go buy at Best Buy. The idea that someone [who] didn't really know a whole lot could buy a router and install it has changed the way people look at phone systems now. So we're seeing companies building more targeted products, like a SoHo PBX or a Voice-over-IP gateway, and then building graphical interfaces and other components to make the whole thing a big seamless solution built around open-source software. Asterisk is the key telephony component and other components, like MySQL or Zimbra, [work] around it to provide other features.
OSDir.com: Has there been a strong demand, or growing preference, for open-source solutions over closed proprietary products in the PBX market?
Spencer: Yeah. The telecom market is actually much more ripe for open source than you might immediately think. It's huge in terms of number of installations. It's a market where the people that you are selling to tend to be very technical people, people that install phone systems. Asterisk has a smaller installed user base than GAIM, but it has a much larger developer base, because the audience is more technical and able to contribute.
There's a real value in customization. People want the system to behave exactly the way they want it to behave. So that means the value of open source is stronger. We had a customer running tens of thousands of voice-mail boxes on a single server, and the directory structure was becoming impeding to him. So he made a patch that changed the directory structure to handle his setup. That's not the kind of thing that would have been a high priority for us, but he didn't have to wait for us -- he just did it.
Another thing is, the cost differentiation between open source and proprietary solutions is incredible. The city of Manchester in Connecticut -- [their] soft-tel solution was a third of the cost of the Cisco solution.
Telcom just doesn't have the same barriers to entry. It's a lot easier for Asterisk to get in. There is no single ubiquitous platform that everybody uses for their telephony. And people already have some understanding of what open source means and what its value is.
OSDir.com: So Asterisk is looking to establish some standards, to become that so-called single ubiquitous platform, in the PBX field?
Spencer: My two goals are to make Asterisk fit what people's needs are in telcom. The second is to keep Digium important to the growth of Asterisk, and leverage all the work we put into Asterisk to help grow the business.
OSDir.com: So what remains the biggest challenge, technical or otherwise, that you're having to deal with in the development of Asterisk?
Spencer: One of the biggest challenges is to balance between how quickly you can integrate changes into the system and trying to maintain a stable base of code. And there's a real tension there because people that contribute tend to want their contributions to go in very quickly. You want to keep them happy, because the community is really the lifeblood of the project. On the other hand, you also feel a responsibility to try to keep the codebase fairly clean and manageable over the long haul. That's one of the most challenging parts we're working very hard to improve on. It takes a lot of people power, and it's not the kind of people that are easy to find.
Howard Wen is a freelance writer who has contributed frequently to O'Reilly Network and written for Salon.com, Playboy.com, and Wired, among others.
|
|