2

PJSIPチュートリアルに従い、 apjsuaサンプルアプリケーションを正常にビルドしました。

+ aでアカウントを追加しようとすると、Sip Url、レジストラのUrl、Auth Realm、ユーザー名、パスワードの入力を求められます。

入った

  • Sip Url:sip:140@122.252.232.5
  • レジストラ:sip:122.252.232.5
  • Auth Realm:*
  • ユーザー名:140
  • パスワード:例

その後、次のエラーが発生しました

    10-17 19:57:27.165: I/apjsua(920): 19:57:27.165  sip_resolve.c  ...Failed to resolve '122.252.232.532.5'. Err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
10-17 19:57:27.174: I/apjsua(920): 19:57:27.174    tsx0x223a5c  ...Failed to send Request msg REGISTER/cseq=54907 (tdta0x1eb9a0)! err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
10-17 19:57:27.185: I/apjsua(920): 19:57:27.185    pjsua_acc.c  .....SIP registration failed, status=502 (gethostbyname() has returned error (PJ_ERESOLVE))
10-17 19:57:27.199: I/apjsua(920): 19:57:27.199    pjsua_acc.c  .....Scheduling re-registration retry for acc 2 in 6 seconds..
10-17 19:57:27.212: I/apjsua(920): 19:57:27.212      sip_reg.c  ..Error sending request, status=70018
10-17 19:57:27.226: I/apjsua(920): 19:57:27.226    pjsua_acc.c  ..Unable to create/send REGISTER: gethostbyname() has returned error (PJ_ERESOLVE) [status=70018]

私がどこで間違っているのか、誰かが知っていますか?

または、Android用のpjsipライブラリを使用する他の方法を知っている人はいますか?

4

1 に答える 1

10

あなたは運がいいです。私は数日前にこの問題を抱えていましたが、それは単純な初期化エラーのように見えました。cコードのデバッグを実際に理解する必要があります。そうしないと、pjsipスタックを理解するのに苦労することになります。とにかくここにあなたがすることはあります:

/pjsip-apps/src/pjsua/main_android.cの下の「setInput」メソッドを次のようにします。

void setInput(char *s)
{
  int i = 0;

  for (i = 0; i < sizeof(app_var.line); i++)
  {
      app_var.line[i]=NULL;
  }

  /* app_var.line[0] = 0; */

  if (strlen(s) < sizeof(app_var.line))
      strncpy(app_var.line, s, strlen(s));
  pj_sem_post(app_var.input_sem);
}

コードの変更を見ると、app_var.linechar変数が正しくクリアされていなかったことがわかります。次に、/ pjsip-apps / build /フォルダーに移動し、「make」を実行します。次に、/ pjsip-apps / src / apjsua /フォルダーに移動し、「make」を実行します。その後、Eclipseプロジェクトを更新して実行します。それでうまくいくはずです。

于 2012-10-18T14:58:08.390 に答える