Skip to main content
Skip table of contents

Deployment Guide

Preface

This document provides deployment details of the product as a standalone or when deploying for CRM like (Microsoft, ServiceNow, and SAPC4C)

Prerequisites

Following are the prerequisites for the deployment of the Javascript CTI Toolbar.

  1. The user must have administrative rights 

Installation of  Javascript CTI Toolbar 

This javascript_cti_toolbar can be deployed on any window server in any application server of the user's choice (IIS, Tomcat, etc). The following section lists the steps to deploy the application on an IIS server.

  1. Download the javascript-cti-toolbar and extract. In the extracted folder,  Copy all the files and place them in the (c:\inetpub\wwwroot\JavaScript-CTI) or any desired directory. 
  2. Open IIS. It can be opened by pressing window+R, writing inetmgr, and clicking OK. It will run IIS Manager.

    • Right-click on Sites to Add a new Site.

    • Add new Site, Site name (javascript_cti).

    • Physical path (cc:\inetpub\wwwroot\JavaScript-CTI).
    • Port, default value is 80 but any other value can be assigned.
    • Please follow this guide to install and configure the SSL certificates on IIS in order to run the cti_toolbar on HTTPS.

Setting the HTTP headers

Once you have deployed the JS CTI connector on your server the you need to set up http response headers for security.

  • Click on the Site which you have deployed on Server and there you will see an option of HTTP Response Headers.
  • Click on HTTP Response Header and click on Add... on the right most corner.
  • In Name field, enter "Content-Security-Policy".
  • In the Values field there are multiple values to set. These values depend on your CRM and Finesse.
  • While adding the values, there should be no space between semi-colon and next value. 
    • frame-ancestors https://<CRM Domain>.com/;
    • default-src 'self';
    • style-src 'self' https://fonts.googleapis.com/ https://cdnjs.cloudflare.com;
    • connect-src 'self' https://<Finesse FQDN>:8445 https://<Finesse FQDN>:7443/http-bind/;
    • script-src 'self';
    • font-src 'self' https://fonts.gstatic.com;
    • form-action 'self' https://<Finesse FQDN>8445 https://<Finesse FQDN>:7443/http-bind/;img-src 'self';
    • frame-src 'self';
    • media-src 'self';
    • object-src 'self';
    • manifest-src 'none';
    • worker-src 'none';
  • You have to change the value for frame-ancestors. The value will be a link to your CRM Domain.
  • You have to set the Finesse URL in connect-src, form-action.
  • When you run the JS CTI Connector on any CRM and you set the value of crm = 1 in config.js file then you have to write script-src as below
    • script-src 'self' https://<organizationCRMDomain> https://<CRM login URL>.com;
    • You have to set the URL for script-src when you want to run the JS CTI connector on any CRM with your CRM URL. if it is MS Dynamics then you have to also mention the Microsoft login URL too.

Expertflow SSO Server Deployment Guide

    • The Deployment Guide is available here. This is only required if Cisco Finesse is Configured with SSO. If Finesse is running without SSO, then please ignore this.

Configuration for Javascript CTI Toolbar

  1. Open the new_config.js file located on `c:\inetpub\wwwroot\JavaScript-CTI\config.js` path.  Set the properties as per the below table.

    Warning

    Please use these properties for stand-alone and mobile agent deployment. If CTI is being used inside the CRM, please follow the respective CRM Configurations 

    S.NoProperty NameValue Description
    1adminUserNameadminThe Finesse Admin Username, This username is used to call the different Finesse APIs
    2adminPassword*******The Finesse Admin Password. The password needs to be encrypted first.
    3domainhttps://<finesseFQDN>:8445/finesse/api/The domain name for finesse with which we are integrating along with port and api endpoint
    4subDomainhttps://<subscriberfinesseFQDN>:8445/finesse/api/The domain name for subscriber finesse with which we are integrating along with port and api endpoint
    5boshURLhttps://<finesseFQDN>:7443/http-bind /

    The boshbaURL variable basically append the same Finesse Domain with a predefined URL 

    6subBoshUrlhttps://<subscriberfinesseFQDN>:7443/http-bind/The sub bosh URL variable basically appends the same subscriber Finesse Domain with a predefined URL 
    7finesseFqdn<finesseFQDN>The domain name for finesse 
    8subFinesseFqdn<subscriberfinesseFQDN>The domain name for subscriber finesse
    9finesseFlavorUCCE/UCCX

    This property can have 2 values 

    • UCCE
    • UCCX

    Note: In the case of PCCE, we need to provide value UCCE.

    10callVariablecallVariable1

    Our Connector required an empty one variable which it needs to use for some internal mechanism.  That variable can be any callVariable like callVariable1,callVariable2, callVariable3....callVariable10, or any ECC variable as well. 

    In the case of the ECC variable, we need to provide names like ECC.variableName

    11powered_byTrueSystem variable should always remain True
    12disableEndCallBtnfalseThis should always remain false
    13getQueuesDelay6000This is only applicable for UCCE/PCCE deployment. This is the time by which CTI Toolbar queries the UCCE Database to display the Queue Stats
    14logoutFlagTrueUsed in Team Performance gadget, to get the logout agents' detail as well. 
    15ssoBackendURLhttps://192.168.*.*:8084Javascript CTI Toolbar supports Finesse SSO login as well, and for that EF has developed its own Utility which needs to be deployed First. The Deployment Guide for SSO is available here. Once you deploy that Utility, you can then provide the link here. If Finesse is not SSO enabled, please ignore this property 
    16isGadgetFalseA System property should remain false always. 
    17makeNotReadyOutboundCallfalse

    This property is used for making outbound calls in a Ready state, for CCE 12.5+ we can make calls in Ready state without any issues, but for below versions we need to set this property to true in order to make calls in ready state.

    Note: The agent will be in Not Ready state after the call ends if the property is set to true. 

    18defaultNotReadyReasonCode27This property is used for changing the agent state to Not ready for the outbound calls if made in Ready state and the makeNotReadyOutboundCall property is set to true. 
    19callVariablesList{"callVariable1": "Language"}The call variables list is the config where you can decide which variables you want to display on the UI and with what name they should appear on the UI. In the list, you mention the call variable name followed by the value that will appear on the UI. So for example, if you want only call variable 1 to be displayed with the key 'language' then your config should be {"callVariable1": "Language"}. 
    1. Update the configurations and save the file.


  2. Browse the configured FQDN and the application should be accessible as shown below.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.