Contents
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.
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. |
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:
|
_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.
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 |
| |
_service | String | Mandatory |
| |
_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.