Archive for the 'NAT traversal' Category

PJSIP 1.8.10 is released! As we’re currently busy with other development (namely, video for the upcoming 2.0; more on that later), we didn’t plan to put new features into this release indeed.

But still one new feature is worth mentioning. During our SIPit27 visit, we discovered that there are three proxy implementations that support SIP outbound extension (RFC 5626). We’ve always wanted to implement SIP outbound, because it’s very useful for NAT traversal, and the lack of support in the server side was the only thing that held us back. So this convinced us to write the extension on site, in time for successful participation in SIP outbound multiparty test on the event.

So that is the highlight of this release, namely SIP outbound support and one week worth of heavy QA at SIPit 27. Enjoy!

A new article was posted in PJSIP wiki: PJNATH ICE Heap Usage Analysis and Optimization, that shows how to optimize ICE heap memory usage, from around 76 KB of peak heap usage per call (or 25 KB after the call settles down), down to just 21 KB of peak heap usage per call (or 15 KB after the call settles down). And this was with STUN, ICE, and TURN enabled.

Version 1.3 is out (finally!). No major feature was planned for this release, however there are few useful enhancements such as support for ICE regular nomination, SIP transport automatically switch to TCP when request is too large, and periodic 1 minute retransmission of provisional responses to prevent dialog from being destroyed by proxies, as well as many bug fixes.

Version 1.0.3 is also out, which contains bug fixes from both 1.2 and 1.3.

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 0.5.5.6, 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:

If you are a product manager wondering how to get into the VoIP market quickly before it moves to Telecom 6.0 or so, Jimmy Atkinson has helpfully provided a comprehensive list of 74 Open Source VoIP Apps & Resources. It’s all nicely categorized, with more than adequate descriptions.

You can just feel the raise you are going to get because it is just made it so easy to assemble and launch your product. Your boss will be amazed at your in-depth knowledge. Your development team will worship you as the Open Source God.

And yes, pjsip is listed as no. 31, by the way, in the category of SIP Protocol Stacks and Libraries. Actually to be a bit pedantic pjmedia should appear as well under RTP Protocol Stacks. And maybe pjnath, the new library for firewall traversal using ICE, listed under Development Stacks. But I digress. Go ahead, with 74 choices like that, is there any other reason NOT to go open source?