Even if almost nobody knows it, there's not only Skype speaking about phoning via Voice over-IP. At Fosdem 2009 in Brussels we noticed the booth of the SIP Communicator. This tool is soon going to leave the alpha status and it could become an interesting alternative for all people who take care of their privacy. The Open Source competitor doesn't offer any own network. But for VoIP you can choose from one of the venders in the web. Some of them also offer free services.
The own encryption of this program makes it hard if not impossible for intelligences or for other nosey people to record the phone calls. But the rival for Windows, Mac OS X and Linux is capable of much more. It's an multi protocol client for instant messaging. Also for ICQ, Jabber, MSN, Yahoo!, Google Talk, IRC, Zeroconf and other network protocols. A few months after the developer conference Fosdem took place we used the opportunity to interrogate Emil Ivov, the head programmer and leader of this interesting open source project.
Lars Sobiraj: Hello Emil! First of all: Please introduce yourself to our readers.
Emil Ivov: Hello all. My name is Emil Ivov. I am 29 and I currently live in France, although I also spend a lot of time in my home country - Bulgaria. I am living with my girlfriend (no babys yet :) ) and we both love dancing. This is our hobby. We used to give salsa classes for a while but don't have the time any more so we mostly do it for pleasure these days.
Lars Sobiraj: How did you get the idea to create the SIP Communicator?
Emil Ivov: Well it all started in 2003. I had been interested in VoIP for a while and I really wanted to play with SIP. Back at the time I was an intern at the network research team in the University of Strasbourg. There was a lot of research and experimentation with IPv6 at the time there (Ipv6 is the new version of the Internet Protocol). At one point they let me know they needed an IPv6 compatible SIP stack for some of their projects. I looked around and found the JAIN SIP project from NIST. It was written in Java and this made it "almost" IPv6 ready. I added what was missing (mostly stuff in the SIP header parsers for those interested) and contributed it back to the project. That was my first contribution to an open source project and it felt really good to be part of a community. At some point the NIST SIP project lead ( Mudumbai (Ranga) Ranganathan) asked me if I wanted to be on the developer team and that's how I became a member.
2003 was my second year in France and all those living abroad would know that this is when nostalgia hits the hardest. I was really missing my family and friends from Bulgaria so I tried to call them as often as I could. In the same time, being a student, I was really tight with money so I was always looking for the least expensive ways of calling them. It wasn't long before I got fed up with the search and decided to code something myself. That's how SIP Communicator was born. Back at the time it was called JsPhone and it stands for JAIN SIP Phone or Java Software Phone ... whatever you prefer :) .
The first version was implemented in two weeks and it only supported audio/video SIP calls (no instant messaging or presence). The project was at first part of JAIN SIP but then grew and we soon decided to move it out for a life of its own.
The project has evolved a lot since then. We now also have instant messaging and support for almost all the popular IM protocols like XMPP and hence GoogleTalk, AIM/ICQ, MSN, Yahoo! Messenger and others. Today the SIP in SIP communicator is there mostly for historical reasons.
We also have a really wonderful community. We have close to 20 developers at least ten of which are active most of the time. SIP Communicator is currently used in many research projects and we are also beginning to see it in production environments.
Lars Sobiraj: Why was it done in Java? Which advantages does this bring with it?
Emil Ivov: Back in 2003 I was using mostly Linux but also needed to switch to Windows every now and then because of some projects we were doing at the university. I wanted the phone I was writing to run on both the OSs and Java and its media framework seemed to be the easiest way to achieve this.
Through the years Java has given us a lot. The OSGi framework for example, that is at the core of the project and is written in Java, is giving us a lot of flexibility and modularity. This is difficult to have otherwise. Java is also the reason why many of our developers have joined the project. Programming languages are relatively hard to master so once you feel at ease with one of them you are likely to choose it with future projects. Many developers, when told to provide a VoIP solution, have therefore chosen SIP Communicator because it was the only open source multi-protocol phone and messenger that's written in Java.
Lars Sobiraj: Speaking of the speech - is it encrypted?
Emil Ivov: Oh yes! Glad you asked. We've been working on media encryption for several years now and today it's working. Part of the work was completed in the context of the Google Summer of Code program in 2007 and 2008. Another part came from volunteers in our community. Today our media sessions (like for example audio/video calls) are using AES encryption and are transported with the SRTP protocol.
Lars Sobiraj: Who can decrypt it?
Emil Ivov: Decrypting AES protected data is a relatively tough enterprise. Many would even claim it is practically impossible. If you'd like to eavesdrop on an encrypted conversation it would be a lot easier (and hence it is more common) for an attacker to pretend they are one of the participants. Let's say for example that Alice would like to talk to Bob and someone malicious, say Mallory, would convince Alice's computer that he is actually Bob. If Mallory succeeds, all packets that Alice sends to Bob would go through Mallory. This way Alice would think she is having an encrypted call which would actually be the case, only the call would not be with Bob. This is known as a "Man In The Middle" (MITM) attack.
In SIP Communicator we use a protocol called ZRTP which was created by Phil Zimmermann who is also the author of the PGP encryption mechanism. ZRTP allows the establishment of an encrypted session in a way that makes it very difficult (if not impossible) for someone to perform a man in the middle attack without you knowing it. ZRTP works by showing a short word to the call participants. The word is dependent on the encryption key used to protect the call. If Mallory has successfully performed a MITM attack then instead of a single encrypted call, in reality there would be two: one between Alice and Mallory and another one between Mallory and Bob. So, if this is the case then SIP Communicator (or any other soft phone that uses ZRTP) would be displaying two different words on both ends and when Alice and Bob compare them and discover they are different, they would realize that their conversation has been compromised.
Lars Sobiraj: Did you already receive any requests from the police or secret services?
Emil Ivov: You mean other than the time when they asked me to become a secret agent? :)
No, not so far. One reason why the encryption we have would concern the authorities would be the fact that it would not allow them to secretly perform what they call "legal interception" or in other words to eavesdrop on conversations without having the participants notice. Providing ways of "legal interception" however is not the responsibility of SIP Communicator. We are a community that concentrates on the development of an open source project and not on its deployment. If anyone, whether it is a company or a physical person, would like to deploy a solution using SIP Communicator in a network that is subject to a requirement for legal interception (like for example in a government institution) then it would be their responsibility to provide such a way.
Lars Sobiraj: Your tool is still in an alpha status - when will it be beta?
Emil Ivov: Very soon! We are almost ready with our first release candidate (beta version). Hope we would have it before the summer.
Lars Sobiraj: For which operating systems will it be distributed?
Emil Ivov: We are going to have installers/packages for Microsoft Windows, Debian, Ubuntu, Fedora, and Mac OS X.
As you already know however, the application is written in Java so it is very easy to run it on any other OS that has the Java virtual machine.
Lars Sobiraj: Do you see a possibility to become a serious rival in business compared to Skype or isn't that your goal? If not, what is your goal?
Emil Ivov: Yes, as a community, our goal is to make sure that SIP Communicator is a viable alternative to Skype. Keep in mind however that SIP Communicator is only a client side application and it doesn't come locked with a single service provider like Skype does. The service provider is the company that owns the core network entities or servers and that bills you for the calls you make to the PSTN (the public telephone network).
Users of SIP Communicator are free to choose any provider they like.
Many of our community members (including myself) work for companies who specialize in the deployment of solutions using SIP Communicator. I am confident that all together we are one day going to replace skype because freedom counts!
Lars Sobiraj: How comes that you support that many services? ICQ, Jabber, AIM, IRC, MSN, Yahoo! & many more.
Emil Ivov: Soon after we had the first version of SIP Communicator we (the community members) were all using it to communicate with each other. Most of the time however we didn't need/want to make calls and we preferred messages. In addition to SIP Communicator most of our developers were therefore also using an instant messenger like Pidgin for example. We thought that it would be nice to merge functionalities from both applications. We started with ICQ since that's what most of us were using at the time. Then someone said: "Hey I'd like to have support for Jabber cause that's what I need most of the time" so we added XMPP. Others then requested Yahoo! Messenger, MSN and all the other protocols we support today.
Because of the OSGi framework, SIP Communicator is a very modular and extensible application so every time someone asked for a protocol, one of our developers would look for an open source protocol stack and simply plug it into the project. In some cases, the ones asking were also the ones contributing the support. That's open source in all its beauty. :)
Lars Sobiraj: How comes the support for RSS-feeds and a dictionary? This is quite surprising for a client normally allowing communication. ;-)
Emil Ivov: Well, again, that's the beauty of the community :) When you come to think of it, a lot of the applications we use today can easily be adapted to the instant messaging paradigm. RSS, for example is a way for someone to notify you when something changes. Most of the times you get instant messages, it's for the same reason.
The same goes for dictionaries. When looking for a word it's the same as asking one of your buddies to translate it for you. Different members of our community have realized this and they implemented support for the corresponding feature when they did.
Lars Sobiraj: What were your experiences from Fosdem, did you like it there? Was your booth supportive for your project?
Emil Ivov: Oh yes! Fosdem is a great event. Peter St Andre, the head of the XMPP (Jabber) foundation once told that what he loves about the place is the "Creative Anarchy" that seems to be driving it. I agree with this.
Our booth their was a great experience, we met a lot of interesting people and made a lot of important contacts. The month following our participation on FOSDEM was the busiest we've ever had on our mailing lists. I guess that shows a lot about its importance.
Lars Sobiraj: Speaking of Googles Summer of Code, will you be or anybody else from your team there?
Emil Ivov: Yes indeed. After being part of the program in 2007 and 2008, Google have once again selected us for participation this year. We are extremely grateful for this. We received requests from more than 200 candidates and most of them were really enthusiastic about participating. During the last weeks we've been trying to select the best students but it was a very difficult process because most of them were good.
Lars Sobiraj: Anybody you'd like to greet at the end?
Emil Ivov: Oh yes, I'd like to send all my gratitude to the great community that we have. SIP Communicator is one of those open source projects that have been set up and that have grown without substantial support or investment from any particular private company. Our growth has been bred solely by the contributions of our community and this is extremely gratifying! Thank you all and thanks Lars for your interest in our project!
News Redaktion am Mittwoch, 15.07.2009 18:35 Uhr
News Redaktion am 21.09.2016, 09:04 Uhr
So tickt die Welt eben: Einige Menschen haben so viel Geld, dass sie nicht wissen, was sie damit tun sollen, andere müssen darum bangen, sich etwas zu Essen leisten zu können. Der Sohn eines chinesischen Milliardärs beispielsweise kaufte für seinen Hund gleich sieben iPhones.