【问题标题】:PushKit Framework, How does it work?PushKit 框架,它是如何工作的?
【发布时间】:2015-07-13 05:53:31
【问题描述】:

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

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

对于 Push Kit 框架,我很困惑它究竟应该如何工作?

问题:

  1. 当应用程序进入后台时,我的 VOIP TCP 连接是否仍然存在或已关闭?
  2. 如果关闭,在获得 VOIP APNS 后,SIP 协议在没有主 TCP 连接的情况下如何工作?
  3. 当 VOIP APNS 进来时,我们必须建立连接吗?如果当时由于某种原因建立 TCP 失败怎么办。
  4. 我们必须在 SIP 服务器中进行哪些更改才能实现此目的?

可能是我的整个理解在这里是错误的。但我想知道 VOIP 应用程序如何与 APNS 一起工作的流程架构。

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

任何人都可以谈谈这个话题吗?

【问题讨论】:

  • 我以为很多人已经开始使用 iOS 提供的 PushKit 了,有没有人帮助我理解其中的数据流?
  • 嗨,Atanu,您找到问题的答案了吗?我试图完全理解你在这里问的同样的事情。
  • 还没有,我没有太多时间自己研究这个。 2个月后我在这里没有看到任何答案:(
  • 如果您已经在使用 iOS 的 VOIP 应用程序,如果可能的话,我想与您讨论一下。
  • 我相信当应用程序进入后台时您会关闭所有连接。收到推送通知后,您打开连接并开始通话

标签: ios apple-push-notifications sip voip


【解决方案1】:

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

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

2 如果关闭,在获得VOIP APNS后,SIP协议在没有主TCP连接的情况下如何工作?
3 当VOIP APNS进来时,我们必须建立连接吗?如果那时由于某种原因建立 TCP 失败了怎么办。

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

4 我们必须在 SIP 服务器中进行哪些更改才能实现此目的?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    相关资源
    最近更新 更多