我已经按照PJSIP教程完成了 apjsua 示例应用程序。
当我尝试按+ a添加帐户时,它会向我询问Sip Url,注册商网址,Auth Realm,用户名,密码
我进入了
之后它给了我以下错误
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]
有没有人知道我哪里出错了?
或者有没有人知道使用pjsip库的任何其他方式来安装??? ???
答案 0 :(得分: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.line char变量未被正确清除。现在转到/ pjsip-apps / build /文件夹并执行“make”。然后转到/ pjsip-apps / src / apjsua /文件夹并执行“make”。然后刷新你的eclipse项目并运行。这应该可以解决问题。