Solution Reference



This document provides product features and design considerations and guidelines for deploying Siebel CTI Connector along with all its necessary components.

Introduction

Siebel Business Applications provide an infrastructure to support communications functionality for Siebel application users, including Siebel CTI (Computer Telephony Integration). ExpertFlow Siebel CTI Connector works as a CTI middleware with Siebel CTI and integrates with Cisco Finesse so that agents can make or receive voice calls through the Siebel application.

The Connector supports agent-state and call-state operations.


Siebel CTI Connector Solution Components

Siebel CTI Driver

Driver implementation of Siebel SCAPI interface that runs inside Siebel Communication Server (SCS)

Generic Connector

It’s a middleware for all CTI clients including Siebel CRM, Microsoft Dynamics, SAP, and may with any desktop or server based CRM solution.

Siebel CTI Driver connects with Generic Connector to enable Siebel CTI functionality.

About this Document

This document is a Solution Reference guide for Siebel CTI Connector Solution. It presents system-level requirements, solution features, installation prerequisites, recommendations, guidelines, and limitations of the solution.

Abbreviations

Continuation

Abbreviations

Generic Connector

EF Connector

Generic Connector

GC


AMQ

Cisco Finesse

Finesse

EF Siebel CTI Driver

Driver

Unified Contact Center Enterprise

UCCE

Unified Contact Center Express

UCCX

Business Features

Siebel CTI Driver is an adaptive communication driver that connects with Siebel Communication Server via Adaptive Communication API and enables Siebel CTI controls for a Siebel agent. Following are the supported list of CTI operations for an agent.

Agent State Controls

Agent Login

Login to the communication toolbar specifying agent extension in the Siebel Communication Toolbar.

Agent Logout

Log out from the communication toolbar to logout agent from Cisco Finesse.

Force Logout

An agent may forcefully be logged out of Cisco Finesse upon user’s logout from Siebel web application.

Change State

After login, an agent may change state to Ready or Not-Ready. During call, an agent may change state to Pending → Not - Ready, and WORK_READY. During wrap up, an agent can change state to Ready/Not-Ready

Not Ready Reason (s)

If not ready reason codes are enabled then the Agent must specify one of the not ready reason codes to change the state to Not-Ready.

Logout Reason Code (s)

If logout reason codes are enabled then the Agent may specify one of the logout reason codes upon Logout.

Wrap-up Reason Code (s)

If wrap-up codes are configured and the feature is enabled then the Agent can select a wrap-up reason during the wrap-up/work time. The wrap-up reason is applied to the call and is stored along with the call transaction detail in Cisco.

Call State Controls

Answer Call


Hold Call


Resume Call


Consult Call


Single Step Transfer

(aka Blind Transfer) - Only in UCCE

Consult Transfer


Conference Call



Phone Call Timer

For every work item in Siebel, the call timer is configured to be started upon start of the call until the call is completed.


Wrapup Call Timer (Advanced deployment)

As normal behavior, Siebel timer doesn’t reset on Wrap Up event. As a part of advanced installation, the call timer is reset upon wrapup event arrival.

Make Call to Siebel Contact

Calling to any Siebel contact is supported. You’ll either have to select the contact in the contact list or specify the phone number in the custom text field to make a manual outbound call.

Make Call to Extension

An agent can manually enter an extension/phone number in the text box of Communication Dashboard and make a manual outbound call.

The agent must be in a not-ready state to make a manual or internal outbound call.


Switch Active Calls

Agent can switch calls manually by selecting the call from work item list. Selected call controls become active and suspended call is held.




Note

EF Siebel CTI Connector for UCCX supports only one regular call and multiple consult calls simultaneously.

Communication Dashboard Display

On call arrival, the dashboard may be configured to fill available dashboard fields with the values from the call variables like ANI, DNIS, caller-entered digits and more.



NOT_READY → NOT_READY with Reason Code transition

Agent can switch his state from NOT_READY to NOT_READY REASON CODE from CTI toolbar which provides Finesse like state controls.

Pending State Support

Agent can set his state to NOT_READY - PENDING in case not to receive another call while he is in a call.

Optional Wrap Up Support

EF Siebel CTI Connector provides Optional Wrap Up configuration support. Agent can submit WORK_READY state during a call to have wrapup time, on the contrary wrap up is not shown to agent.

Contact Popup on Call Arrival

On call arrival, Account or Contact screen is popped up in Siebel Web. This lookup may be configured to lookup customer information by ANI, DNIS, other call variables and any caller entered digit passed through IVR.

This works both for inbound and automated outbound calls.



Screen Popup on Consult Call

Like inbound calls, when an agent does a consult call screen pop happens on the consulted agent interface.

Phone Call Activity

Upon call end (both for inbound and outbound), a phone call activity can be created within Siebel.

An inbound/outbound call may be logged for a phone call activity. Siebel has the option of different call loggers. With EF Siebel Driver, 3 types of call logging activities may be enabled and configured in DEF.

  1. SingleLog – Log the phone call activity when a single matching record is found

  2. MultiLog – When multiple contacts are found in the event response, this attribute defines how the call should be logged.

  3. Log – when no match happens, this attribute defines the call log behavior.

Only the information/attributes available in an EventResponse may be used for logging phone call activities.

Note: Any modification in Siebel entities/objects for custom logging is beyond the scope of Expertflow. Refer to your Siebel vendor for custom logging or use additional fields while logging.



Locale based Status Message(s)

On every event change, a notification message is shown on the communication toolbar, for example upon login the agent is notified of the logged-in status along with Agent’s first name and last name. Similarly, in the case of any error, a friendly/custom message is shown.

These messages are configurable from a resource/text file and you can have messages displayed in your own language.

Secure Agent Password

Since 3.2, the Connector supports password security for Siebel agents. Siebel Driver can optionally encrypt agent password using Triple-DES before forwarding it to the middleware  Connector. In all Driver logs, all agent password logging is done using encrypted password.

Solution Components and Architecture

Component level network diagram

Siebel CTI Connector solution consists of:

  • Siebel CTI Driver - the driver installed on Siebel Communication Server to interact with Siebel CTI infrastructure and enables CTI controls for a Siebel agent.

  • Generic Connector - the telephony connector working as a middleware between Cisco contact center infrastructure via Cisco Finesse and Siebel CTI Driver


Figure: EF Siebel CTI Connector Solution Components

Communication Flow Diagram

Solution components communicate over different TCP/IP channels as explained below.



Component

Communication Pattern

Siebel Driver

Connects with GC over OpenWire for bidirectional communication

GC

A telephony middleware between Driver and Cisco Finesse. It establishes a local connection with ActiveMQ for bidirectional async communication on OpenWire protocol.

With Cisco Finesse, GC communicates via RESTFul web services and XMPP.

Connector Monitor

Web console monitoring of the Connector via HTTP/HTTPS

Communication Flow for an Agent Login

This is a sample and a happy path flow of messages for an operation.

When client logs into Siebel Web and tries to login on the communication toolbar, the flow of communication between the Siebel CTI Connector solution components is described below.


  1. The Driver sends a Hello message to GC.

  2. If the connector is alive and receives the Driver’s request, it responds with a System IN_SERVICE message.

  3. The Driver sends a Connect() request to GC

  4. GC checks if it doesn’t already have this agent’s subscription, it requests Cisco Finesse for agent’s subscription.

  5. The Driver then sends a Login request with agent Id, password, and extension.

    1. If “UseSecurePassword” is set, then agent password is encrypted with Triple-DES before forwarding the request.

  6. GC forwards the login request to Cisco Finesse

    1. If “UseSecurePassword” is set, the Connector decrypts the password before forwarding the request to Cisco Finesse.

  7. Cisco Finesse shares updated agent state if the login happens successfully.

  8. GC responds with update agent-state and dialog state if there’s already an active call for this agent.


For further details about GC communication patterns for its clients, refer to Generic Connector SDK.



Deployment Models

Non-Redundant / Simplex Mode Deployment

In simplex deployment, the application is installed on a single server with no fail-over support of the Connector. However, the same Connector can still communicate with primary and secondary Finesse servers.

Simplex mode is useful for lab tests and commercial deployments at a smaller scale. Figure 1.0 explains the simplex mode of Generic Connector.


Figure 1.0

High Availability (HA) / Duplex Deployment

In Duplex mode, there are two types of supported configurations.

Active-Passive (Primary / Secondary) Setup

A primary/secondary configuration setup where one Connector works as a primary server while the other (secondary) is available as a standby server (from a Disaster Recovery site)


Figure 1.1

Active-Active Setup

In this mode, both Connector instances are active and serving clients and one instance serves as the backup / secondary for the other.


Figure 1.2

Solution Prerequisites

Unable to render {include} The included page could not be found.