Hello,
recently we, a group of students, finished our project here at iptel. It is a SIP user agent framework. Below you'll find the introduction of our project report which is published at BerliOS [1].
"PartiSIPation is the result of a student project at the Institute for Open Communication Systems (OKS) at the Technical University Berlin.
When we started with PartiSIPation in April 2005 there already were some SIP clients available, but none of them was actually usable. So our main goal was to create a SIP soft client that does not have to hide itself from hard clients - SIP phones. Therefore it has to be able to handle several parallel calls and accounts. But we also thought about future applications like online games. So PartiSIPation should be easy integrateable in other applications on different operating systems.
To reach all these goals we designed PartiSIPation as follows: PartiSIPation is a SIP user agent which consists of two parts: a Core written in portable C and an easily replaceable GUI. So it can be used as a softphone as well as it can be integrated in any kind of application. It uses external libraries for signaling and speech transfer which are called over interfaces and adapters. An adapter encapsulates the interface of a library and provides a simpler interface expected by the user agent. This makes an easy library replacement possible. Only the adapter has to be edited, no Core changes are necessary.
Because PartiSIPation comes with its own SIP state machine a GUI or application can easily place calls by using its simple XML-RPC API. XML-RPC is language independent which means that the GUI can base on Java, GTK, Qt or whatever depending on the preferences of the GUI developer or its purpose.
Every call has its own state machine, so parallel calls are no problem. And together with the account management of PartSIPation which allows the registration with several accounts it is possible to use this user agent for complex situations like they are occurring in gaming.
Recently, PartiSIPation became Open Source Software and was published at BerliOS: http://developer.berlios.de/projects/partisipation/ ."
Best regards, Matthias Liebig