首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS voip应用5分钟后在后台模式下没有响应

iOS voip应用5分钟后在后台模式下没有响应
EN

Stack Overflow用户
提问于 2015-05-05 07:57:06
回答 2查看 444关注 0票数 4

我正在开发一个iOS (7 & 8) VOIP应用程序(通过使用Kamailio服务器和PJSIP设备库)。

当应用程序处于前台时,一切都可以正常工作,但问题是当应用程序处于后台时,套接字将仅存活5分钟(300秒)。

当我在下列机构登记时:

代码语言:javascript
复制
[application setKeepAliveTimeout:600 handler: ^{
        [self performSelectorOnMainThread:@selector(keepAlive) withObject:nil waitUntilDone:YES];
    }];

我能接到电话。

问题是setKeepAliveTimeout是10分钟,套接字只持续5分钟。

我在.plist中启用了“应用程序提供IP语音服务”。我还将PJSUA_REG_INTERVAL设置为600秒。

请帮我设置PJSIP中的VIOP套接字。

EN

回答 2

Stack Overflow用户

发布于 2015-05-18 22:43:46

您是否尝试将VoIP属性分配给流,如下所示,

代码语言:javascript
复制
CFReadStreamSetProperty((__bridge_retained CFReadStreamRef)iStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);
票数 0
EN

Stack Overflow用户

发布于 2016-03-04 07:10:54

一些互联网提供商的NAT在沉默了几分钟后关闭了不活动的套接字。

可以使用以下代码为PJSIP中的套接字激活内部保持活动消息:

代码语言:javascript
复制
pjsip_cfg()->tcp.keep_alive_interval = 90;
pjsip_cfg()->tls.keep_alive_interval = 90;

当然,你必须设置iOS保持活着的计时器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30047207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档