如何为 IOS 构建和测试支持 IPv6 的 PJSIP 2.5.5

How to Build and Test PJSIP 2.5.5 for IOS with IPv6 Support

我正在为我的项目使用 pjsip 2.5.5。 通过添加启用 IPv6 支持 #define PJ_HAS_IPV6 1 在 pj/config_site.h。 以下 (https://trac.pjsip.org/repos/wiki/IPv6).

我用这个构建了 linux 和 mac。构建成功,我通过调用 PIN 到 PIN(使用 --ipv6)进行了测试。它适用于 IPv6 地址。

现在我为 IOS 构建并使用 cli(telnet) 在模拟器中测试它。 使用 show (l) 检查帐户列表时 [有关命令的完整列表,请参阅:https://trac.pjsip.org/repos/wiki/PJSUA-CLI?format=pdf ]。它仅显示 IPv4 帐户(UDP 和 TCP),没有 IPv6 帐户。

我哪里错了?

是否需要定义任何标志?

如何使用 pjsua 为 IOS 使用 ipv6 测试 pjsip 构建?

您需要像下面这样同时创建两个传输。

/* Add UDP transport. */
status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &app_config->udp_cfg, 
&transport_id);
if (status != PJ_SUCCESS) {
    goto error;
}

/* Add UDP6 transport. */
status = pjsua_transport_create(PJSIP_TRANSPORT_UDP6, &app_config->udp_cfg, 
&transport_id);
if (status != PJ_SUCCESS) {
    goto error;
}

对于 TCP 和 TLS,您还需要执行与上述相同的操作。

乐于帮助大家:)