2

在我的 iPhone 项目中下载、编译和安装 pjsip 2.0 版(来自 pjsip.org)后,我遇到了以下问题:

问题是当我在 3G 上使用 UDP 时。

iPhone 设备使用 3G 时 - 来电时,我听不到对方的声音,但对方可以听到我的声音。 但是,在 3G 上拨出电话时,一切正常。

当手机在 Wi-Fi 上时,一切正常,传入、传出,双方都听得很好。

此外,TCP 适用于所有场景,包括 3G 和 Wi-Fi。

尝试实施此处找到的解决方案:http: //trac.pjsip.org/repos/wiki/audio-problem-local-no-audio

但无济于事,一直在这个问题上挠头......

4

2 回答 2

0

这很可能是与任一 sip 端点端的设置有关的问题,主要原因是 NAT。

我建议您使用STUNTURNICE设置两个 sip 端点。使用 STUN 和 ICE,您可能能够解决大多数 NAT 问题,但如果没有 TURN 服务器,您将无法解决所有网络问题。

如果两个端点都不支持 STUN、TURN 和 ICE(例如硬件 sip 设备),那么您通常需要设置 B2BUA(作为媒体网关)或使用 sip 代理服务器支持的某种媒体网关。

至于您的特定设置不起作用的原因,它需要 pjsip 日志来了解正在发生的事情以及有关两个 sip 端点的网络环境的更多信息。

于 2014-03-01T07:27:27.490 回答
0

你应该试试这个。在 startPjsipAndRegisterOnServer 方法中添加 UDP 传输。

{
        // Init transport config structure
        pjsua_transport_config cfg;
        pjsua_transport_config_default(&cfg);
        cfg.port = 5080;
        status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &cfg, NULL);
        if (status != PJ_SUCCESS) error_exit("Error creating transport", status);
    }
于 2017-03-30T18:10:10.127 回答