PJSIP is a free, open source multimedia stack written in C that supports audio, video, presence, and instant messaging capabilities. These capabilities allow you to develop compelling real-time communication applications, such as a VoIP phone app.
This porting guide demonstrates how to integrate PJSIP into your BlackBerry® 10 Cascades™ application. Note that you need to build the PJSIP libraries using the Linux® version of the BlackBerry 10 Native SDK, but you can then import the libraries into your BlackBerry 10 Cascades application using the Windows® or Mac version of the Native SDK.
Blackberry 10 Native SDK for Linux (Ubuntu® 11.04)
BlackBerry 10 device
Download and install the BlackBerry 10 Native SDK for Linux.
chmod +x file.bin
Install Apache™ Subversion® for Linux if you don't already have it.
Open a command prompt (building from Linux).
Execute bbndk-env.bat or bbndk-env.sh from the root of your installation of the Native SDK.
Before running the pjbuildscripts, >chmod a+x * to make sure that all the scripts are executable.
In the command prompt, navigate to the pjbuildscripts GitHub® repository and run ./getpjsource.
In a command prompt, navigate to the pjbuildscripts GitHub repository and run ./buildpjsip (i.e. root@linuxbox:/home/......../Downloads/bb10-pjsipdemo-master/pjbuildscripts# ./buildpjsip). This command will first build opencore amr and then the pjsip libraries (pjlibs-armle-v7.zip, pjlibs-x86.zip, pjincludes.zip) in the pjbuildscripts folder for both target (Debug) and simulator (Debug).
In a command prompt, navigate to the pjbuildscripts GitHub repository and run ./createsdkoverlay (i.e root@linuxbox:/home/......../Downloads/bb10-pjsipdemo-master/pjbuildscripts# ./createsdkoverlay). This will generate an SDK overlay zip file (sdkfiles.zip) in the pjbuildscripts folder from the previously created zip files (pjlibs-armle-v7.zip, pjlibs-x86.zip, pjincludes.zip).
Within the sdkfile.zip file you will find the libraries and header files which can be added to your BlackBerry 10 Native SDK project (Windows, Linux, or Mac). Extract the sdkfile.zip and copy the files to the QNX_TARGET directory. Note: These files are already extracted and copied to the $QNX_TARGET directory on the Linux machine that you used to run the pjbuildscripts bash scripts.
Copy the library files in sdkfiles\armle-v7\lib to …\qnx6\armle-v7\lib.
Copy the header folders in sdkfiles\usr\include to \qnx6\usr\include.
Copy the library files in qnx6\usr\include to \qnx6\x86\lib.
If you find a bug or have an enhancement request, simply file an issue and send a message (via GitHub messages) to the committers for the project to let them know that you have filed an issue.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.