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

gms Section

Changes take effect: Immediately.

Option name Option type Default value Restriction on value Description
http.connection_timeout Integer 10 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 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 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 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 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.

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
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, only following push types are supported: android and/or ios and/or httpcb and/or orscb. 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.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 pushEnalbled 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

server Section

Changes take effect: Immediately.

Option name Option type Default value Restriction on value Description
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 http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html for details.
Cluster Service options
web_host String result of InetAddress.getLocalHost() Optional, valid host name InetAddress.getLocalHost() is not only default value, it's the value which 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 Server port listened for Rest API calls.
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.

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.

This page was last modified on October 18, 2013, at 11:04.

Feedback

Comment on this article:

blog comments powered by Disqus