Solution Prerequisites
Single Server Hardware Requirements
Following are the prerequisites for setting up Hybrid Chat solution.
Hybrid Chat | Rasa | Articulate | |
---|---|---|---|
Hardware Sizing | |||
For up to 50 concurrent agents and 250 active chats | 4 vCPU, 8 GB RAM, 150 GB HDD | 4 vCPU, 8 GB RAM, 150 GB HDD | 4 vCPU, 8 GB RAM, 150 GB HDD |
For 3000 active chats with integrated BOT | 8 vCPU, 16 GB RAM, 250 GB HDD | 8 vCPU, 16 GB RAM, 250 GB HDD | 8 vCPU, 16 GB RAM, 250 GB HDD |
The desired hard disk space must be allocated to /var
.
If that's not feasible, Docker daemon root-directory should be changed to the location where the space is available.
Recommended FileSystem type is XFS.
Recommendation
It's recommended to install the Bot on a different system. Rasa and Articulate use TensorFlow which requires CPUs with AVX instruction set. The hardware mentioned above for Rasa must have AVX instruction set. Read more about this in Rasa community.
Redundant Server (HA) Hardware Requirements
The solution is designed to provide complete failover between 2 systems (with an Arbiter) in case site-A goes down, site-B takes over. Following three nodes are required for an HA setup.
Hybrid Chat | Rasa | Articulate | |
---|---|---|---|
Hardware Sizing for up to 50 concurrent agents and 250 active chats | |||
Master node ( site-a ) | 4 vCPU, 8 GB RAM, 150 GB HDD | 4 vCPU, 8 GB RAM, 150 GB HDD | 4 vCPU, 8 GB RAM, 150 GB HDD |
Slave node ( site-b ) | 4 vCPU, 8 GB RAM, 150 GB HDD | 4 vCPU, 8 GB RAM, 150 GB HDD | 4 vCPU, 8 GB RAM, 150 GB HDD |
Arbiter node ( neutral location ) | 1 vCPU, 2 GB RAM, 20 GB HDD | ||
Load Balancer | 2 vCPU, 2 GB RAM, 20 GB HDD An external load balancer may also be used. If you prefer installing the Load Balancer shipped with Expertflow, install it on a separate system. Arbiter may however be co-located with the Load Balancer. If it is preferred to install Arbiter node and Load Balancer on same machine then the specifications of that machine should be 4 vCPU, 4 GB RAM, 50 GB HDD. |
Hybrid Chat | Rasa | Articulate | |
---|---|---|---|
For 3000 active chats with integrated BOT | |||
Master node ( site-a ) | 8 vCPU, 16 GB RAM, 250 GB HDD | 8 vCPU, 16 GB RAM, 250 GB HDD | 8 vCPU, 12 GB RAM, 250 GB HDD |
Slave node ( site-b ) | 8 vCPU, 16 GB RAM, 250 GB HDD | 8 vCPU, 16 GB RAM, 250 GB HDD | 8 vCPU, 12 GB RAM, 250 GB HDD |
Arbiter node ( neutral location ) | 1 vCPU, 2 GB RAM, 20 GB HDD | ||
Load Balancer | 2 vCPU, 2 GB RAM, 20 GB HDD An external load balancer may also be used. If you prefer installing the Load Balancer shipped with Expertflow, install it on a separate system. Arbiter may however be co-located with the Load Balancer. If it is preferred to install Arbiter node and Load Balancer on same machine then the specifications of that machine should be 4 vCPU, 4 GB RAM, 50 GB HDD. |
Software Requirements
- Host Operating System - Cent OS 7
- Docker Community Edition 18+
- Docker Compose 1.26 or above
- Git Client 1.8+
- Mandatory Linux utilities:
wget
curl
Developer Tools installed on the Linux host. (optional)
BASHyum group install "development tools"
- For system monitoring and to assist in troubleshooting, following utilities are recommended.
strace
htop
dstat
atop
sysstat
iftop
nethogs
nmap or ss
tcpdump
- MS SQL (for reports in Cisco CUIC) - Recommended version- Microsoft SQL Server 2014
- MS SQL flavour should support TLS 1.2. For TLS 1.2 support, see this Microsoft article.
TLS Certificate Requirements
- Certificates from a valid signing authority or Domain signed certificate required for https protocol support. For applying certificates, see Applying TLS Certificates.
System Access Requirements
- Administrative privileges (root) on the host machine are required to proceed with installation.
System Configuration Requirements
- Setup an FQDN to access Hybrid Chat that should be resolved to the IP address of the host. In HA setup, FQDN of all the nodes should be setup.
Docker daemon service should be configured to auto start on all systems.
BASHsystemctl enable docker
Setup Docker log rotation following Docker Logs Retention.
if the logs rotation using above mentioned procedure is not enabled, logs will occupy the whole disk space resulting in unusable system.
Notes for Cisco UCC Integration
- We provide support for both ENH (enhanced) and PRE (premium) licenses
- Cisco Socialminer is not a necessary prerequisite for the Hybrid Chat solution
- All versions of Cisco Contact Center which have Cisco Finesse are supported (9.0 and onward)
Network Requirements
- In HA deployment, network latency can be range between 10ms to 20 ms, where lower is always good to have.
- SocketIO connections remain on polling and even though it tries to switch to WebSocket it doesn't work. This could be due to the a network firewall sitting between chat-server and agent-gadget ( Both Hybrid-Chat components ). Customer environment needs to be configured to upgrade the standard HTTPS communication to Secure WebSockets(WSS), so that the WSS based communication between the agent-gadget and chat-server can be streamlined. This can be achieved by adding/updating the mainstream Firewall configuration like below:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
This is a snippet from NGINX configuration to upgrade the HTTPS traffic to WSS and can be adapted to other network routing devices.
Mobile version compatibility
Mobile OS | Version |
---|---|
Android | 5.1 to 10 |
Browser Compatibility
Agent Gadget
Customer Gadget
Port Utilisation
Time Synchronization
Communication between Chat Solution, client applications, Cisco Finesse and external reporting carry timestamps. If the system dates and time are not synchronized the system can produce unpredictable results. Therefore, please make every effort to adhere to the following time synchronization guidelines:
Chat Solution, client applications, Cisco Finesse and external reporting database should have their Time Zone and time configured properly according to the geographic region and synchronized. To configure the time zone, please see the instructions from the hardware or software manufacturer of NTP server. Client applications and EF Connector should be synchronized to the second. This synchronization should be maintained continuously and validated on a regular basis. For security reasons, Network Time Protocol (NTP) V 4.1+ is recommended.