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?
Open source SIP stacks :
Android SDK's default implementation (API > 9) :
Advantages : Documentation available. Easy to understand.
Disadvantages : not all devices are supported. Can't change codecs.Third Party
Java :
- JainSIP (license : Public Domain)
Advantages : Oracle (Sun) project ==> Active development. Looks easier than MjSIP (more documentation).
Disadvantages : Not used in a "famous" app.
- MjSIP (license : GNU GPL)
Advantages : SipDroid is built on it. (source code available) (red5phone is another project) Disadvantages : Not fully compliant with RFC?. Lack of tutorials (Javadocs available though). SOPHISTICATED. Development almost dead.
- Doubango framework [android-ngn-stack] (license : GNU GPLv3)
Advantages : IMSDroid is built on it. (source code available)
Disadvantages : Generated apk file size tend to be "heavy" (>15MB as mentioned here)
C/C++ :
- Native SIP Stacks
Advantages : Various choice (PjSip [CSipSimple], GNU oSIP/eXoSIP [Linphone, which has made their own stack belle-sip]). Full compliance with RFC?. Better performance.
Disadvantages : Android NDK/JNI for a beginner.
Sources (old and mainly C/C++):
http://www.cs.columbia.edu/sip/implementations.html
http://www.pernau.at/kd/voip/bookmarks-sip-stacks.html