Push messaging through a proxy

HCL Traveler supports the sending of APNS and FCM messages through a proxy server.

Note: Support for Google's FCM (Firebase Cloud Messaging) HTTP v1 API has been added to provide push functionality to Android devices which have used GCM (Google Cloud Messaging) or older FCM APIs in the past. Google has deprecated GCM and older FCM APIs and replaced them with FCM HTTP v1 API. FCM messages are sent over HTTPS to https://fcm.googleapis.com/v1/projects/notes-traveler-2014/messages:send, so any firewalls or proxies will need to be updated to allow https://fcm.googleapis.com/v1/projects/notes-traveler-2014/messages:send. If you customized any GCM or FCM notes.ini's, consult Notes.ini settings as the GCM ini's are no longer supported and some of the FCM notes.ini's changed with the change to the FCM HTTP v1 API.

If you need to send APNS or FCM message through a proxy server in your environment, you need to configure the set of notes.ini settings that begin with NTS_PUSH and contain _PROXY 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 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 HCL 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. The _TYPE will vary per the set of notes.ini settings that you are configuring – see the notes.ini setting's description in Notes.ini settings.

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.