Deployment Guide
Deployment Prerequisite
Before the start of this guide, please make sure that the JS CTI Toolbar Application is deployed, You can deploy the Cisco CTI Toolbar by following the steps:
Install Cisco CTI for ServiceNow CRM
This middle layer can be deployed on any Windows server in any web server of the user's choice (IIS, Tomcat, etc). The following section lists the steps to deploy the application on an IIS server.
Download the JavaScript Cisco CTI Connector and extract it. From the extracted folder, copy the files and place them in the (c:\inetpub\wwwroot\CTI_Connector) or any desired directory.
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
Physical path (c:\inetpub\wwwroot\CTI_Connector) or any given name
The Port, the default value is 80 but any other value can be assigned e.g. 4430, 443* etc.
Please follow this guide to install and configure the SSL certificates on IIS to run the CTI Connector on HTTPS.
If the FQDN after the deployment e.g https://www.<*server_ip*>:443* or whatever is configured.
CTI Configurations
Open the new_config.js file located on `c:\inetpub\wwwroot\CTI_Connector\new_config.js` path. Set the properties as per the below table.
S.No | Property Name | Value | Description |
---|---|---|---|
1 | adminUserName | admin | The Finesse Admin Username, This username is used to call the different Finesse APIs |
2 | adminPassword | ******* | The Finesse Admin Password. |
3 | domain | https://<finesseFQDN>:8445 | The domain name for finesse with which we are integrating |
4 | subDomain | https://<subscriberfinesseFQDN>:8445 | The domain name for subscriber finesse with which we are integrating |
5 | boshURL | https://<finesseFQDN>:7443/http-bind / | The bosh URL variable basically append the same Finesse Domain with a predefined URL |
6 | subBoshUrl | https://<subscriberfinesseFQDN>:7443/http-bind/ | The sub bosh URL variable basically appends the same subscriber Finesse Domain with a predefined URL |
7 | finesseFlavor | UCCE/UCCX | This property can have 2 values
Note: In the case of PCCE, we need to provide value UCCE. |
8 | callVariable | callVariable1 | 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 |
9 | powered_by | True | System variable should always remain True |
10 | disableEndCallBtn | false | This should always remain false |
11 | CRM | 0/1 | A possible value for this key would be 0 or 1 0= When web CTI is deployed as a standalone project without any CRM Integration 1= When Web CTI is deployed with some CRM, The CRM can be any. If the value for this property is 1, then the crmFilePath variable must be set crm:1, // 0 = none, 1 = for crm |
12 | crmFilepath | The predefined path of the CRM file | To make this property work, the above property CRM must be set 1 . Value for this property depends on the CRM you are using. Possible values are |
13 | organizationDomain |
| This is the organization domain of your CRM |
14 | entities | "contact, account" | The customer’s ANI is searched against Phone fields of Contact and Account entitities. |
15 | noMatchEntity | "Contact" | In case there is no record found in the entities searched, then we need to tell the CRM which entity should be created. For example, as per this configuration, the CTI connector will open the Contact entity form with an anonymous contact created. |
16 | sso | true | This configuration is for auto-login in CTI connector. It is a boolean field, it can have 2 values:
Note: For mobile agent this configuration value will always remains false. |
17 | licenseKey | "licenseKey" | License key generated by Expertflow |
18 | getQueuesDelay | 6000 | This is only applicable for UCCE/PCCE deployment. This is the time by which CTI Toolbar queries the UCCE Database to display the Queue Stats |
19 | logoutFlag | True | Used in Team Performance gadget, to display the logout agent as well. |
20 | ssoBackendURL |
| Javascript 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 |
21 | isGadget | False | A System property should remain false always. |
22 | registeredNumberVariable | "callVariable5" | This is a property used for the popup, the possible values for this property can be any call variable name or "Ani". By default we pop up on Ani, if you want the popup to happen on a number other than Ani then you can set any call variable. |
23 | makeNotReadyOutboundCall | false | 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. The agent will be in Not Ready state after the call ends if the property is set to true. |
24 | defaultNotReadyReasonCode | 27 | This 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. |
25 | callVariablesList | {"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"}. |
26 | newWindowAutoLogin | true/false | This is for auto login to new tab of same browser. If value is true then it will allow to auto login to new tab else will not allow. This will work everywhere except in Ms Dynamics crm on premise version when SSO is true. |
27 | tabIconChange | false | This Config must be FALSE for ServiceNow CRM CTI Connector |
28 | statesDropDown | true/false | This will block the agent states drop down list on CTI by default it value must be false. |
CTI Installation and configuration
Before the phone communication channel between customer service agents and external customers can be used, Customer Service Management and Openframe plugins must be activated and configured.
Before you begin
Role required: admin
Procedure
Activate the Customer Service plugin (com.sn_customerservice).
Activate the Openframe plugin (com.sn_openframe).
Create an OpenFrame Configuration or use the default CTI configuration by enabling the Default field.
*plugins are installed by default when deploying the application from the marketplace.
Update PhoneLog fields
Search Tables and click on Tables option under system definition.
Search Phone Log table and click on Phone Log from the list.
Change the application scope and update to Openframe as shown in image.
Click on New button to add the extra field for Account.
Name of Fields | Value |
---|---|
Type | Reference |
Reference Specification | Reference = Account (customer_account) |
Column name | u_account (will fetch automatically) |
Column label | Account |
Applications | Openframe |
Click on Submit button on the top right.
Design the Phone Log Table
Search Phone Log table and click on Phone Log from the list.
Click on Form Builder from the related links on bottom of the page.
Now click on Edit in original scope.
Now drag and drop the following fields:
Now click on Save.
Create an OpenFrame configuration
This configuration specifies the OpenFrame window settings as well as the URL to be launched within OpenFrame.
Before you begin
Role required: admin
As part of the OpenFrame configuration, users with the admin role can select one or more user groups. Access to the configuration is limited to the users who have the open-frame user role and that belong to the selected groups.
OpenFrame user roles
The OpenFrame window is available to agents who belong to one of the user groups specified in the OpenFrame configuration and with any of the following roles:
sn_openframe_user ( This is a minimum role that is required)
sn_customerservice_agent
sn_customerservice.consumer_agent admin (This is only required for the installation and configuration not required for the agents)
x_expe4_expertflow_cti.do.CTI_Role (Mandatory Role required)
Adding the OPEN Frame Configurations
Click on All >>Openframe >> select configurations & then ‘New’
*Show presence indicator when checked Only the agent can see the phone icon.
*When the above roles are provided no user group should be selected or the above-mentioned roles must be part of some user group when selected.
*x_expe4_expertflow_cti.do?ctiApplication=<Your instance URL>.
Fill the configuration according to the mentioned configuration.URL represents the CTI installation path. The activate checkbox must be selected. Update and save the form.
When clicked on the phone icon in the top window the integration will look like
If we open the CTI application from All >> Agent workspace then it will look like this