2012-11-22 23 views
45

Android uygulamasında VoIP hizmetini entegre etmem gerekiyor.
Herhangi bir özgür (en iyi açık kaynak) kütüphanesi var mı?Android için VoIP kütüphanesi

Kütüphanenin en azından internet üzerinden sesli arama yapmasına ve İnternet'e telefon etmesine izin vermemesine (2 Skype hesabı gibi) ihtiyacım var.

cevap

53

Android sürümünden 2.3 SIP API Android'e eklendi. Dahili SipStack kütüphanesini veya üçüncü taraf açık kaynak sip yığınlarını kullanabilirsiniz.

Android Developer's Guide

Orada farklı açık kaynak yudum yığını kütüphaneleri yanı sıra projelerdir internette mevcuttur bakınız. Bu projelerin kaynak kodunu indirebilirsiniz.

İnternet üzerinden sesli aramaya izin veren bazı popüler açık kaynak kodlu kitaplıkların listesi aşağıdadır.

1. Pjsip
2. Mjsip
3. doubango
4. belle-sip

kendi projects.like Sipdroid bu kütüphaneler kullandık farklı açık kaynak projeleri var MjSip, Csipsimple kullandığı kullanır vardır PjSip, imsdroid kullanır doubango ve Linphone kullanır belle-sip.

Ayrıca bu Android SIP stack - what to use?

+0

aramak ve üzerinde oturum edebiliyoruz TLS UUB üzerinde douubango kullanmaya çalışıyorum ama UDP üzerinde şans değil, iyi çalışıyor – Khan

+0

@Khan özür dilerim, bu konuya çok fazla dalmadım ama evet [Lumicall] deneyebilirsiniz (http://www.lumicall.org/) TLS'yi ve aynı zamanda açık bir kaynağı da destekleyen – juned

+0

4 veya 5 projeye sahip olan CSIPSimple'ı uygulamaya çalıştım ve aynı zamanda bunu nasıl yapılandırıyorsunuz? – Khan

30

Açık kaynak SIP yığınlarını başvurmak isteyebilirsiniz:

  1. Android SDK'nın varsayılan uygulaması (API> 9):
    Avantajları: Mevcut Belgeleri. Anlaması kolay.
    Dezavantajları: Tüm cihazlar desteklenmemektedir. Sadece çoğu cihazda WiFi üzerinde çalışır. Kodek değiştirilemez.

  2. Üçüncü Taraf

Java:

  • JainSIP (lisans: Public Domain)

Avantajları: Oracle (Sun) projesi ==> Etkin gelişme. MjSIP'den daha kolay görünüyor (daha fazla belge).
Dezavantajları: "Ünlü" bir uygulamada kullanılmaz.

  • MjSIP (lisans: GNU GPL)

Avantajları: SipDroid bunun üzerine inşa edilmiştir. (kaynak kodu mevcut) (red5phone başka bir projedir) Dezavantajları: RFC ile tam uyumlu değil mi? Öğreticiler eksikliği (Javadocs mevcut olsa da). KARMAŞIK.Gelişme neredeyse öldü.

  • Doubango çerçeve [robot-ngn-yığın] (lisans GNU GPLv3)

avantajları: IMSDroid üzerine inşa edilmiştir.

  • Yerli SIP Yığınlar

Avantajları: (mevcut kaynak kodu)
Dezavantajları:

C/C++ (here belirtildiği gibi> 15MB) Oluşturulan apk dosya boyutu "ağır" olma eğilimi : Çeşitli seçenek (PjSip [CSipSimple], GNU oSIP/eXoSIP [Linphone, kendi yığın belle-sip yaptı]). RFC ile tam uyum? Daha iyi performans.
Dezavantajları: Yeni başlayanlar için Android NDK/JNI.

Kaynakları (eski ve çoğunlukla C/C++): VoIP gerek ama SIP Değilse

http://www.cs.columbia.edu/sip/implementations.html
http://www.pernau.at/kd/voip/bookmarks-sip-stacks.html

+1

"Sadece WiFi üzerinde çalışıyor" --- Hmmm, garip, ben normalde 3G üzerinden kendimi arıyorum – djdance

+0

"Sadece Wifi üzerinde çalışır" herhangi bir belge referans var mı? – ZhangLei

+0

@ZhangLei "çoğu aygıtta, yalnızca WiFi, 3G veya LTE olmadan çalışır (android.net.sip.SipManager'ın [' isSipWifiOnly'] yöntemini içerdiğini unutmayın (http://developer.android.com/reference/ Bu sınırlamanın etkin olup olmadığını bilmek için android/net/sip/SipManager.html # isSipWifiOnly (android.content.Context)). " [kaynak] (http://stackoverflow.com/a/20583243/1449056) – JohnTube