Solution Components and Architecture
Component level network diagram
Oracle Service Cloud CTI Connector solution consists of:
- Oracle Service Cloud CTI Toolbar Add-In “EF CTI Toolbar” - it is embedded into Oracle Service Cloud agent desktop as an Add-In component that contains agents controls and CTI functionality.
- EF Generic Connector - the telephony connector working as a middleware between Cisco contact center infrastructure via Cisco Finesse and Oracle Service Cloud CTI Toolbar
Communication Flow Diagram
Component | Communication Pattern |
Oracle Service Cloud CTI Toolbar Add-In | Connects with GC over OpenWire for bidirectional communication |
EF Connector | Is a telephony middleware between Oracle Service Cloud and Cisco Finesse. It establishes communication with Cisco Finesse via RestFul web servcies on HTTPS, and XMPP - to receive agent's real-time events. |
Cisco Finesse | The Finesse sends agent's dialog events inform of notification message (made possible with Finesse notification service) to its subscribers in the GC's Finesse client. |
Data-flow Diagram
Communication Flow for an Agent Login
Below is the description of the communication/data flow paths between the EF Oracle Service Cloud Toolbar Add-In (inside Oracle Service Cloud), EF Connector and Cisco Finesse.
- The CTI Toolbar Add-In sends a "Hello()" message to GC.
- If the connector is alive and receives the CTI Toolbar Add-In’s request, it responds with a System IN_SERVICE message.
- The CTI Toolbar Add-In sends a Connect() request to GC
- GC checks if it doesn’t already have this agent’s subscription, it requests Cisco Finesse for agent’s subscription.
- The CTI Toolbar Add-In then sends a Login request with agent Id, password, and extension.
- If “UseSecurePassword” is set, then agent password is encrypted with Triple-DES before forwarding the request.
- GC forwards the login request to Cisco Finesse
- If “UseSecurePassword” is set, the Connector decrypts the password before forwarding the request to Cisco Finesse.
- Cisco Finesse shares updated agent state if the login happens successfully.
- GC responds with update agent-state and dialog state if there’s already an active call for this agent.