Asterisk

October 28, 2010

Digium Asterisk SCF: A Whole New World



About the only mistake Digium (News - Alert) might have made in announcing its Scalable Communications Framework (SCF) was to put "Asterisk" in front of it. SCF is a whole new world above (queue theme from "Aladdin" here) and beyond the IP telephony engine that Mark Spencer (News - Alert) created back in 1999. The new open source project's impact is hard to understate as it fundamentally opens up numerous new possibilities for both Digium and open source communications developers in the next decade.

To understand SCF, you have to understand the origins and ultimate limitations of Asterisk (News - Alert). Started by one person on-the-fly as a solo project (hello Mark Spencer!), the IP telephony engine is great at dealing with voice on a single box. Yes, yes, I know you can scale Asterisk to tens of thousands of users across multiple servers and get some level of fault tolerance, but you can't say such solutions were/are elegant and clean.   And critics/competitors aren't shy about saying so when you start talking about putting Asterisk in as a large enterprise or carrier-grade solution.

Kevin Fleming (News - Alert), Digium's point man for SCF, stated that users wanted fault-tolerance as a major goal, as well as scalability. "People want to be able to shut a server off and have no effect [on the rest of the calls]," he said. "We needed a way to say 'We can do that, we can do it better.'" 

In March, a discussion group of 20 non-Digium developers was brought into Huntsville under cover of darkness (Not really, but it sounds better) to discuss the future of Asterisk. A few suggested that Asterisk could be modified -- "ripping it apart" -- with relatively minimal effort to get it to meet the twin goals of fault-tolerance and scalability, but it didn't give the community the other things it wanted: extensibility .

Developers have wanted to work with a full range of rich media to create real-time communications applications that include voice, video, text, presence and whatever other data types may come along in the future. Asterisk does voice well, but trying to blend it in with other stuff isn't elegant and clean (see the theme here).

At the end of the day, you get SCF -- a framework of parts to build real-time communications applications.  In order to access those parts, SCF provides APIs accessible in languages ranging from Java through Windows C#, along with a sweeter set of goodies called extension points to enable programmers to simply modify the way components operate. 

"Extension points are a really big shift as to what people think an API is," said Fleming. "It's not packed up, so you get a view of the whole system and you can interact anywhere you like as whatever makes sense to you."

SCF has also been built and is being presented in a whole different way than Asterisk came to the world. Design, planning, and documentation have all been done up front -- looking to the future, rather than doing what's necessary today -- so developers can look at the whole concept and figure out how to build on it, rather than having to glean hints from the source code on how to do things. 

Fleming's next task is to educate, educate and educate the community of open source developers as to what SCF is and what potential it has to offer. He said there's a lot of good documentation on the wiki (wiki.asterisk.org), but Digium and the community will need to build some good concrete programming examples as well for developers to look at and work with.

For my two cents, SCF will end up impacting everyone in the current Asterisk ecosystem and open up new opportunities for programmers to cleanly go beyond vanilla telephony and into (pick your marketing buzz phrase) rich-media/real-time communications/unified communications/all of the above. But that's a column for tomorrow...


Doug Mohney is a contributing editor for TMCnet and a 20-year veteran of the ICT space. To read more of his articles, please visit columnist page.

Edited by Tammy Wolf

Article comments powered by Disqus

Related asterisk Articles



Asterisk® News Alerts
Follow Sangoma on Twitter

Connect with the Asterisk® Community
sponsored by Sangoma: 

Sponsored by Sangoma
Wiki :: Sangoma Technologies

Featured Asterisk® Whitepaper

Open Source Success Story