Architecture
Learn about architecture
Introduction
The following diagram shows an example of the high-level architecture for Voice Microservices.
For information about voice connectivity network details, see Voice connectivity.
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 as a service in the network.
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 as a service in the network. Egress means the service is the source, and Ingress means the 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 | CX Contact | Tenant Service | TCP | 5050, 8888 | Intra-cluster | Outbound campaigns provisioning and control performed by CX contact. |
2 | Genesys Pulse | Tenant Service | TCP | 8888, 8000 | Intra-cluster | Pulse obtains provisioning and real-time reporting data. |
3 | Billing Data Service | Tenant Service | TCP | 8888 | Intra-cluster | BDS reads the Tenant resource inventory. |
4 | Genesys Web Services and Applications | Tenant Service | TCP | 8888, 8000, 2060 | Intra-cluster | Provisioning and voice control/observability requests to Tenant resources through GWS. |
5 | Interaction Server | Tenant Service | TCP | 8888, 2060 | Intra-cluster | Multimedia provisioning access and interaction status requests. |
6 | Voice RQ Service | Redis | Redis | 6379* | Egress | Call-related Voice Microservices events for in-memory cache. |
7 | Interaction Server | Redis | Redis | 6379 | Egress | Interaction events. |
8 | Genesys Engagement Service | Tenant Service | HTTP | 5080 | Intra-cluster | Routing requests/events. |
9 | Tenant Service | Redis | Redis | 6379* | Egress | Tenant configuration for in-memory cache. |
10 | Genesys Engagement Service | ORS | 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. |
11 | Tenant Service | Kafka | Kafka | 9092/9093* | Egress | Outbound data for reporting. |
12 | Dial Plan Service | Redis | Redis | 6379* | Egress | Configuration and registration details for in-memory cache. |
13 | Tenant Service | PostgreSQL | Postgres | 5432 | Egress | Configuration data for persistent storage. |
14 | Redis 6.x | Tenant Service | Redis | 6379* | Egress | Call and routing Voice Microservices events for the message bus. |
15 | Voicemail | Config Service | HTTP | 9100 | Intra-cluster | Fetches configuration data. |
16 | Tenant Service | Voice RQ Service | TCP | 12100 | Intra-cluster | Exchange of routing data for voice. |
17 | Config Service | Redis | Redis | 6379* | Egress | In-memory cache for the Config Service. |
18 | Genesys Voice Platform | Voicemail | HTTP | 8081 | Intra-cluster | Communication to provide voicemail IVR pages. |
19 | Genesys Web Services and Applications | Voicemail | HTTP | 8081 | Intra-cluster | Voicemail uses GWS for user authentication. Agent Setup uses Voicemail service for Admin API functionalities. WWE uses Voicemail service for User API functionalities. |
20 | Interaction Server | Voice RQ Service | TCP | 12100 | Intra-cluster | Exchange of routing data for digital. |
21 | Genesys Voice Platform | ORS | HTTP | 11200 | Intra-cluster | Provides call data to GVP. |
22 | Dial Plan Service | Config Service | HTTP | 9100 | Intra-cluster | Exchange of tenant information. |
23 | Voice SIP Proxy Service | Config Service | HTTP | 9100 | Intra-cluster | Exchange of tenant information. |
24 | Voicemail | Object storage | HTTP | N/A | Intra-cluster | Mailbox configurations and all the voicemail messages are saved in Azure Blob Storage/AWS S3 bucket. HTTP connection protocol is used without any specific port, whereas secret keys are used for establishing the connections. |
25 | Voice SIP Cluster Service | Voice RQ Service | TCP | 12100 | Intra-cluster | Exchange of voice call details. |
26 | Tenant Service | Config Service | HTTP | 9100 | Intra-cluster | Exchange of tenant information. |
27 | Voice SIP Cluster Service | Dial Plan Service | HTTP | 8800 | Intra-cluster | Provides routing instructions. |
28 | Voice SIP Cluster Service | Config Service | HTTP | 9100 | Intra-cluster | Exchange of tenant information. |
29 | Voicemail | Redis | Redis | 6379* | Egress | In-memory cache for voicemail data. |
30 | ORS | Voice RQ Service | TCP | 12100 | Intra-cluster | Fetches call and routing data. |
31 | Tenant Service | FrontEnd Service | HTTP | 9101 | Intra-cluster | Tenant Service provides Voice Microservices requests to the FrontEnd Service. |
32 | Voice Registrar Service | Config Service | HTTP | 9100 | Intra-cluster | Exchanges tenant information and stores agent registration. |
33 | Designer Application Server | Digital Channels | HTTP | 80 | Intra-cluster | Designer Applications use the ORS <fetch> method to communicate with Nexus. |
34 | ORS | Config Service | HTTP | 9100 | Intra-cluster | ORS reads Route Points (RP) and Enhanced Routing Script (ERS) objects. ORS also implements keep-alive messages to detect if the connection to Config Service is alive. |
35 | Agent State Service | Config Service | HTTP | 9100 | Intra-cluster | Fetching of tenant, DN, person (agent) information, storing agent login/logout. |
36 | Voice Registrar Service | Redis | Redis | 6379* | Egress | In-memory cache for SIP registration. |
37 | Agent State Service | Redis | Redis | 6379* | Egress | In-memory cache for agent activities. |
38 | ORS | FrontEnd Service | HTTP | 9101 | Intra-cluster | ORS requests are sent to the FrontEnd Service. |
39 | FrontEnd Service | Voice SIP Cluster Service | HTTP | 11300 | Intra-cluster | FrontEnd Service sends requests to SIP Server (SIP Cluster Service). |
40 | Voice SIP Cluster Service | Redis | Redis | 6379* | Egress | Streaming of Voice Microservices events. |
41 | Voice SIP Cluster Service | Redis | Redis | 6379* | Egress | In-memory cache for SIP Cluster Service. |
42 | Call State Service | Redis | Redis | 6379* | Egress | In-memory cache for the Call State Service. |
43 | ORS | Designer Application Server | HTTP | 80 | Intra-cluster | ORS fetches Designer Applications (routing strategy). |
44 | Designer Application Server | External/customer | HTTPS | 443 | Egress | External/customer API requests. Designer Applications use the ORS <fetch> method for external requests. |
45 | ORS | Redis | Redis | 6379* | Egress | Streams routing events. |
46 | ORS | Redis | Redis | 6379* | Egress | Reads new calls and interactions in the system. |
47 | ORS | Redis | Redis | 6379* | Egress | In-memory cache. |
48 | FrontEnd Service | Kafka | Kafka | 9092/9093* | Egress | Provides data to reporting. |
49 | Voice SIP Cluster Service | Redis | Redis | 6379* | Egress | Streams new call events. |
50 | Voice SIP Cluster Service | Kafka | Kafka | 9092/9093* | Egress | Provides data to reporting. |
51 | Voice SIP Cluster Service | Voice SIP Proxy Service | SIP/TCP | 5080 | Intra-cluster | Exchange of SIP signals. |
52 | Voice Registrar Service | Redis | Redis | 6379* | Egress | Streams DN registration details. |
53 | Voice Registrar Service | Kafka | Kafka | 9092/9093* | Egress | Provides data to reporting. |
54 | Agent State Service | Redis | Redis | 6379* | Egress | Streams agent-related events. |
55 | Kafka 2.x | Agent State Service | Kafka | 9092/9093* | Egress | Provides data to reporting. |
56 | Call State Service | Kafka | Kafka | 9092/9093* | Egress | Provides data to reporting. |
57 | Voice SIP Proxy Service | WebRTC Media Service | SIP/UDP | 5070 | Intra-cluster | Exchange of SIP signals. |
58 | Genesys Voice Platform | Voice SIP Proxy Service | SIP/TCP | 5080 | Intra-cluster | Exchange of SIP signals. |
59 | Voice SIP Proxy Service | Session Border Controller | SIP/TCP | Not known (configured as trunk DN level in customer CME) | Intra-cluster | Exchange of SIP signals. |
60 | Voice SIP Proxy Service | Kafka | Kafka | 9092/9093* | Egress | Provides data to reporting. |
* Configurable ports