Solution Components and Architecture

SAP Hybris Cloud CTI Connector Solution Components

SAP Hybris Cloud CTI Toolbar Widget [Telephony Client]

A javascript based CTI Toolbar. When displayed within the screen pop, the widget removes the need for the CTI adapter and allows the agent to control the call directly from within C4C, acting as an embedded softphone and therefore also removing the need for the external telephony client.

Generic Connector [Telephony Server]

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

SAP Hybris CTI Toolbar widget connects with Generic Connector at the back-end to enable CTI functionality.

Communication Flow

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


Component

Communication Pattern

SAP Hybris Cloud CTI Toolbar Widget

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 an agent tries to log in on the CTI toolbar, the flow of communication between the SAP Hybris Cloud CTI Connector solution components is described below.


  1. The CTI Toolbar Add-In sends a Hello message to GC.
  2. If the connector is alive and receives the CTI Toolbar Add-In’s request, it responds with a System IN_SERVICE message.
  3. The CTI Toolbar Add-In 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 CTI Toolbar Add-In 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 decrypt 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.