<?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; voice</title>
	<atom:link href="http://devblog.blackberry.com/tag/voice/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; voice</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>Real-time Communications (VoIP) on BlackBerry 10: WebRTC and Open Peer</title>
		<link>http://devblog.blackberry.com/2013/05/hookflash/</link>
		<comments>http://devblog.blackberry.com/2013/05/hookflash/#comments</comments>
		<pubDate>Wed, 22 May 2013 13:09:22 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Case Studies & Success Stories]]></category>
		<category><![CDATA[Interviews/Thought Leadership]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[ndk]]></category>
		<category><![CDATA[Open Peer]]></category>
		<category><![CDATA[Real-time Communications]]></category>
		<category><![CDATA[RTC]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[voice]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[WebRTC]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=15059</guid>
		<description><![CDATA[I would like take this opportunity and introduce you to our good friends at Hookflash who have successfully ported all major components of both WebRTC and Open Peer libraries to BlackBerry 10. To provide a brief overview, WebRTC is an open source multimedia &#38; network stack that supports real-time audio &#38; video. The value Open [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15059&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div id="attachment_15061" class="wp-caption aligncenter" style="width: 532px"><a href="http://rimdevblog.files.wordpress.com/2013/05/rtc1.png"><img class="size-full wp-image-15061" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/05/rtc1.png?w=522&#038;h=278" width="522" height="278" /></a><p class="wp-caption-text"><a href="http://www.webrtc.org/reference/architecture" rel="nofollow">http://www.webrtc.org/reference/architecture</a></p></div>
<p>I would like take this opportunity and introduce you to our good friends at <a href="http://hookflash.com/">Hookflash</a> who have successfully ported all major components of both <a href="http://www.webrtc.org/">WebRTC</a> and <a href="http://openpeer.org/">Open Peer</a> libraries to BlackBerry 10. To provide a brief overview, WebRTC is an open source multimedia &amp; network stack that supports real-time audio &amp; video. The value Open Peer delivers to WebRTC applications is peer-to-peer (P2P) signalling on the wire, Instant Messaging, Federated Identities and multiple mobile platform support.</p>
<p><span id="more-15059"></span></p>
<p>So why is this so important?  Well, it enables developers to build rich, compelling, real-time communication applications integrating Social Identities with Voice, Video and Messaging using <a href="https://developer.blackberry.com/native/">BlackBerry 10 Native SDK</a>. Secondly, WebRTC is free to use if you decide to commercialize your application. What Hookflash has achieved on BlackBerry 10 really exemplifies the power of our BlackBerry 10 Native Platform to deliver the best communications experience.</p>
<p>I would like to further highlight Hookflash team’s experience in porting both WebRTC and Open Peer stack’s over to BlackBerry 10 platform. Check out my interview with Erik Lagerway (Co-founder) &amp; Robin Raymond (Chief Architect) from Hookflash below:</p>
<blockquote>
<h3>What is Hookflash?</h3>
<p><a href="http://hookflash.com/">Hookflash</a> is a globally distributed software development team building “<a href="http://openpeer.org/">Open Peer</a>”, new “open” video, voice and messaging specification and software for mobile platforms and web browsers.  Open Peer enables an important new evolution of communications; <i>Open</i>, for developers and customers to create with. “<i>Over-the-top</i>” on the Internet, where users control their economics and quality of service. “<i>Federated Identity” </i>so user’s connections aren’t limited by service provider’s walled gardens and operating systems. “<i>Integrated”</i>, as communications become a native function in software and applications. Hookflash founders, lead developers and Advisors accomplishments include; creators of the world’s most popular softphones, built audio technology acquired and used by Skype, built GIPS technology acquired and open sourced by Google to create WebRTC, and engaged in <a href="http://webrtc.is/">WebRTC standards development</a> in the IETF and W3C.</p>
<h3>What is Open Peer SDK and how would this empower BlackBerry 10 developers?</h3>
<p>Open Peer enables direct integration of social identities, video, voice and messaging communications for developers building native BlackBerry 10 (NDK) applications. Voice, video and messaging flow Over The Top (OTT) via the Internet.</p>
<p>These services are delivered peer-to-peer (P2P) providing extremely strong privacy, security and encryption. Open Peer enables federated identities and allows developers to leverage and integrate whatever identity model they currently have, so their users <i>remain their users!</i></p>
<h3>What features does Open Peer SDK support?</h3>
<p>The Open Peer SDKs are built according to the <a href="http://docs.openpeer.org/OpenPeerProtocolSpecification/">Open Peer specification</a>. Here are a few of the features we have built into the current SDKs&#8230;</p>
<ul>
<li>HD real-time video</li>
<li>Wideband voice and messaging</li>
<li>Peer-to peer signalling &amp; media transport (greater efficiency, reliability &amp; privacy)</li>
<li>Federated identity for cross-platform communications (not to be confused with Single Sign-On)</li>
<li>Encrypted &amp; secure communications</li>
</ul>
<h3>Would HTML5/WebWorks developers be able to leverage this in BlackBerry 10?</h3>
<p>Yes. The current SDK is for BB10 NDK developers at this time. However, we have an active “opjs” project under development that will allow interaction between a native BB10 application and an HTML5/WebRTC enabled browser thus allowing web applications to communicate directly with native BB10 applications.</p>
<h3>Share your experience in cross compiling your code for BlackBerry 10</h3>
<p>Like all platforms, there’s is a learning curve relative to what you are used to until you find yourself comfortable in a new environment, and BB10/QNX is no different. The richness to the platform experience is impressive on the BB10 and made iOS feel somewhat dated by comparison.</p>
<p>Since QNX is a POSIX compliant system, it was relatively easy to get a majority of open source code ported to BlackBerry 10. The QNX GCC-compliant mode has helped us as well.</p>
<p>There were a few wrinkles along the way. The documentation and NDK felt young compared to other more established platforms but that kind of level of documentation grows out of community support and interaction.</p>
<p>One major difference between this project and other platforms has been the phenomenal support that Blackberry has provided us as developers, especially as Hookflash is pushing the platform and technology harder than most with real time communications in audio and video. This was refreshing, We&#8217;ve never seen such incredible support for their developer community.</p>
<h3>Have you ported over the entire webRTC engine to BlackBerry?</h3>
<p>Yes, we have ported all major components of webRTC library to BlackBerry. We will be extending what is offered by WebRTC’s library as well.</p>
<h3>How long did it take to port the WebRTC and Open Peer code to Blackberry 10?</h3>
<p>When you consider the size of the code-base that had to be moved, and the fact we had not worked on QNX /  Blackberry 10 before, it went relatively quickly. The entire move took us approximately 90 days.</p>
<h3>Are you going to commit this work back upstream to WebRTC project?</h3>
<p>Yes, our code will migrate back to the WebRTC project. Hookflash is extremely busy on a number of fronts making Open Peer widely available with limited resources.  We appreciate help from other developers. Pushing the WebRTC codebase back upstream will be of tremendous value to the Blackberry developer community. Requests to join <a href="https://github.com/openpeer/opbb10">our Open Peer BB10 github project</a> are always appreciated.</p>
<h3>What APIs did you use to build your application on BlackBerry 10?</h3>
<p><a href="https://developer.blackberry.com/native/reference/bb10/audio_libref/topic/summary.html">NDK’s audio</a>, camera and rendering subsystems and Boost are the bulk of the components. We use <a href="https://developer.blackberry.com/cascades/">Cascades/QT</a> for the sample application.</p>
<h3>Do you have VP8 Video working on BlackBerry 10?</h3>
<p>Yes. We had some difficulty getting the assembly to compile properly but with Blackberry’s support we were successful in porting an optimized version of VP8 to the BB10 platform. Keep in mind we have tested this mostly on Z devices at this time with limited testing done on the Q devices.</p>
<h3>How was your experience relative to working with other platforms and BlackBerry 10?</h3>
<p>As mentioned earlier, Blackberry feels a bit new in the documentation area and there are still a few bugs to take care of in the platform. Having said that, the platform is forward thinking, flexible and impressively powerful. Blackberry’s support has been beyond anything we could have hoped and even expected.</p>
<p>As more developers are drawn to the platform, documentation and community involvement will improve the access to information on the platform and increase the samples available to draw upon.</p>
<p>For such a new entrant into the market, our team is thoroughly impressed.</p>
<h3>How was your experience working with the RIM team?</h3>
<p>Bar-none, the best support we’ve ever had from a major platform vendor directly into the project. Kudos to RIM / Blackberry for providing such a spectacular community outreach.</p>
<h3>When is Open Peer SDK going to be available for BlackBerry 10?</h3>
<p>Our SDK is ready now in beta, developers can get it on <a href="https://github.com/openpeer/opbb10">Github</a> today. We continue to polish this and our other toolkits, we expect commercialization to begin later this year. Follow us on <a href="https://github.com/openpeer/">github</a> and <a href="http://twitter.com/hookflash">twitter</a> to get the latest news on Hookflash and Open Peer development.</p></blockquote>
<p>I hope you found this interview informative and useful.  If you have any questions or feedback please leave a comment below or reach out to me directly on Twitter <a href="https://twitter.com/_GurtejSandhu">_GurtejSandhu</a>. Kudos to Hookflash team for making this all happen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/15059/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/15059/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15059&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/05/hookflash/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/05/rtc1.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>BlackBerry Mobile Voice System APIs &#8211; Handling Multiple Phone Numbers in OS 5.0</title>
		<link>http://devblog.blackberry.com/2010/05/blackberry-mobile-voice-system-apis/</link>
		<comments>http://devblog.blackberry.com/2010/05/blackberry-mobile-voice-system-apis/#comments</comments>
		<pubDate>Tue, 18 May 2010 10:00:00 +0000</pubDate>
		<dc:creator>Brian Z.</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[MVS]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[os 5.0]]></category>
		<category><![CDATA[voice]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=1615</guid>
		<description><![CDATA[BlackBerry Mobile Voice System API tutorial, explaining how to handle multiple phone numbers in BlackBerry Device Software 5.0<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=1615&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>So you’ve landed yourself a sweet deal with a carrier and your BlackBerry® smartphone application is going to be sold and billed through them.  Congratulations!  Now it’s time for you to keep the carrier happy.  How do you do that?  Increase their revenues and minimize their expenses.  If you’ve got a good app, the revenue part is easy.  The expenses part is a little trickier – it could mean that your app is bandwidth friendly; it could mean that you as an app developer are extremely self-proficient; or it could also mean that your app is rock solid and generates very few support calls.</p>
<p>In most cases when a carrier partnership agreement is achieved, the billing and/or authentication is done using the cell phone number of the BlackBerry smartphone.  Traditionally, this requirement meant that you’d call Phone.getDevicePhoneNumber(boolean format) to retrieve the user’s BlackBerry smartphone cell number.  However, if the user is using <a href="http://www.blackberry.com/mvs" target="_new" title="BlackBerry® Mobile Voice System">BlackBerry® Mobile Voice System (BlackBerry MVS)</a>, getDevicePhoneNumber() will not return their cell phone number, but instead will return the phone number used for BlackBerry MVS.  Uh-oh, did your app just create a support incident?  If you’ve been keeping up with platform features, the answer is no.</p>
<p><span id="more-1615"></span></p>
<p>When a user is connected to BlackBerry MVS, the whole point is to use it as much as possible, thus getting its maximum benefit.  Thus, the user’s work number / the number associated with BlackBerry MVS now becomes the user’s default phone number – which is exactly what will be returned by getDevicePhoneNumber().  This new default phone number might cause a problem for the billing and/or authentication of your application through the carrier, since your application might be expecting the user’s cell number to be returned &#8211; not the BlackBerry MVS number.</p>
<p>So how do you handle this situation?</p>
<h2>Option A: Make the user do it.</h2>
<p>Since the user does have the ability to manually set which phone number to use, you could take a hard-nosed stance and make the user do all the work.  In order for the user to change this setting, they need to go into the Phone application, select “Options” from the menu, select “Work line,” then select “Line and Network Preferences,” and finally choose the right number using the drop down box labelled “Default line for outgoing calls.”  Save this change and you’re done.  With no change required to your app, getDevicePhoneNumber() now returns the cell number to you.  However, you’ve now just put a ton of onus on the user, reduced the effectiveness of BlackBerry MVS, and likely still generated a support call.</p>
<h2>Option B: Take advantage of new platform features and use the new APIs.</h2>
<p>Use the following API functionality added in BlackBerry Device Software 5.0:</p>
<div class="sample">
<pre>int[] lineIds = Phone.getLineIds();
String phoneNumber = null;
for( int i=0; i &lt; lineIds.length; i++ ) {
if(Phone.getLineType(lineIds[i]) == Phone.MOBILE_TYPE) {
//found the user’s cell number
phoneNumber = Phone.getLineNumber(lineIds[i]);
} else if Phone.getLineType(lineIds[i] == Phone.PBX_TYPE) {
//found the number used for BlackBerry MVS
}
}
</pre>
</div>
<p>
<p>With less than 10 lines of code, your app is more robust, BlackBerry MVS friendly, and can reliably provide the cell phone number to the carrier.  Personally, I like my carrier relationships, so I’ll go with option B.  But the choice is yours!</p>
<p>Have you tried out this tip? Let us know how it went in the comments!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/1615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/1615/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=1615&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2010/05/blackberry-mobile-voice-system-apis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/93c01acd537bfb61a304b73eef4fce76?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brianzub1</media:title>
		</media:content>
	</item>
	</channel>
</rss>
