libsccp, a XiVO SCCP implementation for Asterisk

Posted on 22 December 2011 in Software by nbouliane

and it's used to interact with Cisco IP Phones. Asterisk has its own basic support called chan_skinny and is one of the first open source implementation available. There is also a more featured implementation called chan_sccp-B, which is a fork of chan_skinny.


Then, why writing another one ? Well, simply because chan_skinny is too... skinny! and that chan_sccp-B is full of bugs, have no clear roadmap and is not backed by professional developers. Don't worry too much, we are not rewriting everything from scratch, all the protocol knowledge is based on chan_skinny.

In the long run, our goal is to produce a stable, full featured and well tested code base. To keep our goal in focus, we aim to commit early and often. In that, you're encouraged to actively participate by playing with the code, reporting errors and sharing your ideas and needs with us.


In parallel of the libsccp development, we're building an automated test environment. Asterisk has a built-in unit-test framework that allow us to stress the bits and bytes of every line of codes in a non-functional way. Another tool made by Digium is the Asterisk TestSuite framework. This powerfull tool allow us to write specific case scenario and replay it as we like. Furthermore, we wrote a traffic generator for the SCCP protocol, called SCCPp, that can act as a scriptable softphone. To orchestrate and automate all this, we are using Jenkins as a continuous integration tool. In short, Jenkins is able to replay all the different level of test automatically everytime something is modified in the code. All of this is still at an early stage, and is evolving everyday.


For those eager to dig into the code and start using it, you can find here how to get started and more:

If you are less comfortable with the 'Do It Yourself', libsccp is also getting integrated into XiVO Skaro and will be available in the next week or so.