VoIP library for Android
From android version 2.3 SIP API is added in Android. you can use either inbuilt SipStack library or third party open source sip stacks.
Refer Android Developer's Guide
There are different open source sip stack libraries as well as projects are available on internet. You can download the source code of that projects.
Here is the List of some popular open source sip stack libraries which allows to voice call over internet.
1.Pjsip
2.Mjsip
3.doubango
4.belle-sip
There are different open source projects which have used these libraries in their projects.like Sipdroid uses MjSip, Csipsimple uses PjSip, imsdroid uses doubango and Linphone uses belle-sip.
You may also like to refer this Android SIP stack - what to use?
VOIP Library for Mobile(Android/IOS) and Web Application
Paid Library :
1) Zipper -- It has native sdk for mobile and Javascript sdk for mobile or web. https://www.zoiper.com/en/voip-sdk
2) ToxBox is also good library for voice call. https://tokbox.com/
Open Source :
Try Linphone- Its good for voice calling - they also provide sdk for Mobile and web.
https://www.linphone.org
Using PJSIP open source library for VoIP media and signal handling
I am developing a similar application to yours along with video support. I am yet to integrate the pjsip library to the app. But have built the library for android.
To answer your questions,
NDK(an SDK available in android studio) is used to implement native languages such as C and C++ in android. Using JNI interface the C,C++ code is made compatible with android, You don't have hard code any of these for now.
Go to pjsip and get tar or zip files based on the platform(either windows or linux) and extract it into your system.
You also need to install ndk, google through the steps.
Building the library would be a bit of hassle. So follow the official guide and for the errors that arise follow the steps below
Buiding PJSIP for android
Go to the directory of the pjproject downloaded for android
Go pjproject/pjlib/include/pj and check for config_site.h file, if not found create one and add :
hashtag define PJ_CONFIG_ANDROID 1
hashtag include angular braces pj/config_site_sample.h angular braces
export ANDROID_NDK_ROOT = path to the ndk-bundle of ndk(downloaded).
Go to the root folder of pjproject and
execute
./configure
make dep && make clean && make
Errors:
For no compiler found error install clang using sudo apt-get clang
and execute
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -target armv7-none-linux-androideabi -gcc-toolchain $NDK_TOOLCHAIN"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -target armv7-none-linux-androideabi -gcc-toolchain $NDK_TOOLCHAIN"
For C compiler cannot create executables error
Grant permission to ndk-bundle
chmod -R 777 ndk-bundle
For missing seperator error in any folders
execute find . -type f -name '*.depend' | xargs rm
For any other errors, also install g++
Related Topics
Arrayindexoutofboundsexception with Custom Android Adapter for Multiple Views in Listview
Android Emulator Failed to Allocate Memory 8
Why Does Flag_Activity_Clear_Top Not Work
Mediaplayer Stop Playing After About 5 Seconds
How to Work-Around the Blank Title in Pagertitlestrip and Pagertabstrip
How to Show a Preview of a Recyclerview's Contents in The Android Studio Editor
Gridlayoutmanager - How to Auto Fit Columns
How to Create an Android Activity and Service That Use Separate Processes
How to Clear the Volley Cache Automatically
Android Viewpager - Show Preview of Page on Left and Right
Android: Using HTML5 to Determine Geolocation in Webview with JavaScript API
Couldn't Get Connection Factory Client - Fighting with Google Maps
<Select> Not Working in Phonegap App on Android 2.3.3
How to Set The Title Color for The New Toolbar
Android: How to Implement First Time Tutorial Like Go Launcher in My App
Android, How to Read Qr Code in My Application
How to Close Activity and Go Back to Previous Activity in Android
Execution Failed for Task: ':App:Mergedebugresources'. Android Studio