我认为在应用程序处于后台时,我有一个“活动”套接字的所有要求。也就是说:
- 我的应用程序将 voip 和音频作为其背景模式。
- 我使用 PJSIP 作为 SIP 库,它应该使用启用了“后台运行”属性的 CFReadStreams
- 该应用程序正在使用 TCP 与 SIP 服务器建立连接。
当应用程序被发送到后台时,它会添加一个后台处理程序,该处理程序在每个时间段发送一个“keepAlive”消息。
keepAlive 似乎正在工作。如果我检查服务器中的日志,即使应用程序不在前台,我也可以看到消息是如何到达的。
问题(和问题)是,当应用程序处于后台时,我没有接到电话。
似乎socket还活着,如果我在前台没有应用程序的情况下拨打手机,没有任何反应,但如果我自己启动应用程序,则会自动检测到通话。
谢谢 :)