2012-11-22 22 views
45

私のAndroidアプリケーションにVoIPサービスを統合する必要があります。
無料(最高のオープンソース)ライブラリはありますか?Android用VoIPライブラリ

ライブラリーは少なくともインターネット経由ではなく、必ずしもインターネットに接続する必要はありません(2 Skypeアカウントなど)。

答えて

53

アンドロイドバージョン2.3から、SIP APIがAndroidに追加されました。あなたは組み込みのSipStackライブラリかサードパーティのオープンソースのsipスタックを使うことができます。

Android Developer's Guide

異なるオープンソースのSIPスタックライブラリだけでなく、プロジェクトがありますが、インターネット上でご利用いただけます参照してください。そのプロジェクトのソースコードをダウンロードできます。

インターネット上で音声通話を可能にする一般的なオープンソースSIPライブラリのリストです。

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

SipdroidMjSipを使用しています彼らのprojects.likeでこれらのライブラリを使用しているさまざまなオープンソース・プロジェクト、Csipsimpleの用途があります。 PjSip,imsdroiddoubangoおよびLinphonebelle-sip

また、このAndroid SIP stack - what to use?

+0

をチェックしてください、あなたは中に呼び出し、署名することができますTLS私はdouubangoを使用しようとしていますが、うまく動作してUDP上でTLS上の運がない – Khan

+0

@Khan申し訳ありませんが、私はこれに深く掘り下げなかったが、[Lumicall](http://www.lumicall.org/ )TLSとそのオープンソースをサポートしています – juned

+0

CSIPSimpleを実装しようとしましたが、それは4つまたは5つのプロジェクトを持っていました。また、それを表示してエラーをどのように構成しますか? – Khan

30

オープンソースのSIPスタックを参照したい場合があります。

  1. のAndroid SDKのデフォルトの実装(API> 9):
    利点:利用できるドキュメント。わかりやすい。
    短所:すべてのデバイスがサポートされているわけではありません。ほとんどのデバイスでのみWiFiで動作します。コーデックを変更できません。

  2. 第三者

のJava:

  • JainSIP(ライセンス:パブリックドメイン)

利点:オラクル(日)プロジェクト==>アクティブ開発。 MjSIP(より多くのドキュメント)よりも簡単に見えます。
デメリット:「有名な」アプリでは使用されていません。

  • MjSIP(ライセンス:GNU GPL)

利点:SipDroidはそれに基づいて構築されています。 (ソースコードが利用可能です)(red5phoneは別のプロジェクトです) 短所:RFCに完全準拠していませんか?チュートリアルの欠如(Javadocsは利用可能です)。独創的。開発はほとんど死んだ。

  • Doubangoフレームワーク[アンドロイド-NGNスタック(ライセンス:GNU GPLv3の)

利点:IMSDroidは、その上に構築されます。 (利用可能なソースコード)
短所:生成されたAPKファイルサイズ(上述hereとして> 15メガバイト) "重" である傾向がある

C/C++:

  • ネイティブSIPスタック

利点:さまざまな選択肢(PjSip [CSipSimple]、GNU oSIP/eXoSIP [Linphone、独自のスタックビールシップを作った])。 RFCに完全に準拠していますか?よりよい性能。
短所:初心者のためのAndroid NDK/JNI。 (古いと主にC/C++)

出典:

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

+1

「Wi-Fiのみで動作する」---うーん、奇妙なことに、3G経由で自分自身を呼び出すのは普通 – djdance

+0

「Wifiのみで動作する」というドキュメント参照はありますか?ほとんどのデバイスでは – ZhangLei

+0

@ZhangLei "と呼ばれていますが、WiFi、3G、LTEでは動作しません( 'android.net.sip.SipManager'にはメソッド[' isSipWifiOnly']が含まれていることに注意してください(http://developer.android.com/reference/この制限が有効になっているかどうかを知るためにandroid/net/sip/SipManager.html#isSipWifiOnly(android.content.Context)) [ソース](http://stackoverflow.com/a/20583243/1449056) – JohnTube