我正在开发一个 iOS(7 和 8)VOIP 应用程序(通过使用 Kamailio 服务器和 PJSIP 设备库)。
当应用程序在前台时一切正常,但问题是当应用程序在后台时,套接字将仅保持事件状态 5 分钟(300 秒)。
当我注册时:
[application setKeepAliveTimeout:600 handler: ^{
[self performSelectorOnMainThread:@selector(keepAlive) withObject:nil waitUntilDone:YES];
}];
我能接到电话。
问题是 setKeepAliveTimeout
为 10 分钟,而套接字仅持续 5 分钟。
我在 .plist
中启用了“App provides Voice over IP services”。我还将 PJSUA_REG_INTERVAL
设置为 600 秒。
请帮助我在 PJSIP 中设置 VIOP 套接字。
最佳答案
您是否尝试过将 VoIP 属性分配给 Stream,如下所示,
CFReadStreamSetProperty((__bridge_retained CFReadStreamRef)iStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);
关于5 分钟后 iOS voip 应用程序在后台模式下没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30047207/