Full Duplex Audio Engine for BlackBerry 10 VoIP Developers

Native SDK Development


Figure shows a high level audio block diagram of BlackBerry 10 audio subsystem and BlackBerry 10 APIs

If you haven’t already heard, RIM’s subscriber base just grew to 80 million users — and of those users, 60 million use BlackBerry Messenger (BBM). If you are thinking about growing your user base, why not just port your existing VoIP solution to BlackBerry 10?

For VoIP developers, how can this be possible? Well, it’s simple: BlackBerry 10 is powered by a QNX operating system, and you can benefit from this POSIX-compliant platform by porting open source libraries – whether that is PJSIP/PJMEDIA or your existing propriety VoIP stack.

As a VoIP developer, you may wonder if BlackBerry 10 provides the core ingredients for you to integrate your existing stack (SIP, RTP, Jitter buffer, SDP etc.) to BlackBerry 10’s underlying platform. Good news is that we have already done the work and validated this for you.

BlackBerry 10 audio subsystems consist of:

  • Full duplex audio support
  • Interface to the microphone, receiver, loudspeaker and headset
  • Analog-to-Digital Conversion for the microphone
  • Digital-to-Analog Conversion for the speaker
  • Hardware Audio Routing to select audio user interface (headset, speakerphone…)
  • Io-audio enables voice processing (AEC, NR, Gain Control) and routes audio to voice path
  • Automatic Least cost audio routing over Wi-Fi or cellular radio
  • Volume control

What’s important here is that these features are available to you today through the Audio Library APIs as part of the BlackBerry 10 Native SDK. The Audio Library is based on the QNX Sound Architecture API functions and has a lot of similarities to the Advanced Linux Sound Architecture (ALSA) APIs. These are not directly compatible, but for those of you that come from the Linux world and choose to use ALSA this would definitely be a good opportunity for you to port your existing code to BlackBerry 10.

So why wait – get started today! The knowledge base article below directs you to sample code that demonstrates how to integrate your existing VoIP stack with the BlackBerry 10 audio subsystem.


You can follow existing success stories at:


Join the conversation

Show comments Hide comments
+ -