Linphone如何支持Android / iOS上的推送通知

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linphone如何支持Android / iOS上的推送通知相关的知识,希望对你有一定的参考价值。

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

根据"Receive data from Internet" permission的说法,Linphone可能会支持GCM,根据其Android应用程序的http://www.linphone.org/eng/features/,可能还有APNS和GCM。

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

  • 这是什么意思,“兼容的SIP服务器”?
  • 我如何知道给定的SIP服务器是否兼容?
  • 这些服务器是开源的吗?
  • 这一切都仅限于Linphone自己的服务器吗?

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

答案

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

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

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

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

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

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

另一答案

根据@ user8127814的回答:

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

以上是关于Linphone如何支持Android / iOS上的推送通知的主要内容,如果未能解决你的问题,请参考以下文章

webrtc linphone 到底哪个

iOS linphone-iphone 没有视频只有音频

Android平台上的Linphone学习

基于Linphone开发Android音视频通话

将 Linphone 集成到自己的 iOS 项目中

关于基于Linphone的视频通话Android端开发过程中遇到的问题