pjsip version 1.5.5 released: bug fixes only

A new version of pjsip has been released, it fixes 15 issues, no new features.

There’s something for everybody:

  • Platform fixes mostly for smartphones Windows Mobile and Symbian.
  • ICE (NAT Traversal) issues.

If you are not experiencing the issues listed, then there is no need to upgrade your pjsip.

You can download pjsip 1.5.5 right now.

pjsip version 1.5 is released with TLS Rewrite, TLS for Symbian, QoS, and MWI Support

Version 1.5 has just been released with the following features.

SSL/TLS Rewrite

A new secure socket abstraction is implemented in PJLIB. The API is implemented using the native CSecureSocket for Symbian platform and OpenSSL for other platforms. With this API, new type of implementations (such as native Windows SSPI)  could be written in the future.

The SIP TLS transport has been rewritten to make use of this secure socket API, while maintaining the existing SIP TLS transport API. The secure socket API will also make way for other SSL/TLS based transports in the future, such as TLS TURN client connection.

QoS Framework

All transports in the library (such as SIP UDP/TCP/TLS transports, UDP media transport, and STUN/TURN/ICE transports) have been equipped with QoS (Quality of Service) settings. The QoS framework abstracts QoS technologies such as the Type of Service/DiffServ Code Point (ToS/DSCP) fields, Wi-Fi Multimedia (WMM) priorities, and IEEE 802.1p tagging (via SO_PRIORITY) in a generic manner, while providing flexibility for applications to adjust the settings manually if wanted.

The QoS framework has been tested on Symbian, Windows Mobile 6, Linux, and MacOS X. Note that currently it is not available on Windows XP and later.

Please see the new QoS wiki page for more info.

Message Summary/Message Waiting Indication (MWI) Support

Added support for both subscription based MWI (RFC 3842) and unsolicited MWI that is used by a popular PBX. For more information please see ticket #982.

Presence Enhancements

Ticket #937 among other things implemented automatic buddy’s presence resubscription upon receiving several specific termination causes. Ticket #411 and #364 improved the PUBLISH request handling.

SIP INVITE/CANCEL Destination Fixes

Ticket #917 and #936 fixed the following problems:

  • CANCEL request may be sent to different server than the INVITE when DNS SRV is used
  • INVITE request retry because of 401/407 response may be sent to different server than the INVITE when DNS SRV is used
  • CANCEL request will be sent with UDP if the INVITE was sent with TCP because of 1300 bytes message size/MTU limit (it must be sent with the same transport)

Please get the new version from PJSIP download page as usual.

Version 1.4 is released with support for SIP Session Timer and Nokia VAS

“Good news, everyone!”

PJSIP version 1.4 has been released, with new features include SIP Session Timers (RFC 4028), support for VoIP Audio Services/VAS (including VAS-Direct) in Nokia FP1 handsets and newer, and initial porting to Symbian S60 5th Edition. Many bugs were fixed, as usual.

Please see PJSIP download page for more info.

Version 1.3 is released with support for ICE regular nomination

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.

Get it while it’s hot from http://www.pjsip.org/download.htm

Version 1.2 with support for Siren codecs

Version 1.2 has been released, among other things it contains:

  • G.722.1(C) aka Siren7 and Siren14 codecs
  • support for building Windows Mobile targets with Visual Studio 2005 (no more upgrading from embedded Visual C++)
  • updated PJNATH for the latest STUN RFC and TURN draft.

Version 1.1 is released with support for Nokia native codecs and new audio device API

Good news, everyone!

Finally, after months of developments (read: delays!), version 1.1 is ready for your download. This release contains major feature enhancements, namely support for Nokia native codecs (we use code name APS-Direct for this feature) and a new Audio Device API.

APS-Direct is our codename for functionalities to use the hardware codecs that are supported by sound devices e.g. Nokia Audio Proxy Server (APS) and/or VoIP Audio Services (VAS) directly, bypassing media processing in PJMEDIA. The Nokia APS and VAS support codecs such as G.711 (PCMA and PCMU), G.729, iLBC, and AMR-NB, though the availability of these codecs may vary according to the handset types. There are significant benefits of using these codecs instead of software codecs (in PJMEDIA-CODEC), with the main benefits are performance (hardware vs software codecs, latency) and the given codec licenses/royalties. Due to these benefits, the ability to use these codecs in PJSIP applications is very desirable, hence the support.

This has been a major development in PJMEDIA, as traditionally PJMEDIA works with PCM (linear, L16) audio samples. With APS-Direct, audio frames from the sound device are in encoded format, so some components along the media path need to be updated to support encoded frame format. Understandably, some features cannot be used when encoded audio is active, for example the mixing feature of the conference bridge. Please see APS-Direct wiki for more information.

Half way during APS-Direct development, we discovered that the existing sound device abstraction API couldn’t cope with the new features, for example handling of encoded frames, setting the audio device routing, etc. We could of course patch it here and there, but we decided that creating a new one would be a much better alternative. So a new Audio Device API was developed.

For more information about this release, start from the PJSIP Download page. Enjoy!

Native iPhone SIP Client Based on pjsip Available on App Store: Open Source and Not Tied to any Provider

pjsip on has been running on iPhone and iPod Touch for quite a while. Samuel Vinson (also responsible for making possible VoIP on Nintendo DS) was the first to announce a successful port to iPhone and iPod Touch even before the official SDK became available.

Siphon has already been available for developers and also on Cydia, an alternative distribution platform for iPhone applications. voiphone is another project starting up, based on sound device code from Siphon.

Now another milestone is reached, because an iPhone softphone called SipPhone on iPhone (how many phones can you have in a sentence!), has been released on the official App Store by VNet Corp of Shanghai. This means users unable or unwilling to install Cydia are also able to enjoy VoIP over Wi-fi with their favourite providers, instead of dictated by which client you use.

(For those reading on a computer with iTunes or on the iPhone itself here is the direct link to SipPhone on App Store.)

So how does it work? After downloading from App Store, following the installation instructions, I was able to add Teluu’s sipgate.co.uk account (look, No SIM!):

Main SIP account settings

Additional SIP account settings (optional)

I was then able to choose from my Contacts and make a call as normal. I didn’t do any extensive voice quality testing, just some quick calls. I will try to record some conversations to illustrate better the voice quality.

Another feature that needs pointing out is the ability to have multiple accounts. It was quite easy to toggle which account is active at any one time. The pjsip.org SIP domain uses OpenSER OpenSIPS, so I know this client is compatible with it.

Multiple accounts support for the iPhone SIP client

Multiple accounts support for the iPhone SIP client

The source of the application is available at their forum, it seems you can get it even if you are not a customer. This is beyond the requirements of the GPL, so nice touch on VNET Corp people.

I still haven’t been unable to compile it, so as can be seen I have a question pending there.

Overall of course the main issue of VoIP over wi-fi in iPhone remains: no background task. That means, unlike other mobile devices such as Nokia which uses Symbian, it cannot receive any calls while you are doing something else.

 

Let me know your comments if you have tried this iPhone SIP client.

Call for Symbian S60 testers for pjmedia APS direct

As we finish the current iteration of Symbian S60 implementation, most
importantly the implementation of APS-direct, we need all of you to
participate in testing it. This is from experience we know mobile
devices are very tricky and can behave differently from one firmware
to another.

So we need as many Symbian S60 3rd Edition phone as possible. The test will involve installing a test application, checking a few things, and filling in a report form

To do this we need your IMEI and a few other details, this is because
the requirements of Symbian Signed, we need to ‘burn’ your IMEI into
our test application.

Don’t reply with your details to the public list, instead fill in this
form: http://l.teluu.com/symbiantesting

We can’t promise everyone will be accepted, because there is a hard
limit to the number of IMEIs we can burn, and we’ll prioritize
variation of devices, rather than first come first serve.

If you can get your friends family neighbours to join in that will be
even better.

If you any questions, just leave a comment and.

Thank you all!

Recognizing open source community contribution: Champion of the Month Award

At PJSIP we always feel we don’t express our gratitude well enough for all of your contributions to this project, be it comments, criticisms, bug reports, patches, and so on. Especially some people deserves our special thanks for their extra efforts in helping others, or for their perseverance in solving problems (read: bugs) when the going gets though.

Bug of the Month January 2009 Award

This award goes to the most most difficult, most elusive, or perhaps even most silly bug that was found this month. And the award goes to ….

bug #696

Bug #696

Bug #696. This had caused “RTCP clock skew detected” message to appear every now and then in the log and subsequently causing wrong RTT calculation.

What makes this bug a winner is that this has been so elusive that it had been living in the code for two and half years. We were aware of it but simply didn’t know how to fix it!

So our special thanks goes to Guido Fischer for solving this bug. You are smart. :)

Bug of the Year 2008 Award

The winner of Bug of The Year 2008 Award goes to …

bug #660

Bug #660

Bug #660, INVITE request is not retried with authentication, even when correct credential is available, if the 401/407 response is received after a 100 or provisional response (!).

This bug really deserves a special award. It is so trivial, and yet it had been living with us for as long as I can remember, it had passed so many tests by us and interop tests with so many products by so many people, and it even slip though undetected in two SIPit events. It simply cannot be more silly than this!

So we thank Bug #660 for truly shaming us all.

Champion of The Month Award

Champion of The Month earns our recognition for achieving expertise, participating in community activities, and sharing their knowledge with other community members in the PJSIP mailing list.  This month we would like to award this to ..

Gang Liu

Gang Liu

Gang Liu, for being actively helping other list members in the past few months, as well as contributing several patches. You have demonstrated your expertise with PJSIP and we as well as I’m sure others have found your contributions to be very valuable. You deserve this award!

Integrating yaSSL with pjsip: anyone interested?

Recently we’ve been in contact with the yaSSL open source SSL project, discussing possibility of supporting CyaSSL as well as the current OpenSSL.

yaSSL

yaSSL is a small footprint and portable SSL implementation

The small footprint and portability of CyaSSL seems a very good match, so anyone interested in kickstarting this? I guess this can be from both ends, so maybe a  yaSSL community member can try to see the TLS functionality in pjsip/pjmedia or from the pjsip side, looking into yaSSL stuff.

Let me know if you’re interested, and we can take it from there.

Next Page »


Subscribe to blog updates

View Perry Ismangil's profile on LinkedIn

a

Clicky