下载,编译和安装pjsip 2.0版(从pjsip.org)到我的iPhone项目后,我遇到了以下问题:
问题是当我在3G上使用UDP时。
虽然iPhone设备在3G上 - 在来电时,我听不到对方的声音,但是对方可以听到我的声音。但是,在3G的拨出电话中,一切正常细
当手机处于Wi-Fi状态时,一切都很好,传入,传出,双方都听得很清楚。
此外,TCP适用于所有场景,包括3G和Wi-Fi。
尝试实施此处找到的解决方案:http://trac.pjsip.org/repos/wiki/audio-problem-local-no-audio
但是无济于事,在这一个上刮了一会儿......
答案 0 :(得分:0)
这很可能与sip端点侧的设置有关,主要原因是NAT。
我建议您使用STUN,TURN和ICE设置两个sip端点。您可以使用STUN和ICE解决大多数NAT问题,但如果没有TURN服务器,您将无法解决所有网络问题。
如果两个端点都不支持STUN,TURN和ICE(例如硬件SIP设备),那么您通常需要设置B2BUA(作为媒体网关)或使用某种类型的媒体网关sip代理服务器支持。
至于您的特定设置无法正常工作的原因,它需要pjsip日志来了解正在发生的事情以及有关两个sip端点的网络环境的更多信息。
答案 1 :(得分: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);
}