Tuesday, 16 November 2010

UCCX - Understand & Configure HTTP Contacts

HTTP contact is similar to call contact which is triggering a script to run, however; in this case UCCX will accept web contact/trigger to run the script. The user should browse a URL that is configured in UCCX as http trigger.

HTTP trigger will link to an application that is associated with the script that contains http steps. 

UCCX uses port 8080 for http trigger and the URL should follow the following format:
http://(UCCX-Name or UCCX-IP-Addr):8080/(URL)
The (URL) variable will be explained below.

You may need to map the IP and/or perform port redirection in order to publish this page for internet or intranet users (specially port redirection since normal users don't prefer to type ports in the URL). This can be done with NAT devices such as routes or firewalls and UCCX functionality won't be affected.

Below are the steps to create HTTP contact:

1. Create and upload a script (we will assume that its already present and uploaded to UCCX)
2. Create an application and associate it with the script (this is exactly similar to call contact application)
3. Create HTTP trigger as below (Subsystems > HTTP)

Below is a simple script that can be used by ACD agents to view queue statistics. Using this script agents will browse the URL http://queuestatistics.com which will trigger http contact that collects statistics from UCCX real time reporting tool about queue statistics and generate the report. 

Note that template document keywords (document variables which should modified) can be entered/typed manually in "keyword transform step" or imported from template itself. This can be done by selecting import button then selecting the template which contains the keywords between % signs (you can see this in HTML template at the end of the blog).
Here is the summary of script steps:

1. Obtain http request method and save it in REQUEST_METHOD string variable (this is for my own purpose. I used it during debugging to realize HTTP requesting method and found it GET)
2. Get two parameters (queue statistics) from UCCX real time reporting tool which are "excepted wait time" and "average talk time" and save them in two integer variables which are "IPCCNotReady" and "AgentAverageTalkTime" respectively.
3. Load "queue statistics report" template (which is HTML template) in document variable DOC. The HTML file is listed below and should be uploaded in UCCX (Applications > Documents)
4. Update the template keywords with the integer variables values filled in step 2. This is done using "Keywords Transform Step".
5. Send the resulted document/report to requester as HTTP response. 

Below is snapshot sample of generated report ,

Also, here is the code for HTML report template/document

UCCX - Agent State after Call Completion

Below diagram explains how agent state will change after completing ACD call.