Revision as of 20:22, February 7, 2019 by Mgionet (talk | contribs)
Jump to: navigation, search

Push notifications via GMS to HTTP server

The Chat solution allows you to request push (in other words, unsolicited) notifications through Genesys Mobile Server (GMS) to an HTTP server even when a customer-facing chat web application (Chat Widget) is communicating with GMS via "Chat API Version 2" instead of "Chat API Version 2 with CometD".

To enable this functionality, do the following:

Application Instructions
GMS
  1. Deploy GMS using Cluster Application
  2. Configure GMS for Custom HTTP notification
  3. Configure GMS with enable_notification_mode=true
Chat Server

Introduced in version 8.5.305.XX(TBD)

  1. Add new configuration option flex-push-on-join in the Settings section with value "true". This forces Chat Server to acknowledge the push notification subscription during the creation of a chat session.
  2. Ensure that option flex-push-enabled is set to "true", and option flex-push-timeout is set with a larger value (for example, "94600 seconds"). For more information, see Async Requirements.
Customer-facing chat web application
  1. The web application must supply a set of mandatory key-value pairs in the userdata for the "Request Chat" HTTP method (using a userData[key-name] notation):
    • GCTI_Chat_PushSubscribe with the value "true"
    • GCTI_GMS_NodeGroup with the GMS cluster name
    • GCTI_GMS_PushDeviceId with a unique device ID
    • GCTI_GMS_PushDeviceType with vthe alue "customhttp"
  2. The web application will additionally supply a set of key-value pairs in the userdata:
    • GCTI_GMS_PushIncludePayload with value "true"
      This forces GMS to include the payload (in other words, the chat transcript event content) with a custom-http push notification.
    • GCTI_GMS_NotifyRequestor with value "true"
      This forces Chat Server to send notifications to GMS about the customer activity. Note: GMS will relay only the "ABANDON" event for a customer.
    • GCTI_GMS_PushProvider
      Provided if you specified the configuration for the non-default provider in GMS.
    • GCTI_GMS_PushDebug
      Provided if you specified the debug mode for the configured provider in GMS.

Additional notes

  • If push notifications are enabled, Chat Server tries to find the GMS node in the GMS cluster (specified by "GCTI_GMS_NodeGroup") and to associate the node for further notifications (until the node is disconnected). If no GMS is available (in other words, registered in Chat Server), Chat Server attempts to find a node from the cluster the next time an activity is generated in the chat session or upon chat session restoration in HA mode.
  • Notifications are not resent during a delivery failure either between GMS and HTTP server, or between Chat Server and GMS. The following log messages are provided:
    • In GMS: "Dbg 09900 [com.genesyslab.PCT.invoker.default] DC Chat Server Persistent Listener: Event 17 was not (GMS is not running in full mode or incompatible Chat Server version) pushed for delivery to customhttp for device..."
    • In Chat Server: "Trc 59758 push-flex: could not send notification - no gms node found in group=..."

Sample configuration for custom HTTP notifications in GMS

[chat]
enable_notification_mode=true
push_notification_include_payload=true
  
[push]
customhttp.message=dummy message
customhttp.url=http://<hostname>:<port>
debug.customhttp.message=dummy message
debug.customhttp.url=http://<hostname>:<port>
pushEnabled=customhttp
Comments or questions about this documentation? Contact us for support!