Push Notification and VoIP

What is Push Notification and How it Helps VoIP

iPhone 2.0 Push Notification Service
Erik Pitti/Flikr/CC BY 2.0

Push notification is a feature in the last versions of iOS, the operating system running on the iPhone, iPad and iPod. It is a message or alert sent to the user of a smartphone from one of the apps running on the smartphone in the background.

Running an app in the background, called multitasking, consumes processor power, memory space and drains the battery, especially if there is constant traffic to and from a network.

This is the case with, for example, a VoIP app, which is an app that allows the user to make and receive free and cheap calls. Many people use VoIP as an alternative to their mobile cellular service to cut down communication cost. An example of a VoIP app is Skype, which has a version for Apple iOS.

A VoIP app needs to run in the background, constantly listening for new events on the network, like incoming calls and text messages. If it goes idle, calls will be declined and communication will fail. The app therefore needs to be in constant running like a real phone. Now if you read on multitasking, you will see that such an app will consume a lot of resources and drain the battery. This is where Apple puts push notification into play.

The push notification mechanism shifts the constant listening work to the server side. That is, the app on the smartphone runs only a strict minimum segment of the code just to keep it ‘alive’ ready to spring up on call, without have to continuously listen to the network.

Often, the app is squarely closed. When a call comes, or a message enters, the server (of the VoIP service behind the app), which has been doing the listening, sends a notification message to the phone, which relays it to the user. The action of the latter in response to the message will then eventually open the app and handle the event.

The message can be in one of three forms:

  • A message box (Alert) containing a text message, like “Mum Calling”, with buttons to accept or reject.
  • A sound
  • A number tagged on the app’s icon (Badge).

iOS allows you to combine these and choose whichever you want. For example, you can choose to have a sound played along with the message.

Enabling and Disabling Push Notification on Your iPhone

You can configure notifications on your iPhone, iPad or iPod by going to “Settings”, then “Notifications”. Right in the setting menu, you will see whether notifications are On or Off. When you enter the “Notifications” menu, you will be presented with a list of apps that support push notification. For each of them, you can configure with a combination of Badges, Alerts and Sound.

Android does not natively support push notification, and neither do other smartphone operating systems. There are however endeavors by third parties for implementing it, but it is nowhere near simple and not recommended for non-geeks.

You should also check with your app’s provider whether the apps supports push notification before choosing to use it and install it on your device.

Problems with Push Notification

Push Notifications are not perfect, they even have considerable drawbacks.

First, they are not reliable. When the server sends the notification message, there is no mechanism to ensure that it reaches destination well and in reasonable time. It is like send-and-forget. Now that poor message needs to find its way over the Internet and network to the destination. It may fail to reach destination and also may reach there well too late for being useful. It is therefore subject to the unpredictable nature of the internet, and also faces possible restrictions over private networks.

Second, it costs on the server side. Since the constant listening is moved from the device to the server, the latter now has to cater take up that responsibility for many, possibly thousands of devices. Now imagine the load on the processor and memory of the server (which fortunately does not run on batteries), but especially on the network.

Third, many apps do not support push notification, or support it so poorly that technical problems arise. Skype, for example, does not support push notification on iOS devices.