-1

我已经设置了最新的 linphone iOS 代码(版本 3.16.6),我可以进行音频和视频通话,但如果我的应用程序处于后台或被终止,则无法接听电话。

请详细指导我,即使应用程序处于后台或被杀死,我必须做什么才能接听电话。

如果那里也有服务器交互部分,请告诉我。

4

1 回答 1

0

在后台接收呼叫之前,您必须使用 voip-notification 唤醒您的应用程序。

  • 因此,您可以实施您的解决方案,在每次通话之前发送通知。通知唤醒应用程序和应用程序接听电话
    • 您可以将 callkit 用于 UI,但 callkit 本身不处理任何背景或 voip 工作。
  • 使用一些可行的解决方案,例如 Belledonne 的 FlexiSip

编辑 Voip 通知过程。

在每次 SIP 邀请之前,您都会向目标设备发送 voip 通知。准备好接受 SIP 呼叫的 Voip 通知唤醒应用程序。

我不确定您是使用代理还是直接拨打电话。如果您使用代理,您可以尝试 FlexiSIP,它应该为您处理此逻辑(我没有尝试过)。当然,您需要向它提供您的 voip 证书。

如果您在没有 SIP 代理的情况下进行直接调用,则源应用程序应调用某些 Web 服务的相同 API,该 API 会为目标设备发送 voip 通知(例如 Houston API)。在您可以将 SIP 邀请从源发送到目标应用程序之后。

于 2018-02-06T20:43:46.380 回答