Posts Tagged 'SIP'

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 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 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.

We Made It: Release 1.0.1 Available

With the release of 1.0, we have reached a significant milestone. More than three years in development, 250,000+ lines of code, gruelling global interoperability testing on three continents, you can download pjsip 1.0 right now.

This would have never happened if it weren’t for all of you — more than 500 members of the pjsip community. A big thank you is in order.

We're talking through a megaphone

"Hello to All, we've reached 1.0! Thank you for all your support."

We’ve decided to draw a line on what we feel is a comfortable feature set, in particular for desktop client developers on Windows, Mac OS X, and Linux. Of course we can not fit it all, so keep those comments and requests coming, it matters to us.

For mobile platforms, consider the current feature set a technical preview. We know it’s not as easy to get started, and sometimes there are still issues. This is because mobile devices are really fragmented. You can have exactly the same device, but different firmware version can break applications.

"Mobile SIP SDK, anyone?"

"Mobile SIP SDK, anyone?"

Going forward we’ll strengthen and stabilize the mobile devices support, starting with Symbian S60 and Windows Mobile. We look forward to the Symbian Foundation open source version, more open always lead to more innovation.

I would also like to take this opportunity to formally introduce Teluu, as the company behind pjsip. It was started more than two years ago, alongside the pjsip open source project. Teluu is where we handle alternative licensing, direct developer-to-developer support, and the occasional customization work.

As always we welcome comments, feedback, both praise and criticism, and whatever else. You can leave a comment here, on the mailing list, or everywhere else on the web. As long as Google can find it, we should know about it 🙂

Rich Internet Telephony Application, Anyone?

pjsip has always been cross-platform, basically it runs anywhere. Moreover,
we interpreted platform liberally, so in addition to multiple operating
systems and processor, we also have runtimes-as-a-platform (RaaP?) like
the Python VoIP API support (and the community has expanded along this line to Java SIP API and C# SIP SDK).

There is a new breed of platform coming to the desktop, broadly called Rich
Internet Application (RIA). Names like Microsoft Silverlight, Adobe AIR,
Sun JavaFX have been wading in this area. On my desktop I got Twhirl, a
Twitter client built on top of AIR.

So is this platform going to be relevant to SIP clients, I wonder? Would it
fit into a IP phone developer’s strategy? Is a RIA softphone possible or
even desirable? Would we call these things Rich Internet Telephony
Applications (RITA)?

Click your thoughts on the poll below and let me know what you think! (UPDATE: The poll application seems to be not working for some people – here is the direct link to the: Rich Internet Telephony Application Poll)

Version 1.0-rc1 is released with new Python SIP, Nokia APS support, and IPP codecs

“Good news, everyone” [Professor Hubert J. Farnsworth, Futurama]

This is an interim release, intended to mark the end of features development in the trunk. From now on, it will be tests and bug fixes only, until we reach 1.0. This will be our first proper stable release, and it will be given a separate branch, to isolate it from bleeding edge developments in the trunk.

Because of that, there has been a bit of “pressure” to stuff in as much features as possible on this release, since this is the last change to include them in 1.0. Here are some of them:

  • Integration of Intel® IPP Codecs.  This brings us with bunch of new codecs into PJMEDIA, such as G.722.1, G.723.1, G.726, G.728, G.729A, AMR NB, and AMR WB. Basically the lot! For more info about this integration, please see here.
  • New Python API. We discussed this on this blog a month ago here, basically it’s a new Python API for PJSUA-LIB, it’s much easier to use, and it also has a more thorough documentation/tutorial. Please check that out.
  • Nokia APS Support. The Nokia Audio Proxy Server is a wrapper to Nokia S60 sound device, it has much lower latency than Symbian MMF API (the traditional sound device that we support), and it also opens up support for device’s native codecs such as AMR, G.729, and iLBC which we can use in the future.  Although this API has been deprecated by Nokia in FP2, still there are lots of S60 and FP1 devices out there, so this is worth supporting.
  • New Echo Suppressor. Good for mobile devices, we discussed this in this blog here.

And some more. For more information regarding this release, please visit the download page.


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!

Setting up Your Linux Desktop for Blackfin BF-537 STAMP Board Development

In this post, I will provide a step-by-step guide to prepare your Linux desktop for Blackfin BF-537 STAMP software development.

The first thing to do is to ensure that you have everything that you will need installed correctly in your system. They are explained below.

Continue reading ‘Setting up Your Linux Desktop for Blackfin BF-537 STAMP Board Development’

The Short History of VoIP: 10 pioneer companies


iLocus studied the VoIP market from 1995 onwards and selected certain developments within the industry that helped establish it and related those developments with 10 selected companies.

Source: VOIP IP Telephony: Who established VoIP? here is 10 of them!

As an implementation of SIP and various media protocols, VoIP is still the main application area for pjsip (although recently Audio-over-IP has adopted SIP as well). So it is very interesting to have a recap of the last decade or so on how we all came to know (and love) VoIP.

What do you think? Tell us your “moment” of VoIP!

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!