SISS Is a SIP Stack

This is the semi-official home page of SISS, a project striving to implement the SIP protocol suite (including SDP, RTP, and T.38 over IP) in ANSI C in a correct, reliable and slender fashion.

Current plans are to first implement the SIP part and then build a reliable and scalable SIP proxy server. Implementations of the other protocols of the suite will be postponed till after that.

Status

SISS is still in its infant state; it has a long way to go. As an indicator, we'll provide the official SISS Status Bar. It lists the milestones towards a complete implementation. The little arrow to the left indicates where we are. The letter to the left of the arrow indicates if we are implementing (I), testing (T) or stuck (S).

basic message parsing
system layer
transport layer
I →transaction layer
dialogs
user agent server
user agent client
proxy server
registrar

Getting

If after having seen the above status you still want to have a look at the beast, you can get it from our public GNU arch repository. Just register-archive http://partim.de/arch and then get siss--dev--0.1.

There is also a snapshot in tar.gz format. It may be a bit outdated, since it is only updated every now and then.

If you just want to see how I did things, you can have a look at the CONCEPTS file from the source distribution. It tries to explain the basic concepts and the actual usage of all parts of SISS. Of course, it is not yet finished but rather mirrors the current state of development; it only describes the things that are already relatively stable.

Why …

… have yet another implementation when there are plenty of them already around.

It all started when I had to hack something together to bye off stale sessions. Since all SIP stacks I had a look at were slightly overweight for this little job I decided to put together a tiny excuse of a user agent client. And then it kept going.

Due to my daily work SISS is targeted a the proxy arena then towards user agents. I have a couple of ideas how a proxy should look like which I want to see implemented. Hence the current plans towards a SIP proxy server.