Reference12r2:Concept Push Notifications for myPBX iOS and Android: Difference between revisions

From innovaphone wiki
Jump to navigation Jump to search
Line 72: Line 72:
* Make sure the mail used for Push is not used by another PBX object.
* Make sure the mail used for Push is not used by another PBX object.
* If there are problems with setting up the Push Service or if individual subscribers can not be reached, open a Support Ticket.
* If there are problems with setting up the Push Service or if individual subscribers can not be reached, open a Support Ticket.
* Only if you are not sure if the push service is operational at the moment, open a support ticket and send an email to ''push-support@innovaphone.com''.
* Make sure the myPBX App has Push Notifications allowed in the OS settings.  
* Make sure the myPBX App 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 [https://developer.apple.com/library/archive/technotes/tn2265/_index.html Troubleshooting Push Notifications] article by Apple).
** 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 [https://developer.apple.com/library/archive/technotes/tn2265/_index.html Troubleshooting Push Notifications] article by Apple).

Revision as of 10:31, 20 February 2020

With firmware version 12r2 sr20 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 myPBX app 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 myPBX app. Only one Push object is needed for a system.

Requirements

PBX

  • Firmware version 12r2sr20 [125501] or higher
  • Internet access via HTTPS

myPBX for iOS or Android

  • iOS since Version 12r2sr20
  • Android since Version 12r2sr23

Smartphone

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

Configuration

PBX

  • Check the System Name of the PBX - it must be globally unique. We recommend to use the DNS domain name of the company using the PBX.
  • For the next steps, do not use Internet Explorer, Edge or FrontMotion Firefox Browser at the moment. It will not work!
  • Create a new PBX object of type Push.
    • The Name of the Push object is case sensitive and will be used in the User objects to identify the push service.
    • Do NOT set a password - this is later-on filled-in automatically!
    • Make sure to click on OK or Apply button before proceeding with next steps.
  • Navigate to the Push tab of the Push object and provide a valid E-Mail address that can be used to send an HTTP link for verification.
    • E-Mail must not be an E-Mail already used as E-Mail of another object.
  • Press Connect button, do not close the window until E-Mail verification is done.
  • Wait for the E-Mail and open the verification link in the browser.
  • Press OK button after Connect succeeded appears.
  • Navigate to Reference9:General/Certificates and trust to certificate *.innovaphone.com that should appear on the list of rejected certificates. You have to do this on every slave and/or standby PBX.

(as of version 12r2 SR22 the certificate *.innovaphone.com is already included in the firmware, so you can skip this step)

Rejected certs.png

  • The trust list should look like this afterwards:

Trusted certs.png

User Objects

  • For each user who is to receive push notifications on his myPBX-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 myPBX app.

Android specific settings

Push notifications are now better supported. There are new parameters in myPBX for Android "Settings/App Settings/Push notifications".

  • Auto: (default setting) Operation without push with transition to "Active" at the first reception of a push notification.
  • On: Operation with Push. myPBX terminates after 10 seconds of idle time and switches to "Active" the first time a push notification is received.
  • Off: Operation without Push. myPBX tries to keep the registration permanently active.
  • Active: Operation with Push. Notifications have already been received successfully.

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 services instance (services.innovaphone.com)
  • services.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.

Push.gif

Troubleshooting

  • Check the trust list for certificate of the innovaphone AG.
  • Make sure the PBX can resolve the DNS host services.innovaphone.com.
  • Make sure the PBX can reach services.innovaphone.com via HTTPS.
  • Make sure you do not use Internet Explorer or Edge.
  • Make sure the mail used for Push is not used by another PBX object.
  • If there are problems with setting up the Push Service or if individual subscribers can not be reached, open a Support Ticket.
  • Make sure the myPBX App 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).
  • Once a domain is already registered with an email address, this domain cannot be authenticated with another email address. In this case you will not receive any email from our push service.

Known limitations

Push object creation and configuration of the connection is not working with Internet Explorer/Edge.

Use Firefox or Chrome to create and configure the Push object.

Call accept time for users with myPBX client only

In case no other endpoints are registered on the User object, but only the myPBX client, the PBX will not provide any alerting message to the calling party, until the myPBX client on the device restores the registration to the PBX via push notification. In case no registration appears after 10 seconds, the PBX will send "no user responding" as cause code to the calling party.

Push is not working if no device registered and a CFNR is configured

In case no endpoints are registered on the User object, and there is also a CFNR configured. The Push will not be executed and as result the CFNR will be exectuted immediately.

This is a known limitation and is under investigation.

A temporary workarround which will fix this issue has been found.

Solution: Create a Forking on the users object to its own number !

Push will work and if the device is able to register within 10 seconds the myPBX app will ring and the CFNR will be executed with the configured timer.


Push does work even when the myPBX app is switched off

The Push mechanism will also work when the myPBX app is turned off. This can lead to complains about receiving calls after working ours or during holidays.

There is one solution to prevent the myPBX app from ringing. During Off-bussines hours you can select the DND do not disturb option. Calls will be still signaled, but the phone will not ring.

For longer periods or if you don't want the myPBX to receive calls at all during Holidays.

First shut it down within the app (and swipe to close) so that the myPBX is realy not running anymore. Then in the iPhone settings, within notifactions, disable the notification for myPBX. This will prevent the myPBX app to be started again.

An alternative method introduced in August 2019 to prevent myPBX from being started is to configure "Settings", "App settings", "Start automatically" to "Never". Whenever myPBX is closed via the button on the settings screen, a push notification will not start it. Once myPBX has been opened again, push notifications will continue to take effect.

This is a way how the user can stop the push-functionality themself. Ofcourse after the holiday they have to enable the push notification in the iPhone again themself.

Same systemname in second, third, or multiple PBX

Try to avoid having the same systemname in different PBX's. If you cant avoid it ant the Customer has the same systemname in more than one PBX and there is no replication between theses PBX's like in a master-slave scenario or if it is a separate master with the same systemname:

The customer is NOT able to setup a Push Object like described in this wiki in the second system or even the setup will result in a disconnect of the Push object in the first system.

In this case there a two options to solve this problem without that the customer has to change the systemname.

Option 1:

innovaphone has to add the systemname/domain manual in the Push Admin and create a secret password and send this to the customer.

The Customer has to create a Push Object different as described in the wiki. In all systems where they create the Push Object, they must use the by innovaphone created password and leave the emailaddress field empty!

For this scenario you have to create a Support Ticket

Option 2:

Option2 is only possible if the PBX password of the different systems is exactly the same.

The customer can copy the Push object from the config of the first working Push object into the config of the second system.

This can be done by download both configs. Copy paste the Pushobject to the config of the system without Push Object.

Upload the config. Be aware a system reboot is necesarry.