Archive for the 'Technology' Category

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)

New low-complexity echo suppressor for mobile devices

As many have probably experienced it first hand, the echo suppressor (ES) in pjmedia sucks, to put it mildly. And this has made matters worse since ES plays such a major role in PDA’s and/or mobile devices/smartphones, since echoes are heavily present on these devices and we can’t really put the Accoustic Echo Canceller (AEC) on these devices due to the high processing requirements of the AEC (see our results in Evaluating PJMEDIA Performance article).

So we scrapped the old echo suppressor and wrote another one from scratch. And I think this one works quite well.

First of all, it’s low-complexity so it doesn’t require high processing requirements. We tested on a PocketPC 2003 PDA with 312MHz StrongARM CPU, it only uses less than 0.5% (half percent) of CPU. So it’s very affordable for these devices.

And most importantly, I think it works! It suppresses echo significantly, it lets non-echo audio pass through, and also it allows double-talk where both parties are talking at the same time. This is a very important to allow enjoyable conversation between two people, so we’ve made sure that the new echo suppressor supports this.

For those who care with the details, the ES works by comparing the audio level pattern in the input signal from the microphone with the audio level pattern in the playback signal during the learning process. It calculates the correlation values for each tail position up to the configured echo tail length, and finds out which tail position has the best correlation value. This position is then marked as the echo position. While doing this, the ES also notes the gain factors, that is how much de-amplification to be applied to the input signal in order to remove the echo from the input. Once the tail position is found, the ES then applies the appropriate gain factor according to the state of the conversation (e.g. I’m talking you’re silent, you’re silent I’m talking, we’re both talking, etc.).

This works pretty well. On the downside though, we noticed that the ES still seems to let a quiet echo to pass and transmitted back to remote party, depending on the signal level at the time. For now we allow this to happen since the echo level is very low and  doesn’t seem to be too annoying, and lacking enough experience with the new algorithm we don’t want to make it cut signals too aggressively yet since it may inadvertently cut the “good” signal.

The new echo suppressor is available in SVN as pjmedia/echo_suppress.c, and it will be included in the next release.

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
http://trac.pjsip.org/repos/wiki/SRTP

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!

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’

You Can Now Make Phone Calls from Your iPod touch

It’s official. The folks at touchmods.net have ported pjsip and released a SIP client for iPod touch.


Subscribe to blog updates

View Perry Ismangil's profile on LinkedIn