ICH - Interactive Conversation Handler
The ICH service is a Lync / SfB application that is responsible for answering service related conversations. It is an active – active component and should be installed on all TM machines.
Assign Conferencing Policy to Connector Script
Precondition: CIC service must be running before executing the following script.
Since TeamManager 3.2 every connector establishes its own conference (instead of only 1 trusted application performing this task). The following script creates new conferencing policies and must be run prior to starting the ICH Service (see chapter below).
Note: If you (re)used our "Register Trusted Applications script" during installation or upgrade, all configured endpoints conferencing will have their policies automatically refreshed and you can skip the steps below. If you need to just reapply policies on a certain endpoints, read on below.
Perform the following steps before restarting (your updated) ICH Service:
- Replace "sip:lucs_agent_connector_00@SIPDomain.com" with your connector SIP address in the script below.
- Add new lines according the amount of connectors used in your instance.
- Run the Script via Powershell on your instance
Assign Conferencing Policy to Connector Script
Get-CsTrustedApplicationEndpoint sip:lucs_agent_connector_00@SIPDomain.com | select *
Get-CsTrustedApplicationEndpoint sip:lucs_agent_connector_00@SIPDomain.com | Grant-CsConferencingPolicy -PolicyName "Tag:LucsService"
Get-CsTrustedApplicationEndpoint sip:lucs_agent_connector_01@SIPDomain.com | Grant-CsConferencingPolicy -PolicyName "Tag:LucsService"
Get-CsTrustedApplicationEndpoint sip:lucs_agent_connector_02@SIPDomain.com | Grant-CsConferencingPolicy -PolicyName "Tag:LucsService"
Get-CsTrustedApplicationEndpoint sip:lucs_agent_connector_03@SIPDomain.com | Grant-CsConferencingPolicy -PolicyName "Tag:LucsService"
Get-CsTrustedApplicationEndpoint sip:lucs_agent_connector_04@SIPDomain.com | Grant-CsConferencingPolicy -PolicyName "Tag:LucsService"
Installation
- Run the ICH.Setup.msi
On the Luware-TM-ICH Configuration Settings screen of the setup make sure you fill the following details:
Name Description Instance Name Name to distinguish the instance when multiple components are installed. Port number Network port number to use, default 0
Send Caller Info with Additional Chat This option is only required for Microsoft Teams as the client doesn't support "Subject" lines in call invitations (which were normally used to provide caller information).
Checking this will send an additional chat message with caller information to the recipient instead. The toast will remain unaffected, still displaying the service called.
Cleanup Conferences Default: Off
This option runs a process of setting expiration time for all old conferences that do not have expiration time set.
Switch the option ON only on one server to avoid conflicts on this functionality.
SfB Server Version
Your installed SfB version (default 2019) Configure Certificate Security
For security reason TM provides possibility to use certificate-based encryption and verification during the components communication. To configure certificate based authentication, select ‘Configure Certificate Security’ check box and press ‘Next’ button to open a page with server certificate settings Start Service after Installation Will automatically start the service once installation completes. Example ICH Configuration Settings screenIf the ‘Configure Certificate Security’ check box was checked, server and client certificate settings are shown as as the next steps. The client settings specify which parameters ICH will use while connecting to PS. The server settings are used to validate another services when they try to connect to ICH.
Also see Prepare Certificate Thumbprint
Example ICH Client Certificate Settings screen- Complete and finish the installation.
Configuration
In the Luware-TM-Configurator application:
- Open TM Configurator -> Topology -> Components (Server)
Add ICH component as it is shown in the example (select the ICH Server Type, System Instance, Activity Order and fill the service’s Settings according to the table below):
Key | Description |
---|---|
AnnouncementPath | All WMA files in the specified path will be loaded into ICH and can be used in Workflows. Example: C:\Program Files\Luware AG\TM-ICH\Resources\Announcements |
Conference.CheckWarmupInterval | Time interval to check available conferences. ICH will try to keep configured amount of conferences per service. (‘Warmup Conferences Count’ parameter is responsible for this in each service). Default value: 00:01:00 Recommended values: should be defined based on particular system load and Lync configuration. |
Conference.CreationMaxTime | For each service on the TM Configurator -> Services -> Services tab, admin sets the ‘Warmup Conferences Count’ and for new conversations the ICH uses one of the available warmed up conferences. If warmed up conferences are not available, the ICH tries to make a new conference. ICH tries it during the specified in this setting time. If ICH was not able to create a new conference during the specified in this setting period, the conversation ends after the period exceeds and the system is not loaded any more with this conversation. The information about such conversations is present in log file. Default value: 00:00:10 If the value of the setting is 00:00:00, this means that the setting is off and ICH tries to make a new conference until the conference creation succeeds. Recommended values: should be defined based on particular system load and Lync configuration. |
Conference.HealthManagerResetInterval | The ‘Health Manager Reset Interval’ is an interval when ICH resets all errors that happened during conference management process (such errors as conferences per timeframe were reached, conference creation time were more than expected, any Lync error occurred during conference creation). During this interval, ICH will decline all incoming calls, in order to give Lync some time to recover. After it, ICH will start again to create additional conferences. Default value: 00:00:00 If the value of the setting is 00:00:00, this means that the setting is off and ICH starts new conference creation as soon as it is needed. Recommended values: should be defined based on particular system load and Lync configuration. |
Conference.TrackTimeFrame | The ‘Track Time Frame’ setting is used together with ‘Max Within Tracking Time Frame’. Allowable interval to create conferences, specified in ‘Conference.MaxWithingTrackingTimeFrame’ Default value: 00:00:00 If the value of the setting is 00:00:00, this means that ICH will not prevent creation of new conferences and parameter Conference.MaxWithingTrackingTimeFrame will be ignored. Example: 100 conferences may be created within 1 minute with the following settings: Conference.MaxWithinTrackingTimeFrame = 100 Conference.TrackTimeFrame = 00:01:00 Recommended values: should be defined based on particular system load and Lync configuration. |
Conference.MaxWithinTrackingTimeFrame | The ‘Conference Max Within Tracking Time Frame’ setting is used together with ‘Track Conferences Time Frame’. The setting determines the number of conferences, which can be created within ‘Conference TrackTimeFrame’. More conferences will not be created within the specified period. After the ‘Track Time Frame’ and ‘Conference Max Within Tracking Time Frame’ limits are reached, the system executes the ‘Conference Health Manager Reset Interval’. Default value: 25 Example: 100 conferences may be created within 1 minute with the following settings: Conference.MaxWithinTrackingTimeFrame = 100 Conference.TrackTimeFrame = 00:01:00 Recommended values: should be defined based on particular system load and Lync configuration. |
Conference.WarmupCountPerConnector | muss noch ergänzt werden! |
ConnectionLivenessInterval | Enter the interval time in seconds between the keep alive pings. |
ConnectionLivenessTimeout | Enter the amount of seconds how long the component will wait for a keep alive response. |
ConnectionReconnectInterval | Enter the amount of seconds between the retries to reestablish the connection to the service. |
ConnectoApplicationURN | Identifies the registered SfB connector application. To get the required value 1. run Get-CsTrustedApplication command in SfB Server Management Shell 2. search for right component by application port number or name 3. copy ApplicationId Example: urn:application:TM-connector0 |
ConnectorApplicationURN1 | Identifies the registered SfB connector application. To get the required value 1. run Get-CsTrustedApplication command in SfB Server Management Shell 2. search for the right component by application port number or name 3. copy ApplicationId Example: urn:application:TM-connector1 |
ConnectorApplicationURN2 | Identifies the registered SfB connector application. To get the required value 1. run Get-CsTrustedApplication command in SfB Server Management Shell 2. search for the right component by application port number or name 3. copy ApplicationId Example: urn:application:TM-connector2 |
ConnectorApplicationURN3 | Identifies the registered SfB connector application. To get the required value 1. run Get-CsTrustedApplication command in SfB Server Management Shell 2. search for the right component by application port number or name 3. copy ApplicationId Example: urn:application:TM-connector3 |
ConnectorApplicationURN4 | Identifies the registered SfB connector application. To get the required value 1. run Get-CsTrustedApplication command in SfB Server Management Shell 2. search for the right component by application port number or name 3. copy ApplicationId Example: urn:application:TM-connector4 |
ConnectorEnd | The system starts searching for additional connectors starting from this number. Default value: 0 |
ConnectorPrefix | The system starts searching for additional connectors up to this number. Default value: “” |
ConnectorStart | The system starts searching for additional connectors using the prefix as a template.Default value: 0 |
DefaultEndpointSipAddress | Unique sip adress that was created for each TrustedApplicationPool. It is used during pool failover. TrustedApplicationEndpoint for DefaultEndpointSipAddress must be created by before: New-CsTrustedApplicationEndpoint -ApplicationId TM_defaultendpoint -TrustedApplicationPoolFqdn TM.dev.local -SipAddress sip:TM_defaultendpoint@dev.local TM ConferencingPolicy must be assigned manually to the DefaultEndpointSipAddress after the endpoint was created: Get-CsTrustedApplicationEndpoint -Identity sip:TM_defaultendpoint@dev.local | Grant-CsConferencingPolicy -PolicyName “Tag:TMService” |
DialogMaster.AssignAgentTaskTimeout | Timeout until the task will be in a queue, waiting for an agent. |
DialogMaster.IsAutoTerminationEnabled | Determine if agent’s session should be terminated automatically after audio call termination. Default Value : true |
DialogMaster.Pollinginterval | Enter the amount of time between the retries to assign tasks to the agent in DialogMaster. Default Value : 00:01:00 |
DialogMaster.ServiceURI | Uri for integration service with DialogMaster service. Example: http://dialogmaster.dev.local/AgentDesktop/TM/TMOutboundWS.asmx |
ExternalWebRequestBasicAccount | Account that will be used in authorization header of a request |
ExternalWebRequestBasicAccountPw | Password that will be used in authorization header of a request. |
ExternalWebRequestTimeoutInSec | Define if the system has to wait in case of connection problems. If the value is set to 0, Workflow has to wait. If the value is more than 0, the system waits the defined time in second and continue in the Workflow. |
GruuPrefix | This value is used to identify service related conversations on SMD. This value depends on the machine where the component is installed. To get the required value 1. run Get-CsTrustedApplication command in SfB Server Management Shell 2. search for application port number 3. in the ComputerGruus string copy the sip address of the machine Example: sip:TM01.dev.local@dev.local |
MaxReconnect | Deprecated: Will be removed in future releases. |
MusicInQueueFilePath | Enter the file path to the music that will be played while the call will be in queue or leave the default value and put the files to the folder. Example: C:\Program Files\Luware AG\TM-ICH\Resources\MusikInQueue |
MusicOnHoldFilePath | Enter the file path to the music that will be played while the call will be on hold or leave the default value and put the files to the folder. Example: C:\Program Files\Luware AG\TM-ICH\Resources\MusicOnHold |
PresencePublicationDelayInMs | It’s used in a formula to calculate PresencePublicitation of a service (Endpoint) in ICH and adds the following delay: ([Component ActivityOrder – 1) * PresencePublicitationDelayInMs] Default Value: 0 msec (disabled) Example: PresencePublicitationDelay = 200ms: |
ReconnectTimeout | Enter the amount of seconds after which the component will try to reconnect a service after connection loss. |
RessourcesPath | Enter the file path to the resources folder or leave the default value and use the folder. ICH will store there a local copy of the WMA files from the db. Example: C:\Program Files\Luware AG\TM-ICH\Resources\ |
SiebelTimeoutInS | If 0, just wait If >0, just wait the defined time in second and continue in the WF |
SnowAccount | the username (of appropriate https://dev*service-now.com/) |
SnowAccountPw | the password for the user |
SnowApiTableUrl | the url is in the form: https://{snowinstance url}/api/now/table/ |
SnowRequestTimeoutInSec | how long we wait in the workflow until we move on without completing the requests |
UseDefaultConversationContext | Deprecated: Will be removed in future releases. |
ZendeskAccount | Existing Zendesk account that is required to login to Zendesk site. |
ZendeskAccountPw | Password to verify Zendesk account. |
ZendeskApiToken | API tokens that is generated in Zendesk and used to as part of 2-factor authentication for integrations. |
ZendeskApiUrl | Url to your Zendesk site. |
ZendeskLocale | Locale that is used for your Zendesk site. |
ZendeskOAuthToken | OAuth Token that is generated by Zendesk during registing your application. OAuth Token authenticates all your application’s API requests to Zendesk. |
ZendeskTimeoutInSec | If 0, just wait If >0, just wait the defined time in second and continue in the WF |
Config Tweaks
The following parameters are part of the AppSettings.config file and do not apear in the UI.
Key | Type | Description |
---|---|---|
SendCallerInformationWithAdditionalChat | Boolean | Default = False If this flag is set to true, when establishing a audio/video session to an agent:
|
Also see Trusted Application Pool setup.