Doing it in Stereo

While PJMEDIA have supported stereo audio since day one, it had come with few limitations, for example this capability was not exported in PJSUA-LIB API, and once stereo mode is set, everything must be set to stereo too. These have been fixed in the latest SVN now. There is a new configuration field in pjsua_media_config to set the number of channels configuration for both the sound device and the conference bridge (the default is one of course), and more importantly, the conference bridge can now allow media ports with different channel count setting to be registered to it.

As an example of the new capability, application can instantiate both the sound device and the bridge in stereo. If the call is established with a stereo codec (for stereo we only have L16 codec for now), then transmission will be stereo, and if the call is established with the usual mono codec (G.711, G.722, Speex, etc. And oh yes, we do have G.722 now!), then the bridge will correctly perform the stereo - mono conversion, mixing the audio channels as necessary.

Having said all that, you may ask, why? Why bother with stereo at all?

You’re right, stereo is uncommon in VoIP. But nowdays SIP is used in broader industries than just VoIP. For example, the European Broadcasting Union (EBU) is currently looking to standardize Audio Contribution over IP (N/ACIP) which is based on standard based protocols such as SIP and RTP, and stereo encoding comes as one of the mandatory requirements. Also on different industry, we’re currently looking to integrate PJSIP as a VoIP platform in Virtual World games, in the open source VoIP for Virtual World project. This project is still in its very early stage, as it’s been published literally just couple of weeks ago. Here I guess stereo will play quite an important role, because of the positional audio requirement. And still there are more use cases for stereo, for example in SIP to radio gateways where people do want to transmit different audio in the left and right channel. The last use case probably is niche, but people do ask for that.

So in conclusion, stereo does have a use case. And I’m glad that we have a pretty smooth support for that.

And how can we enable stereo in the application? Well just set pjsua_media_config.channel_count to 2, and that’s just about it! More advanced scenarios are possible of course, but at least it’s very easy to get started with it.

Live from FOSDEM 2008: Day Two

This is the day for pjsip presentation, available as a Google Docs presentation.

The busyness of the FOSDEM is still here, probably a slower start due to Sunday morning (arrived at 09.00 for the Mozilla DevRoom Extensions Workshop, with only a few people but started filling up quickly).

I’m currently listening to Toshiharu Harada, a very nice chap from Japan discussing a secure Linux distribution.

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!

Command Line SIP Client

Josh Benson of Open Source Society tells us how pjsua can be used as fully featured SIP client to solve real life problems in PJSIP: Command-Line VoIP Client for Linux:

Some time ago, I was tasked at work with finding an IP telephony client that used the SIP protocol, ran on linux, and did everything from the command line. The goal was to have a program that could be deployed at remote networks to test the quality and performance of VoIP calls between the remote site and our central Asterisk VoIP server.

Read more..

Josh has it spot on. While pjsua is intended primarily as the reference implementation of PJSIP (command line programs are always easier to learn than GUI), it is also intended to have the full features of a SIP client. Softphones with pretty GUI are easier to use, and they are also easier to find, but for some specific tasks, sometimes we have to revert back to using the good old console application, and that’s where pjsua fits the bill.

I’m glad that Josh and others find it useful. Thanks Josh for sharing your experience.

PJSIP on Symbian Phone Works

[pjsip] PJSIP on Symbian Phone Works!:

This announcement is a bit late than planned (I promised to finish the Symbian port before Jan 2008), but we thought we’d give this a more thorough testing before announcing it, hence the delay.

In summary, PJSIP works and tested on Symbian S60 3rd Ed phone. Everything should work, including all SIP features, sound, STUN, and ICE. And we’ve made a tutorial on how to build and debug PJSIP on target device.

There have been some major changes along the way:

  • Carbide is now the preferred IDE rather than CodeWarrior. This is because CW has been deprecated by Nokia anyway.
  • Support for DSO is no longer enabled by default. It’s still supported, but you’d have to edit the MMP files slightly to build DSO outputs.

So what’s left to be done is for someone to create a nice open source Symbian softphone GUI on top of it. ;-)

For more info:

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.

pjmedia Running on iPod Touch: Good news for Open Source

The buzz on making phone calls from iPod Touch using software based on pjsip/pjmedia is picking up steam. Engadget, Tom Keating, even Andy Abramson of VoIP Watch has picked it up.

pjmedia is now up and running (screenshot courtesy of Touchmods):

pjmedia on iPod Touch screenshot

The imminent release of the software is also mentioned.

Because the developers are using pjsip and pjmedia under GPL that means the software is free and open source, and will be available to everyone! I am sure Matt Asay, recently posting about Apple and open source would be proud :)

Next Page »


Subscribe to blog updates

View Perry Ismangil's profile on LinkedIn
Clicky