Tuesday, January 8, 2008

SIPX on Windows

SIPX was one of the first open source SIP stacks we played around with on Windows. SIPX is supported by a strong community of developers and the code baseline came from Pingtel. There is a company called SIPEZ started by Daniel Petrie, a well known SIP Guru which supports SIPX. SIPX is used in a wide variety of commercial applications and is licensed under LGPL which is very attractive. I knew Daniel from IETF and often contacted and got his help during our evaluation phase. Based on what we found, SIPX is a great choice if you want to build a softphone very quickly since it has a lot of applications built into it and a lot of third party software hooks as well. However, we couldn't hire SIPX developers fast enough to support customer requirements and it proved harder to change and support in a cost effective way. Our next stop was brief and we looked at reSIProcate. reSIProcate, while supported on Windows is really meant for server side applications - at least that is the impression I got by talking to the SIP community at large. My team never really played around with it too much and we moved on to something called PJSIP. PJSIP has a very restrictive license (licensed under GPL) compared with SIPX and reSIProcate. That was one reason it was way down in our list though my gut feeling always was that it would have been a quicker fit (that's a lesson there for me - always feel out your guts properly in this phase :). PJSIP was supported by a much smaller community of developers and was not that widely known or deployed. One of my friends, Dr Henry Sinnreich (now at Adobe) actually introduced PJSIP to me. Overall we found PJSIP to be much more malleable and suitable to what we wanted to do both from a tactical and long term perspective. It also has a much smaller footprint compared to SIPX. However applications are much fewer. Its much more suitable for embedded systems.

No comments: