Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel7

...

Overview

...

Integration Points

There are two key integration points with this architecture design:

  1. The PureConnect ICWS Service for RealTime metrics

  2. The PureConnect CIC database 

...

The ICWS integration (PureConnect Adapter)

Data Available from the ICWS is loosely based on the Statistics Catalog provided by the Genesys, for the latest revision of the Statistics Catalog. See this link: Statistics Catalog. eMite categorises categorizes the available statistics based on the modules it uses.

Module Name

Module Description

Interactions

Subscribes to the interaction data looks at key information such as AcdSkillSet, CallState, ConnectionTime, WorkGroup Assigned, Agent Assigned, Acd Wait Reason, Termination Time (to clear the message)

QueueStatMetrics

Subscribes to the Queue Stat Metrics available within the Statistics Catalog.

UserStatMetrics

Subscribes to the User Stat Metrics within the Statistics Catalog

UserStatus

Subscribes to the User Statuses, looks at key information such as Agent Name, Agent Status

WorkGroupStatMetrics

Subscribes to the WorkGroup Stat metrics available within the Statistics catalog.

PureConnect Adapter

...

Behavior

The PureConnect Adapter utilizes the ICWS pub-sub model of retrieving real time data. It's Its adapter acts like a subscriber and listens to the any new messages or changed states associated to the subscriptions. It's

Its first step is to attempt to login log in using the credentials provided. Once authenticated, once authenticated it will subscribe to the relavant API's relevant APIs (based on the Module name) it . It will keep a running thread associated to the specific API to provide real time notifications. 

...

Info

Multiple ICWS Services - It's common that there are multiple hosts associated to ICWS

...

, usually when the ICWS hosts switch - it provides an error message to notify the subscriber that an alternate host is being used.

In the scenario when it switches it

...

, there will be a period of time where the subscriptions will need to be re-subscribed. This might affect dashboards for a minute.

...

The PureConnect CIC Database integration

Data Available:

Fact Queries

Description

AgentActivityLog

Provides data around the agent states; usually stored within the Agent Activity tables within the CIC Database

AgentHistorySummary

Based on the Interval Queue data using the Agent Summary Views

AgentHistoryDetail

Based on the Interval Queue data using the Agent Detail Views

QueueHistorySummary

Based on the Interval Queue data using the WorkGroup Summary Views

QueueHistoryDetail

Based on the Interval Queue data using the WorkGroup Detail Views; "CHKey4" being the key shown (in some contact

centres

centers this is used as a Skill field)

InteractionDetailSegments

Based on the Interaction Detail Data, key components of interaction data is broken down into 'Segments' to provide detailed analysis on transitions of segments within an interaction.

InteractionDetailSummary

Based on the Interaction Detail Data, key aggregated statistics associated to the interaction for faster statistical analysis over standard metrics.

...

Info
  • Availability - Note that this data's

...

  • availability can be delayed up to 30 minutes

...

  • . There is a key

...

  • dependency on the PureConnect PMQ (Persistent Messaging Queue) on pushing this data into the CIC Database. eMite will poll the latest data that is available at 5 minute intervals

...

  • . However, it is still

...

  • dependent on the

...

  • availability within the database.

  • Granularity -

...

  • Pertains to the Interval Queue data

...

  • dependent indexes. The granularity is specified by PureConnect's settings

...

  • . If the intervals are setup to be a minimum of 30 minutes

...

  • , all our data Interval

...

  • Queue data related indexes will be aggregated at 30 minute intervals.

...

Application Scaling (Multi-Tier Infrastructure)

The recommended method of scaling the solution once the single tier infrastructure has been maxed out

...

is to naturally introduce multiple servers. To aid this process

...

, it's easiest to understand how to

...

set up each server and their server specifications based upon the core functions of each eMite component and understand which resource it is dependent upon.

Component

Resource Bottleneck

Comments

PureConnect Adapter

CPU

Each module uses a single thread based upon a listening subscription.

PureConnect CIC Database Integration

RAM

Each fact query will poll data from the database, stores the data in memory and pushes it into the persistent ES store

RTBI Framework + Index Server

CPU

Handles requests from the dashboard and translates requests to Elasticsearch,

dependant

dependent upon IIS.

Elasticsearch

RAM + Disk

Persistant

Persistent data store; operates better with Linux based servers 

Dashboard

CPU

Direct interface and handles requests from Users/Wallboards,

depependant

dependent upon IIS. 

eMite Scheduler

CPU

Fires/Schedules jobs based on configurations, runs Adapters. Low resource profile, takes from half to 1 CPU thread.

eMite Configuration DB

CPU

SQL Server Express capability. Low resource profile, takes up 1 CPU thread.

...

Examples

Example Configuration 1: Historical Analysis Orientated Configuration based on 2 servers

Image Modified

Server 1 - eMite Dashboard + Data Onboarding Server

Key Components:

  • Dashboard

  • eMite Scheduler

  • eMite Configuration DB

  • PureConnect Adapter

  • RTBI Framework + Index Server

Server 2 - Dedicated Elasticsearch host

  • Elasticsearch

Example Configuration 2: Real-Time Dashboard Orientated Configuration based on 2 servers

Image Modified

Server 1 - eMite Dashboard

Key Components:

  • Dashboard

  • eMite Configuration DB

Server 2 - eMite Onboarding Server

  • eMite Scheduler

  • RTBI Framework + Index Server

  • Elasticsearch

  • PureConnect Adapter

  • CIC Database Integration