互联网语音协议(VoIP)应用程序允许用户使用互联网连接而不是设备的手机服务拨打和接听电话。由于VoIP应用程序严重依赖网络,因此拨打电话通常会导致高功耗,这并不奇怪。
VoIP应用必须保持与服务器的持续网络连接以接收来电和其他数据。这意味着编写复杂的代码,在应用程序和服务器之间来回发送周期性消息,以保持连接的活跃,即使应用程序未被使用。这种技术导致频繁的设备唤醒浪费能源。这也意味着如果用户退出VoIP应用程序,则不能再接收来自服务器的呼叫。
通过推送通知,VoIP应用程序不需要在前台或后台运行。每当收到推送通知时,VoIP应用程序都可以显示警报,并提供接受或拒绝该呼叫的选项。
使用推送通知有很多优点:
只有在发生推送通知时才会唤醒设备,从而节省能源。
推送通知被视为高优先级通知,并且无延迟地交付。
通常,VoIP推送可以包含比标准推送通知提供的数据更多的数据。
如果收到VoIP推送时未运行,您的应用会自动重新启动。
即使您的应用在后台运行或被强制关闭,您的应用也会得到运行时处理推送消息。
Ubiix私有云IP PBX支持V9.0的iOS和Android移动推送通知。所有Ubiix用户都将受益于这一新功能。
1. Ubiix私有云IP PBX推送通知的体系结构
下面的架构演示了Ubiix私有云IP PBX如何提供推送通知。
2.发送推送通知的呼叫流程
Ubiix使用 APN向iOS设备发送推送通知,Google FCM服务向Android设备发送推送通知。
应用程序向Apple推送通知服务(APNS)/ Google FCM请求设备令牌。
该应用程序接收令牌,该令牌用作发送推送通知的地址。
该应用程序通过SIP REGISTER 消息注册到Ubiix私有云IP PBX 。必须在指示消息中添加一个“ Ubiix-push”头,并在该头中包含设备令牌和其他必要信息,以通知Ubiix私有云IP PBX该应用想要接收针对该分机的推送通知,例如分机101。
现在用户强制应用程序。
当有人呼叫101时,如果101注册未过期,则指示将发送申请消息给相应的联系人地址,并向APNS / FCM发送带有设备令牌的推送通知。
由于该应用已终止,该应用将不会收到该邀请消息。
APNS / FCM将向设备发送推送通知。
iOS / Android设备收到该推送通知,并向移动设备用户发出通话即将来临的提醒。用户接受呼叫。
该应用程序将自动启动并注册到Ubiix私有云IP PBX。
注册成功后,PBX将发送申请消息到从新注册获得的联系地址。
现在,该应用程序收到申请消息并接听电话。
即时消息的相同过程。
指示消息中的“ Ubiix-push ”头的示例。
Ubiix推送:设备-OS = IOS;设备的uid = fe1b7bef1b4dc68dbfcd18143c8c06c122a25658c7f1d381c33fa626c9ed;允许呼叫推= FALSE;允许消息推= FALSE;应用ID = cn.ubiix.www