﻿{"id":1471,"date":"2025-06-04T11:39:48","date_gmt":"2025-06-04T06:09:48","guid":{"rendered":"https:\/\/blogs.infosys.com\/engineering-services\/?p=1471"},"modified":"2025-06-04T11:39:48","modified_gmt":"2025-06-04T06:09:48","slug":"demystifying-push-notification-for-enterprise-telephony","status":"publish","type":"post","link":"https:\/\/blogs.infosys.com\/engineering-services\/unified-communications\/demystifying-push-notification-for-enterprise-telephony.html","title":{"rendered":"Demystifying Push Notification for Enterprise Telephony"},"content":{"rendered":"<p style=\"text-align: left\">In today&#8217;s digital age, mobile applications on platforms such as Apple iOS and Android have become integral to our daily lives. These applications keep us connected to social media, banking, chatting, video calling, news, and much more. However, have you ever wondered how mobile phones manage to run multiple applications simultaneously, enable chatting or calling without an internet connection, and maintain battery life for more than a day?<\/p>\n<p style=\"text-align: left\">While efficient chipsets contribute to faster processing, the key to optimizing battery usage when multiple applications are sharing a phone&#8217;s resources lies in the implementation of push notifications. Push notifications are a reliable and efficient method for applications to connect with end users and enhance engagement.<\/p>\n<p>In this blog, we will delve into the reasons behind the effectiveness of push notifications, explore the different formats they come in, and discuss the benefits of implementing push notifications in mobile applications. The push notification service was introduced in Apple iOS 3 and Android 2.2 versions, revolutionizing the way applications interact with users.<\/p>\n<h3>Why Push Notification<\/h3>\n<ul>\n<li><strong>App development picked up<\/strong><br \/>\nThere was sudden jump in the mobile app development. Many apps simultaneously competing for CPU and Memory of the device<\/li>\n<li><strong>Battery usage<\/strong><br \/>\nDevices ran out of battery faster due to apps being always active<\/li>\n<\/ul>\n<h3>Push Vs Pull Technology<\/h3>\n<p style=\"text-align: left\">Push and pull technologies are two different ways of transferring data between a client and a server. In\u00a0pull technology, the client requests data from the server, and the server responds with the requested data.\u00a0In contrast, in\u00a0push technology, there is a paradigm shift where server sends data to the client without the client requesting it.<\/p>\n<p style=\"text-align: left\">For example, email uses push technology whereas opening a webpage uses pull technology.<\/p>\n<figure id=\"attachment_1433\" aria-describedby=\"caption-attachment-1433\" style=\"width: 461px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1433\" src=\"https:\/\/blogs.infosys.com\/engineering-services\/wp-content\/uploads\/2025\/05\/Fig1.jpg\" alt=\"\" width=\"461\" height=\"256\" \/><figcaption id=\"caption-attachment-1433\" class=\"wp-caption-text\">Fig 1 &#8211; Push vs Pull Technology behavior<\/figcaption><\/figure>\n<h3>The Benefits of Push Notification<\/h3>\n<ul>\n<li><strong>Reduced Server load<\/strong>: Sends data to client if data has changed since last update. Help with the scalability of applications as the server can cater to more users and load.<\/li>\n<li><strong>Better User Management<\/strong>: Users are provided with relevant information and in real time. This helps users to be engaged with applications and improves customer satisfaction.<\/li>\n<li><strong>Reduced Latency<\/strong>: Data is sent to the client without the client requesting it and hence there is no delay in receiving data.<\/li>\n<li><strong>Prioritized Notification<\/strong>: VoIP Call Notification are sent with higher priority and immediately shown on device. Messages and data updates are sent with lower priority.<\/li>\n<li><strong>Lesser Device Resource Utilization<\/strong>: Applications go to an inactive state when in background mode which reduces resources utilization and in turn saves the battery usage.<\/li>\n<li><strong>Multi-Device Reach and easy Integration<\/strong>: Push notifications can be sent across multiple devices and across platforms, making it easy to reach your device wherever they are. \u00a0For example, the same application is running on Apple iPhone and iPad, both devices get instant notification. Similarly, if the same application is running on Apple iPhone and an Android mobile device, both devices get instant notification.<\/li>\n<\/ul>\n<h3>APNS \/ FCM Solution on Apple iOS \/ Android devices for enterprise telephony<\/h3>\n<p>The following details will explain how APNS \/ FCM solution works for Enterprise Calling application running on mobile devices.<\/p>\n<ul>\n<li>Enterprise Telephony \u2013 Provider Application Server<\/li>\n<li>APNS \u2013 Apple Push Notification Service<\/li>\n<li>FCM \u2013 Firebase Cloud Messaging<\/li>\n<li>PNS \u2013 Push Notification Service<\/li>\n<li>Endpoints \u2013 Physical VoIP IP phones, soft clients<\/li>\n<\/ul>\n<h3>How it Works: PNS<\/h3>\n<ol>\n<li><strong>Provider Application &amp; Device Connection<\/strong><br \/>\nThe provider application (e.g. enterprise telephony soft clients) sends a request to Push Notification Service (APNS or FCM) to receive a device token for each user who has enabled push notification on their device and this device token is stored in the Provider Server.<\/li>\n<li><strong>Provider Sends Notification to PNS<\/strong><br \/>\nThe provider Application server sends the message payload and device token to Push Notification Service (APNS or FCM).<\/li>\n<li><strong>PNS Delivers Notification<\/strong><br \/>\nPNS sends the notification to the user&#8217;s device after doing its necessary security validations using the device token and the message payload.<\/li>\n<li><strong>User Sees Notification<\/strong><br \/>\nThe user gets a banner or alert notification on their device and can choose to act or dismiss the notification.<\/p>\n<figure id=\"attachment_1434\" aria-describedby=\"caption-attachment-1434\" style=\"width: 609px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1434\" src=\"https:\/\/blogs.infosys.com\/engineering-services\/wp-content\/uploads\/2025\/05\/Fig2.jpg\" alt=\"\" width=\"609\" height=\"284\" \/><figcaption id=\"caption-attachment-1434\" class=\"wp-caption-text\">Fig 2 &#8211; Device Token Flow for Mobile Application<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p><figure id=\"attachment_1435\" aria-describedby=\"caption-attachment-1435\" style=\"width: 604px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1435\" src=\"https:\/\/blogs.infosys.com\/engineering-services\/wp-content\/uploads\/2025\/05\/Fig3.jpg\" alt=\"\" width=\"604\" height=\"340\" \/><figcaption id=\"caption-attachment-1435\" class=\"wp-caption-text\">Fig 3 &#8211; VoIP Call Push Flow for Enterprise telephony Application on Apple and Android Phones<\/figcaption><\/figure><\/li>\n<\/ol>\n<p style=\"text-align: left\">Cloud Push notifications have significantly contributed to the exponential growth of the application market, while ensuring minimal resource usage on mobile devices. However, there is a critical consideration: what happens when the internet is unavailable or when users are in areas with no internet connectivity?<br \/>\nFor regular users, delayed information may not pose a significant issue. However, in scenarios such as hospitals where nurses need to urgently communicate with doctors, or on cruise ships where internet access may be limited, the lack of timely notifications can be problematic. To address these challenges, an alternative form of push notification was envisioned.<\/p>\n<h3>Drawbacks of Cloud based PNS<\/h3>\n<ul>\n<li><strong>Internet connectivity<\/strong><br \/>\nDevices need to be connected to the internet constantly; else they will miss notifications. This will be still acceptable for messages or data but will not work for time sensitive applications like enterprise telephony calls.<\/li>\n<li><strong>Infrastructure \/ firewall<\/strong><br \/>\nEnterprise customers need to update the network infrastructure with necessary firewall rules to allow internet for PNS. Firewall rules need to be updated based on new servers capable of sending push are added \/ changed across the globe.<\/li>\n<li style=\"text-align: left\"><strong>Internet restrictions<\/strong><br \/>\nWith many global security threats on the internet, Enterprise customers do not want to enable internet on their network. Stringent privacy laws in Health care industry imposes restrictions on internet. Certain environments like Airplane, Cruise ships, Military establishments do not have internet, and all push notifications will fail.<\/li>\n<\/ul>\n<h3 style=\"text-align: left\">Local Push Notification<\/h3>\n<p style=\"text-align: left\">Considering the drawbacks of Cloud based PNS Push, Apple came up with a new way of Push Notification called Local Push Notification. It was introduced in iOS 14. This new mechanism eliminated the drawbacks of APNS. Customers have options now for push notification based on the deployment scenario. They could have APNS only, LPNS only or LPNS + APNS. \u00a0Android devices also have Local push notification which can be used for location-based applications, offline reminders etc. but it cannot be used for VoIP calls as persistent service monitoring events when applications go to background does not exist. Apple\u2019s iOS maintains a lightweight service which can monitor a few standard protocols like TCP, webRTC, WebSocket etc. push messages to corresponding application and wake them up.<\/p>\n<ul>\n<li><strong>Wi-Fi Setting<\/strong><br \/>\nApple devices need to know which Wi-Fi is allowed for Local Push Notification. This can be manually set from the device or configs pushed down to the device from the server<\/li>\n<li><strong>Local Push Extension<\/strong><br \/>\nLocal Push extension will become active whenever the device is connected to the Wi-Fi which is marked for Local Push Notification. The extension will initiate a persistent connection to the server post the security posture verification. Through this persistent connection, the server will send the push message whenever a notification \/ call needs to be presented to the device.\u00a0 The device will wake up the application and show the notification \/ call and user can take necessary action.<\/li>\n<\/ul>\n<h3>How it Works: Local Push Notification Service with Enterprise telephony<\/h3>\n<ul>\n<li><strong>Apple iOS<\/strong><br \/>\nApple devices enable a local push extension whenever the device is connected to approved LPNS Wi-Fi.<\/li>\n<li><strong>Application Connectivity information<\/strong><br \/>\nConnectivity information for local push is sent to the mobile application post login. Application initiates a persistent connection to server when device connects to approved LPNS Wi-Fi.<\/li>\n<li><strong>Push Notification<\/strong><br \/>\nServer sends the push notification to the user&#8217;s device using the persistence connection.<\/li>\n<li><strong>User Sees Notification<\/strong><br \/>\nThe user gets a banner or alert notification on their device and can choose to take action or dismiss the notification.<\/li>\n<\/ul>\n<figure id=\"attachment_1436\" aria-describedby=\"caption-attachment-1436\" style=\"width: 603px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1436\" src=\"https:\/\/blogs.infosys.com\/engineering-services\/wp-content\/uploads\/2025\/05\/Fig4.jpg\" alt=\"\" width=\"603\" height=\"408\" \/><figcaption id=\"caption-attachment-1436\" class=\"wp-caption-text\">Fig 4 &#8211; LPNS VoIP Push Flow<\/figcaption><\/figure>\n<h3>Feature comparison of Enterprise Telephony<\/h3>\n<figure id=\"attachment_1437\" aria-describedby=\"caption-attachment-1437\" style=\"width: 603px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1437\" src=\"https:\/\/blogs.infosys.com\/engineering-services\/wp-content\/uploads\/2025\/05\/Fig5.jpg\" alt=\"\" width=\"603\" height=\"227\" \/><figcaption id=\"caption-attachment-1437\" class=\"wp-caption-text\">Fig 5 &#8211; Feature Comparison<\/figcaption><\/figure>\n<p>Note: Regular (SIP Registered), Traditional persistent connection of SIP channel between Application and Server. Consistent Keepalive messages to keep the persistent connection intact is a big drain on battery capacity.<\/p>\n<h3>Future trends for Push Notification<\/h3>\n<ul>\n<li><strong>Enhanced Security for threat Management<\/strong>:<br \/>\nSince the data for push message traverses from server to push notification cloud and then back to Apple or Android device, it becomes imperative to have it secured with the latest encryptions to avoid potential threats<\/li>\n<li><strong>Use AI to summarize notifications<\/strong><br \/>\nApple is working on summarizing the notification alert and rendering a prioritized list. Users can act based on AI\u2019s inputs. This will be very useful in scenarios where too many notifications are received, and user needs to scroll to view all the notifications.<\/li>\n<li><strong>Notification controls<\/strong><br \/>\nMore granular controls on the notification alerts. This will enhance user personalization and avoid unwanted interruptions.<\/li>\n<li><strong>Broadcast notification<\/strong><br \/>\nThis new notification method could be used in scenarios where multiple devices need to get an update of an event, news etc. Instead of the server doing 1:1 push notification to every device which is subscribed, broadcast notification uses a channel where all devices are subscribed to and when an update is posted, PNS channel will send the update to all devices subscribed for that event.<\/li>\n<li><strong>Seamless data transfer<\/strong><br \/>\nSimilar devices can create an internal network using the same Wi-Fi, NFC, Bluetooth, Infrared, certain audio frequencies etc. use Local Push services to transfer data 1:1 or 1 to many. Apple iPhones has a local Send option to send data across iPhones whereas Huawei uses hand gestures and AI to transfer data without even the need to connect to a common connection protocol.<\/li>\n<\/ul>\n<p><strong>Closing thoughts<\/strong><br \/>\nIn conclusion, push notifications have revolutionized the way mobile applications interact with users, providing timely and relevant updates that enhance user engagement and optimize resource usage. The Apple Push Notification Service (APNS) has been instrumental in this transformation, offering a robust and reliable platform for delivering notifications to iOS devices.<\/p>\n<p>However, the limitations of internet connectivity have highlighted the need for alternative solutions. Local Push Notification Service (LPNS) addresses these challenges by enabling notifications without relying on an active internet connection. This innovation ensures that critical information can be delivered in scenarios where connectivity is compromised, such as in hospitals or remote locations.<\/p>\n<p>By leveraging both APNS and LPNS, developers can create applications that are not only engaging but also resilient to connectivity issues, greater security to minimize data losses in transit and ensuring users receive important updates regardless of their environment. As the mobile application market continues to evolve, the role of push notifications will remain pivotal in driving user engagement and enhancing the overall user experience.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In today&#8217;s digital age, mobile applications on platforms such as Apple iOS and Android [&hellip;]<\/p>\n","protected":false},"author":825,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[98],"tags":[],"coauthors":[130],"class_list":["post-1471","post","type-post","status-publish","format-standard","hentry","category-unified-communications"],"acf":[],"_links":{"self":[{"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/posts\/1471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/users\/825"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/comments?post=1471"}],"version-history":[{"count":14,"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/posts\/1471\/revisions"}],"predecessor-version":[{"id":1493,"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/posts\/1471\/revisions\/1493"}],"wp:attachment":[{"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/media?parent=1471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/categories?post=1471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/tags?post=1471"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.infosys.com\/engineering-services\/wp-json\/wp\/v2\/coauthors?post=1471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}