Jump to: navigation, search
(Update with the copy of version: 8.5.2DRAFT)
(Update with the copy of version: 8.5.2DRAFT)
Line 1: Line 1:
 
=Configuring Workspace Web Edition & Web Services=
 
=Configuring Workspace Web Edition & Web Services=
 
__TOC__
 
__TOC__
You can configure your Workspace Web Edition & Web Services nodes in three different files:  
+
To configure your Workspace Web Edition & Web Services nodes, you'll need to create three different configuration files: '''server-settings.yaml''', '''onpremise-settings.yaml''', and '''cassandra-cluster.yaml'''. You can find sample versions of these files in the main config folder you created in Step 6 of [[DeployWebApp|Deploying the Web Application]]; to use them, just remove the '''.sample''' extension.
* <tt>server-settings.yaml</tt>
 
* <tt>onpremise-settings.yaml</tt>
 
* <tt>cassandra-cluster.yaml</tt>
 
  
The default installation package for WWE&WS includes sample versions of these files, located in the main config folder you created in Step 6 of [[DeployWebApp|Deploying the Web Application]]. Review the procedures on this pages for details about the options available in each of these files.  
+
Review the procedures on this page for details about the options you should configure in each of these files.  
  
 
==Modifying the Server Settings==
 
==Modifying the Server Settings==
 
Complete the steps below on each Workspace Web Edition & Web Services node. <br/><br/>
 
Complete the steps below on each Workspace Web Edition & Web Services node. <br/><br/>
'''Start of Procedure'''<br>
+
'''Start'''<br>
  
 
<ol>
 
<ol>
<li>Open the <tt>server-settings.yaml</tt> file and review the options. This file contains a number of core parameters that are used by the server.</li>
+
<li>Open the '''server-settings.yaml''' file and review the options. This file contains a number of core parameters that are used by the server.</li>
  
 
The following is an unmodified file:
 
The following is an unmodified file:
  
<pre>
+
<source lang="text">
 
# URLs
 
# URLs
 
externalApiUrlV2: [ToBeChanged: public URL including protocol, address and port, <PUBLIC_SCHEMA_BASE_URL>]/api/v2
 
externalApiUrlV2: [ToBeChanged: public URL including protocol, address and port, <PUBLIC_SCHEMA_BASE_URL>]/api/v2
Line 167: Line 164:
 
     #password: [ToBeChangedOrRemoved: <SMTP_SERVER_PASSWORD>]
 
     #password: [ToBeChangedOrRemoved: <SMTP_SERVER_PASSWORD>]
 
     #timeout: [ToBeChangedOrRemoved: <SMTP_SERVER_TIMEOUT>]
 
     #timeout: [ToBeChangedOrRemoved: <SMTP_SERVER_TIMEOUT>]
</pre>
+
</source>
  
<li>Review the [[HTCCConfigurationOptionsReference|Web Services Configuration Options]] options to learn more about the default options included in the <tt>server-settings.yaml</tt> file, as well as the other options you can add to adjust Workspace Web Edition & Web Services for your solution. Make sure to update all the options marked <tt>[ToBeChangedOrRemoved]</tt>.
+
<li>Make sure to update all the options marked <tt>[ToBeChangedOrRemoved]</tt>. You should also review the [[Features|Configuring Features]] and [[Security|Configuring Security]] pages for more information about enabling specific functionality in your Workspace Web Edition & Web Services solution. For details about all the options available to you in the '''server-settings.yaml''' file, see [[HTCCConfigurationOptionsReference|Web Services Configuration Options]] options.
<!-- Available styles: (default)-Important, 2-Tip, 3-Warning -->
+
<!-- Important: equal signs (=) will not work in a note. Use the equivalent HTML code (&#61;) instead.-->
+
{{NoteFormat|In each Workspace Web Edition & Web Services cluster, one node must be configured as the {{#ppin:{{SectionTransclusion|HTCCConfigurationOptionsReference|syncNode}}|synchronization node|||500|330}}: <tt>syncNode &#61; true</tt>. All other nodes in the cluster must have <tt>syncNode &#61; false</tt>.}}
{{NoteFormat|In each Workspace Web Edition & Web Services cluster, one node must be configured as the synchronization node: <tt>syncNode &#61; true</tt>. All other nodes in the cluster must have <tt>syncNode &#61; false</tt>.}}
 
 
</li>
 
</li>
 
<li>Save your changes and close the file.</li>
 
<li>Save your changes and close the file.</li>
 
</ol>
 
</ol>
'''End of Procedure'''
+
'''End'''
  
 
==Modifying the Premise Settings==
 
==Modifying the Premise Settings==
 
Complete the steps below on each Workspace Web Edition & Web Services node. <br/><br/>
 
Complete the steps below on each Workspace Web Edition & Web Services node. <br/><br/>
'''Start of Procedure''' <br/>
+
'''Start''' <br/>
 
<ol>
 
<ol>
<li>Open the <tt>onpremise-settings.yaml</tt> file and review the options. This file contains parameters that are used to connect to Configuration Server. </li>
+
<li>Open the '''onpremise-settings.yaml''' file and review the options. This file contains parameters that are used to connect to Configuration Server. </li>
  
 
The following is an unmodified file:
 
The following is an unmodified file:
  
<nowiki>cmeHost: localhost
+
<source lang="text">
 +
cmeHost: localhost
 
cmePort: 8888
 
cmePort: 8888
countryCode: US</nowiki>
+
countryCode: US
 +
</source>
  
 
The following options are valid in this file:
 
The following options are valid in this file:
*<tt>cmeHost</tt> – The Configuration Server host name (FQDN) or IP
+
*'''cmeHost''' &mdash; The Configuration Server host name (FQDN) or IP.
*<tt>cmePort</tt> – The Configuration Server port  
+
*'''cmePort''' &mdash; The Configuration Server port.
*<tt>backupCmeHost</tt> – The backup Configuration Server host name (FQDN) or IP
+
*'''backupCmeHost''' &mdash; The backup Configuration Server host name (FQDN) or IP.
*<tt>backupCmePort</tt> – The backup Configuration Server port
+
*'''backupCmePort''' &mdash; The backup Configuration Server port.
*<tt>countryCode</tt> – The premise contact center's country code
+
*'''countryCode''' &mdash; The premise contact center's country code.
 
 
<!-- Available styles: (default)-Important, 2-Tip, 3-Warning -->
 
<!-- Important: equal signs (=) will not work in a note. Use the equivalent HTML code (&#61;) instead.-->
 
{{NoteFormat|Configure the <tt>backupCmeHost</tt> and <tt>backupCmePort</tt> options if there is a backup Configuration Server in the Genesys environment and you want high-availability support.}}
 
  
 +
{{NoteFormat|Configure the '''backupCmeHost''' and '''backupCmePort''' options if there is a backup Configuration Server in the Genesys environment and you want high-availability support.}}
 
<li>Save your changes and close the file.</li>
 
<li>Save your changes and close the file.</li>
 
</ol>
 
</ol>
'''End of Procedure'''
+
'''End'''
  
 
==Modifying the Cassandra Cluster Settings==
 
==Modifying the Cassandra Cluster Settings==
 
Complete the steps below on each Workspace Web Edition & Web Services node. <br/><br/>
 
Complete the steps below on each Workspace Web Edition & Web Services node. <br/><br/>
'''Start of Procedure'''
+
'''Start'''
 
<ol>
 
<ol>
<li>Open the <tt>cassandra-cluster.yaml</tt> file and review the options. </li>
+
<li>Open the '''cassandra-cluster.yaml''' file and review the options. </li>
  
 
The following is an unmodified file:
 
The following is an unmodified file:
  
<nowiki>thrift_port: 9160
+
<source lang="text">
 +
thrift_port: 9160
 
jmx_port: 7199
 
jmx_port: 7199
 
keyspace: sipfs
 
keyspace: sipfs
Line 227: Line 223:
  
 
cassandraVersion: [ToBeChanged: "1.1" | "1.2"]
 
cassandraVersion: [ToBeChanged: "1.1" | "1.2"]
useSSL: [ToBeChanged: supporting only for 1.2 Cassandra "false" | "true"]</nowiki>
+
useSSL: [ToBeChanged: supporting only for 1.2 Cassandra "false" | "true"]
 +
</source>
  
 
<li>Modify the settings as needed, making sure to update all the options marked <tt>[ToBeChanged]</tt>:
 
<li>Modify the settings as needed, making sure to update all the options marked <tt>[ToBeChanged]</tt>:
*<tt>thrift_port</tt> &mdash; The port for Thrift to listen for clients. It should be the same as the <tt>rpc_port</tt> you set in the '''cassandra.yaml''' file as part of the [[InstallingAndDeployingCassandra#Configuring_Cassandra|Configuring Cassandra]] procedure.
+
*'''thrift_port''' &mdash; The port for Thrift to listen for clients. It should be the same as the <tt>rpc_port</tt> you set in the '''cassandra.yaml''' file as part of the [[InstallingAndDeployingCassandra#Configuring_Cassandra|Configuring Cassandra]] procedure.
*<tt>jmx_port</tt> &mdash; The port Cassandra uses for Java Manage Extension (JMX).
+
*'''jmx_port''' &mdash; The port Cassandra uses for Java Manage Extension (JMX).
*<tt>keyspace</tt> &mdash; The name of the Cassandra keyspace. This name should be the same as the keyspace name you set while [[InitializingCassandra#Creating_the_Cassandra_Keyspace|Creating the Cassandra Keyspace]]. If you used the keyspace creation scripts that come with WWE&WS, then you can leave this value as <tt>sipfs</tt>.  
+
*'''keyspace''' &mdash; The name of the Cassandra keyspace. This name should be the same as the keyspace name you set while [[InitializingCassandra#Creating_the_Cassandra_Keyspace|Creating the Cassandra Keyspace]]. If you used the keyspace creation scripts that come with F, then you can leave this value as <tt>sipfs</tt>.  
*<tt>nodes</tt> &mdash; A comma-separated list of Cassandra node IPs or host names.
+
*'''nodes''' &mdash; A comma-separated list of Cassandra node IPs or host names.
*<tt>backup_nodes</tt> &mdash; A comma-separated list of backup Cassandra node IPs or host names. This option is intended for deployments that have two separate Cassandra data centers &mdash; WWE&WS switches from primary to backup if the primary nodes are unavailable. If your deployment is small with only one data center, you can ignore this option.  
+
*'''backup_nodes''' &mdash; A comma-separated list of backup Cassandra node IPs or host names. This option is intended for deployments that have two separate Cassandra data centers &mdash; Workspace Web Edition & Web Services switches from primary to backup if the primary nodes are unavailable. If your deployment is small with only one data center, you can ignore this option.  
*<tt>replication_factor</tt> &mdash; A replication factor appropriate for your Cassandra topology. This value should be the same as the replication factor you set in Step 2 of the [[InitializingCassandra#Creating_the_Cassandra_Keyspace|Creating the Cassandra Keyspace]] procedure.
+
*'''replication_factor''' &mdash; A replication factor appropriate for your Cassandra topology. This value should be the same as the replication factor you set in Step 2 of the [[InitializingCassandra#Creating_the_Cassandra_Keyspace|Creating the Cassandra Keyspace]] procedure.
*<tt>read_consistency_level</tt> &mdash; Set this value according to your Cassandra topology:
+
*'''read_consistency_level''' &mdash; Set this value according to your Cassandra topology:
<!-- Sample table formatting available at: http://172.21.81.85/Table_Examples -->
 
 
{|  
 
{|  
 
! '''Development'''<br/>(1 Cassandra node)
 
! '''Development'''<br/>(1 Cassandra node)
Line 247: Line 243:
 
| CL_LOCAL_QUORUM
 
| CL_LOCAL_QUORUM
 
|}
 
|}
*<tt>write_consistency_level</tt> &mdash; Set this value according to your Cassandra topology:
+
*'''write_consistency_level''' &mdash; Set this value according to your Cassandra topology:
<!-- Sample table formatting available at: http://172.21.81.85/Table_Examples -->
 
 
{|  
 
{|  
 
! '''Development'''<br/>(1 Cassandra node)
 
! '''Development'''<br/>(1 Cassandra node)
Line 258: Line 253:
 
| CL_LOCAL_QUORUM
 
| CL_LOCAL_QUORUM
 
|}
 
|}
*<tt>cassandraVersion</tt> &mdash; Possible values are 1.1 (for 1.1.x versions) and 1.2 (for 1.2.x versions).
+
*'''cassandraVersion''' &mdash; Possible values are 1.1 (for 1.1.x versions) and 1.2 (for 1.2.x versions).
*<tt>useSSL</tt> &mdash; Set to <tt>true</tt> to enable Cassandra to use SSL. This option is only valid for Cassandra 1.2.x.
+
*'''useSSL''' &mdash; Set to <tt>true</tt> to enable Cassandra to use SSL. This option is only valid for Cassandra 1.2.x.
  
 
The following options tune the Cassandra database access. The default values were used by Genesys during internal load tests.
 
The following options tune the Cassandra database access. The default values were used by Genesys during internal load tests.
*<tt>max_conns_per_host</tt> &mdash; Maximum number of connections to allocate for a single host's pool.
+
*'''max_conns_per_host''' &mdash; Maximum number of connections to allocate for a single host's pool.
*<tt>max_cons</tt> &mdash; Maximum number of connections in the pool.
+
*'''max_cons''' &mdash; Maximum number of connections in the pool.
*<tt>max_pending_conns_per_host</tt> &mdash; Maximum number of pending connect attempts per host.
+
*'''max_pending_conns_per_host''' &mdash; Maximum number of pending connect attempts per host.
*<tt>max_blocked_threads_per_host</tt> &mdash; Maximum number of blocked clients for a host.
+
*'''max_blocked_threads_per_host''' &mdash; Maximum number of blocked clients for a host.
  
 
</li>
 
</li>
 
<li>Save your changes and close the file.</li>
 
<li>Save your changes and close the file.</li>
 
</ol>
 
</ol>
'''End of Procedure'''
+
'''End'''
  
 
==Tuning the Workspace Web Edition & Web Services Host Performance==
 
==Tuning the Workspace Web Edition & Web Services Host Performance==
 
Complete the steps below on each Workspace Web Edition & Web Services node to tune the performance of the host environment.
 
Complete the steps below on each Workspace Web Edition & Web Services node to tune the performance of the host environment.
 
<br/><br/>
 
<br/><br/>
'''Start of Procedure'''
+
'''Start'''
 
<br/>
 
<br/>
 
<ol>
 
<ol>
 
<li>To optimize TCP/IP performance, you can run the following commands:</li>
 
<li>To optimize TCP/IP performance, you can run the following commands:</li>
<nowiki>sudo sysctl -w net.core.rmem_max=16777216  
+
<source lang="text">
 +
sudo sysctl -w net.core.rmem_max=16777216  
 
sudo sysctl -w net.core.wmem_max=16777216  
 
sudo sysctl -w net.core.wmem_max=16777216  
 
sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"  
 
sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"  
Line 287: Line 283:
 
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=8192  
 
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=8192  
 
sudo sysctl -w net.ipv4.tcp_syncookies=1  
 
sudo sysctl -w net.ipv4.tcp_syncookies=1  
sudo sysctl -w net.ipv4.tcp_congestion_control=cubic</nowiki>
+
sudo sysctl -w net.ipv4.tcp_congestion_control=cubic
<li>Increase the file descriptors by adding the following to the <tt>/etc/security/limits.conf</tt> file:</li>
+
</source>
<nowiki><user_name> hard nofile 100000
+
<li>Increase the file descriptors by adding the following to the '''/etc/security/limits.conf''' file:</li>
<user_name> soft nofile 100000</nowiki>
+
<source lang="text">
 +
<user_name> hard nofile 100000
 +
<user_name> soft nofile 100000
 +
</source>
 
*<tt><user_name></tt> &mdash; The name of the user or group that is starting Jetty.
 
*<tt><user_name></tt> &mdash; The name of the user or group that is starting Jetty.
 
</ol>
 
</ol>
'''End of Procedure'''
+
'''End'''
 +
 
 +
==Next Step==
 +
*[[Features|Configuring Features]]
 +
 
 
[[Category:V:HTCC:8.5.2]]
 
[[Category:V:HTCC:8.5.2]]

Revision as of 18:37, April 3, 2015

Configuring Workspace Web Edition & Web Services

To configure your Workspace Web Edition & Web Services nodes, you'll need to create three different configuration files: server-settings.yaml, onpremise-settings.yaml, and cassandra-cluster.yaml. You can find sample versions of these files in the main config folder you created in Step 6 of Deploying the Web Application; to use them, just remove the .sample extension.

Review the procedures on this page for details about the options you should configure in each of these files.

Modifying the Server Settings

Complete the steps below on each Workspace Web Edition & Web Services node.

Start

  1. Open the server-settings.yaml file and review the options. This file contains a number of core parameters that are used by the server.
  2. The following is an unmodified file:

    # URLs
    externalApiUrlV2: [ToBeChanged: public URL including protocol, address and port, <PUBLIC_SCHEMA_BASE_URL>]/api/v2
    internalApiUrlV2: [ToBeChanged: internal URL including protocol, address and port, <INTERNAL_SCHEMA_BASE_URL>]/internal-api
    undocumentedExternalApiUrl: [ToBeChanged: public URL including protocol, address and port, <PUBLIC_SCHEMA_BASE_URL>]/internal-api
    
    # General
    iwsDispositionCodeSync: [ToBeChanged: "true"|"false"]
    temporaryAuthenticationTokenTTL: [ToBeChanged: "true"|"false"]
    enableCsrfProtection: [ToBeChanged: "true"|"false"]
    salesforceAuthenticationMode: [ToBeChanged: "true"|"false"]
    
    # Timeouts
    activationTimeout: 12000
    configServerActivationTimeout: 35000
    configServerConnectionTimeout: 15000
    connectionTimeout: 4000
    contactCenterSynchronizationTimeout: 60000
    #inactiveUserTimeout: [ToBeChangedOrRemoved: <INACTIVE_USER_TIMEOUT>]
    logoutAgentWhenNoActiveCometSessionTimeout: [ToBeChanged: "true"|"false"]
    reconnectAttempts: 1
    reconnectTimeout: 10000
    
    # OPS account
    opsUserName: [ToBeChanged: <OPS_USER_NAME>]
    opsUserPassword: [ToBeChanged: <OPS_USER_PASSWORD>]
    
    # CME credentials
    applicationName: Cloud
    applicationType: CFGGenericClient
    cmeUserName: [ToBeChanged: <CONFIG_SERVER_USER_NAME>]
    cmePassword: [ToBeChanged: <CONFIG_SERVER_USER_PASSWORD>]
    syncNode: [ToBeChanged: "true"|"false"]
    synchronizationCmeEventsPrefilterEnabled: [ToBeChanged: "true"|"false"]
    enableVirtualQueueSynchronization: [ToBeChanged: "true"|"false"]
    
    # Statistics
    #statConnectionTimeout: [ToBeChangedOrRemoved: <STAT_CONNECTION_TIMEOUT>]
    #statReconnectAttempts: [ToBeChangedOrRemoved: <STAT_RECONNECT_ATTEMPTS>]
    #statReconnectTimeout: [ToBeChangedOrRemoved: <STAT_RECONNECT_TIMEOUT>]
    #statOpenTimeout: [ToBeChangedOrRemoved: <STAT_OPEN_TIMEOUT>]
    #statisticsWritesCL: [ToBeChangedOrRemoved: <STATISTICS_WRITE_SCL>]
    #reportingSyncInterval: [ToBeChangedOrRemoved: <REPORTING_SYNC_INTERVAL>]
    enableElasticSearchIndexing: [ToBeChanged: "true"|"false"]
    #statisticsOpenRetryInterval: [ToBeChangedOrRemoved: <STATISTICS_OPEN_RETRY_INTERVAL>]
    
    # Call Recording
    createCallRecordingCF: [ToBeChanged: "true"|"false"]
    #crClusterName: [ToBeChangedOrRemoved: <CR_CLUSTER_NAME>]
    #crRegion: [ToBeChangedOrRemoved: <CR_REGION>]
    #awsS3AccessKey: [ToBeChangedOrRemoved: <AWS_S3_ACCESS_KEY>]
    #awsS3SecretKey: [ToBeChangedOrRemoved: <AWS_S3_SECRET_KEY>]
    #awsS3BucketName: [ToBeChangedOrRemoved: <AWS_S3_BUCKET_NAME>]
    #awsS3SocketTimeout: [ToBeChangedOrRemoved: <AWS_S3_SOCKET_TIMEOUT>]
    #awsS3MaxErrorRetry: [ToBeChangedOrRemoved: <AWS_S3_MAX_ERROR_RETRY>]
    #awsS3MaxConnection: [ToBeChangedOrRemoved: <AWS_S3_MAX_CONNECTION>]
    #awsS3ConnectionTimeout: [ToBeChangedOrRemoved: <AWS_S3_CONNECTION_TIMEOUT>]
    #cryptoSecurityKey: [ToBeChangedOrRemoved: <CRYPTO_SECURITY_KEY>]
    #webDAVMaxConnection: [ToBeChangedOrRemoved: <WEBDAV_MAX_CONNECTION>]
    #webDAVMaxTotalConnection: [ToBeChangedOrRemoved: <WEBDAV_MAX_TOTAL_CONNECTION>]
    
    # CDR
    #voiceMonitorNodeId: [ToBeChangedOrRemoved: <VOICE_MONITOR_NODE_ID>]
    
    # Multi regional supporting
    nodePath: [ToBeChanged: node position in cluster, example: /<REGION>/HOST
    #nodeId: [ToBeChangedOrRemoved: unique value in cluster <NODE_ID>]
    
    # SSL and CA
    #caCertificate: [ToBeChangedOrRemoved: <CA_CERTIFICATE>]
    #jksPassword: [ToBeChangedOrRemoved: <JKS_PASSWORD>]
    
    # SAML
    #samlSettings:
      #encryptionKeyName: [ToBeChangedOrRemoved: <SAML_ENCRYPTION_KEY_NAME>]
      #signingKeyName: [ToBeChangedOrRemoved: <SAML_SIGNING_KEY_NAME>]
      #identityProviderMetadata: [ToBeChangedOrRemoved: <SAML_IDENTITY_PROVIDER_METADATA>]
      #serviceProviderEntityId: [ToBeChangedOrRemoved: <SAML_SERVICE_PROVIDER_ENTITY_ID>]
      #encryptionKeyPassword: [ToBeChangedOrRemoved: <SAML_ENCRYPTION_KEY_PASSWORD>]
      #signingKeyPassword: [ToBeChangedOrRemoved: <SAML_SIGNING_KEY_PASSWORD>]
      #tlsKeyName: [ToBeChangedOrRemoved: <SAML_TLS_KEY_NAME>]
      #tlsKeyPassword: [ToBeChangedOrRemoved: <SAML_TLS_KEY_PASSWORD>]
      #responseSkewTime: [ToBeChangedOrRemoved: <SAML_RESPONSE_SWEW_TIME>]
    
    # CORS
    #crossOriginSettings:
      #allowedOrigins: [ToBeChangedOrRemoved: <CROSS_ALLOWED_ORIGINS>]
      #allowedMethods: [ToBeChangedOrRemoved: <CROSS_ALLOWED_METHODS>]
      #allowedHeaders: [ToBeChangedOrRemoved: <CROSS_ALLOWED_HEADERS>]
      #exposedHeaders: [ToBeChangedOrRemoved: <CROSS_EXPOSED_HEADERS>]
      #allowCredentials: [ToBeChangedOrRemoved: <CROSS_ALLOW_CREDENTIALS>]
      #corsFilterCacheTimeToLive: [ToBeChangedOrRemoved: <CROSS_ORIGIN_CORS_FILTER_CACHE_TIME_TO_LIVE>]
    
    # Elastic Search
    #elasticSearchSettings:
      #clientNode: [ToBeChangedOrRemoved: "true"|"false"]
      #indexPerContactCenter: [ToBeChangedOrRemoved: "true"|"false"]
      #enableScheduledIndexVerification: [ToBeChangedOrRemoved: "true"|"false"]
      #indexVerificationInterval: [ToBeChangedOrRemoved: <ELASTIC_SEARCH_INDEX_VERIFICATION_INTERVAL>]
      #retriesOnConflict: [ToBeChangedOrRemoved: <ELASTIC_SEARCH_RETRIES_ON_CONFICT>]
      #waitToIndexTimeout: [ToBeChangedOrRemoved: <ELASTIC_SEARCH_WAIT_TO_INDEX_TIMEOUT>]
    
    # Screen Recording
    #screenRecordingSettings:
      #screenRecordingEServicesEnabled: [ToBeChangedOrRemoved: "true"|"false"]
      #screenRecordingVoiceEnabled: [ToBeChangedOrRemoved: "true"|"false"]
      #clientSessionManagerCacheTTL: [ToBeChangedOrRemoved: <SCREEN_RECORDING_CLIENT_SESSION_MANAGER_CACHE_TTL>]
      #recordingInteractionEventsTTL: [ToBeChangedOrRemoved: <SCREEN_RECORDING_RECORDING_INTERACTION_EVENTS_TTL>]
      #contactCenterInfoManagerCacheTTL: [ToBeChangedOrRemoved: <SCREEN_RECORDING_CONTACT_CENTER_INFO_MANAGER_CACHE_TTL>]
    
    # Caching Settings
    #cachingSettings:
      #enableSystemWideCaching: [ToBeChangedOrRemoved: "true"|"false"]
      #agentStatesTTL: [ToBeChangedOrRemoved: <CACHING_AGENT_STATES_TTL>]
      #contactCenterFeaturesTTL: [ToBeChangedOrRemoved: <CACHING_CONTACT_CENTER_FEATURES_TTL>]
      #contactCenterSettingsTTL: [ToBeChangedOrRemoved: <CACHING_CONTACT_CENTER_SETTINGS_TTL>]
      #voiceContextCaching: [ToBeChangedOrRemoved: "true"|"false"]
      #voiceContextRefreshInterval: [ToBeChangedOrRemoved: <CACHING_VOICE_CONTEXT_REFRESH_INTERVAL>]
    
    # DoS Filter Settings
    enableDosFilter: [ToBeChanged: "true"|"false"]
    #dosFilterSettings:
      #maxRequestsPerSec: [ToBeChangedOrRemoved: <DOS_FILTER_MAX_REQUESTS_PER_SEC>]
      #delayMs: [ToBeChangedOrRemoved: <DOS_FILTER_DELAY_MS>]
      #maxWaitMs: [ToBeChangedOrRemoved: <DOS_FILTER_MAX_WAIT_MS>]
      #throttledRequests: [ToBeChangedOrRemoved: <DOS_FILTER_THROTTLED_REQUESTS>]
      #throttleMs: [ToBeChangedOrRemoved: <DOS_FILTER_THROTTLE_MS>]
      #maxRequestMs: [ToBeChangedOrRemoved: <DOS_FILTER_MAX_REQUEST_MS>]
      #maxIdleTrackerMs: [ToBeChangedOrRemoved: <DOS_FILTER_MAX_IDLE_TRACKER_MS>]
      #insertHeaders: [ToBeChangedOrRemoved: <DOS_FILTER_INSERT_HEADERS>]
      #trackSessions: [ToBeChangedOrRemoved: <DOS_FILTER_TTACK_SESSIONS>]
      #remotePort: [ToBeChangedOrRemoved: <DOS_FILTER_REMOTE_PORT>]
      #ipWhitelist: [ToBeChangedOrRemoved: <DOS_FILTER_IP_WHITE_LIST>]
    
    # Account Management
    #accountManagement:
      #forgotPasswordEmailTemplate:
        #from: [ToBeChangedOrRemoved: <PASSWORD_MESSAGE_FROM>]
        #subject: [ToBeChangedOrRemoved: <PASSWORD_MESSAGE_SUBJECT>]
        #body: [ToBeChangedOrRemoved: <PASSWORD_MESSAGE_BODY>]
      #accountCreatedEmailTemplate:
        #from: [ToBeChangedOrRemoved: <ACCOUNT_MESSAGE_FROM>]
        #subject: [ToBeChangedOrRemoved: <ACCOUNT_MESSAGE_SUBJECT>]
        #body: [ToBeChangedOrRemoved: <ACCOUNT_MESSAGE_BODY>]
      #smtpServer:
        #host: [ToBeChangedOrRemoved: <SMTP_SERVER_HOST>]
        #port: [ToBeChangedOrRemoved: <SMTP_SERVER_PORT>]
        #userName: [ToBeChangedOrRemoved: <SMTP_SERVER_USER_NAME>]
        #password: [ToBeChangedOrRemoved: <SMTP_SERVER_PASSWORD>]
        #timeout: [ToBeChangedOrRemoved: <SMTP_SERVER_TIMEOUT>]
  3. Make sure to update all the options marked [ToBeChangedOrRemoved]. You should also review the Configuring Features and Configuring Security pages for more information about enabling specific functionality in your Workspace Web Edition & Web Services solution. For details about all the options available to you in the server-settings.yaml file, see Web Services Configuration Options options.
    Important
    In each Workspace Web Edition & Web Services cluster, one node must be configured as the synchronization node: syncNode = true. All other nodes in the cluster must have syncNode = false.
  4. Save your changes and close the file.

End

Modifying the Premise Settings

Complete the steps below on each Workspace Web Edition & Web Services node.

Start

  1. Open the onpremise-settings.yaml file and review the options. This file contains parameters that are used to connect to Configuration Server.
  2. The following is an unmodified file:

    cmeHost: localhost
    cmePort: 8888
    countryCode: US

    The following options are valid in this file:

  • cmeHost — The Configuration Server host name (FQDN) or IP.
  • cmePort — The Configuration Server port.
  • backupCmeHost — The backup Configuration Server host name (FQDN) or IP.
  • backupCmePort — The backup Configuration Server port.
  • countryCode — The premise contact center's country code.
Important
Configure the backupCmeHost and backupCmePort options if there is a backup Configuration Server in the Genesys environment and you want high-availability support.
  • Save your changes and close the file.
  • End

    Modifying the Cassandra Cluster Settings

    Complete the steps below on each Workspace Web Edition & Web Services node.

    Start

    1. Open the cassandra-cluster.yaml file and review the options.
    2. The following is an unmodified file:

      thrift_port: 9160
      jmx_port: 7199
      keyspace: sipfs
      nodes: [ToBeChanged: <CASSANDRA_PRIMARY_DC_NODES>]
      backup_nodes: [ToBeChanged: <CASSANDRA_BACKUP_DC_NODES>]
      replication_factor: [ToBeChanged: <REPLICATION_FACTOR>]
      write_consistency_level: [ToBeChanged: "CL_LOCAL_QUORUM" for multi-datacenters env, "CL_QUORUM" for single-DC env.]
      read_consistency_level: [ToBeChanged: "CL_LOCAL_QUORUM" for multi-datacenters env, "CL_QUORUM" for single-DC env.]
      max_conns_per_host: 16
      max_cons: 48
      max_pending_conns_per_host: 80
      max_blocked_threads_per_host: 160
      
      cassandraVersion: [ToBeChanged: "1.1" | "1.2"]
      useSSL: [ToBeChanged: supporting only for 1.2 Cassandra "false" | "true"]
    3. Modify the settings as needed, making sure to update all the options marked [ToBeChanged]:
      • thrift_port — The port for Thrift to listen for clients. It should be the same as the rpc_port you set in the cassandra.yaml file as part of the Configuring Cassandra procedure.
      • jmx_port — The port Cassandra uses for Java Manage Extension (JMX).
      • keyspace — The name of the Cassandra keyspace. This name should be the same as the keyspace name you set while Creating the Cassandra Keyspace. If you used the keyspace creation scripts that come with F, then you can leave this value as sipfs.
      • nodes — A comma-separated list of Cassandra node IPs or host names.
      • backup_nodes — A comma-separated list of backup Cassandra node IPs or host names. This option is intended for deployments that have two separate Cassandra data centers — Workspace Web Edition & Web Services switches from primary to backup if the primary nodes are unavailable. If your deployment is small with only one data center, you can ignore this option.
      • replication_factor — A replication factor appropriate for your Cassandra topology. This value should be the same as the replication factor you set in Step 2 of the Creating the Cassandra Keyspace procedure.
      • read_consistency_level — Set this value according to your Cassandra topology:
      Development
      (1 Cassandra node)
      Single Datacenter
      (1 datacenter with a minimum of three Cassandra nodes)
      Two Datacenters
      (datacenters with a minimum of three Cassandra nodes in each datacenter)
      CL_ONE CL_QUORUM CL_LOCAL_QUORUM
      • write_consistency_level — Set this value according to your Cassandra topology:
      Development
      (1 Cassandra node)
      Single Datacenter
      (1 datacenter with a minimum of three Cassandra nodes)
      Two Datacenters
      (datacenters with a minimum of three Cassandra nodes in each datacenter)
      CL_ONE CL_QUORUM CL_LOCAL_QUORUM
      • cassandraVersion — Possible values are 1.1 (for 1.1.x versions) and 1.2 (for 1.2.x versions).
      • useSSL — Set to true to enable Cassandra to use SSL. This option is only valid for Cassandra 1.2.x.

      The following options tune the Cassandra database access. The default values were used by Genesys during internal load tests.

      • max_conns_per_host — Maximum number of connections to allocate for a single host's pool.
      • max_cons — Maximum number of connections in the pool.
      • max_pending_conns_per_host — Maximum number of pending connect attempts per host.
      • max_blocked_threads_per_host — Maximum number of blocked clients for a host.
    4. Save your changes and close the file.

    End

    Tuning the Workspace Web Edition & Web Services Host Performance

    Complete the steps below on each Workspace Web Edition & Web Services node to tune the performance of the host environment.

    Start

    1. To optimize TCP/IP performance, you can run the following commands:
    2. sudo sysctl -w net.core.rmem_max=16777216 
      sudo sysctl -w net.core.wmem_max=16777216 
      sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216" 
      sudo sysctl -w net.ipv4.tcp_wmem="4096 16384 16777216" 
      sudo sysctl -w net.core.somaxconn=4096 
      sudo sysctl -w net.core.netdev_max_backlog=16384
      sudo sysctl -w net.ipv4.tcp_max_syn_backlog=8192 
      sudo sysctl -w net.ipv4.tcp_syncookies=1 
      sudo sysctl -w net.ipv4.tcp_congestion_control=cubic
    3. Increase the file descriptors by adding the following to the /etc/security/limits.conf file:
    4. <user_name>		hard nofile	100000
      <user_name>		soft nofile	100000
    • <user_name> — The name of the user or group that is starting Jetty.

    End

    Next Step

    Comments or questions about this documentation? Contact us for support!