3

Android アプリで sip 呼び出しを実装するためにネイティブ sip api を使用していますが、正常に動作していますが、CANVAS 3 などの一部のデバイスでは動作していませんでした。デバッグ後、このコード行がNULLを返していることがわかりました。

 **manager = SipManager.newInstance(ctx);**

これは、デバイスが Sip Apis をサポートしていないことを意味します。しかし、同じデバイス上で、SipDroid などの sipcalling 用の他のアプリケーションが適切に動作しています。

4

2 に答える 2

5

カスタム SipLibraries を使用できます。

Android 用のサードパーティ製オープン ソース sip スタック ライブラリ

  1. ジャイナ教の一口: http://jsip.java.net/
  2. Pjsip: http://www.pjsip.org/
  3. Mjsip: http://mjsip.org/mjua.html
  4. ドゥバンゴ: http://www.doubango.org/

プロジェクトでこれらのライブラリを使用しているさまざまなオープン ソース プロジェクトがあります。

  1. Jain sip: 「有名な」アプリでは使用されません。
  2. Sipdroid は MjSip を使用します
  3. Csipsimple は PjSip を使用します
  4. Imsdroid は doubango を使用します。

オープン ソースの SIP スタック: Android SDK のデフォルトの実装 (API > 9) 利点: ドキュメントが利用可能。わかりやすい。短所 : キャリアの制限により、すべてのデバイスがサポートされているわけではありません。WiFi のみで動作します。コーデックを変更できません。

サードパーティ: JainSIP 利点: Oracle (Sun) プロジェクト ==> 活発な開発。MjSIP よりも簡単に見えます (より多くのドキュメント)。短所 : なし 外部 JAIN-SIP(J-SIP) スタックを使用する Android 2.3 | クラスパス

サードパーティ: MjSIP 利点: SipDroid はその上に構築されています。(ソースコードが利用可能) (red5phone は別のプロジェクトです) 短所: RFC に完全に準拠していない?. チュートリアルの欠如 (ただし、Javadoc は利用可能)。開発はほぼ終了しています。

サードパーティ: Doubango フレームワーク 利点: IMSDroid はその上に構築されています。(ソースコードが利用可能) 短所: 生成された apk ファイルのサイズは「重い」傾向があります (ここで述べたように 15MB を超える)

フォロー

于 2013-12-14T11:30:36.863 に答える
4

SilentKiller の回答を補足するために、この質問への回答を転送しますが、スタックの選択は非常に複雑な作業であり、目標と好みに依存することを覚えておいてください。


古いJAIN SIPバージョンといくつかの拡張機能 (IMS、RTP のサポートなど) での Android SIP スタック リレー。このスタックの主な問題は、ほとんどのデバイスで WiFi 経由でのみ機能し、3G または LTE では機能しないことです (この制限が有効になっているかどうかを知る android.net.sip.SipManager方法が含まれていることに注意してください)。isSipWifiOnly

一方、pjsipSIP スタックではなく、完全なマルチメディア通信ライブラリであると彼らが言うように、非常に完全です。非常に用途が広く、膨大な数の構成を使用することも、単純なユーザー エージェントとして実行することもできます。あらゆる種類のデータ接続で動作します (WiFi に限定されません)。

ここでの比較: 私の意見では、pjsipはより完全で汎用性がありますが、プロジェクトとの統合はより困難です (Android SIP スタックではすべてが SDK 環境に残りpjsipますが、 では NDK と JNI ライブラリを使用する必要があります)。

私の意見: 非常にシンプルな SIP アプリを作成する予定があり、WiFi の制限を気にしない場合は、ネイティブの SIP API を使用するのが最善だと思いますが、それを改善してもっと「面白い」ことをする予定がある場合は、強くお勧めしpjsipます。私は JAIN SIP と の両方を使用しましpjsipたが、私の投票はpsip. しかし、これは私の意見です。


チェックする価値のある別のサードパーティスタックもあります: Linphone。また、JNI (pjsip など) を使用してプロジェクトに統合され、非常に完全ですが、もう少し複雑で重いかもしれません。

お役に立てれば。

于 2013-12-14T12:24:25.923 に答える