Published on January 10th, 2011 | by James Chapman1
Asterisk 1.8 and Asterisk SCF: New Heights of Scalability for Asterisk. Is Digium pushing into the Large Enterprise/Carrier Space?
Recently, Digium has announced both the release of Asterisk 1.8 and the development of Asterisk SCF, billed as the world’s first high performance, distributed, scalable, fault-tolerant, open source communications framework.
Recently we spoke with Steve Sokol, Digium’s Marketing Director for Asterisk and Custom Telephony Solutions to learn a little more about what we can expect from this software and the project going forward.
Thanks for joining us today Steve. So first why don’t you tell VoIPon’s listeners, what is new in Asterisk 1.8?
Well we’ve got kind of a laundry list of new features we’ve added into Asterisk 1.8.
I suppose at the very top of that list I would put in full secure calling with secure RTP, so that is the biggest thing.
Another thing that is really important is IPv6. There aren’t a whole lot of phones out there yet that support it, but there is a huge push to try to get IPv6 enabled for telephony systems: phones, call control mechanisms, like Asterisk, etc., basically because the world is running out of IPv4 addresses. That is pretty critical.
We’ve added a number of ISDN related features, and we’ve actually applied all of those to SIP as well. So anything that you can do on an ISDN network, you should be able to do on a SIP network also.
One of them is call completion services. This is effectively the same thing as Camp-On, if you are familiar with that in the PBX world, where you dial a number, the number is unavailable: they are either busy or they don’t answer, and you are able to request a call back. When they indicate they are available, either by hanging up, if they are busy, or going through full you know on hook off hook cycle, if they were unavailable—available again both in SIP and in ISDN/BRI networks.
We’ve also added in advice of charge. So, if you are connected to an ISDN network and the service provider supports this, you’ll actually be able to find out in real time how much a call is costing you.
We’ve added in support for what is basically caller ID updates throughout the call. Technically, this would be called, let me see, connect party identification notification. And what is happening is, when you make a call, you’ll normally see the digits you dialled on your phone, and when the call arrives at my desk, I’ll see your caller ID information. But with this new feature, you’ll actually get an update that replaces the number you dialled with my name. I’ll see that you are connected to Steve, and I’m connected to Kathleen. And then, if I transfer you to somebody else within the organization, your phone will receive an update that indicates who you are connected to at that point, so that you are always able to see who you are really talking to, not just the digits you dialled or who you were originally were connected with.
We’ve added calendaring capabilities into Asterisk 1.8. So you are actually able to build an Asterisk solution that queries your calendar, if it is on Exchange or iCal standard, and the system is able to check what you are doing at the moment and if you happen to be scheduled in a meeting, instead of delivering the call to your desk, it might drop it directly into your voice mailbox. So there are all sorts of possibilities, because Asterisk is so flexible, because it’s a tool kit, you can make it do just about anything you can imagine that would involve a calendar.
We’ve added in XMPP distributed messaging, which means that now you can connect two Asterisk systems together and they can share device state information and message waiting indication between each other. So, if you are on Asterisk Box 1, and I’m on Asterisk Box 2, and I go off hook, your Asterisk can be updated to display my status as being off hook. Important, if you are building a clustered solutions out of Asterisk systems.
We’ve added in Google Talk and Google Voice support. So you can actually use Google Talk as a trunk line into your Asterisk system. And, right now it’s actually really cool because they are offering free calling, at least until the end of the year.  And you can make calls to and from Google users, sort of the same way we added Skype for Asterisk in a couple of years ago as a commercial product, this because Google has been very open about the protocol, it is now just a standard part of Asterisk 1.8.
So there is a long list of stuff that has gone into the new version. There is actually a change log document that you can find at downloads.asterisk.org that will actually show you all 200 of the major enhancements that were made in Asterisk 1.8.
We’ve also done a number of things that are related to the process of developing it. We’ve implemented a new constant testing process, which allows us to see if we make a change to Asterisk, whether it is going to have a negative impact or not. It prevents a lot of what we’d call regressions, or errors in the code related to new enhancements that we are trying to make. So that has really helped improve code quality.
The other thing is we’ve taken a new direction in the way we do development. We’re using a process called Scrum, which defines a given period of time in which we’re going to do development, which we call a sprint, and everybody works to meet that. And we’re able to more accurately determine when a new feature will have been made available in the mainline code base.
It seems that Asterisk has often been best suited to the SME, because of its difficulty scaling beyond a certain level. It’s rumoured that this will be fixed with the upcoming Asterisk SCF. How does the scalability of Asterisk SCF compare to projects like FreeSWITCH and the new Asterisk 1.8?
Well to answer that, I’ll give you a bit of back ground on Asterisk SCF’s architecture. It is built as a distributed application. So that means that instead of being one process that runs on one computer, it’s a whole bunch of processes that can be running on one computer or a hundred computers, or on a thousand computers. It is architected from the ground up to be able to spread the load across all of the members of the cluster that you’re building. So instead of having to build a beefier and beefier computer with more RAM and more processing power etc., you can simply add more low cost computers, you can also spread it geographically across a broad spread of locations. So you don’t have to have everything running in one place on one machine in order to scale it up. And really this unlike anything that is on the market today in the open source world. There isn’t anybody else who has built a scalable, communication framework as the underpinnings for voice applications.
And actually, it goes beyond voice, it’s really unified communications applications. Because the same architecture can be applied to things like instant messaging, video conferencing, desktop sharing, go to webinar type applications. We’re really excited about it and I think it’s going to be a huge opportunity for everybody who is in the open source communications space.
How many simultaneous calls can you comfortably handle with version 1.8 and how will this work with Asterisk SCF to improve functionality for enterprises of all sizes?
Well with 1.8, again you’re looking at a single computer running the Asterisk process. And of course, you can expand that by running multiple Asterisks, but it is not built to be a seamless mesh that you can expand infinitely.
So that 1.8 the number that you can run is very high, if you have a very powerful computer, and you’ve got a good network connecting up to it. We’ve had people get up to 5000 concurrent calls through it. And that was really with Asterisk 1.6, so with 1.8 we’re expecting that you can get even more, because we’ve made some significant enhancements in the mechanisms used within Asterisk.
We don’t have a hard number. Cause really the number of concurrent calls you can get out of an Asterisk system really depends on what you are doing with those calls. Are you recording them? Are you monitoring? Are you converting them from one codec to another?
It is a very difficult question to answer and it sort of depends very heavily on what it is you are trying to accomplish. With Asterisk SCF, the answer really is there is no limit the scalability to it. You’ll be able to basically grow it to the point that you need, simply by adding additional computers running the services that you like.
So if you need additional resources to do transcoding, you instantiate that on a number of computers, and the cluster will detect that I have more resources to do more computing and automatically merge that into the mesh that it creates. So that is the magic that we’re headed towards.
What prompted these changes? Is Digium planning a push into the larger enterprise or carrier space?
Well the changes are really prompted by the natural progression of an open source project. We created Asterisk 11 years ago to solve one particular problem: Mark Spencer needed a phone system for his office. As people got involved in the project, they added new capabilities into it. The total potential of the system grew, but it was still based around the architecture, that considered a single PBX for a single office as the target.
What we’re doing now is we’re going back and addressing some of the things that simply couldn’t be handled with the architecture that we had based on the way computers worked eleven years ago and the way Linux worked and the way businesses worked.
Since the internet has expanded, since bandwidth is much more available now than it was then, since VoIP has really become a mature technology. We really needed to come back and address a change. And in terms of the applications you can take this to, certainly.
I can’t comment as to whether we’re planning products based for the enterprise or carrier space, but that is absolutely the types of organizations we knew would be able to take advantage of Asterisk SCF.
And I’m sure some of VoIPon’s audience would like to know your take on how simple the upgrade process is from the previous release? For example, are there any known issues that might limit someone at this point from using this release in a production environment?
Actually we worked very hard to ensure that Asterisk 1.8 had as few disruptive changes as possible versus the previous versions. So if you’ve done an upgrade from a 1.2 to a 1.4 or a 1.4 to a 1.6 era Asterisk, you know that there is always some dial plan changes that have to be made. And some changes in the AGI interface and some changes in manager events, and we really tried to minimize that.
So there should be very little that you have to change from Asterisk 1.6 to 1.8. Now that’s not to say there is nothing that has to be changed. So we again recommend, if you are building a large scale system on this that you test it before you throw it out there. Don’t just simply move directly. But it shouldn’t require much in the way of changes.
Steve Sokol, Digium’s Marketing Director for Asterisk and Custom Telephony Solutions.
This has been a VoIP Uncovered Podcast brought to you by VoIPon Solutions. For more information please visit www.voipon.co.uk.