Jump to: navigation, search

Configuration Options Reference

This page provides descriptions and explanations of Genesys Mobile Services-specific options.

Overview

By default, the Options tab for your Genesys Mobile Services Application object contains several sections with configuration values.

  • Log — Standard log file options for this Application object. For more information about these options, refer to your Genesys Framework documentation.
  • gms — Configuration settings used across different services.
  • push — Configuration settings for the Notification sub-service.
  • resources — Configuration details for handling of resource groups.
  • server — This section describes configuration options specific to each Genesys Mobile Services Application instance.
  • service.servicename — Every service you want to provide using this instance of Genesys Mobile Services can have a custom entry created using this format. The default installation provides two examples:
    • service.request-interaction
    • service.query
  • port_restrictions — Configuration settings for port restrictions.

gms Section

Changes take effect: Immediately.

Option name Option type Default value Restriction on value Description
http.use_lax_redirect_strategy Boolean true Optional

Valid boolean

Instructs GMS to use the Lax Redirect Strategy implementation that automatically redirects all HEAD, GET and POST requests. This strategy relaxes restrictions on automatic redirection of POST methods imposed by the HTTP specification. (Introduced in GMS 8.5.002.02)
http.connection_timeout Integer 10 Optional

Valid integer (seconds)

Connection timeout (in seconds) for http connections to be established from gms to other servers (ORS, httpcb and cluster resource service). Default is set pretty low, so should be on the fast network.
http.socket_timeout Integer 10 Optional

Valid integer (seconds)

Socket timeout (in seconds) for reading data over established http connection from gms to other servers(ORS, httpcb and cluster resource service). Default is set pretty low, so should be on the fast network.
http.max_connections_per_route Integer 20 Optional

Positive integer

GMS will use these number of concurrent connections to connect to each http server. All subsequent concurrent requests will be queued.
http.max_connections_total Integer 100 Optional

Positive integer

GMS will use these number of concurrent connections to connect to any of the http servers.
http.client_port_range Integer Range (eg., 52000-53000) System assigned Optional

Max Range (0-65535)

All http client requests from GMS to other servers will use a client socket port from the specified range. If the selected port is already in use, then the request is tried using the next port in a serial fashion. If this option is not specified then the OS will assign a random available port for the request.
http.proxy-auto-config-file String Optional

Valid URL

Specifies the proxy auto-config (PAC) file location. For example:
  • file:///C:/GMS/proxy.pac : for a local file
  • http://127.0.0.1:8082/deploy/proxy.pac

(Introduced in 8.5.006.09)

http.proxy-cache-size Integer 32 Optional

Valid integer

Size of the cache that stores URLs that were already processed. If the requested URL is in the cache, GMS will not process the PAC file.

(Introduced in 8.5.006.09)

http.proxy-ttl Integer 5 Optional

Valid integer (minutes)

Specifies the interval to refresh PAC content.

(Introduced in 8.5.006.09)

push Section

Changes take effect: After restart. The push configuration includes three logical groups of options: general configuration, push provider configuration, and OS-specific message formatting. For more information about providers and OS-specific message formatting refer to Genesys Mobile Services Push Notification Service.

Important.png Note: It is possible for some mandatory options to be absent in this section. In this case, the corresponding push type will be disabled (even if enabled using the push.pushEnabled option) and a log entry will be created.

In the following table, values for the affinity column can be:

  • general - The option applies to general behavior.
  • provider - The option describes the provider configuration used for accessing the target (APPLE APNS service, GOOGLE C2DM service, http address).
  • OS-formatting - The option affects the resulting OS-specific message output.
Option name Affinity Option type Necessity Restriction on value Notes
Common Notification Options
customhttp.url provider string Mandatory Valid URL This is the URL where the notifications will be pushed. The subscriber must provide a URL that will be invoked. GMS posts the payload to this URL (using HTTP POST). The Payload is a JSON object that contains two properties: the deviceId, which is the custom id provided at subscription time by subscriber, and the message, which is the notification message.
defaultSubscriptionExpiration general Integer Optional Any Integer>=30 Default subscription expiration (in seconds). If not set or assigned an incorrect value, the default value (30) will be used.
pushEnabled provider Collection<String> Mandatory A comma-delimited list of strings that describe the enabled push types. Currently, the following push types are supported: android and/or gcm and/or ios and/or httpcb and/or orscb and/or customhttp. Any other push type will be ignored. If an option value is not set then it will be handled as empty string option value (that is, push will be disabled for all supported types and the push service will not work at all).
Apple Notification Options

Note: Please see the relevant documentation at developer.apple.com for information about OS-Specific message formatting options. Note that if no alert-related options are specified, the alert dictionary entry will not be included in the JSON sent to the Apple device.

apple.keystore provider String Mandatory valid path The keystore location (path to the file) for iOS push notifications.
apple.keystorePassword provider String Mandatory not null (but may be empty string) The password used to access the keystore. If the password is incorrect then attempts to push messages will fail with corresponding log entries.
apple.content-available OS-formatting Integer Optional Any String Provide this key with a value of 1 to indicate that new content is available. This is used to support Newsstand apps and background content downloads.

Newsstand apps are guaranteed to be able to receive at least one push with this key per 24-hour window.

apple.alert OS-formatting String Optional Any String If specified (not null), it becomes the message text of an alert with two buttons: Close and View. If the user taps View, the application is launched.
apple.alertMessage.body OS-formatting String Optional Any String If specified (not null), used as body entry in alert dictionary (iOS-specific).
apple.alertMessage.action-loc-key OS-formatting String Optional Any String If specified (not null), used as action-loc-key entry in alert dictionary (iOS-specific).
apple.alertMessage.loc-key OS-formatting String Optional Any String If specified (not null), used as loc-key entry in alert dictionary (iOS-specific).
apple.alertMessage.loc-argnames OS-formatting String Optional Any String If specified (not null), used as loc-args entry in alert dictionary (iOS-specific).
apple.alertMessage.launch-image OS-formatting String Optional Any String If specified (not null), used as launch-image entry in alert dictionary (iOS-specific).
apple.badge OS-formatting Integer Optional Any Integer If specified (not null), used as badge entry in aps dictionary (iOS-specific).
apple.sound OS-formatting String Optional Any String If specified (not null), used as sound entry in aps dictionary (iOS-specific).
Android Notification Options
android.senderEmail provider String Mandatory Valid mail (sender account registered in Google service) The valid name of a mail account. Notifications will be sent on behalf of this account. After signing up for C2DM, the sender account will be assigned the default quota, which currently corresponds to approximately 200,000 messages per day. If the default quota is not sufficient for your purposes, please see http://code.google.com/android/c2dm/quotas.html.
android.senderPassword provider String Mandatory Valid password of registered account The password for the specified mail account.
android.senderAccountType provider String Mandatory Not null, may be empty Specified when initializing a C2DM push service.
android.source provider String Mandatory Not empty Specified when initializing a C2DM push service.
android.ssl_trust_all provider Boolean Optional If included and true, indicates that any SSL certificate provided during an establishing HTTPS connection to https://www.google.com/accounts/ClientLogin and https://android.apis.google.com/c2dm/send addresses are considered valid, regardless of their presence in keystore/truststore used by environment. Default value: false.

Please note that setting this option to true is not recommended. It is preferred behavior to configure the security system so that only received certificates are permitted.

android.delayWhileIdle OS-formatting Boolean Optional If included and true, indicates that the message should not be sent immediately if the device is idle. The server will wait for the device to become active (only the last message will be delivered to device when it becomes active). Default, or unspecified, value: false.
android.collapseKey OS-formatting String Mandatory Not empty An arbitrary string that is used to collapse a group of like messages when the device is offline, so that only the last message gets sent to the client. This is intended to avoid sending too many messages to the phone when it comes back online. Note that since there is no guarantee regarding the order in which messages are sent, the "last" message in this case may not actually be the last message sent by the application server.
android.unavailability_retry_timeout provider Integer Optional Any Positive Integer This parameter specifies the default timeout (in seconds) to wait before Google C2DM service can be accessed again if the request returned the 503 code (Service unavailable). Note that this value is ignored if the 503 response from Google contains valid Retry-After header. The default value, used if a value is not specified or is incorrect, is 120.
android.gcm.apiKey provider String Mandatory Not empty Valid Google API Key. See Google CDM description. Please see http://developer.android.com/guide/google/gcm/gs.html
android.gcm.retryNumber provider Integer Optional
Retry attempts (in case the GCM servers are unavailable).
localizationFileLocation provider String Optional
Location of the file containing the list of localized messages. Please see Localization File.
Important.png Note: Please note that the number of C2DM messages being sent is limited. For details, refer to http://code.google.com/android/c2dm/quotas.html.

Each provider can contain 2 channels for message sending - production and debug for each target type. The provider-affiliated options enlisted above describe the production channel. For each provider-related option <option-name> the sibling option can be provided with name debug.<option-name>. Such options will describe the provider-specific configuration of debug channel for corresponding target type. The debug channel will be enabled for enabled target type only if all mandatory options will be specified for debug channel. The OS-message formatting options do not have production-debug differentiation.

push.provider.providername Section

It is possible to create providers by adding push.provider.providername sections which contain the appropriate credential configuration options that are associated with a given provider. This allows you to control and isolate notifications and events between a given provider and the associated services/applications that are using it. This type of provider name section can only contain provider-related options (as listed in push section). All providers are isolated - if the option is not specified in provider's section, then it is not specified. If a mandatory option is missing then the corresponding target type will not be enabled, even if that type is present in the pushEnabled option. Please note that we have the following restriction on providername: it may only contain alphanumeric characters, the underscore (_), and the minus sign (-).

push.provider.event Section

You can define the event definitions associated across providers by adding your push.provider.event section, and then setting the appropriate OS-specific attribute options within. This will allow you to add OS-specific attributes to a published event message that is going to any provider’s push notification system. This section can contain OS formatting-related options. All other options will be ignored. For more information about providers and OS-specific message formatting refer to Genesys Mobile Services Push Notification Service.

push.provider.event.eventname Section

You can define the event definitions associated across providers by adding a custom push.provider.event.eventname section, and then setting the appropriate OS-specific attribute options within. This will allow you add OS-specific attributes to a published event message that is going to a specific channel for given group of events tags. This section can contain OS formatting-related options. All other options will be ignored. For more information about providers and OS-specific message formatting refer to Genesys Mobile Services Push Notification Service.

push.provider.providername.event.eventname Section

You can define the event definitions associated with given provider by adding your push.provider.providername.event.eventname section, and then setting the appropriate OS-specific attribute options within. This will allow you add OS-specific attributes to a published event message that is going to a specific provider and channel for given group of events tags. This section can contain OS formatting-related options. All other options will be ignored. For more information about providers and OS-specific message formatting refer to Genesys Mobile Services Push Notification Service.

resources Section

Changes take effect: Immediately.

Option name Option type Default value Restriction on value Description
resources_list_name String GMS_Resources Mandatory Name of the Strategy configuration object (of type List) which holds configuration details of resources and resource groups.
user_control String false If not present, the default value is used. This option enables GMS to control resource access based on gms_user header passed in the GMS request. Option is dynamic.
List Object Options: Each section in the Annex is a group that should have distinct list options specified.
_allocation_strategy String RANDOM Should correspond to one of the supported allocation strategies. Otherwise the default strategy will be used. Supported strategies:
  • Random - Allocate a randomly selected resource from the group. No reservations or locks are made, so the same resource can be selected by different users at the same time.
  • Local - A resource is allocated from the group and reserved/locked, so that only one user can hold it at the time. For the resource to return to the group it should be released either by the corresponding API call or by a timeout.
  • Cluster - A resource is allocated from the group and reserved/locked through the GSG cluster, so that only one user can hold it at the time. For the resource to return to the group it should be released either by the corresponding API call or by a timeout.
_booking_expiration_timeout Integer 30 Valid integer (seconds) Determines the maximum amount of time, in seconds, that a resource may be allocated. If the resource is not released before this time limit elapses, it is automatically returned to the pool of available resources. This option is used with the LOCAL and CLUSTER allocation strategies.
_backup_resource String Existing resource The resource returned if there are no regular resources available. This option is used with the LOCAL and CLUSTER allocation strategies.
List Entries
All keys not starting with # or _ String The value is put into the pool of resources. The option name may be anything (since that value is not currently used).

The following screenshot shows an example of an application object configured in Configuration Manager.

Gsg list.png

Example

[Dnis_Pool]
_allocation_strategy = LOCAL
_booking_expiration_timeout = 20
dnis1 = 1-888-call-me1
dnis2 = 1-888-call-me2
dnis3 = 1-888-call-me3

Note: For testing purposes, Genesys recommends that you include at least three numbers in the pool. If only a single number is defined in the pool, when the API call is made, that number is allocated for 30 seconds (default). If another API call is made before the number is returned to the pool, an error will occur. Alternatively, if using a single number, use _allocation_strategy = RANDOM.

server Section

Changes take effect: Immediately.

Option name Option type Default value Restriction on value Description
access_code_prefix Integer Optional This value is a range of access_code; the value must be unique for each GMS node accross the cluster. GMS will randomly choose within this range the access_code_prefix that it will associate as the prefix for access_code. If the option is not present, GMS will use the nodeId value instead. An example range is 455,456-458 where the prefix can be 455, 456, 457, or 458.
external_url_base String Optional Specifies the external url used by the Storage Service to allow the retrieval of a binary attachment. This is useful in the case of a Load Balancer deployment. The valid value is http://<web_host>:<web_port>/, where web_host is used by the cluster service to identify a node; and where web_port is used by the cluster service to identify a node. The web_port value must be the same as the GMS port described in the jetty configuration file, otherwise an alarm will be displayed in Solution Control Interface (SCI) and GMS will stop.
node_id Integer Mandatory, two-digit number Specifies a two-digit number that should be unique in the Genesys Mobile Services deployment. It is used in the generation of DTMF access tokens.
dateFormat String Optional The string used to format dates. Syntax of the string should meet the expectations of java class java.text.SimpleDateFormat. See Simple Date Format for details.
Cluster Service options
web_host String result of InetAddress.getLocalHost() Optional, valid host name InetAddress.getLocalHost() is not only default value, it is the value that will be used in the most cases. This configuration value is used in cases when there are problems obtaining local name.
web_port Integer 80 Optional, valid TCP port Use this option to set a different port than the port that GMS uses (Note: GMS uses port 8080, which can be changed in the jetty.xml file). This option can be used in the case of proxy (role of the customer to forward requests). At startup, GMS checks that a GMS is available on the port specified in web_port. If a GMS is not available, the web_port option alarm (EventId 2002) is thrown.
app_name String gsg_web Optional, valid http path Web application "context" path.

service.servicename Section

You can create customized services by adding your service.servicename section, and then setting the appropriate options within.

Option name Option type Default value Restriction on value Description
_type String Mandatory
  • For Genesys Mobile Services-based services: builtin
  • For Orchestration Server-based services: ors
_service String Mandatory
  • For Genesys Mobile Services-based services: The name of the matching service.
  • For Orchestration Server-based services: The URL of the service's SCXML application.
_ors String Optional Note: Only used for Orchestration Server-based services.

The URI of the ORS instance or load balancer for this service, allowing different ORS clusters to be used by a single Genesys Mobile Services deployment. Overrides any ORS connections, if they are present. Should be used to direct Genesys Mobile Services to a load balancer that is located in front of multiple ORS instances. This option is specific to each service. If not present, Genesys Mobile Services will use the ORS instance defined in the Application object during installation.

Only the base URL needs to be specified. Genesys Mobile Services will use the standard URL path to start ORS session and pass events. Example:
http://<host>:<port>
_booking_expiration_timeout Integer
Optional

Valid values: Lower limit is 5 seconds and upper limit is 1800 seconds (30 minutes).

This option is specific to the service.request-interaction and service.request-access services, and applies only to LOCAL and CLUSTER allocation strategies.

This option allows you to set a different value per service for the booking expiration timeout. This value can also be passed through the request-access URI parameter. Note that the value passed through the request-access URI parameter will override the value in the service section.

_return_pool_health Boolean
Optional

Valid values: true/false

This option is specific to the service.request-interaction and service.request-access services, and applies only to LOCAL and CLUSTER allocation strategies.

This option allows you to return metrics about pool health used to allocate the resource.

_agent_timeout_notification_message String Optional

Customer is not online

This option is specific to Chat services using an auto-push notification solution. This option specifies the message that will be sent to the agent in a chat session when the customer is not online but the session is still alive. CometD channel is not working and a new message arrives from Agent.
_client_timeout_notification_message String Optional

New message from Agent

This option is specific to Chat services using an auto-push notification solution. This option specifies the message that will be sent to the customer as a notification on the device specified at subscription time. This message will be sent when the customer chat session, which is still alive, is not running as an active application (CometD is not working) and the agent is sending a message.

The subscription Id that is retrieved from the GMS subscription request must be set as a parameter of the invoked chat service (parameter key: 'subscriptionID') to be able to receive auto push chat notification.

_mandatory_customer_lookup_keys String _customer_number Mandatory This option is specific to the Callback services.

The value is a list of mandatory customer lookup keys that must be in the Callback schedule request. If a lookup key is missing the schedule request, it is rejected with an invalid option message and an HTTP Bad Request error code. By default, the value is _customer_number.

Example 1:

Options:

  • _customer_lookup_keys is empty.
  • _mandatory_customer_lookup_keys is empty.

Result: The default value for both options is _customer_number.

Example 2:

Options:

  • _customer_lookup_keys = "_customer_number,_email_address"
  • _mandatory_customer_lookup_keys = "_customer_number"

Result: The mandatory value in the request is _customer_number, however, you can also search by the _email_address value.

Note: _customer_lookup_keys (for lookup) is a superset of (⊇) _mandatory_customer_lookup_keys

(Introduced in 8.5.006.09)

Additional options vary depending on the type of service being created. For more information, refer to documentation for the corresponding service in the Genesys Mobile Services API Reference.

port_restrictions Section

See Restricting Ports for information about these configuration options. Changes in this section require an update to the jetty.xml file on all GMS nodes, and then restarting GMS.

This page was last edited on November 24, 2017, at 09:50.
Comments or questions about this documentation? Contact us for support!