Reference15r1:Concept Push Notifications for iOS and Android

From innovaphone wiki
Revision as of 07:54, 21 May 2025 by Slu (talk | contribs) (remove mypbx)
Jump to navigation Jump to search
There are also other versions of this article available: Reference13r2 | Reference15r1 (this version)

The PBX is able to send Push notifications to the Apple (APNs) or Android Push Notification services. As a result, incoming calls are also indicated when the myApps application is not started or runs in the background mode. The PBX is using a service provided by innovaphone AG at services.innovaphone.com to send the push notifications to the vendors Notification Service. No call meta data is transmitted, the push notification is only used to wake up the myApps application. Only one Push object is needed for a system.

Requirements

PBX

  • Firmware version 15r1 or higher
  • Internet access via HTTPS
  • device certificate (also on IPVAs)
    • this device certificate is not an own certificate, which you can upload yourself but which you need to retrieve through my.innovaphone (see Initial configuration)!

Smartphone

  • iOS Version 12.0.1 or higher
  • Android Version 6.0 or higher

Configuration

PBX

  • create a PUSH object via the PBX manager,by clicking on the plugin Push (Black and White myApps symbol) The Plugin will create a PBX object in the PBX of type Push per system, even in master/slave scenarios
    • Name Push and SIP name push can be freely choosen, but the sip name must be used in the push field of user the objects. We advise leave the pre filled Standard names.
    • the App URL must be https://push.innovaphone.com/push/ws

After clicking OK a green checkmark should appear, indicating that the Push object has a valid websocket connection to the innovaphone Push service.

User Objects

  • For each user who is to receive push notifications on his myApps-application, the Name of the push-object must be entered in his userobject at the Push field in the User tab.

iOS specific settings

  • On the iOS device make sure to allow push notifications for the myApps application.

Android specific settings

How it works

  • First of all the mobile phone opens a connection to Apple or Google. If the phone is in a restricted Wi-Fi network (and has no GSM/LTE data connection to receive Push notifications), the appropriate ports of the firewall needs to opened as explained in the documentation of apple or google.
  • If the app is in the background and the user receives an incoming call, the App needs to be woken.
  • Therefore the PBX sends a push request to innovaphones push servers (push.innovaphone.com)
  • The communication is done with MTLS and our push servers check the client device certificate of the PBX
    • the used certificate is the device certificate provided by innovaphone and not a certificate, which you can upload yourself
  • push.innovaphone.com forwards the request to the Apple or Google Push service.
  • The respective vendor sends the push request to the mobile phone and uses the ports opened in the first step.
  • The app then registers at the PBX via H.323.
  • In the last step the incoming call is sent (using the H.323 registration) to the mobile phone.

Note: the services.innovaphone.com in the picture must be replaced with push.innovaphone.com

Privacy

When using the Push service the PBX will send following data/information to innovaphone:

  • Notification Type (plain)
    • call or notification
  • Detailed informations (enrypted)
    • call
      • number
      • name
      • callflow
    • notification
      • title
      • content

This information will send from the PBX to the Smartphone via the innovaphone Push-Service and forwarded to the Google/Apple push system. The Smartphone receives a decryption key via websocket or H323 (you have to use the secure version to transmit the key encrypted) from the PBX. Neither the push service at innovaphone nor the Apple / Google push system can read the encrypted information.

Troubleshooting

Initial configuration

  • Check the trust list for the certificate of the innovaphone AG.
  • Make sure the PBX can resolve the DNS host push.innovaphone.com.
  • Make sure the PBX can reach push.innovaphone.com via HTTPS.
  • Make sure that you have a innovaphone device certificate - even on IPVAs.
    The certificate is signed by innovaphone Device Certification Authority 2 or on IPVAs since V14r1 by innovaphone Unverified Device CA.
    If not, you can acquire a new one on the Gateway via General/License/my.innovaphone.
    This will not conflict with an existing certificate that you installed yourself on the gateway.
  • Make sure the myApps application has Push Notifications allowed in the OS settings.
    • iOS: Also make sure, the iOS device has a valid GSM data connection or a WiFi connection with the internet, especially TCP port 5223 (see Troubleshooting Push Notifications article by Apple).

Push looses connected state

  • If the push object was already connected, and for some reason (after a firmware update or network connection problems), the object is not connected anymore, please check that PBX can reach and resolve "push.innovaphone.com" and the innovaphone AG certificate is still in the trust list.

myApps for Android push configuration checks

Open myApps, and check you have a softphone app configured. Then tap on the "burger" menu on the top right, and check your default app is the softphone app.

Scroll down and tap on "More"

  1. Tap on "myApps events" and enable notification on the smartphone for myApps
  2. Tap on "Calling account" and enable myApps as call account
  3. Tap on "Data saver" and enable background data for myApps on the smartphone
  4. Tap on "Overlaying" and enable them on the smartphone

myApps for iOS push configuration checks

Go through the following steps, to check that in your iPhone, Push is configured correctly.

  1. Open your iOS Settings app on your iPhone
  2. Go to the Notifications (German: Mitteilungen) section
  3. Find the myApps app and make sure notifications are allowed and that LockScreen, Notification Center and Banners are selected as Alerts

For more information on howto enable Push notifications for an iOS-app, see also this Apple support page, section If you don't see notifications for a specific app

innovaphone Push Service check

Consult innovaphone services overview to check if any unexpected service outage concerning push exists

Known limitations

Number to Name resolution on Android Push Notifications could be missing

On incoming call Push Notification to Android the caller number will be included, if the Number to name resolution it's not yet finished no name will be included in this Push notification just the number. The Android doesn't allow a number/name update of that call afterwards so it will remain displaying only the number till we terminate the call. On iOS we don't have such issue since the system allows update of the number/name during call.

Push does work even when the myApps app is switched off

The Push mechanism will also work when the myApps app is turned off. This can lead to complains about receiving calls after working ours or during holidays. With myApps as client, you can set the status to DND Do Not Disturb. Then close the myApps. This will prevent the App to be started by the Push mechanism. To receive calls again, open the myApps clients and set the status back to available.

You can disable the Push to the myApps by just ending the session for this device by logging out of the myApps application or Alternative you can go to the Hamburger Menu, Account Security and logout the active session. You can also remove a session from another device for example a myApps Session from another Smartphone or browser. Deselecting a default Softphone app, will also prevent the Push mechanism.

Customer uses HTTP-Proxy for Internet access

The WebSocket client does not support HTTP-Proxy connections, more specific HTTP Tunneling using HTTP CONNECT - therefore Push notifications will not work. See also: Reference15r1:Services/HTTP/Client#Proxy_Servers

Known issues

Cloning IPVAs

If you clone an IPVA with an existing device certificate, you'll also clone this certificate, so you'll have a wrong serial number inside the certificate afterwards.
So do not clone IPVAs but setup a new VM and upload a modified configuration file afterwards and create a new certificate for the new machine.

Currently it is not possible to update or delete the device certificate.

Related Articles