Happy Birthday Son!

Congratulations to my Son who is 13 today.




R2 Performance Testing

As we get closer to Release 2 go-live, last week saw some performance testing of new solutions components – Nuance Recognizer ASR and Kofax inbound correspondence. For R2 we are taking a predominantly risk based approach which means testing some of the new solution components in isolation.

During each test we monitor the CPU and RAM utilisation on each of the servers which host the relevant components.

Nuance Recognizer

For Nuance ASR testing we created a test application in order to simulate the recognition load on a single ASR server. To analyse the results I created a Nuance log file analyser which exports the raw data to Microsoft Excel for further analysis.

Here is the raw data:


Analysis showing recognition latency as a function of time:


Analysis showing recognition concurrency as a function of time:



The approach for Kofax was to create a test harness and then bulk inject emails. The harness monitors the underlying filesystem so that content processing can be tracked from the point of capture until it is released for further processing into SAP via Ceyoniq.

Here is the raw data:





Genesys Social Engagement

Genesys have started to make some marketing noise about Social Engagement aligned with PA of the Genesys Social Messaging Server component on 17/12/2010 as part of the eService 8.0.2 Suite – previously known as Multichannel Routing (MCR) and Internet Contact Solution (ICS).

The concept is to simply extend eServices to add “Social Media” channels e.g. monitor popular sites (Twitter and Facebook) and automate the process analysing the message to take into account the following:

  • Actionability – is the author looking for assistance or just expressing an opinion?
  • Sentiment analysis – is the message positive, negative or neutral in tone?
  • Influence of the author – how large is the author’s social network?

Social messages are then assigned to the appropriate queue with the appropriate priority.


Ok, so far so good!

However, technically when you delve into the solution you find some compelling reasons NOT to be an early adopter (in my opinion). Here are the reasons:


For eServices 8.0.2 if you want to use the sample Interaction Workflows (Business processes) that handle social media interactions you will need to upgrade a few components:

  • Interaction Server to
  • Universal Routing Server to
  • Interaction Routing Designer to

If you are on URS 7.x don’t forget to get 8.0 license features (FEATURE router_seats genesys.d 8.0)

Twitter and Facebook API Limits

The interfaces used by the Social Messaging Server component are subject to API limits. For Twitter these are:

  • 150 Anonymous requests per hour
  • 350 Authenticated (OAuth) requests per hour
  • Requests to resources that do not require authentication are not subject to the unauthenticated rate limit – rather they are subject to the rate limit restriction of the currently authenticated account
  • Fetching new tweets takes 1 call
  • Fetching new entries for a New Followers takes 1 call per column
  • Viewing a user profile takes 3 calls.
  • Sending a tweet does NOT affect your API limit

This means that if you make too many requests in 1 hour you will have to wait until the start of the next usage hour to fetch new social interactions. Of course it is possible to configure how many fetches are made to manage the API limits but at the end of the day it is still possible to have periods when it will not be possible to retrieve interactions in realtime.

This is not a Genesys specific problem and all direct social integrations have this problem. The only solution I can see is to use some sort of social aggregation service instead …

Proxy Support

Most organisations would deploy Social Messaging Server component(s) behind a corporate firewall. However, according to Genesys support the Twitter and Facebook drivers currently do not support the configuration of a proxy server (or this has not been tested). I find this quite an oversight given that the Twitter driver is built on top of Twitter4J which does support proxy settings (setHttpProxy).

UPDATE: This can be done by editing the file “JavaServerStarter.ini” and add these Java runtime startup options:

-DproxyHost=<proxy name>
-DproxyPort=<proxy port>


Desktop Support

In eServices 8.0.2, Genesys Agent Desktop (GAD) provides the agent user interface. In eServices 8.1, Genesys Interaction Workspace will provide the agent user interface.

If you are “unlucky” enough to be using GAD at the moment you will need upgrade the advisor desktop to Interaction Workspace (and buy an Interaction Workspace GAD Upgrade license) in the future.

Worse still, if like the majority of real world users you do not use GAD on the desktop you have no real way of handling Social Media interactions.

Influence Analysis

In eServices 8.0.2, Classification Server (so you need to install this as well) is used for Sentiment and Actionability screening. Even then, the screening rules OOTB are pretty limited:


Find(“Fail”) || Find(“help”) || Find(“how to”) || Find(“how do”) || Find(“assist”) || Find(“trouble”) || Find(“: (“) || Find(“(“) || Find(“dislike”) || Find(“frustr”) || Find(“bummed”) || Find(“unhappy”) || Find(“stink”)


There is currently no support for influence analysis which is quite important in determining interaction routing. In eServices 8.1 I am expecting some big improvements in this area.


In eServices 8.0.2, messages and responses are stored in UCS. In eServices 8.1, messages and responses will be stored in Context Services e.g. Context Services REST APIs will be used to provide access to UCS data entities via HTTP and URI paths.

Therefore, if I am an early adopter I will need to perform some re-configuration in UCS to move to eServices 8.1 later in 2011.

Given all of the above I think my advice would to be to wait for eServices 8.1 to be GA.


Kofax System Management

On this project we are using Kofax Capture for the non voice channels i.e. Whitemail scanning, email, webforms and Fax (FoIP).

One of the problems with Kofax is providing integrated system management since the components are distributed over 5 physical servers and multiple Kofax components produce log files in different format and in different locations.

In addition our solution has custom import connectors for webforms, custom KTM validation scripts and custom export connectors to release the content into Ceyoniq for subsequent linking to SAP CRM via SAP ArchiveLink.

We plan to configure the Kofax services as Third Party application objects in CME so that we can monitor the status of the Kofax hosts and services in SCI.

To complete the “end to end” system management perspective I have written a monitoring service. The service:

  • Polls Windows NT application event logs
  • Polls log file folders and then parses the log files looking for standard error phrases
  • Monitors the import and export filesystems looking for index files that have not been processed within the SLA (and hence indicative of an error)

At present the output is via email although it would be very easy to integrate with the wider System Management infrastructure via SNMP traps and/or custom alarm generation into SCI.

Here are some screenshots of the output:





Geo Mapping of Calls

An old project but still hopefully note worthy.

I wondered what would happen if I took T-server events, extracted out the ANI to get a STD code, mapped all UK STD codes to longitude and latitude and then mapped the calls in realtime onto Google Maps.

The result is a heat map which looks something like this:


Not surprisingly the majority of the callers in general originate from the most densely populated areas. However, if I apply filters I could possibly use the data for the following purposes:

  • To determine IN distribution of calls into each Contact Centre
  • To analysis call distribution by time of day or day of week
  • To analyse the distribution of calls perhaps in response to a marketing campaign and/or regional advertising?

Of course the map only can be used for calls originating from landline numbers where the CLI has not been withheld.

Here are some more screenshots showing zoomed views as well as the location of the last caller: