Architecture

From Genesys Documentation
Jump to: navigation, search
This topic is part of the manual Genesys Callback Private Edition Guide for version Current of Callback.

Learn about Genesys Engagement Service architecture

Introduction

For more information about GES in relation to the Voice Microservices, including the Tenant Service, also see the Voice Microservices Private Edition Guide and the Tenant Service Private Edition Guide.

The following diagram shows the Genesys Engagement Service (GES) architecture. There must be at least two GES nodes spread across availability zones, forming a single service for load balancing and high availability.

You can configure Redis as a clustered Redis or as a primary-replica, non-clustered Redis. You enable clustered Redis mode by setting the REDIS_CLUSTER environment variable to true.

For information about the overall architecture of Genesys Multicloud CX private edition, see the high-level Architecture page.

See also High availability and disaster recovery for information about high availability/disaster recovery architecture.

Architecture diagram — Connections

The numbers on the connection lines refer to the connection numbers in the table that follows the diagram. The direction of the arrows indicates where the connection is initiated (the source) and where an initiated connection connects to (the destination), from the point of view of Genesys Engagement Service as a service in the network.

Pe ges architecture diagram.png

Connections table

The connection numbers refer to the numbers on the connection lines in the diagram. The Source, Destination, and Connection Classification columns in the table relate to the direction of the arrows in the Connections diagram above: The source is where the connection is initiated, and the destination is where an initiated connection connects to, from the point of view of Genesys Engagement Service as a service in the network. Egress means the Genesys Engagement Service service is the source, and Ingress means the Genesys Engagement Service service is the destination. Intra-cluster means the connection is between services in the cluster.

Connection Source Destination Protocol Port Classification Data that travels on this connection
1 Callback Internet HTTPS 443 Ingress GES serves the files for rendering the UI front end and answers UI-specific API requests, such as gathering data to populate the Callback view, for authenticated users only.
2 External REST API Internet HTTPS 443 Ingress The external REST API allows users to:
  • Create, retrieve, and cancel callbacks;
  • Query the office hours and capacity of callback services;
  • Retrieve estimated wait time of all virtual queues;
  • Create a call-in request;
  • Query a virtual queue’s readiness for callbacks;
  • Retrieve statistics from Genesys Web Services and Applications.
For more information about which APIs are available, see the Genesys Multicloud API Reference for the Engagement API.
3 Genesys Engagement Service Outbound API requests to third-party services; in this case, Google reCAPTCHA. HTTPS 443 Egress reCAPTCHA verifies that the caller of the Callback Create API (on connection #2) is a real person. This is an optional, additional safety feature for fraud prevention.
4 Genesys Engagement Service Outbound API requests to third-party services; in this case, Google Firebase Cloud Messaging (FCM). HTTPS 443 Egress FCM sends web or mobile push notifications to customers. GES uses FCM for Click-to-Call-In and callback mobile notifications.
5 UI or REST API Ingress gateway HTTPS 443 Ingress Callback management UI and REST API data. Also see connections #1 and #2, above.
6 Genesys Engagement Service Egress gateway HTTPS 443 Egress Outgoing Push Notifications and Captcha requests. Also see connections #3 and #4, above.
7 Ingress gateway Genesys Engagement Service HTTP 3050 Ingress Incoming data from the UI or REST API.
8 Genesys Engagement Service Genesys Authentication HTTP 8095 Intra-cluster GES queries the Genesys Authentication Service to validate a UI user’s identity.
9 Genesys Engagement Service Genesys Authentication HTTP 8091 Intra-cluster GES queries the Environment Service to obtain the tenant’s configuration.
10 Genesys Engagement Service Genesys Web Services and Applications HTTP 8092 Intra-cluster GES queries the GWS Configuration Service to obtain privileges and permissions for the authenticated user.
11 Genesys Engagement Service Voice Microservices HTTP 9098 Intra-cluster GES starts a session in ORS when it is time to put the callback in the queue for an agent. To initiate the ORS session, GES stores an entry in the Voice Microservice's Redis (using port 6379), rather than communicating directly with ORS. Once the ORS session is started, GES regularly queries the ORS session (using port 9098) for diagnostics information about the callback. In addition, GES might send events to control the ORS session; for example, when the callback is cancelled through the API or UI.
12 Voice Microservices Genesys Engagement Service HTTP 3050 Intra-cluster The callback ORS session updates the state and storage of the callback record in GES.
13 Genesys Engagement Service Tenant Service HTTP 5580 Intra-cluster GES queries URS to obtain the estimated wait time of virtual queues.
14 Designer Genesys Engagement Service HTTP 3050 Intra-cluster When the CALLBACK_SETTINGS data table is published in Designer, Designer sends the changed callback service configurations to GES.
15 Genesys Engagement Service Redis Redis 6379 Egress GES uses Redis for in-memory data store for quick retrieval.
16 Genesys Engagement Service PostgreSQL Postgres 5432 Egress GES uses Postgres as a persistent data store.
17 Prometheus Genesys Engagement Service HTTP 3050 Ingress GES provides metrics for monitoring and alerting with Prometheus.