Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Release History

Version

Date

Highlights

3.0

14-Jul-16

Major release with:

  • Enhancements in Connector operations for Connector synchronization between both sites

  • Recovery of agent/call state on Failover

  • Immediate message display on Driver upon Network/ActiveMQ failure

  • Improved heartbeat mechanism consuming less bandwidth

  • Improved communication protocol between ActiveMQ and Driver reducing ~45% of network traffic

  • Network Design Improvements using local site components on priority - avoiding unnecessary WAN traffic

  • Fixed major memory leaks in Driver

  • Upgrade ActiveMQ version to 3.9.3

  • Generic Connector upgraded to Java 8

3.0.13

22-Jul-16

Patch release with minor fixes and enhancements

  • Toggle Logout / Wrapup / Not-Ready Reason-Codes (On / Off)

  • Minor bug fixes

3.1.1

20-Sep-16

Released with all the issues marked for version 3.1.x including some fixes and enhancements

3.2

30-Sep-16

Enhancements and fixes

  • Encrypted user password using Triple-DES CBC mode

  • New DESTINATION RECONNECT mechanism implementation added in place of old RECONNECT mechanism

3.3

21-Oct-16

Release with enhancements and fixes

  • Configurable log level at runtime

  • Generalized Client Destination to support multiple SCS

  • Updated friendly messages with new Error events

3.4


Release with enhancements and fixes

  • Configured outbound call activities logging

  • Enabled displaying not ready reason code in CTI Toolbar

  • Bug fixed, encountering when ActiveMQ is down on first startup of Siebel Server and Siebel UI freezes.

  • Outbound consult call related bug fixes

3.4.1

21-Dec-16

Enhancements and fixes

  • State time display in CTI Toolbar.

  • Minor bug fixes

3.4.2

24-Feb-17

Enhancements - Custom CTI Toolbar buttons & Functionality

  • Separated Ready & Not Ready buttons to achieve Finesse like functionality

  • Wrapup button introduced

  • Pause/Resume toggle button

  • CTI Toolbar shortcut keys

  • Configurable Heartbeat rate

3.4.2.1

23-Mar-17

Patch

  • WORK ➔ Ready state configuration on Wrap up button

3.4.2.2

12-Apr-17

Patch

  • Shielded from driver crash due to runtime exceptions

3.4.2.3

22-Apr-17

Patch

  • Potential bug fix, which caused driver crash in force logout scenarios

3.4.2.4

5-May-17

Patch

  • Service parameter introduced to clear prefetched reason codes if reason codes on Finesse change

  • Minor bug fixes about CTI Toolbar status text in RONA configuration

3.2.4.5

21-Jun-2017

Patch

  • Timer reset on wrapup during call

  • Service parameter introduced to achieve this functionality


Abbreviations

Continuation

Abbreviations

Customer Persistent Dashboard

Dashboard

Business Service

BS

Business Component

BC

EF Siebel CTI Driver

Driver

EF Connector

Connector

Unified Contact Center Enterprise

UCCE

Siebel Communication Server

SCS

ActiveMQ

AMQ

Cisco Finesse

Finesse


What’s New

  • [Driver] Reset timer feature on wrapup

  • [Driver] Service parameter achieved to achieve this functionality

  • [GC] Optional SSL support for older versions of finesse

Solution Feature

Following are the supported features of the Siebel CTI Driver.

ACD Login

The application supports agent login to Cisco Contact center. The agent will only have to provide his/her extension number on the toolbar and press the login button to login on the ACD.

Agent State Changes

The agent can change his/her state from ready ⇒ not-ready, not ready ⇒ not-ready with reason and not-ready ⇒ ready. Based on the configurations, you can also configure not-ready reason codes. When the agent will change his state from Ready ⇒ Not-Ready, an LOV applet is popped up to select the custom configured not-ready reason. Not Ready reason code description is also displayed on the CTI Toolbar upon refreshing agent state.

Toolbar Controls

Controls/buttons on the toolbar change based on the current state of the agent/call and based on the telephony event fired from the contact center. The agent can:

    • Accept call

    • Pause (Hold) an active call

    • Resume (Retrieve) call

    • Submit WORK ➔ Ready

    • Release call

    • Consultant transfer call

    • Consultant conference call

    • Single-Step / Blind Transfer

    • Make call to extension or external number

    • Blind transfer to Siebel contact

    • Blind transfer to extension or external number

Contact / Account Screen pop

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.

Caller Account Display in Communication Panel

The caller account information is also displayed in the relevant fields in the communication panel (if a match happens).

Call Wrapup

Wrap-up reasons are configured for each agent in Cisco. When an agent receives a wrap-up event (WORK / WORK_READY) from Cisco Finesse, the wrapup applet (custom LOV applet) can be displayed for the agent to choose from.

...

EFDriver supports Cisco wrap configuration modes of ‘mandatory’ or ‘none’. ‘Optional’ mode is supported in advanced mode of EF Siebel CTI driver.

Outbound Calls

For automated outbound campaigns, Predictive and Progressive modes are supported. The behavior of call arrival is similar to the regular inbound call and the screen pop happens the same way. Outbound call activity may also be logged.

Screen pop-up on Consult Call

Like inbound calls, when an agent does a consult call with another agent screenpop happens on the agent account.

Logout with reason code

Logout reason codes may be configured in the same way as not-ready reason codes are configured. If configured, the agent will get the logout reason popup to select a logout reason on signing out of the Siebel toolbar.

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.

Phone Call Activity

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

...

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.

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.

Locale based Status Message

On every event change, a notification message is shown on the communication toolbar, for example upon login the agent is notified with the logged-in status along with Agent’s first name and last name. Similarly, in 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 Driver supports password security for Siebel agents. 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.

Display Agent State Time

Since 3.4.1, the Driver supports displaying state time on CTI toolbar for every agent’s state. This time is provided by Finesse for agent state. “State: <state-name> since <mm> minutes <ss> seconds” message is displayed on communication toolbar.

State time is updated on toolbar refresh..

Deploying on Multiple Siebel Communication Servers

An enterprise Siebel installation may consist of multiple sites and multiple Siebel Communication Server (SCS) deployments.

...

Other than ClientDestination, all the remaining attributes will have the same value across all DEF files.

Siebel Compatibility

Driver Version

Siebel Version

SCS

3.X

  • Tested for compatibility with Siebel IP 2015 in Open UI Mode. HI and Standard modes were not tested.

  • Other Siebel version like Siebel IP 2013, 2014, and 2016 are expected to work fine but were not lab tested for compatibility.

  • For Siebel Version 8.X, older Driver versions were tested for compatibility. This Driver version (3.X) was not lab tested with 8.X but assumed to be working fine.

  • No tests were performed for Siebel Version 7.X either

  • Windows based SCS is compatible

  • SCS on Linux isn’t supported

2.X

  • Compatible with Siebel Version 8.X

  • Windows based SCS is compatible

  • SCS on Linux isn’t supported

Browser Compatibility


Driver Version

Internet Explorer

Firefox

Chrome

3.X

  • Works with IE 10, 11

  • Based on recommended configuration IE 9 may also work, but not tested

  • The new Edge browser isn’t supported

  • Works with Siebel compatible FIrefox browsers versions

  • Tested with Firefox V.46

  • Works, but not fully tested for compatibility. Refer to Siebel Browser Compatibility guide from Siebel

2.X

  • Compatible with IE9

  • Windows based SCS is compatible

  • SCS on Linux isn’t supported

  • Not fully compatible


System Architecture


The planned design is based on 2 physical sites with each site serving as a failover supporter of the other. The 2 sites are marked as site-A & site-B for illustration.

...

Each site works primarily with components on the same site. The same component on the other site acts as a standby component. For example, on site-A, Connector-A is the primary connector and Connector-B is the secondary/standby one.

Normal Workflow

  1. A Siebel user will login on the Siebel web server either on site-A or site-B.

  2. Siebel Web server will check the active SCS instance and enable the communication toolbar loading the EF Driver for Siebel from that SCS.

  3. The driver instance running on SCS will process the request and pass it on to it’s primary AMQ Broker.

    1. If connection to primary broker is lost, the request is sent to ActiveMQ-B (secondary broker for site-A)

  4. The request is pulled by the Connector which communicates with Finesse to fulfill the CTI request.

Siebel Communication Server Failover - Expected Behavior

Configuration of Siebel Communication Server for this failover handling is the responsibility of CIB. The expected behavior / impact on the Driver for this failover is expected as following:

  1. Siebel server closes the communication session on that SCS

  2. The agent is given the message on communication toolbar that the session to communication server is lost, reconnecting to the secondary SCS

  3. Siebel server establishes the user session with secondary SCS

  4. The agent will have to relogin on the communication toolbar specifying the extension the agent was already using.

Driver Setup & Failover Behavior

A driver is loaded on each SCS with its own Driver profile configurations. The Driver profile configurations are mentioned in Appendix A.

  • Driver is connected to both ActiveMQ using failover URL. Local ActiveMQ is set to primary and remote AMQ is set to secondary.

    • If connection to primary AMQ is lost, Driver establishes the connection with the secondary AMQ for message publishing as well as for the subscription.

  • Both Driver instances (one on each site) are subscribed to the same AMQ topic “Siebel1”.

  • All Driver instances will publish on the queue “Connector”

  • There’ll be 2 Drivers configured on 2 Siebel Communication Servers (one on each site).

  • AMQ will publish a message received for topic “Siebel1” to both Driver instances.

  • Only the Driver that has the agent information will process it. The other Driver instance will ignore and discard the message.

ActiveMQ Setup & Failover Behavior

ActiveMQ will be configured as network of brokers in duplex mode. Both sides will work in active-active fashion to process communication between the Driver and the Connector.

...

  1. For a pending message for the connector, ActiveMQ broker forwards the request to the secondary AMQ Broker

    1. Connector subscribed to secondary AMQ Broker processes the request.

  2. For an event to be published by Connector, it establishes the connection to the secondary AMQ and publishes the event.

Connector Setup & Failover Behavior

  • Both the Connector instances consume messages on the same queue name “Connector”.

  • Every Connector instance has it’s local AMQ as primary and remote AMQ as secondary.

  • The Connector subscribes to its local Finesse Server as primary and remote Finesse Server as secondary.

...

  1. AMQ forwards the request to secondary AMQ

  2. Secondary AMQ dispatches the message to its Connector instance

  3. The Connector on the remote site processes it.

    1. If the Connector on the remote site is also down, AMQ caches the messages and waits for the subscriber (Connector) to be ready to accept messages.

    2. AMQ caches a total of 20,000 messages. Exceeding this number would cause the messages (Agent invoked commands) to be discarded.

Connector Handshake Mechanism

The two connectors communicate each other via an AMQ topic “Finesse-Updates”. Both Connector(s) are publisher and subscriber of this AMQ topic at the same time.

  • The Connector should be configured not to consume it’s local messages.

  • The Connector produces agent’s subscription updates on this topic.

As Publisher on topic Finesse-Updates:
  • Connector publishes a message with agent-information (agent-id, password, extension) when it grabs the agent’s Finesse subscription.

  • At a regular interval (via a status-update thread), Connector publishes an array of messages (one per agent) for all the subscribed agents

As Subscriber on topic Finesse-Updates:
  • Connector receives the agent-information as expected to be subscribed by the (Producer) Connector.

  • The Connector will see if this agent is already in it’s list of subscribed agents, it’ll cancel the agent’s subscription

Open Issues

Following are the main open issues marked for release 4.0.

Key

Summary

Alternative

SCC-304

Consult call is ringing on agent-2 [caller dropped]-->Wrong controls display on agent-1 side.

Agent-1 gets call-active control while the phone was still ringing on Agent-2. Call control operations (hold/resume) will result in an error message until the agent-2 accepts the call.

[Marked for V4.0]

SCC-321

Driver doesn't re-establish connection to local ActiveMQ after failover

Development in progress for more than 4 weeks. See JIRA comments for update.

The issue has no impact on functionality but causes unwanted WAN traffic after failover in GC Active-Active deployment mode only.

SCC-118

Consult call and then login agent... related buttons are not being shown

[Marked for V4.0]

SCC-606

Sometimes wrapup reason code pop up appears two times

GC sends duplicate WORK messages, GC revamp in progress

SCC-601

Wrap up button is also enabled on caller (agent which makes call to another) during active call

This issue has no impact on functionality. It will be fixed in next stable release

SCC-608

Short keys for release call and wrapup don't work

Release call and wrapup short keys are not working for some reason. Will be fixed in later release

SCC-599

Pending state doesn't show on CTI Toolbar

GC doesn’t support it yet.

SCC-188

When agent 1 release the conference call the work item doesn’t show the correct number

[Marked for V4.0]

SCC-563

Driver blocks send message after Active MQ Failover

This issue has no impact on functionality if beat time is up to 3 sec which is currently in use

GC-75

GC sends RE_LOGIN command on failover of Active MQ

Major

GC-83

Wrap up event is missing in consult call scenario

Minor

GC-87

Agent call on Hold, Agent's browser crash and he relogins, unhold call and gets error

Major

SCC-612

Drop Call event is missed in following scenarioConfigure Wrapup button during active call

Minor

Fixed Issues

Following are the main resolved issues in this release.

...

In addition, regression test cycle is in progress to identify and report any issues caused by any fixes in 3.4.2.5

Limitations

Simultaneous Incoming Calls

Agent can only receive one call at a time (that’s the limitation in the driver for now). The Driver doesn’t support simultaneous calls for the same agent. Unexpected behaviour like wrong controls is expected in such a case.

Outbound Dialing - Preview mode

The system doesn’t supports preview mode outbound dialing.

Agent ID Length

The length of AgentID attribute must  not exceed 150 characters. This limitation is due to maximum length [200] of Siebel Tracking ID. The Driver constructs Siebel TrackingID as  [AgentID’:’DialogID] to form a unique tracking ID for Siebel.

WAN Link (Link between 2 sites)

The link between 2 sites should either be fully down or fully active. Partial connection state may cause unexpected agent states. Please ensure to have the WAN connectivity either working fully or not at all.

Team-wise Reason Codes

The system doesn’t provide team-wise reason codes. The limitation is due to Siebel LOV limitation that is configured in Siebel and cannot be populated from driver code at run time.

Unexpected Scenarios

All Buttons on the Toolbar are Disabled

This happens when the Driver doesn’t get the response from the Connector or from the AMQ within a specified timeout period. A configured friendly message for the code “MQ_DISCONNECTED” is displayed and shortly after this message, the toolbar is disabled.

Driver continues to retry establishing connection until the connectivity is restored.

Possible Causes

  • Driver can’t establish connection with any of the AMQs.

  • Connection to AMQ is alive but neither of the Connector is alive to process the request

  • Connection to AMQ is alive but the local Connector is down and the WAN link is also down

Driver Fails to Load on Agent Sign-in

Agent logs in to Siebel communication toolbar but the Driver is not loaded and returns with an error message “Unable to load communications driver. Unable to create a Service object fro...”

Possible Causes

  • Driver can’t establish connection with any of the AMQs.

  • Connection to AMQ is alive but neither of the Connector is alive to process the request

  • Connection to AMQ is alive but the local Connector is down and the WAN link is also down

Missing Extension on Login

Agent specified the extension in the textbox before clicking the button Login but the system still displays the message MISSING_EXTENSION.

Possible Causes

  • The keyboard focus must remain with the textbox when the agent clicks the Login button. This error message is expected otherwise.

Solution

  • Just click once inside the custom textbox where you enter Extension Number and click the Login button again.

Error Message: An error occurred, please try again later.

Agent tries to make a call but gets the message “An error occurred,please try again later”.

Possible Causes

When agent tries to make a call on the same extension he is logged in.

Please reset your phone and try again

Agent tries to login giving the right extension but gets the message “Please reset your phone and try again”.

Possible Causes

When agent tries to login on that extension which isn’t ready for use, the agent is expected to see this error message.

Phone extension is already in use

Agent tries to login but gets the message “Phone extension is already in use”.

Possible Causes

When agent tries to login on the extension already in use.

Please enter phone number or extension

Agent tries to make a call (simple, consultative or blind transfer call) but gets message “Please enter phone number or extension”.

Possible Causes

  • Agent didn’t specify the number to dial in the custom text box

  • Agent entered the extension in the textbox, but the custom textbox didn’t have the focus before initiating the command to dial (for simple make call, consult or blind transfer)

Maximum communication sessions expired

Agent gets the message “Communication: User has maximum Communication toolbar sessions.”

Possible Causes

  • Siebel toolbar is configured for only one communication session per user. If the agent is already logged in from some other browser (on the same or any other machine), the agent is expected to receive this message from Siebel.

Solution

If you are sure that there’s no other agent on any browser logged in with the same user credentials, you can clear any active sessions for this user using Siebel Menu > Tools > Communications > Reset Active Session Count


Unable to create a Driver Object from driver <driver-dll-path>

The very first agent who logins after start/restart Siebel Service sees this message and all toolbar buttons are disabled.

Possible Causes

This happens when the Connector can’t establish first connection with any ActiveMQ.

Solution

Please check if ActiveMQ url set in middleware primary and middleware secondary driver parameters is correct, ActiveMQ service is up and accessible from Siebel Service machine. Now logout and relogin or refresh page to connect to middleware.

Call Wrap-up pop-up LOV pops up twice.

The agent sees this behavior when wrap-up LOV pops up two times after a phone call end.

Possible Causes

This happens when GC failover occurs during call end. This has no negative impact on functionality so agent should let it go.

Agent get the message “OUT_OF_SERVICE”

The agent sees this message on the communication toolbar and all the toolbar buttons are disabled.

Possible Causes

This happens when the Connector can’t establish connection with any of the Finesse servers. The Connector continues to retry and wait for the connection to be restored.

If and when connectivity is restored, the agent may be asked to re-login.

Invalid user-name or password

The agent sees this message on the communication toolbar when try to login.

Possible Causes

Password encryption configuration is not identical on Driver and Generic Connector. Please verify and make sure that password encryption configuration is identical on both. Please refer to EF-SiebelCTIDriver-install-guide-3.4.2.4 for Driver side Encryption Parameter information. If password encryption configuration is identical on both Driver and Generic Connector and agent still sees this message, please ensure if agent password is correct.

Call Timer didn’t stop on call end

Call Timer didn’t stop though call was completed and the agent’s state is changed back to ready/not-ready from talking/wrap-up.

Possible Causes

This may happen due to failover of any Driver components.

...

  1. Click on the Refresh toolbar button to refresh the agent and call state.

  2. If the problem persists, logout and then re-login on the Siebel communication toolbar.

Invalid operation or call not found on conference call

Agent logged into Finesse, received call from Finesse desktop, made a consult call from Finesse desktop. Now agent logs into Siebel CTI Toolbar and tries to conference call, this error appears.

Possible Causes

If an agent logs into driver during a consult call, GC does not update driver about original call dialog id. Only consult call event is sent to driver. For conference call command, driver needs dialog id of original call (which isn’t provided by GC in this case) so this error appears.

Solution

Make conference call from Finesse desktop.

Some buttons on the toolbar are disabled (Simultaneous Calls)

Agent is in talking state and suddenly some buttons get disabled. This happens when an agent is in talking state and another call comes in.

Communication toolbar is unresponsive (Agent was in Talking state)

Agent remains in talking state and all buttons gets disabled. This may happen due to some communication failure in IP telephony.

The respective agent needs to re-login.

Simultaneous Session  - Siebel Interface & Finesse

An agent can login to Siebel toolbar and Cisco Finesse with same credentials. Any operation that the agent perform on any interface is updated on the other. For example, if agent changes his state Not-Ready ⇒ Ready, the updated state is visible on Cisco FInesse.

However, agent is not allowed to login on 2 different Siebel sessions. Therefore ‘MaxCommToolbars’ should be set to 1.

WorkItem shows Agent Name

WorkItem shows the name of the agent instead of the caller number.

...

This is an open issue and Driver continues to keep its connection with the secondary ActiveMQ even if primary ActiveMQ has been restored. This behaviour has an impact on the active-active (local/remote) design. WAN traffic will increase but there won’t be any impact on Agent’s call handling.

Solution

  • Need to restart Siebel Service to re-establish connection with the primary AMQ. Make sure to have the primary AMQ of both Driver’s running before restarting the Siebel Service.

Network between 2 sites (WAN Link)

The connector handles the state when WAN link is down and later restored. However if the link allows connection between Driver and remote Connector, unexpected results are expected when primary Finesse service is unstable.

Solution

  • Turn-off or restore WAN link completely

Wrong controls when login after force logout

When agent is logged in CTI toolbar and closes browser, after that he makes call from finesse and after force logout timeout he logins again to CTI toolbar and get wrong controls.

Solution

  • Logout from Siebel and login again