8

我分别对 iOS 和 Android 上的 SIP VoIP 的 APNS 和 GCM 推送通知感兴趣。

根据http://www.linphone.org/eng/features/的说法,根据其 Android 应用程序的“从 Internet 接收数据”权限,Linphone 似乎可能支持 GCM,并且可能同时支持 APNS 和 GCM :

与推送通知集成(需要兼容的 SIP 服务器)

  • “兼容的 SIP 服务器”是什么意思?

  • 我如何知道给定的 SIP 服务器是否兼容?

  • 有任何这样的服务器是开源的吗?

  • 这一切都仅限于Linphone自己的服务器吗?

我在 StackOverflow 上问这个问题,因为从开发人员的角度来看,我对此很感兴趣。

4

2 回答 2

4

1) 兼容的 SIP 服务器是指支持“延迟分叉”的 SIP 服务器,即可以在设备注册时分叉邀请的服务器,即使在发送邀请时设备尚未注册。(这是必需的,因为如果您使用的是iOS 10及以上要求的移动VoIP应用程序的推送通知策略,则移动设备在收到推送后才会注册,并且会同时发送推送作为邀请)

2)询问服务器管理员,或者如果这不是一个选项,请尝试注销您的设备,拨打电话,然后重新注册您的设备并查看邀请是否进入

3a) Kamillio 有一个名为 TSILO 的模块,它支持延迟分叉这里有一个视频,它解释了推送通知策略是什么以及如何使用 TSILO 在 Kamillio 中实现它

3b) Linphone 有一个名为Flexisip的开源代理服务器,它支持延迟分叉,如果它不支持延迟分叉,可以在您当前的服务器之上使用。Flexisip 可以安装在您自己的服务器或云平台上。与 Linphone 一样,Flexisip 拥有双重许可证、免费 AGPL 或商业许可证

4) 不,它不仅限于 Linphone 自己的服务器。

请记住,服务器仍然必须在邀请时发送推送通知(如果您使用 Flexisip 并正确配置它,Flexisip 将负责发送推送通知)。

于 2018-01-29T22:49:00.670 回答
1

根据@user8127814 的回答:

我不认为 Linphone 与其他“后期分叉”支持的服务器兼容。推送服务要求每个设备都有一个唯一的身份,也就是说你需要通过 SIP 协议来传递这个东西。Linphone 在联系人标头中发送它(在 iOS 推送服务中称为设备 ID,名称可能在不同的推送服务中有所不同),它不是常规 SIP 标准的一部分。这意味着服务器必须准确地设计为能够识别此参数以支持推送功能,就像 Flexisip 一样。如我错了请纠正我。

于 2019-04-29T10:52:00.503 回答