<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>BlackBerry Developer Blog &#187; PJSIP</title>
	<atom:link href="http://devblog.blackberry.com/tag/pjsip/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.blackberry.com</link>
	<description></description>
	<lastBuildDate>Wed, 22 May 2013 19:49:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='devblog.blackberry.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/9ef0a66c09615fa946c4179662398878?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>BlackBerry Developer Blog &#187; PJSIP</title>
		<link>http://devblog.blackberry.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://devblog.blackberry.com/osd.xml" title="BlackBerry Developer Blog" />
	<atom:link rel='hub' href='http://devblog.blackberry.com/?pushpress=hub'/>
		<item>
		<title>Port Your PJSIP Engine to BlackBerry 10 in Less Than 10 minutes</title>
		<link>http://devblog.blackberry.com/2013/01/port-your-pjsip-engine-to-blackberry-10-in-less-than-10-minutes/</link>
		<comments>http://devblog.blackberry.com/2013/01/port-your-pjsip-engine-to-blackberry-10-in-less-than-10-minutes/#comments</comments>
		<pubDate>Mon, 14 Jan 2013 14:05:16 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Open Source SIP]]></category>
		<category><![CDATA[PJSIP]]></category>
		<category><![CDATA[RTP]]></category>
		<category><![CDATA[SDP]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[STUN]]></category>
		<category><![CDATA[TURN]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=13023</guid>
		<description><![CDATA[If you haven’t already heard, the BlackBerry 10 countdown is on. If you have an existing application using PJSIP libraries, this is your opportunity to port your pjsip open source stack to BlackBerry 10 in a matter of minutes. As you may have already heard, Bob Cripps has successfully ported PJSIP to BlackBerry 10. Just very [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13023&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://rimdevblog.files.wordpress.com/2013/01/pjsip.jpg"><img class="aligncenter size-full wp-image-13024" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/01/pjsip.jpg?w=344&#038;h=95" width="344" height="95" /></a></p>
<p>If you haven’t already heard, the BlackBerry 10 countdown is on. If you have an existing application using PJSIP libraries, this is your opportunity to port your pjsip open source stack to BlackBerry 10 in a matter of minutes. As you may have already heard, <a href="https://github.com/bobcripps">Bob Cripps</a> has successfully ported PJSIP to BlackBerry 10. Just very recently Bob has helped simplify building PJSIP for BlackBerry 10 by creating a set of executable scripts. This work has now all been committed to our BlackBerry github <a href="https://github.com/bobcripps/Cascades-Community-Samples/tree/master/bb10-pjsipdemo">repository</a>.</p>
<p>I took this opportunity to dig deep into building PJSIP for BlackBerry 10. As soon as I had my Linux environment up and running with all the prerequisites installed, I am happy to say that it took me less than ten minutes to build and load PJSIP BlackBerry 10 Cascades sample project to my BlackBerry 10 Dev <a href="https://developer.blackberry.com/blackberry10devalpha/">Alpha device</a>. So please don’t try to reinvent the wheel &#8211; dive right into this github <a href="//github.com/blackberry/Cascades-Community-Samples/tree/master/bb10-pjsipdemo">repository</a> to port PJSIP to BlackBerry 10. Remember to follow the README instructions as they are very important. You can also follow the instructions in below PJSIP porting guide knowledge base article: <a href="http://supportforums.blackberry.com/t5/Native-Development/Porting-PJSIP-PJMEDIA-and-PJLIB-to-BlackBerry-10/ta-p/2085751"><b>http://supportforums.blackberry.com/t5/Native-Development/Porting-PJSIP-PJMEDIA-and-PJLIB-to-BlackBerry-10/ta-p/2085751</b></a><b></b></p>
<p>If you run into any issues in porting PJSIP to BlackBerry 10 you can send me a tweet <a href="http://https://twitter.com/_GurtejSandhu" target="_blank">@_GurtejSandhu</a> or write your comment below and I will be happy to assist.</p>
<p>Again, huge kudos to Bob Cripps for contributing his recent work in simplifying building PJSIP for BlackBerry 10.</p>
<p>Success stories:</p>
<p><a href="http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/">http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/</a></p>
<p>BlackBerry 10 Development:</p>
<p><a href="https://developer.blackberry.com/develop/platform_choice/ndk.html">https://developer.blackberry.com/develop/platform_choice/ndk.html</a></p>
<p><a href="http://devblog.blackberry.com/2013/01/blackberry-10-voip/">http://devblog.blackberry.com/2013/01/blackberry-10-voip/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/13023/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/13023/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13023&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/01/port-your-pjsip-engine-to-blackberry-10-in-less-than-10-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/41e8b1a2189dfce0a51887beab21795d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gurtejsan1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/01/pjsip.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Full Duplex Audio Engine for BlackBerry 10 VoIP Developers</title>
		<link>http://devblog.blackberry.com/2013/01/blackberry-10-voip/</link>
		<comments>http://devblog.blackberry.com/2013/01/blackberry-10-voip/#comments</comments>
		<pubDate>Wed, 02 Jan 2013 19:15:09 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[audio subsystem]]></category>
		<category><![CDATA[audio support]]></category>
		<category><![CDATA[bbm]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[PJSIP]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12809</guid>
		<description><![CDATA[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 &#8212; and of those users, 60 million use BlackBerry Messenger (BBM). If you are thinking about growing your user base, why not just port [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12809&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-12810" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/12/voip.jpg?w=600&#038;h=276" width="600" height="276" /></p>
<p style="text-align:center;"><i>Figure shows a high level audio block diagram of BlackBerry 10 audio subsystem and BlackBerry 10 APIs</i></p>
<p>If you haven’t already heard, RIM’s subscriber base just grew to 80 million users &#8212; 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?</p>
<p>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.</p>
<p>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.</p>
<p>BlackBerry 10 audio subsystems consist of:</p>
<ul>
<li>Full duplex audio support</li>
<li>Interface to the microphone, receiver, loudspeaker and headset</li>
<li>Analog-to-Digital Conversion for the microphone</li>
<li>Digital-to-Analog Conversion for the speaker</li>
<li>Hardware Audio Routing to select audio user interface (headset, speakerphone&#8230;)</li>
<li>Io-audio enables voice processing (AEC, NR, Gain Control) and routes audio to voice path</li>
<li>Automatic Least cost audio routing over Wi-Fi or cellular radio</li>
<li>Volume control</li>
</ul>
<p>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.</p>
<p>So why wait &#8211; 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.</p>
<p><a href="http://supportforums.blackberry.com/t5/Native-Development/BlackBerry-10-Audio-Subsystem/ta-p/2018769" target="_new">http://supportforums.blackberry.com/t5/Native-Development/BlackBerry-10-Audio-Subsystem/ta-p/2018769</a></p>
<p>You can follow existing success stories at:<br />
<a href="http://blog.truphone.com/2012/05/blackberry-10-the-developers-advantage-1.html" target="_new">http://blog.truphone.com/2012/05/blackberry-10-the-developers-advantage-1.html</a><br />
<a href="http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/" target="_new">http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/</a></p>
<p>PJSIP Blog:<br />
<a href="http://blog.pjsip.org/2012/06/14/initial-support-for-blackberry-10-bb10-now-available/" target="_new">http://blog.pjsip.org/2012/06/14/initial-support-for-blackberry-10-bb10-now-available/</a><br />
<a href="https://trac.pjsip.org/repos/wiki/Getting-Started/BB10" target="_new">https://trac.pjsip.org/repos/wiki/Getting-Started/BB10</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12809/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12809/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12809&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/01/blackberry-10-voip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/41e8b1a2189dfce0a51887beab21795d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gurtejsan1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/12/voip.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>VoIP Development on BlackBerry 10</title>
		<link>http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/</link>
		<comments>http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/#comments</comments>
		<pubDate>Tue, 10 Jul 2012 14:26:30 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[Case Studies & Success Stories]]></category>
		<category><![CDATA[Interviews/Thought Leadership]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[PJSIP]]></category>
		<category><![CDATA[Tru App]]></category>
		<category><![CDATA[Truphone]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=10137</guid>
		<description><![CDATA[An interview with Truphone to share their experience in porting a PJSIP open source multimedia stack over to BlackBerry 10.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10137&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-10138" title="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/07/voip-1.jpg?w=373&#038;h=263" alt="TITLE_IMAGE" width="373" height="263" /></p>
<p>Let me be the first to share with you that real-time communications (VoIP) development is not only possible, but the BlackBerry® 10 platform was specifically built from ground up to deliver the best communications experience. There may be plenty of open source stacks out there for VoIP development, but an important one that comes to mind is <a href="http://www.pjsip.org/" target="_new">PJSIP</a>. To provide a brief overview, PJSIP is a free and open source multimedia stack written in C, and it supports audio, video, presence, and instant messaging capabilities. This allows you to develop compelling real-time communication applications, such as VoIP phone.</p>
<p>This may seem like a lot of porting effort but based on my experience in working with our good friends here at Truphone, this was fairly easy to bring over to BlackBerry 10. I want to take this opportunity and share their experience in porting a PJSIP open source multimedia stack over to BlackBerry 10. Check out my interview with Adam from Truphone below:</p>
<p><span id="more-10137"></span></p>
<p><strong>What is Tru App?</strong></p>
<p>The Tru app is our mobile application, available on BlackBerry 10, iOS, and Android, that allows our users to call and message people for free, or very cheaply. It works with our SIM offerings to provide a unique experience across GSM and VoIP.</p>
<p><strong>Share your experience in cross compiling your code for BlackBerry 10.</strong></p>
<p>Piece of cake! We have about 250k LoC in our voice engine, with many layers: signaling, NAT traversal, socket management, codec management, and much more. The only layer we needed to work on was that part that controlled the audio units (the actual hardware). Even that didn&#8217;t require that much work &#8212; 60 man days and our entire audio engine was ported and hooked up in our automated build environment with unit and integration tests complete!</p>
<p><strong>What APIs did you use to build Tru App on BlackBerry 10?</strong></p>
<p>For the audio unit work, we needed to work with the AlSA-like API that the BlackBerry 10 OS (which is QNX based) provides. This is subtly different to ALSA in that you request a preferred audio unit to be opened on your behalf, based on what state the device is in; e.g. it might be in hands-free mode, or might have a headset plugged in. We had to learn those APIs, which was fairly straightforward, as all the documentation was available online on the QNX website. There were one or two changes that are obviously specific to BlackBerry 10&#8242;s QNX implementation, but RIM® helped us in overcoming those challenges, and I&#8217;m sure that information will be fed into the API docs for the upcoming release of BlackBerry 10.</p>
<p>Other than that, we had to work with the Cascades™ framework and its Qt APIs (as well as QML to render our views). That was only complex in so far that much of it was not documented, but that is common with pre-alpha products! Since the alpha devices were released to the public at BlackBerry World™, all the documentation has been provided to make this a fairly straightforward task.</p>
<p><strong>How was your experience relative to working with other platforms and BlackBerry 10?</strong></p>
<p>It&#8217;s unix-like, which makes it open source friendly, which means you can stand on the shoulders of giants. It&#8217;s a great platform for prototyping and innovating, or indeed any project where you need to get productive quickly.</p>
<p>There are seemingly no private APIs on the device either, which means you don&#8217;t have to spend time working around limitations put on the device by the manufacturer.</p>
<p><strong>How was your experience working with the RIM team?</strong></p>
<p>Without wanting to sound like I&#8217;m biased, it was honestly really impressive. I&#8217;d heard RIM had put a lot of investment into developer relations, and that was obvious. The guys were massively responsive and attentive. It wasn&#8217;t just the dev relations guys either &#8212; the devs themselves took time to speak to us and get our feedback.</p>
<p><strong>Is Tru App going to be available on BlackBerry 10?</strong></p>
<p>Yep, we&#8217;ll be ready come the launch date!</p>
<p><strong>What does this port mean for developers?</strong></p>
<p>It’s a platform that you can add to your existing mobile strategy with low cost and minimum effort. It&#8217;s a platform you can innovate on, and there is an existing customer base you can rely on for revenue. Tecnically, it’s a very strong platform.</p>
<p><strong>Thanks for sharing all of these details with us, Adam!</strong></p>
<p>You can follow this success story at:<br />
<a href="http://blog.truphone.com/2012/05/blackberry-10-the-developers-advantage-1.html" target="_new">http://blog.truphone.com/2012/05/blackberry-10-the-developers-advantage-1.html</a></p>
<p>Truphone has contributed their work back to the PJSIP project and this is now available for download. Kudos to both to both Adam Linford and Bob Cripps for making this all happen.</p>
<p><a href="http://blog.pjsip.org/2012/06/14/initial-support-for-blackberry-10-bb10-now-available/" target="_new">PJSIP Blog</a><br />
<a href="https://trac.pjsip.org/repos/wiki/Getting-Started/BB10" target="_new">Getting Started: Building for BlackBerry 10</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/10137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/10137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10137&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/41e8b1a2189dfce0a51887beab21795d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gurtejsan1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/07/voip-1.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
	</channel>
</rss>
