PushKit Framework,它是如何工作的?

时间:2015-07-13 05:53:32

标签: ios apple-push-notifications sip voip

我对iOS SIP应用程序的理解或说VOIP应用程序是:

它是服务器和服务器之间的持久TCP连接。设备。一旦呼叫请求到来,它就会与服务器建立与其他设备的RTP连接。现在,您可以在此连接上交换语音或其他数据包。有实时通话。

使用Push Kit框架,我感到困惑的是它究竟是如何工作的?

问题:

  1. 当应用程序转到后台时,我的VOIP TCP连接是否仍然存在或已关闭?
  2. 如果关闭,在获得VOIP APNS之后,SIP协议究竟是如何与其主TCP连接一起工作的?
  3. 当VOIP APNS进来时我们是否必须建立连接?如果在那时由于某种原因建立TCP失败怎么办。
  4. 我们在SIP服务器上需要做哪些改变才能实现这一目标?
  5. 这可能是我的理解错误。但我想知道关于VOIP应用程序如何与APNS协同工作的流程架构。

    我尝试通过互联网查看各种文章,但我对Push-Kit的VOIP-APNS的理解是,它会在后台唤醒你的应用程序,但是他们无法澄清我的上述问题。

    请有人对这个话题说清楚。

1 个答案:

答案 0 :(得分:1)

  

1当应用程序转到后台时,我的VOIP TCP连接是否仍然存在或已关闭?

是和否,当应用程序在iOS 9或更早版本上运行后,如果您进行了编程,它将保持连接,即这里有实时TCP连接的机会。
但是在iOS 10中,应用程序在后台运行时永远不会处于活动状态,即没有实时TCP连接的范围。

  

2如果关闭,在获得VOIP APNS之后,SIP协议与主TCP连接的工作原理是什么?   3当VOIP APNS进入时,我们是否必须建立连接?如果在那个时候由于某种原因建立TCP失败怎么办。

一旦应用程序处于后台并且TCP连接关闭,在收到PushKit通知后,iOS将唤醒应用程序,那时我们需要运行代码片段再次与服务器建立TCP连接。
如果这次TCP连接失败,那么用户将无法获得语音,我们需要再次运行代码片段来连接TCP。

  

4我们在SIP服务器上需要做哪些改变才能实现这一目标?

对于服务器端,它与APNS(常规推送通知)完全相同。见this SO post