3
votes

I'm working on a project which is to implement a VoIP client for android which uses SIP. My target is an application which allows users to register on a server and to make call with other registered users only. Its my first time to use Android Studio and also to deal with Java. I concluded from searching that there are SIP libraries that i could use as PJSIP which i have some questions about

1- I read that i should build the PJSIP library following the steps in the following link https://trac.pjsip.org/repos/wiki/Getting-Started im working on a windows based laptop, i've never built a source code before, so i just chose to build the PJSIP for android, should i do this using a virtual machine with linux ? is there any other way to get an already built pjsip library to work with? or any other easier library?

2- how do i know the functions that are in the PJSIP library and the files that i'll need to import, should these links help? whats PJSUA2? http://www.pjsip.org/pjsip/docs/html/group__PJSUA__LIB.htm http://www.pjsip.org/docs/book-latest/html/

3-I also checked the Csipsimple application, its code is very complicated for me to understand, are there any easier open source apps that i can check?

1
On 3 you could check out Restcomm Android SDK (github.com/RestComm/restcomm-android-sdk). It's open source, uses SIP for signaling and webrtc for media, and comes with Quick Start guide, Reference Documentation and sample applications that you can use to learn. You can find links to all that in the GitHub project page above. Finally its developed with Android Studio and you can actively discuss with its community on Gitter (gitter.im/RestComm/Restcomm-discuss)atsakiridis

1 Answers

2
votes

1- Yes, you should build PJSIP from the link you provided and follow the process step by step carefully. It's the best way because of official documentation. You have to build PJSIP library on a linux machine to make it work properly. If you need an already build library for Android, you can follow this link. Note that it's a PJSUA2 which is a best practice for the Android applications.

2- PJSUA2 is a high level API and is kind of translation from C++ language to object-oriented Java. It should simplify for you to implement library and use it in Android, because of same programming language and good library packaging.

3- There are not a lot of open source VoIP clients based on PJSIP which are easy to understand. If you are new in business, I should strongly recommend to build first of all sample application which is provided by PJSIP official web site. Then you have take a look at PJSUA2 documentation to understand where to begin, for example register sip account, receive and make a new call etc.