Having grown well beyond its humble beginnings as a personal project, the Asterisk open source PBX turns 10 this month and currently has more than 400 contributors.
Asterisk was first released in October 1999 and now claims some two million downloads for this year alone — up from 1.5 million last year.
In its early years Asterisk attracted contributors out of interest, but nowadays large companies are getting behind the project with specific needs. And the place where Asterisk is making most in-roads is with replacement of incumbent systems and businesses getting started with IP telephony.
According to research by the Eastern Management Group, in the US open source as a whole was the number one supplier of VoIP lines for 2008 and Asterisk was number two behind Nortel. And Asterisk claims just under 90 per cent open source PBX market.
The project’s founder, Mark Spencer, now runs Digium, a company that offers services and support around Asterisk. Digium now employs 12 developers to work on Asterisk full-time. In this interview, Spencer looks back on 10 years of Asterisk and discusses the future direction the open source product and the VoIP industry in general.
Firstly, congratulations on 10 years of Asterisk. What were some of the high and low points of its development over the past decade that you remember?
It’s hard to take low or high points, because it is about how Asterisk has evolved. It used to be that most work on Asterisk was done outside the company, but now we have hired people to work on it and it’s closer to half-and-half. The open source development model was used from the start, but it’s not what our business model was based on.
What are some of the interesting contributions to the code base Asterisk has had over the years?
If you expand it over the years it has been a lot of incremental improvements. We have gotten some really ‘out there’ contributions, like one which was an alarm signal receiver. We also had a driver for Cisco’s Skinny protocol contributed, a Nortel driver, and IPv6 support.
The big ones like IPv6 are now collaborative efforts, as they need help getting it really right. There is a lot of work we do assisting contributors in getting the format correct for integration with Asterisk.
Are you surprised at the range and level of interest from individuals to large corporations?
Yes, and in a way it makes a lot of sense. Being open source, Asterisk tends to get people involved from everywhere because it can do so much. When Asterisk came out there was really nothing out there for people to use. So it was an incredible resource for people.
How do you think the advent of Asterisk changed the way traditional proprietary, hardware-based PBXs are developed?
For better or worse, when I created Asterisk I didn’t know how PBXs worked, so I made Asterisk operate in a way that was very different that other PBXs worked. So that was why it changed things — because people who didn’t know how to use a PBX used Asterisk because it was built in the way something like Apache was, for example.
Asterisk was more like the way people — and particularly IT people — expected software on Linux to work.
The downside was that it took a lot longer for people who were used to their phone systems to get the Asterisk approach. As an approach, it was not without its negative side effects, but it was the best way for the audience we were going after.
Asterisk has been “let loose” as an open source product for many years, but only recently your company Digium began offering support for the freely available open source version. Is this something that should have been done from the beginning? Is it a good business model to offer support for a product where the barrier to entry for customers is very low?
We started out offering support on an hourly basis for the open source version, but that was difficult for us, and for customers, and was not a good model. It was also difficult to offer technical support on a product that was modifiable.
A lot of people wanted to be able to use the open source version, get support for it and be able to change the software. A better model was what we were trying achieve, but it has taken a few iterations. The new subscription model has worked out better for everyone.
Each industry has a suitable model. I wouldn’t say there is one best model for all open source software. Early on, our hardware model essentially funded Asterisk. It was very specific to us because of the way customers needed hardware. Now it’s not such a good model because people use VoIP without needing traditional telephony equipment.
Of course, Asterisk is not the only open source IP-PBX around today. Do you tend to keep an eye on competing products or just focus on Asterisk?
My focus is generally on Asterisk, but people at Digium follow competing products. The great thing with open source is you can have a lot of products going on at a given time. I like to persevere as much as possible with the Asterisk community. I see a lot of open source products, but I try to work hard to protect the Asterisk community as much as possible and keep people wanting to contribute to our project.
What ideas have you seen shared around the open source telephony projects over the years?
There is a lot of competition and we take ideas from each other when we see something that kind of works. You take the ones that you like and leave the ones you don’t like. We have influenced each other in a number of ways, but I’m not sure there is a lot of collaboration.
A popular configuration (for larger sites, anyway) is to have Kamailio (OpenSER/OpenSIPS) or Yate work in conjunction with Asterisk. Any concerns this may result in people moving away from Asterisk as the other products mature?
I certainly think OpenSIPS and Asterisk are natural things to bring together, as Asterisk is explicitly not a SIP proxy. Those pairings seem more logical than others. When you look at Yate there is a lot of overlap between those.
I’m more concerned about the places Asterisk isn’t rather than where it is with other software. Ideally you should be able to do everything with Asterisk, but every now and then there are architectures where you would need a specific SIP proxy, then OpenSIPS would be a logical thing to look at.
Some VoIP users have complained about poor voice quality compared with TDM systems. How can Asterisk lead the way here? Is Asterisk fostering the use of Speex and other free codecs to users who do not have to rely on a proprietary codec for good voice quality, especially across low-bandwidth links?
I use this analogy a lot, but the best thing that ever happened to VoIP was the advent of cell phones because this changed expectations of what is acceptable voice quality. But now with high fidelity you are getting much better audio with VoIP.
Asterisk uses the codecs that are supplied, so we are making the experience better by enabling the existing technology phone vendors are coming out with.
Some of the better 16KHz codecs are proprietary, but that is driven by the people that develop them, and Digium is obligated to keep them proprietary. We also improve the user experience by providing a GUI.
What timeframe are you working on for Asterisk 2.0?
We haven’t decided on anything like a 2.0 release yet. At this year’s Astercon developers will decide on improvements to the code.
10 years of Asterisk also coincides with 10 years of SIP — an interesting intersection of technologies that opened up telephony. Any thoughts on a decade of SIP for VoIP?
I think of SIP and Asterisk as completely different models of how innovation takes place. Asterisk was created out of a pragmatic need and then standards came from it; when you look at SIP, it came in as a standard and then products were built around it. From there changes needed to be made to improve SIP.
What would you like to see happen with Asterisk over the next 10 years? What gets you excited about the future of telecommunications? Any thoughts on “unified communications” and integrating IM protocols like Google Talk with Asterisk?
The integration with other services largely exists in a layer above Asterisk. Accounting systems, maps, and CRM like Salesforce.com or credit rating scores can integrate with Asterisk.
In terms of core technology, the backend PBXs have advanced tremendously, but phones remain unsophisticated, so we will see the model of iPhone and Android carry over to the business phone space. So there will be a lot of innovation on desk phones.
Asterisk has a few GUI configuration tools and a number of projects behind it that “bundle” Asterisk into a complete phone system, like AsteriskNow. Is the level of configuration “ease of use” a concern for Asterisk? What’s likely to happen with Asterisk usability in future versions?
We have our own GUI and all of these GUIs are about bringing us closer to customers. In other geographies other GUIs have been successful and we have been happy to see that.