Nexus 7 との間の単純な SIP 呼び出しを示すために、構築しようとしている簡単なサンプル アプリがあります。デバイスは現在 Android 4.2.1 を実行しています。
LogCat に次のエラーが表示されます。
SipBroadcastRequest / SIP VOIP not supported: com.android.phone.SIP_REMOVE_PHONE
API ドキュメント (およびコード) から、これは SipManager.isApiSupported(Context context) が false を返す場合に発生することがわかります。適切な測定のために、両方をチェックしました:
SipManager.isVoipSupported(this);
SipManager.isApiSupported(this);
どちらも true を返します。また、(API コードから) API 呼び出しが false を返した場合、SipManager.newInstance(Context context)
が返されることもわかりますnull
。でマネージャーを作成するとSipManager.newInstance(this);
、有効なマネージャーが返されます。
同様の問題について多くの投稿が見られますがtrue
、SipManager.isVoipSupported(Context context)
呼び出しについて報告する投稿は見つかりませんでした。何か案は?
注: これが問題かどうかはわかりませんが、cSipSimple (Android 用の別の SIP/VoIP アプリ) はこのデバイスで動作します。
更新(12/20/12): pboy の提案に従って SipDemo を試しました。それもうまくいきません。そのアプリと私のアプリの両方が登録ステップで失敗します。デバッガーを使用してonRegistrationFailed
、SipRegistrationListener
. int errorCode
ここから-9 の とString errorMessage
"0" のが見えます。このエラー コードを調べたところ、次のコードに対応しています (SIP API ドキュメントから取得)。
public static final int IN_PROGRESS
API レベル 9 で追加されました
。クライアントはトランザクション中であり、新しいトランザクションを開始できません。
定数値: -9 (0xfffffff7)
他の SIP プログラムを実行していません。私のアプリは新しくインストールされたばかりで、現在も実行されていません。途中で他のトランザクションが何であるかわかりませんか?