Archive for the 'Open Source' Category

Open Source Symbian S60: Perfect Match for pjsip GUI Client

The big news today is the establishment of Symbian Foundation.

A very smart move from Nokia. We will be keeping track of the details, and will keep you all posted on developments.

Live from FOSDEM 2008: Day Two

This is the day for pjsip presentation, available as a Google Docs presentation.

The busyness of the FOSDEM is still here, probably a slower start due to Sunday morning (arrived at 09.00 for the Mozilla DevRoom Extensions Workshop, with only a few people but started filling up quickly).

I’m currently listening to Toshiharu Harada, a very nice chap from Japan discussing a secure Linux distribution.

Live from FOSDEM 2008: Day One

I arrived a bit late in the day, around 15.00. This is my first time going to FOSDEM, so I was not sure what to expect.

What I got was a lively bunch of free software and open source ‘enthusiasts’ (ok, hackers and geeks really), going in these lecture rooms. Tables on the corridors are populated by most well-known software projects, such various Linux distros, Mozilla, PostgreSQL, and others. The university settings of ULB gave it that extra touch of casual but studious atmosphere. I would guesstimate the attendace to be in the lower thousands.

As I am not due to present until tomorrow, I roam around a bit, and currently listening to the embedded power management session. As the whole place where FOSDEM is wired with wifi (meaning to provide wifi they run wires everywhere!), everyone is whipping out their laptops, smartphone, Nokia N810, Asus Eee and other devices, and probably doing three things at once.

All in all, if you are interested in free and open source software programming, this is the right place to be.

Securing VoIP: SRTP Support in PJSIP

PJSIP now has SRTP support in SVN trunk (hurray!). For more information about compatibility, how to use, and what have been done, please see the SRTP wiki in

We’ve tested it against couple of phones that support SRTP and it looks good (apart from SRTCP, which one phone doesn’t support and the other we don’t think it implements SRTCP correctly). If you have phones which support SRTP, it would be great if you could give it a try, I’ll be thrilled to hear your result.

Enjoy it while it’s hot!

Command Line SIP Client

Josh Benson of Open Source Society tells us how pjsua can be used as fully featured SIP client to solve real life problems in PJSIP: Command-Line VoIP Client for Linux:

Some time ago, I was tasked at work with finding an IP telephony client that used the SIP protocol, ran on linux, and did everything from the command line. The goal was to have a program that could be deployed at remote networks to test the quality and performance of VoIP calls between the remote site and our central Asterisk VoIP server.

Read more..

Josh has it spot on. While pjsua is intended primarily as the reference implementation of PJSIP (command line programs are always easier to learn than GUI), it is also intended to have the full features of a SIP client. Softphones with pretty GUI are easier to use, and they are also easier to find, but for some specific tasks, sometimes we have to revert back to using the good old console application, and that’s where pjsua fits the bill.

I’m glad that Josh and others find it useful. Thanks Josh for sharing your experience.

[Update: As the Open Source Society website is gone, I’ve removed the hyperlink. Sorry. Let me know if this is temporary and it’s back]

PJSIP on Symbian Phone Works

[pjsip] PJSIP on Symbian Phone Works!:

This announcement is a bit late than planned (I promised to finish the Symbian port before Jan 2008), but we thought we’d give this a more thorough testing before announcing it, hence the delay.

In summary, PJSIP works and tested on Symbian S60 3rd Ed phone. Everything should work, including all SIP features, sound, STUN, and ICE. And we’ve made a tutorial on how to build and debug PJSIP on target device.

There have been some major changes along the way:

  • Carbide is now the preferred IDE rather than CodeWarrior. This is because CW has been deprecated by Nokia anyway.
  • Support for DSO is no longer enabled by default. It’s still supported, but you’d have to edit the MMP files slightly to build DSO outputs.

So what’s left to be done is for someone to create a nice open source Symbian softphone GUI on top of it. 😉

For more info:

sipX vs reSIProcate vs pjsip: Follow your guts

Follow Medhavi Bhatia as he went through “a 6-month ordeal” reviewing sipX vs reSIProcate vs pjsip. The main reservations he had was our default free software license (GPLv2) which he found “restrictive” and the fact that we are not widely known or deployed. Also we have a smaller community.

Those are fair points to raise:

  • If you don’t want to use pjsip under GPL, please contact us.
  • Usage and deployment: at the moment we probably have around 20 or so applications that we know about. Being free software, not all GPL users notify us.
  • On community size, I can’t say whether we are small or not as we don’t have data on sipX and reSIProcate. Here are our stats:
    • Over the last 6 months, we had on average of 950 downloads per month.
    • Mailing list membership fluctuates of course, as users come and go. A conservative estimates would be around 300 members at any one time. We also have stats for mailing list posting rates.

In the end, it was the fact that pjsip was more “malleable” and suitable for their team’s long term goal that made them decide on pjsip. And the fact it was his gut feeling from the very start anyway…

Thanks for sharing your evaluation process, Medhavi. Making technology choices are never easy, especially the decision to use other people’s framework (programmers always like to DIY; I know because I use to hate being forced to use other peoples code!)

Have you ever evaluated pjsip or any other free and open source SIP and media stacks for Windows, Mac OS X, or other platforms? We’d love to hear them!

Making VoIP on Nintendo DS a reality: new open source SIP client available

SvSIP, a new VoIP client for Nintendo DS is making quite a stir! To name a few, Tom Keating, Engadget and Gizmodo also picked it up.

Congratulations are certainly in order for Samuel Vinson, for porting pjsip to Nintendo DS. I am going to try it out myself, as soon as I reconfigure my wi-fi back to WEP. (Update: Here’s my post on using pjsip on Nintendo DS)

And instead of a screen-shot, I’m going to give you one better: a complete video guide! (video created by therealbiglou) It demonstrates how to set it up, with final thoughts: “sound quality is very good”. The negatives include “low speaker volume” and “hard interface to follow”.

We’ll work with Samuel to tweak the volume The volume can now be controlled through a configuration setting, and regarding the interface… yeah I guess dumping a log file on screen is a million miles away from an iPhone! Oops I mentioned the i-word, I’m sure people will think it’s there for keyword stuffing.

But seriously, some comments on digg already saying it’s an “iPhone killer”. What do you think?

Open Source VoIP at VON Europe

VON Europe Autumn will be held in Rome on the 26th and 27th of September, industry leaders from all over the world will talk about where IP communications is going in Europe. SIP, IMS, IPTV and Voice are all being covered at this event, along Open Source Telephony issues and perspectives.

Commercial Open Source Software » Open Source VoIP: “Open source Sustainability from the business perspective” conference at VON Europe

It’s good to know the open source VoIP ecosystem is being discussed at a high profile enterprise conference such as VON. Asterisk and OpenSER are frequently used with pjsip, so anything that increases their profile we hope will increase the adoption of open source SIP implementations.

Open source SIP stack, media, STUN, and ICE for Symbian OS

Just yesterday I finished back porting the Symbian branch to the trunk, and I think it’s good to go.

It’s been a roller-coaster way, supporting Symbian. It’s not the most developer friendly OS to port your programs to (see Readers Write about Symbian, OS X, and the iPhone), but we knew that, and I felt that this should make a good challenge for PJLIB, to see if it lives to its extreme portability claim. So we first started the port on May 2006, created a Symbian branch based on, and estimated that the work will need couple of months work. It wasn’t long before we realized we needed more time, and we revised the target to September 2006. But we still missed the target anyway.

Only about two months later, on Nov 2006, where we really had all of the libraries ported (only sound device is missing). But by this time, this branch was lagging waay behind the trunk, so it will take significant efforts (and commitments) to bring the port into the trunk.

But finally we had gathered enough “motivations” to do this, few days back, and it’s here.

Symbian target is officially supported in the trunk. All libraries have been ported. All seems to be running fine. No more panics. No memory leaks. All is good to go. Sound device is still missing, unfortunately.

So what do we have for the Symbian port again? For those new to PJSIP projects, here’s all of them:

  • pjlib, our platform abstraction hero.
  • pjlib-util, an auxiliary library containing parts needed by upper layer libraries (things like text scanning, XML, DNS SRV resolution, and various encryption algorithm),
  • pjnath, a NAT helper library containing the latest STUN, TURN, and ICE,
  • pjmedia, the media stack,
  • pjsip, pjsip-ua, pjsip-simple, libraries containing the bunch of SIP features,
  • pjsua-lib, a library combining SIP, media, and DNS SRV/STUN/ICE into high level API, and
  • symbian_ua, a simple console based SIP user agent for Symbian, based on pjsua-lib.

Some screenshot? Sure:

SIP User Agent on Symbian Emulator

Screenshot of symbian_ua on S60 Emulator

It’s been fun programming on Symbian. Learning curve has been steep. The tools are not perfect. But now I think I’m relatively more comfortable with it, and it becomes just another target for coding.

For more information about using the Symbian port, please see Porting PJ to Symbian OS. The porting effort itself is tracked on this Symbian-Porting Trac page.

Have fun yourself!