Archive Page 2

PJNATH ICE Heap Memory Usage Analyzed and Optimized

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.

PJSIP version 1.6 is released

Many useful new features have been added on this release, as well as even more bug fixes. Please see the Release Notes for the complete info and get it from the usual Download page.

Migration of svn and Trac: expect disruption

We are currently migrating svn and trac to new hosting provider, so svn.pjsip.org and trac.pjsip.org will be disrupted for a little while.

Sorry for any inconvenience.

[Update: Everything should back to normal now. As a bonus, https connections are now properly certified without warnings! Yay!]

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.

« Previous PageNext Page »


Follow on

Subscribe to blog updates

View Perry Ismangil's profile on LinkedIn

a

Clicky

Follow

Get every new post delivered to your Inbox.