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

标签 ios sockets voip pjsip kamailio

我正在开发一个 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/

相关文章:

ios - 一个以 three20 包装 UI 类的方式包装 iOS 动画的库

ios - 为什么改变scrollView的contentsize值不会影响结果

sockets - 使用接口(interface)名称设置 IP_MULTICAST_IF 时 sendto 中的参数无效

sockets - 从套接字部分读取

ios - Twilio on Parse Cloud Code 的调用方法

objective-c - UITableViewController init 与 initWithStyle

java - 为什么套接字仅发送1KB(425B)数据?

ios - 如何在 ios 中为我的 pjsip 应用程序集成 G722 编解码器

android - 带有 java.lang.reflect.InvocationTargetException 的 android 上的 JAIN SIP

iphone - 是系统框架(如UIKIt.framework,CoreGraphics.framework)静态库还是动态库