Architecture
Overview
uContact could be cloud (Google Cloud) or on premises based in one or two server (depending on the load of the customer), having one server for the Application Server (Ubuntu, MySQL, Java) and other for the telephony (Ubuntu, C). It also uses an stun server that can be a public one or uContact STUN server, The application is full WebRTC so there is no plugin for audio or video.
The connection is via https with a level 3 certificate via (https://xxxx.ucontactcloud.com), uContact uses https (http2) with a REST API and Secure Websockets (wss).
The connection is made through Secure Websockets https://xxx.ucontactcloud.com:8089/ws (for SIP signaling).
Our STUN Server (stun.ucontactcloud.com)
Agent and Telephony server negotiate with STUN Server gathering ICE candidates.
After that the connection is made from the agent to the telephony server, bridging the communication with the telephony provider (via SIP, SIP TLS, SIP WebRTC).
The telephony server does the bridging in order to host all the recordings, transcoding, etc.
Codecs: We use alaw, ulaw, opus, vp8, h264. Al the transcoding part takes action in the telephony server.
QoS: We can do TOS and COS tag (on the server side) the packets with multiple parameters in different actions (video, audio, text)
Security
Google Cloud Security Plus Our Own security layer with Force Brut attack detection with all communications encrypted.
The server prefers cipher suites supporting Perfect-Forward-Secrecy.
The server provides HTTP Strict Transport Security.
The server provides HTTP Public Key Pinning.
X-XSS-Protection
X-XSS-Protection
Hardware Sizing (On Premise)
Size | Agents | Telephony | Backend | Database |
---|---|---|---|---|
Small | < 30 | 1 | 0 | 0 |
Medium | < 500 | 1 | 1 | 0 |
Big | > 500 | 1 | 1 | 1 |
Accepted Telecommunications Equipment: Digium or Sangoma Cards, Xorcom, Dinstar, KHOMP, SIP Gateways, SIP Hardphones.
Contact Center for 15 agents
Telephony and Database Server
Processor: Intel® Xeon® E7-8893 v4 . 3.2 Ghz
Memory: 8 GB RAM
Disk: 500 GB (Raid 1)
Controller: Raid 0/1/10 (software)
LAN: 100/1000 MB (Dual)
Compatible with Ubuntu Linux
Contact Center for 40 agents
Telephony and Database Server
Processor: Intel® Xeon® E7-8893 v4 . 3.2 Ghz
Memory: 16 GB RAM
Disk: 1TB (Raid 1) – 10K RPM
Controller: Raid 0/1/10 (software)
LAN: 100/1000 MB (Dual)
Compatible with Ubuntu Linux
Contact Center for 100 agents
Teleohony
Processor: Intel® Xeon® E7-4809 v4 2.10 GHz
Memory: 16 GB RAM
Disk: 1TB (Raid 1) – 10K RPM
Controller: Raid 0/1/10 (software)
LAN: 100/1000 MB (Dual)
Compatible with Ubuntu Linux
DataBase
Processor: Intel® Xeon® E7-4809 v4 2.10 GHz
Memory: 16 GB RAM
Disk: 500 GB (Raid 1) – 10K RPM
Controller: Raid 0/1/10 (software)
LAN: 100/1000 MB (Dual)
Compatible with Ubuntu Linux
Contact Center for 200 agents
Telephony
Processor: Intel® Xeon® E7-4820 v4 2.00 GHz
Memory: RAM 32 GB
Disk: HDD 2TB
Controller: Raid 5 with disks SAS 15krpm
LAN: 100/1000 MB (Dual)
Compatible with Ubuntu Linux
DataBase
Processor: Intel® Xeon® E7-4820 v4 2.00 GHz
Memory: RAM 32 GB
Disk: HDD 1TB
Controller: Raid 5 with disks SAS 15krpm
LAN: 100/1000 MB (Dual)
Compatible with Ubuntu Linux
Contact Center for 400 agents
Telephony
Processor: Intel® Xeon® E7-8870 v4 3.00 GHz
Memory: RAM 64 GB
Disk: HDD 3TB
Controller: Raid 5 with disks SAS 15krpm
LAN: 100/1000 MB (Dual)
Compatible with Ubuntu Linux
DataBase
Processor: Intel® Xeon® E7-8870 v4 3.00 GHz
Memory: RAM 64 GB
Disk: HDD 1TB
Controller: Raid 5 with disks SAS 15krpm
LAN: 100/1000 MB (Dual)
Compatible with Ubuntu Linux
The servers should be certificated in Ubuntu, check: http://www.ubuntu.com/certification/server/
Agents & Supervisors
The teams of agents and supervisors must have the following minimum Requirements:
Agent Desktop
Processor: Core i3 2.0 ghz
Memory: 4GB RAM
Resolution: 1366 x 768 (minimal)
Disk: 160 GB
Java: 1.8
Supervisor Desktop
Processor: Core i3 2.5 ghz
Memory: 8 GB RAM
Resolution: 1366 x 768 (minimal)
Disk: 160 GB
Java: 1.8
Communication
Component Versions
BBDD: Mysql > 5.7
WebServer: nginx > 1.11.5
OS: Ubuntu 16.04 Server
Telephony: Modified Asterisk branch 13
Frontend: HTML5 y JS
Backend: Java 8
Structure
Structure
/etc/IntegraServer/web/
IntegraPortalWS.war
IntegraChannels.war
IntegraGamification.war
/forms/
/images/
/uContact/
/workflowdesigner/
/formsdesigner/
/tmp/
/webchatclient/
/etc/IntegraServer/reports/
/etc/IntegraServer/server/
IntegraServer.jar
/jasper/*.jar
/jdbc/*.jar
/mail/*jar
/others/*.jar
/ssh/*.jar
/ws/*.jar