= Getting Started: Building for !BlackBerry 10 (BB10) = [[TracNav(Getting-Started/TOC)]] [[PageOutline(2-3,,inline)]] !BlackBerry 10 (BB10) target is available in the Subversion trunk and currently still experimental. When it ships, BB10 is expected to have native echo cancellation. For the latest guide see this [http://blog.pjsip.org/2013/01/15/port-your-pjsip-engine-to-blackberry-10-in-less-than-10-minutes/ blog post]. == Requirements == * You'll need !BlackBerry 10 Native SDK. After you download the SDK, set the environment variables by running {{{bbndk-env}}} script provided in the SDK: {{{ $ source bbndk_dir/bbndk-env.sh }}} * [https://github.com/blackberry/Cascades-Community-Samples/tree/master/bb10-pjsipdemo BB10 PJSIP Demo] * In particular read through [https://github.com/blackberry/Cascades-Community-Samples/blob/master/bb10-pjsipdemo/README.txt README] == Building PJSIP == [wiki:Getting-Started/Download-Source Get the source code], if you haven't already. Just run: {{{ $ cd /path/to/your/pjsip/dir $ ./configure-bb10 $ make dep && make clean && make }}} Notes: * the {{{./configure-bb10}}} is a wrapper that calls the standard {{{./configure}}} script with settings suitable for BB10 target. * you may pass standard {{{./configure}}} options to this script too. * for more info, run {{{./configure-bb10 --help}}} * other customizations are similar to what is explained in [wiki:Getting-Started/Autoconf Building with GNU] page. == Simulator == Install and configure the BB10 simulator, you will need to install a virtual machine player in order to use the simulator. To build for BB10 simulator, just run: {{{ $ ./configure-bb10 --simulator $ make dep && make clean && make }}} == Notes == === GSM Call Interruption Problem === #gsm If a VoIP call is in progress when an incoming GSM call arrives, and if the user accepts the GSM call, the audio routing of the phone is flawed producing the following result: The VoIP call goes to speaker and the GSM call does not “grab” the audio channels so you get a “null” GSM call and the VoIP call carries on with speaker. To prevent this from happening, application must implement GSM call detection using BB10 native API, and when it detects a GSM call, it should close PJSIP sound device by using either {{{pjsua_set_null_snd_dev()}}} or {{{pjsua_set_no_snd_dev()}}} and put the VoIP call on hold before accepting the GSM call. Thank you Bob Cripps of Truphone for the note.