Push messaging through a proxy

IBM Traveler supports the sending of APNS and FCM or GCM messages through a proxy server.

Note: Support for Google's FCM (Firebase Cloud Messaging) has been added to provide push functionality to Android devices which have used GCM (Google Cloud Messaging) in the past. Google has deprecated GCM and replaced it with FCM. The GCM tokens that the Android devices use are valid as FCM tokens, so the Android devices should not have to change although they will indicate that they are using GCM when the messages are really flowing through Google's FCM infrastructure. FCM messages are sent over HTTPS to https://fcm.googleapis.com/fcm/send, so any firewalls or proxies will need to be updated to allow https://fcm.googleapis.com/fcm/send. IBM Traveler configuration for FCM is similar to GCM, so if you customized GCM notes.ini's, you probably need to customize the corresponding FCM notes.ini's as well.

If you need to send APNS or FCM or GCM message through a proxy server in your environment, you need to configure the set of notes.ini settings that begin with NTS_PUSH for the messages you want routed through the proxy. The full list can be found in Notes.ini settings. Servers that do not have outgoing internet access allowed would be candidates for using a proxy so that the APNS or FCM or GCM messages can be sent through a proxy server that is allowed outgoing internet access.

For each message type, you would need to set the _SERVER and _PORT values. If the proxy requires authentication, then you would also need to set _PASSWORD and _USER to allow IBM Traveler to authenticate with the proxy. All settings can be configured using notes.ini, but _PASSWORD and _USER can also be configured using the offline utilities command <link>._TYPE. The command <link>._TYPE currently only supports HTTP, so it should remain unchanged.

Each Apple app has its own APNS configuration, its own certificate used for signing, and its own server to send the message to, so there are many combinations of those settings for APNS. The app versions that come from the Apple App Store would all be using the non-sandbox, production settings. As a result, those are the only ones that would need to be configured.

Note: It is not possible to bind the libraries to a particular network interface when there is more than one network interface.