我们可以使用 VOIP 推送为 twilio 客户端处理来电吗?

Can we handle incoming call using VOIP push for twilio client?

我已经使用 TWilio Client iOS SDK 开发了 VOIP 呼叫功能。 我成功实现了两个用户之间的 App 到 App 调用。 我有三个 App to App 调用的案例。

案例 1:用户 1 和用户 2。用户 1 有一个活动的应用程序,用户 2 也有一个活动的应用程序。在这种情况下,我已经成功地在它们之间建立了通话。

案例 2:用户 1 和用户 2。用户 1 有一个活动的应用程序,用户 2 有一个不活动的应用程序(后台应用程序意味着最小化应用程序)。在这种情况下,我有一个实施本地通知并且我收到了本地通知。

案例 3:用户 1 和用户 2。用户 a 有一个活动的应用程序,用户 2 有一个暂停的应用程序(应用程序被杀死)。对于这种情况,我已经实施了 voip 推送通知。用户 2 收到 voip 推送通知。当用户 2 单击推送通知时,什么也没有发生。呼叫未建立。

我已经管理了 twilio 客户端令牌,还要求用户接受、拒绝和忽略呼叫。

我有来自 twilio 的消息,在下面使用 link: https://www.twilio.com/help/faq/twilio-client/twilio-client-ios-sdk-background-best-practices

我按照文档中提到的所有步骤进行操作。但是在应用程序暂停(应用程序被杀死)后,呼叫没有建立。当应用程序被杀死时,twilio 客户端如何监听当前用户。我们如何建立通话?我脑子里有很多很多问题。

我 post 之前在堆栈中的问题

当应用程序从推送通知打开时,如何恢复 twilio 设备连接?

我也联系了 twilio 开发者,但没有任何反应。

请尽快帮助我。

Twilio Client 没有集成 Apple 的推送通知服务。

建议的解决方法是集成您自己的推送通知服务,并将推送通知用作 "fallback mechanism" 当移动客户端无法连接到被叫方时(不是由于拒绝,而是由于某些网络连接)问题或被叫方是 "not present")。实施示例:

  1. 使用 PushKit framework
  2. 设置 VoIP 推送
  3. pushRegistry:didUpdatePushCredentials:forType: 委托方法中,保存设备令牌以及能力令牌中使用的 Twilio 客户端名称以设置 TCDevice,以便应用程序可以发送推送通知到具有与通知设备令牌(凭据)关联的客户端名称的设备。
  4. connection:didFailWithError:委托回调方法中(假设"callee not reachable at the time"的场景),从调用者移动客户端应用程序触发推送通知以通知被调用者未接来电。

请告诉我这是否有帮助。