gpt4 book ai didi

android - pjsip android 眩晕超时

转载 作者:行者123 更新时间:2023-11-30 03:13:50 27 4
gpt4 key购买 nike

我在 android 上为 pjsip 构建最新的主干并得到 stun 错误:

12-10 00:19:25.340  21917-21917/I/pjsua﹕ pjsua version 2.1-svn for Linux-3.0.15/armv7l initialized
12-10 00:19:25.345 21917-21917/I/pjsua﹕ PJSUA state changed: CREATED --> INIT
12-10 00:19:25.345 21917-21917/I/pjsua﹕ Module "mod-default-handler" registered
12-10 00:19:25.365 21917-21917/I/pjsua﹕ STUN mapped address found/changed: ip1:40865
12-10 00:19:25.365 21917-21917/I/pjsua﹕ STUN resolution success, using ip1:3480, address is ip2:3480
12-10 00:19:27.380 21917-21917/I/pjsua﹕ Error contacting STUN server: Received no response from STUN server (PJLIB_UTIL_ESTUNNOTRESPOND) [status=320010]
12-10 00:19:27.380 21917-21917/I/pjsua﹕ Shutting down, flags=0...
12-10 00:19:27.380 21917-21917/I/pjsua﹕ PJSUA state changed: INIT --> CLOSING

相同的 stun 配置使用相同的代码工作正常(在 iOS 和旧的 pjsip 中继上):

我的配置->cfg.stun_srv_cnt = 3;

const char *stun = "ip1:3480";
if (stun && strlen(stun)) pj_strdup2_with_null(my_config->pool,&(my_config->cfg.stun_srv[0]),stun);
const char *stun1 = "ip2:3480";
if (stun1 && strlen(stun1)) pj_strdup2_with_null(my_config->pool,&(my_config->cfg.stun_srv[1]),stun1);
const char *stun2 = "ip3:3480";
if (stun2 && strlen(stun2)) pj_strdup2_with_null(my_config->pool,&(my_config->cfg.stun_srv[2]),stun2);

ip1-3 是我的 ip 地址,比如 1.1.1.1

对我来说有两件事看起来很奇怪:1.根据日志,stun server 找到了ip地址,但是不知什么原因又开始找2. 为什么pjsip lib不尝试下一个服务器,而是停止库。

我尝试做 my_config->cfg.stun_ignore_failure = PJ_TRUE;但没有成功...

最佳答案

Index: pjsip/sources/pjsip/src/pjsua-lib/pjsua_core.c
===================================================================
--- pjsip.orig/sources/pjsip/src/pjsua-lib/pjsua_core.c 2013-03-31 19:06:27.202008510 +0200
+++ pjsip/sources/pjsip/src/pjsua-lib/pjsua_core.c 2013-03-31 19:06:31.322008598 +0200
@@ -1954,7 +1954,7 @@
pj_ntohs(pjsua_var.stun_srv.ipv4.sin_port);
status = pjstun_get_mapped_addr2(&pjsua_var.cp.factory, &stun_opt,
1, &sock, &p_pub_addr->ipv4);
- if (status != PJ_SUCCESS) {
+ if (status != PJ_SUCCESS && !pjsua_var.ua_cfg.stun_ignore_failure) {
pjsua_perror(THIS_FILE, "Error contacting STUN server", status);
pj_sock_close(sock);
return status;

感谢 csipsimple 的 Regis...

关于android - pjsip android 眩晕超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20481630/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com