PUSH

Das 3CX Phone System ist die erste Telefonanlage auf dem Markt, die Push-Funktionalität für iOS und Android Endgeräte “Build-In” für seine Kunden bereitstellt. Neben dem Sicherheitsaspekt, dass Sie nicht Ihren Audio und SIP Datenstrom durch einen Server eines 3rd Party Herstellers routen müssen, um diese Funktionalität herstellen zu können, ist zudem die Aktivierung und Konfiguration kinderleicht. Zudem können nun die bekannten und schon mehrfach ausgezeichneten SIP Klienten von 3CX verwendet werden.

Erläuterung:

Apple beschreibt die Funktion des PUSH als
“Local and push notifications are great for keeping users informed with timely and relevant content, whether your app is running in the background or inactive. Notifications can display a message, play a distinctive sound, or update a badge on your app icon.”

Anders als in den Vorgängerversionen der 3CXPhone Klienten für iOS und Android, kann (Android – Applikation mit Exit beenden) bzw. wird (iOS) die Applikation beim verlagern in den Hintergrund direkt Inaktive geschaltet. Dieses bietet den großen Vorteil, dass das 3CXPhone auf den Mobilen Endgeräten keine Ressourcen verwendet. 3CX nutzt nun plattformspezifische Protokolle um den Endgeräten mitteilen zu können, das ein eingehender Anruf für die Nebenstelle wartet. Die Annahme, das durch das plattformspezifische Protokoll die Applikation auf dem Endgerät direkt aktiviert wird und logische Aktionen durchführen kann, ist falsch. Es handelt sich hier um eine OS spezifische Anzeige einer Nachricht, die durch manuelle Interaktion mit der Nachricht dann die Applikation aufweckt.

Allgemeine Limitierung

Jede Nebenstelle kann nur ein Endgerät mit aktiviertem Push bedienen. Teilen (Forking) von mehreren 3CXPhones für iOS und/oder Android ist nicht vorgesehen. Es wird immer das als letzte angemeldete (registered) 3CXPhone bedient.

iOS

Um Push für iOS Endgeräte zu aktivieren benötigen Sie den Klienten 3CXPhone for 3CX Phone System 12 aus dem App Store (voraussichtlicher Erscheinungsdatum 25.06.2013) und setzen die Option unter Einstellungen -> 3CXPhone  -> Apple Push Notification Service (APNS) auf [AN].
iOS

Android

Um Push für Android Endgeräte zu aktivieren benötigen Sie den Klienten 3CXPhone for 3CX Phone System 12 aus dem Google Play Store und konfigurieren die Option unter Einstellungen -> 3CXPhone  -> Google Cloud Messaging Service (GCM) nach der Anleitung. Beachten Sie, dass Sie zuerst GCM konfigurieren müssen und dann Android Endgeräte provisionieren. Android Endgeräte müssen aus dem Provisioning lernen mit welchem GCM Sie kommunizieren müssen. Dieser Schritt ist bei iOS Endgeräten zwar nicht notwendig, dafür ist die Konfiguration 100%  einzigartig für die 3CX Installation.Android

Unterschiede iOS und Android

Der Push Dienst von iOS unterliegt einigen Einschränkungen. Einmal vom 3CX Phone System entsendete PUSH Nachrichten können nicht mehr gelöscht, noch verändert werden. Damit kann aus einem angezeigtem eingehenden Anruf kein verpasster Anruf mehr gemacht werden. Sollten Sie einmal nicht mit dem Internet verbunden sein (zB in Flugzeug) und danach wieder mit dem Internet verbunden werden, erhalten Sie die PUSH nachrichten als “neuen” eingehenden Anruf, obwohl der Anruf ggf. schon beantwortet worden ist durch einen Kollegen oder 3h in der Vergangenheit liegt. In Android ist dieses gänzlich möglich, eine abgeschickte PUSH Nachricht nachträglich als verpassten Anruf umzuschreiben. In beiden Fällen (iOS oder Android)  führt das berühren der PUSH nachricht dazu, dass
a) der Anruf abgenommen wird [Klient startet, verbindet sich mit dem 3CX Phone System und nimmt den Anruf entgegen] oder
b) der “verpasste” Anruf angewählt wird [Klient startet, verbindet sich mit dem 3CX Phone System und wählt die Quellrufnummer an].
Push-Flow

Flow

Ein 3CXPhone registriert sich am 3CX Phone System 12 (oder höher).
Bei der Registrierung, werden direkt zwei Einträge für Ihre Nebenstelle erzeugt. Einmal die echte Registrierung des SIP Endpunktes (hier als 3CXPhone for iPhone zu sehen) und der dazugehörige PUSH Dienst. Solange die echte Registrierung für das 3CXPhone aktiv ist, werden PUSH Nachrichten abgeschaltet für die Nebenstelle 100.
Flow1

Versetzen Sie nun den iOS Klienten in den Hintergrund meldet sich das 3CXPhone direkt am 3CX Server ab und aktiviert damit in dem 3CX Phone System den PUSH Service für diese Nebenstelle. Bei Android Endgeräten müssen Sie die Option “Exit” nutzen um nur noch via PUSH angesprochen werden zu wollen.
Flow2

 

Firewall

Im allgemeinen benötigt die Firewall keine gesonderte Einstellungen um Endgeräte mittels Push ansprechen zu können. Manche Enterprise Firewall erlauben aber ggf. nicht die Verbindung ANY nach Extern. Um dennoch Push an seine Endgeräte zu aktivieren, finden Sie nun folgend im Original die Einstellungen für Android und Apple

Google Android
If your organization has a firewall that restricts the traffic to or from the Internet, you need to configure it to allow connectivity with GCM in order for your Android devices to receive messages. The ports to open are: 5228, 5229, and 5230. GCM typically only uses 5228, but it sometimes uses 5229 and 5230. GCM doesn’t provide specific IPs, so you should allow your firewall to accept outgoing connections to all IP addresses contained in the IP blocks listed in Google’s ASN of 15169.

Apple iOS
Push providers, iOS devices, and Mac computers are often behind firewalls. To send notifications, you will need to allow inbound and outbound TCP packets over port 2195. To reach the feedback service, you will need to allow inbound and outbound TCP packets over port 2196. Devices and computers connecting to the push service over Wi-Fi will need to allow inbound and outbound TCP packets over port 5223.

The IP address range for the push service is subject to change; the expectation is that providers will connect by hostname rather than IP address. The push service uses a load balancing scheme that yields a different IP address for the same hostname. However, the entire 17.0.0.0/8 address block is assigned to Apple, so you can specify that range in your firewall rules.