ios - react-native pjsip 模块 - iOS 背景没有 rece

标签 ios react-native pjsip

对于pjsip.js中的以下代码

endpoint.on("call_received", (call) => {
      dispatch(onCallReceived(call))
    })

在Android中,pjsip模块在后台模式下仍然可以接听来电。

但是,在 IOS 中,事件回调不会触发。还是在我点击IOS中的应用程序后,就会收到来电。 iOS 中是否需要配置任何设置?我已在 info.plist 后台 UI 中添加了 voip 字符串。

有什么解决办法吗?

最佳答案

不幸的是,要在 iOS 的后台使用此触发器,您必须使用 PushKit 和 CallKit。您需要在 info.plist 中启用 VOIP 后台模式,并在 Apple Developer 门户中创建 VOIP 服务证书。

当有来电时,服务器需要发送 iOS VOIP 推送通知。如果您使用的是 AWS,则可以使用 AWS SNS,因为它们可以处理 iOS VOIP 推送通知。 Firebase 或 GCM 不支持这些特殊的 VOIP 通知。

基本上,此通知将唤醒 iOS 应用程序,您可以重新注册 PJSIP,然后传入的 SIP 邀请可以触发 CallKit 显示入站调用。您可以在 React Native PJSIP 示例存储库中看到这是如何设置的:https://github.com/datso/react-native-pjsip-app/blob/master/app/modules/pjsip.js#L106

这是 CallKit 和 PushKit 的两个包 https://github.com/ianlin/react-native-voip-push-notification https://github.com/ianlin/react-native-callkit

关于ios - react-native pjsip 模块 - iOS 背景没有 rece,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52568756/

相关文章:

ios - 为什么 Firebase 库没有导入到我的 iOS Swift 应用程序中?

python - 处理IOS上传的照片会得到不同的结果

android - 如何开始在 Android 上为 pjsip 创建一个视频渲染器作为 Csipsimple

ios - Twilio Phonegap 插件 pjsip 错误

iphone - iOS5上的RedLaser SDK

iphone - 语义问题 : Why does this warning appear here

Docker 上的 Android SDK for ARM64 (Raspberry Pi 4) 用于构建 APK

react-native - 获取 FlatList 的当前索引/可见项

react-native - 在 react-native 中离开屏幕时,我应该如何断开与 signalR 的连接

android - 如何在 Android 上使用 pjsip 发送 dtmf?