Push for Incoming Calls
Overview

Push Notifications

While VoIP has undoubtedly revolutionized communication, there are still challenges associated with using these services on mobile devices. One significant issue is that mobile apps often need to remain either open in the foreground or active in the background to receive calls. This means users must keep the app running at all times, which can drain battery life and limit the functionality of their device.

The Need for a Push Solution

Push notifications have been a game-changer for mobile applications and services, including VoIP. These notifications are messages that pop up on a user's screen, alerting them to new messages, events, or incoming calls, even when the app is not actively running.

The Softphone application needs to maintain SIP registration with the PBX (phone system). If the Softphone cannot run in the background this is not possible so incoming calls will be missed. There is thus the need for an entity that can maintain the SIP registration on behalf of the softphone app. This is where our Push servers come in.

When the softphone app is backgrounded or enabled for Push, SIP credentials and a unique device identifier are transferred securely to our servers. Our servers then register with the PBX. Incoming calls will then be received by the Push server instance. Software running on this instance then call either Apple APNS or Google Cloud Messaging APIs to send a Push notification to wake up the device.

The Push message also contains some details regarding the caller. The softphone application then connects to the Push server instance and the call is proxied through to the device. Signalling continues from PBX via Push server (acting as proxy) to the softphone. RTP media ( Audio and Video packets) flow directly between the PBX and softphone and never via the Push instance.