4 Configuration

Overview

Introduction

This chapter explains how to configure the Oracle Communications Convergent Charging Controller application.

Configuration Overview

Introduction

This topic provides a high level overview of how the Oracle Communications Convergent Charging Controller Data Access Pack (DAP) component is configured.

Configuration components

DAP is configured by the following components:

Component Locations Description Further Information
eserv.config All SLC machines The DAP is configured in the DAP section of the eserv.config file. eserv.config Configuration
SLEE.cfg All SLC machines This configures how the SLEE runs and manages dapIF . SLEE configuration must include the DAP.

Startup

SLEE Technical Guide

acs.conf All SLC machines The ACS framework must be configured to accept DAP calls. ACS Technical Guide
SMF database SMS Statistics, profile block and EFM alarms configuration for DAP. Configured automatically when lcaSms is installed. Statistics
DAP screens SMS The Resources screen configures ASP and DAP template records in SMF Resources
ACS control plans SMS Specific control plans must be developed to handle DAP requests successfully. CPE User's Guide

eserv.config Configuration

Introduction

The eserv.config file is a shared configuration file, from which many Oracle Communications Convergent Charging Controller applications read their configuration. Each Convergent Charging Controller machine (SMS, SLC, and VWS) has its own version of this configuration file, containing configuration relevant to that machine. The eserv.config file contains different sections; each application reads the sections of the file that contains data relevant to it.

The eserv.config file is located in the /IN/service_packages/ directory.

The eserv.config file format uses hierarchical groupings, and most applications make use of this to divide the options into logical groupings.

Configuration File Format

To organize the configuration data within the eserv.config file, some sections are nested within other sections. Configuration details are opened and closed using either { } or [ ].

  • Groups of parameters are enclosed with curly brackets – { }
  • An array of parameters is enclosed in square brackets – [ ]
  • Comments are prefaced with a # at the beginning of the line

To list things within a group or an array, elements must be separated by at least one comma or at least one line break. Any of the following formats can be used, as in this example:

{ name="route6", id = 3, prefixes = [ "00000148", "0000473"]
}{ name="route7", id = 4, prefixes = [ "000001049" ] }

or

{ name="route6"id = 3prefixes = [ "00000148""0000473" ] }{
name="route7"id = 4prefixes = [ "000001049" ] }

or

{ name="route6"id = 3prefixes = [ "00000148", "0000473" ] }{
name="route7", id = 4prefixes = [ "000001049" ] }

eserv.config Files Delivered

Most applications come with an example eserv.config configuration in a file called eserv.config.example in the root of the application directory, for example, /IN/service_packages/eserv.config.example.

Editing the File

Open the configuration file on your system using a standard text editor. Do not use text editors, such as Microsoft Word, that attach control characters. These can be, for example, Microsoft DOS or Windows line termination characters (for example, ^M), which are not visible to the user, at the end of each row. This causes file errors when the application tries to read the configuration file.

Always keep a backup of your file before making any changes to it. This ensures you have a working copy to which you can return.

Loading eserv.config Changes

If you change the configuration file, you must restart the appropriate parts of the service to enable the new options to take effect.

DAP eserv.config configuration

Introduction

The DAP eserv.config file example is installed by dapSms, dapScp and dapExtras in /IN/services_packages/DAP/etc.

The eserv.config file and DAP section is required on all nodes running a DAP client capable of sending DAP requests.

Example eserv.config DAP Section

Here is an example of the DAP section of the eserv.config.

DAP = {Mapping = [# XML protocol{Protocol =
"H"InterfaceHandle = "dapIF"}# SOAP protocol{Protocol =
"S"InterfaceHandle = "dapIF"}# HPSA protocol{Protocol =
"A"InterfaceHandle = "dapIF"}# PIXML protocol{Protocol =
"P"InterfaceHandle = "dapIF"}# LDAP protocol{Protocol =
"L"InterfaceHandle = "ldapIF"}]templates = [{id = 83prefix =
"xmlData="soapAction="PaymentService#OTPPayment"sendHeaderTag=false}]allowEmptyProfileValues
= falseallowINSECURESSLv3 = falseallowLegacyServerConnect =
falseallowBugWorkArounds = falseconcatenate = falselistenHost =
""listenPort = 4099connectionTimeout = 0disableTLS1_1 =
falsecorrelationTagName = "CORRELATE"uncorrelatedRequestDir =
"/IN/service_packages/DAP/tmp/"responseTagName =
"CORRELATE"hostnameInPost = truetimestampTagName =
"TIMESTAMP"DateTimeFormat = "YYYY-MM-DDThh:mm:ss"sqlUseBusyHandler
= truesqlBusyWaitInteval = 20sqlBusyRetryCount = 20PollInterval =
500 PollCount = 100PollServiceCounter = 2cacheAgeSeconds =
60maxRetries = 0 retryTimeout = 10 sessionTimeout =
86400

setNullInEmptyOptRespPT = true pendingFilename = "/IN/service_packages/DAP/tmp/pendingRequests.db"pendingQueueInMemory = falsenonBlockingConnections = truepersistentConnections = falsepersistentConnectionCheckTimeout = 0maxQueueLength=500maxQueueCheckTimeout=100enableRetries=trueappendCRLFAfterBody=truediscardPendingQueueRequestsAfterSeconds = 60timedConnectTimeout = 1certificatePath = "/IN/service_packages/DAP/certificates/"certificatesName = "CAfile.pem"cipherList = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-CBC-SHA256:ECDHE-RSA-AES256-CBC-SHA384:DHE-RSA-AES128-CBC-SHA256:DHE-RSA-AES256-CBC-SHA256:ECDH-RSA-AES128-GCM-SHA256:ECDH-RSA-AES256-GCM-SHA384:RSA-AES128-GCM-SHA256:RSA-AES256-GCM-SHA384:DH-RSA-AES128-GCM-SHA256:DH-RSA-AES256-GCM-SHA384:ECDH-RSA-AES128-CBC-SHA256:ECDH-RSA-AES256-CBC-SHA384:RSA-AES128-CBC-SHA256:RSA-AES256-CBC-SHA256:DH-RSA-AES128-CBC-SHA256:DH-RSA-AES256-CBC-SHA256"clientCertificateFile="client.pem"openSSLPath = "/usr/sfw/bin"sendRequestDateFormat = "%Y-%m-%d"sendRequestDateTZ = "US/Eastern"prefixTagName = "CUSTOM_PREFIX"suffixTagName = "CUSTOM_SUFFIX"connectionFailureRetryTime = 10soapHeaderOverride = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\" ?><soapenv:Envelope xmlns:soapenv=\"http://schems.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" <soapenv:Header/><soapenv:Body>"useTemplateSOAPTags = falsetracing = { enabled = truetemplates = [ {id = 83msisdnParam = "$msisdn"msisdns = ["1234565"]}]} }

DAP parameters

DAP accepts the following eserv.config parameters.

allowEmptyProfileValues
Syntax: allowEmptyProfileValues = true|false
Description: Whether or not the Send Request feature node should treat an empty or missing profile value as a failure. By default the Send Request feature node treats empty or missing profile values as a failure. Set to true to allow empty or missing values.
Type: Boolean
Optionality: Optional (default used if not set)
Allowed: true or false
Default: false
Notes:  
Example: allowEmptyProfileValues = true
allowINSECURESSLv3
Syntax: allowINSECURESSLv3 = true|false
Description: Whether to allow use of SSLv3 in the SSL handshake for SSL enabled systems. For example, set this parameter to true for customers with an ASP that must use the SSLv3 protocol version. Use of SSLv3 and SSLv2 is disabled by default.
Type: Boolean
Optionality: Optional (default used if not set)
Allowed:
  • true – Use of SSLv3 protocol version enabled.
  • false – Use of SSLv3 protocol version disabled.
Default: false
Notes: The allowINSECURESSLv3 parameter can be set for the DAP, PI and OSD components. You should set allowINSECURESSLv3 to true if the ASP is able to use only SSLv3 protocol version. Otherwise set allowINSECURESSLv3 to false.
Example: allowINSECURESSLv3 = true
allowBugWorkArounds
Syntax: allowBugWorkArounds = true | false
Description: Whether or not dapIF supports bug workarounds to cope with faulty SSL implementations on the ASP.
Type: Boolean
Optionality: Optional (default used if not set)
Allowed:

true – Bug workarounds are supported

false – Bug workarounds are not supported

Default: false
Notes: Set this parameter to true only if it is required for dapIF to make successful SSL connections to an ASP.
Example: allowBugWorkArounds = true
allowLegacyServerConnect
Syntax: allowLegacyServerConnect = true | false
Description: Whether or not dapIF allows connections to legacy servers that do not support secure renegotiation.
Type: Boolean
Optionality: Optional (default used if not set)
Allowed:

true – Allows connections to legacy servers that do not support secure renegotiation.

false – Prohibits connections to legacy servers that do not support secure renegotiation.

Default: false
Notes: Set this parameter to true only if it is required for dapIF to make successful SSL connections to an ASP.
Example: allowLegacyServerConnect = true
appendCRLFAfterBody
Syntax: appendCRLFAfterBody = true|false
Description: Set to true to append "\r\n\" (carriage return, line feed) after sending the message body.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true or false
Default: true
Example: appendCRLFAfterBody = true
cacheAgeSeconds
Syntax: cacheAgeSeconds = seconds
Description: The number of seconds before the template cache expires.
Type: Integer
Optionality: Optional (default used if not set)
Allowed:  
Default: 60
Notes:  
Example: cacheAgeSeconds = 60
CARevocationListChecking
Syntax: CARevocationListChecking = true | false
Description: Controls whether DAP checks ASP certificates against Certificate Revocation Lists (CRLs). For more information, see Certificate Checking .
Type: Boolean
Optionality: Optional (default used if not set)
Allowed:
  • true – DAP checks ASP certificates against CRLs.
  • false – DAP does not verify ASP certificates against CRLs.
Default: false
Notes: You must perform additional steps to configure DAP to verify ASP certificates against CRLs. For more information, see Verifying ASP Certificates .
Example: CARevocationListChecking = true
certificatePath
Syntax: certificatePath = "dir"
Description:

The location of:

  • Server public certificates
  • Concatenated certificates file produced by dapReadyCertificates.sh
Type: String
Optionality: Optional (default used if not set)
Allowed:  
Default: /IN/service_packages/DAP/certificates
Notes:

The name of the file containing the concatenated certificates is defined by certificatesName . Any file in the certificatePath directory that does not have a filename matching certificatesName will be concatenated into the certificatesName file.

For an overview of how certificates are handled, see Certificate Management .

Example:
certificatePath =
"
/IN/service_packages/DAP/certificates "
certificatesName
Syntax: certificatesName = "file"
Description: The name of the file containing the concatenated servers' public certificates produced by dapReadyCertificates.sh .
Type: String
Optionality: Optional (default used if not set)
Allowed:  
Default: CAfile.pem
Notes:

The directory location for the dapReadyCertificates.sh file is configured in the certificatePath parameter.

For an overview of how certificates are handled, see Certificate Management .

Example:
certificatesName =
"
CAfile.pem "
cipherList
Syntax: cipherList = "string"
Description: Specifies the ciphers allowed to be used for SSL. It is a list of one or more cipher names separated by colons.
Type: String
Optionality: Optional (default used if not set)
Allowed: May always be specified
Default:

Default cipher list used is (Oracle product security recommended):

"ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-CBC-SHA256:ECDHE-RSA-AES256-CBC-SHA384:DHE-RSA-AES128-CBC-SHA256:DHE-RSA-AES256-CBC-SHA256:ECDH-RSA-AES128-GCM-SHA256:ECDH-RSA-AES256-GCM-SHA384:RSA-AES128-GCM-SHA256:RSA-AES256-GCM-SHA384:DH-RSA-AES128-GCM-SHA256:DH-RSA-AES256-GCM-SHA384:ECDH-RSA-AES128-CBC-SHA256:ECDH-RSA-AES256-CBC-SHA384:RSA-AES128-CBC-SHA256:RSA-AES256-CBC-SHA256:DH-RSA-AES128-CBC-SHA256:DH-RSA-AES256-CBC-SHA256"
Notes:

The cipher that is actually used is the result of the SSL handshake negotiation with the ASP. For the handshake to be successful, both DAP and the ASP must have a common cipher in the list DAP offers (set by cipherList) and the list the ASP supports (controlled by the ASP configuration). You can obtain the list of available ciphers for an OpenSSL installation by running the openssl ciphers command.

Oracle recommends choosing the most secure cipher that the ASP supports.

Example:
cipherList =
"ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384"
clientCertificateFile
Syntax:
clientCertificateFile =
"
client_file "
Description: The name of the file that contains the ASP-provided X.509 client certificate on the SLC. The DAP uses the specified file for SSL client authentication of dapIF on the ASP. If clientCertificateFile is not defined in eserv.config, then client certificates are not used for SSL client authentication. You configure the directory location of the certificate file in the certificatePath parameter.
Type: String
Optionality: Optional
Allowed: A valid SSL client certificate filename.
Default: Not set
Notes:

Use the certificatesName parameter when configuring the filename for non-SSL client certificates.

For an overview of how certificates are handled, see Certificate Management .

Example: clientCertificateFile = "client.pem"
concatenate
Syntax: concatenate = true|false
Description: Whether to concatenate the body of the XML requests.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: false
Notes:  
Example: concatenate = false
connectionFailureRetryTime
Syntax: connectionFailureRetryTime = seconds
Description: How long to wait in seconds between connection attempts after a failed connection attempt.
Type: Integer
Optionality: Optional (default used if missing)
Allowed:  
Default: 10
Notes:  
Example: connectionFailureRetryTime = 20
connectionTimeout
Syntax: connectionTimeout = mseconds
Description: The number of milliseconds before a connection to an ASP times out.
Type: Integer
Optionality: Optional (default used if not set).
Allowed:  
Default: 0 (wait indefinitely)
Notes: Can be overridden by the timeout for correlation objects.
Example: connectionTimeout = 0
correlationTagName
Syntax: correlationTagName = "name"
Description: The correlation tag in the XML messages.
Type: String
Optionality: Optional (default used if not set)
Allowed:  
Default: "CORRELATE"
Notes: For more information about correlation, see Correlation .
Example: correlationTagName = "CORRELATE"
DateTimeFormat
Syntax: DateTimeFormat = "dateformat"
Description: Indicates the format for date variables sent in a DAP notification where the parameter value has been read from a DATE type profile field.
Type: String
Optionality: Optional
Allowed:

"YYYY-MM-DDThh:mm:ss"

"YYYY-MM-DDThh:mm:ssZ"

"-YYYY-MM-DDThh:mm:ss"

"YYYYMMDDThhmmss"

Default: YYYYMMDDThhmmss
Notes:  
Example: DateTimeFormat = "YYYYMMDDThhmmss"
disableTLS1_1
Syntax: disableTLS1_1 = true|false
Description: Sets whether or not TLS (Transport Layer Security) 1.1 is enabled or disabled in the SSL context options when dapIF connects. Disable TLS 1.1 for connections to ASPs that do not support TLS 1.1 or that do not fully support SSL secure renegotiation.
Type: Boolean
Optionality: Optional (default used if not set)
Allowed:

false (TLS 1.1 is enabled)

true (TLS 1.1 is disabled)

Default: false
Notes: Setting disableTLS1_1 to true also disables use of TLS 1.2. Because of the way OpenSSL works, if there is an available lower version, such as TLS 1.0 (which is always enabled), disabling a higher version also disables the version above that one. Because of this behavior, do not set disableTLS1_1 to true if TLS 1.2 is supported by the ASP and can be negotiated.
Example: disableTLS1_1 = true
discardPendingQueueRequestsAfterSeconds
Syntax: discardPendingQueueRequestsAfterSeconds = value
Description:

The number of seconds which the DAP request will be retried for before it is discarded.

Using this parameter, DAP is configured to discard requests after a certain period of time if the destination ASP cannot be reached.

Type: Integer
Optionality: Optional (default used if not set)
Allowed:  
Default: -1 (no global discarding of old DAP requests)
Notes: Discard if Not Sent After (sec) field value if set will always take priority over discardPendingQueueRequestsAfterSeconds parameter.
Example: discardPendingQueueRequestsAfterSeconds = 60
enableRetries
Syntax: enableRetries = true|false
Description: Sets if DAP will attempt to resend failed requests
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: true
Notes:  
Example: enableRetries = true
hostnameInPost
Syntax: hostnameInPost = true|false
Description: Include the full or shortened version of destination in the POST command in requests.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: true
Notes:  
Example: hostnameInPost = true
listenHost
Syntax: listenHost = "host"
Description: Specifies the host name to put in the outgoing clientUrl HTTP header.
Type: String
Optionality: listenHost and listenPort are both required if the ASP returns parameters in a separate request.
Allowed:  
Default: "" (none)
Notes:  
Example: listenHost = ""
listenPort
Syntax: listenPort = port
Description: Specifies the port to put in the outgoing clientUrl HTTP header.
Type: Integer
Optionality: listenHost and listenPort are both required if the ASP returns parameters in a separate request.
Allowed:  
Default: 4099
Notes:

This allows for the situation when the ASP initiates requests to the XML Interface.

For more information about message flows, see Message flow .

Example: listenPort = 4099
Mapping

Mapping between protocols and SLEE interface handles. Refer to Mapping parameters .

maxQueueCheckTimeout
Syntax: maxQueueCheckTimeout = seconds
Description: The number of seconds between each diagnostic check of the pending queue size for each ASP.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: A valid number
Default: 100
Notes: A warning will be logged if an ASP queue size is larger than the value specified for maxQueueLength.
Example: maxQueueCheckTimeout = 100
maxQueueLength
Syntax: maxQueueLength = size
Description: The maximum size for the message queue. When set to greater than zero, any new requests to an ASP will be rejected if the request queue size for the ASP exceeds the defined value.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: A valid number
Default: 500
Notes: A warning will be logged if an ASP queue size is larger than maxQueueLength.
Example: maxQueueLength = 500
maxRetries
Syntax: maxRetries = number
Description: If a COMMAND_ACK is not received following a request, maxRetries defines the number of subsequent requests to attempt before expiring the request.
Type: Integer
Optionality: Optional (default used if not set)
Allowed:  
Default: 0
Notes: This parameter applies only to HPSA.
Example: maxRetries = 0
nonBlockingConnections
Syntax: nonBlockingConnections = true|false
Description: Specifies whether or not to use non-blocking sockets for connections to ASPs.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: true
Notes:  
Example: nonBlockingConnections = false
openSSLPath
Syntax: openSSLPath = "path"
Description: The location of openssl . openssl is used by dapReadyCertificates.sh to concatenate and rehash certificate files to create fast lookup tables for DAP certificates.
Type: String
Optionality: Optional (default used if not set)
Allowed:  
Default: /usr/sfw/bin
Notes:  
Example: openSSLPath = "/usr/sfw/bin"
pendingFilename
Syntax:
pendingFilename =
"
path/file"
Description: Location in which to store pending requests in the event that redelivery is required.
Type: String
Optionality: Optional (default used if not set)
Allowed:  
Default: /IN/service_packages/DAP/tmp/pendingRequests.db
Notes:

The pendingRequests file contains one line per message in the format:

<msg_id>::<asp_url>::<port>::<protocol>::<timeout>::<xml>::[return_parameter_name::]+
Example:
pendingFilename =
"/IN/service_packages/DAP/tmp/pendingRequests.db"
pendingQueueInMemory
Syntax: pendingQueueInMemory = true|false
Description: Sets whether or not to boost performance by holding the queue of pending DAP requests in non-persistent memory.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: false
Notes: When set to true, then no persistent records are stored in the location defined in the pendingFilename parameter.
Example: pendingQueueInMemory = true
persistentConnections
Syntax: persistentConnections = true|false
Description: Specifies whether the primary connection to an ASP will remain open, or persist, between requests.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: false
Notes: When set to true, secondary connections will persist.
Example: persistentConnections = true
persistentConnectionCheckTimeout
Syntax: persistentConnectionCheckTimeout = seconds
Description:

Specify whether to check persistent socket connection for closure before sending new request on it.

Value is number of seconds connection has been idle before check is to be performed. Zero value means no checking.

Type: Integer
Optionality: Optional (default used if not set).
Allowed:  
Default: 0
Notes:  
Example: persistentConnectionCheckTimeout = 0
PollCount
Syntax: PollCount = number
Description: Defines the number of zero wait polls to perform during idle periods, after which the PollInterval timeout is re-applied.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: A valid number
Default: 5000
Notes: Enables tight polling in periods of high traffic
Example: PollCount = 2000
pollIdleFDs
Syntax: pollIdleFDs = true|false
Description: Specifies whether to poll idle ASP connections. Idle connections are those which are not currently being used by DAP requests.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: false
Notes: When set to true, DAP will add idle connections to the fd set for polling. Once it is added, the closure of the connection gets detected. This will prevent loss of DAP request in case connection is already closed by ASP.
Example: pollIdleFDs = true
PollInterval
Syntax: PollInterval = mseconds
Description: Number of milliseconds that dapIF will sleep before processing SLEE events.
Type:  
Optionality: Optional (default used if not set)
Allowed:  
Default: 500
Notes:  
Example: PollInterval = 500
pollServiceCounter
Syntax: PollServiceCounter = number
Description: Defines when to process backlogged requests during idle periods. DAP waits the specified number of idle polls before checking for pending timeout requests.
Type: Integer
Optionality: Optional (default used if not set)
Allowed: Positive integer
Default: 2
Notes:  
Example: PollServiceCounter = 2
prefixTagName
Syntax: prefixTagName = "name"
Description: Identifies the tag encapsulating the custom prefix text.
Type: String
Optionality: Optional
Allowed:  
Default: Not set
Notes: The tag itself is discarded before sending.
Example: prefixTagName = "CUSTOM_PREFIX"
responseTagName
Syntax: responseTagName = "name"
Description: The name of the expected correlation tag in the XML response.
Type: String
Optionality: Optional (default used if not set).
Allowed: A valid correlation tag name.
Default: correlationTagName value
Notes: If not set, then the value specified for the correlationTagName parameter will be used.
Example: responseTagName = "CORRELATE"
retryTimeout
Syntax: retryTimeout = seconds
Description: After a request is issued, this defines the time to wait for a COMMAND_ACK before it attempting a new request.
Type: Integer
Optionality: Optional (default used if not set)
Allowed:  
Default: 10
Notes: This parameter applies only to HPSA.
Example: retryTimeout = 10
sendRequestDateFormat
Syntax:
sendRequestDateFormat =
"
dateformat"
Description: Indicates the date format to use for the
System
date
(formatted) option while setting variables.
Type: Date
Optionality: Optional (default used if not set).
Allowed:  
Default: "%Y-%m-%d"
Notes:  
Example: sendRequestDateFormat = "%Y-%m-%d"
sendRequestDateTZ
Syntax: sendRequestDateTZ = "name"
Description: Alternative timezone abbreviation when using the 'System date (formatted)' ("<fdt>") option. This calculates the <fdt> date from the specified timezone.
Type: String
Optionality: Optional (default used if not set).
Allowed:  
Default: GMT, Convergent Charging Controller default TZ for SLC; otherwise the default system TZ
Notes:  
Example: sendRequestDateTZ = "US/Eastern"
sendXRequestID
Syntax: sendXRequestID = true|false
Description: This parameter decide whether to send X-Request-Id in header. The value false indicates that the feature is disabled.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: false
Notes:  
Example: sendXRequestID = true
sendXSrcSysID
Syntax: sendXSrcSysID = id
Description: This parameter holds the string value that needs to be sent in X-Source-System-Id. If value is not configured, X-Source-System-Id will not be sent.
Type: String
Optionality: Optional (default used if not set).
Allowed:  
Default:  
Notes:  
Example: sendXSrcSysID = abc1234
sessionTimeout
Syntax: sessionTimeout = seconds
Description: The number of seconds to negotiate an open SSL session with a remote server before it is reset by the server
Type: Integer
Optionality: Optional (default used if not set).
Allowed:  
Default: 86400 (24 hours)
Notes:  
Example: sessionTimeout = 86400
setNullInEmptyOptRespPT
Syntax: setNullInEmptyOptRespPT = true|false
Description:

This parameter decides how DAP Node will treat the optional response parameter profile tag values, when they are not returned from ASP.

  • true: Set the profile tag corresponding to the response parameter, to NULL.
  • false: Don't set the profile tag corresponding to the response parameter as NULL. Leave the existing value in the profile tag, as it is.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: true
Notes:  
Example: setNullInEmptyOptRespPT = true
sqlBusyRetryCount
Syntax: sqlBusyRetryCount = Num
Description: The maximum number of 10 millisecond waits that the SQL busy handler attempts when a database query or update returns a BUSY status. To use this parameter, the sqlUseBusyHandler parameter must be set to true.
Type: Integer
Optionality: Optional (default used if not set)
Allowed: Integer from 1 through 50
Default: 20
Notes: The database controls whether or not it calls the SQL busy handler.
Example: sqlBusyRetryCount = 20
sqlBusyWaitInterval
Syntax: sqlBusyWaitInterval = Num
Description:

When a database query or update returns a BUSY status, this parameter specifies the amount of time to wait (in milliseconds) before stopping the database query or update. There is a delay of 1 millisecond between each query or update, repeating up to the specified value in sqlBusyWaitInterval.

This parameter is used when one of the following is true:

  • The SQL busy handler is in lock contention
  • The sqlUseBusyHandler parameter is set to false.
Type: Integer
Optionality: Optional (default used if not set)
Allowed: An integer from 0 through 100
Default: 20
Notes:  
Example: sqlBusyWaitInterval = 20
sqlUseBusyHandler
Syntax: sqlUseBusyHandler = true|false
Description: Specifies whether to call the SQL busy handler or to wait a specified amount of time after a database query or update returns a BUSY status.
Type: Boolean
Optionality: Optional (default used if not set)
Allowed:

true – Calls the SQL busy handler when a database query or update returns a BUSY status. Use the sqlBusyRetryCount parameter to specify the maximum number of waits before stopping the query or update.

false – Waits a specified amount of time when a database query or update returns a BUSY status. Use the sqlBusyWaitInterval parameter to specify the maximum amount of time to wait before stopping the query or update.

Default: true
Notes:  
Example: sqlUseBusyHandler = true
soapHeaderOverride
Syntax:
soapHeaderOverride = "<?xml
version=\"
version\" encoding=\"encoding
\"
standalone=\"
yes|no
\"
?><soapenv:Envelope xmlns:soapenv=\"
url
\"
xmlns:xsd=\"
url
/XMLSchema\"
xmlns:xsi=\"
url
/XMLSchema-instance\"
<soapenv:Header/><soapenv:Body>"
Description: Override the standard XML and SOAP header tags.
Type: String
Optionality: Optional
Allowed:  
Default: Not used
Notes:

Applies to SOAP only.

Note this does not affect the close tags </soapenv:Body></soapenv:Envelope>, which will still be added by DAP.

Example:
soapHeaderOverride = "<?xml version=\"1.0\"
encoding=\"ISO-8859-1\" standalone=\"no\" ?><soapenv:Envelope
xmlns:soapenv=\"http://schems.xmlsoap.org/soap/envelope/\"
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
<soapenv:Header/><soapenv:Body>"
suffixTagName
Syntax: suffixTagName = "name"
Description: Identifies the tag encapsulating the custom suffix text.
Type: String
Optionality: Optional
Allowed:  
Default: Not set
Notes: The tag itself is discarded before sending.
Example: suffixTagName = "CUSTOM_SUFFIX"
templates
Syntax: templates = [parameters]
Description: Allows overriding of certain values on a per template basis. See templates parameters .
Type: Array
Optionality:  
Allowed:  
Default:  
Notes: Not used by default.
Example:

templates = [

{

id = 83

prefix = "xmlData="

soapAction="PaymentService#OTPPayment"

sendHeaderTag=false

}

]

timedConnectTimeout
Syntax: timedConnectTimeout = seconds
Description: The number of seconds dapIF waits when connecting to an ASP. This connection timeout is for the Network layer connection (TCP/IP).
Type: Integer
Optionality: Optional (default used if not set)
Allowed: Integer
Default: 1
Notes:  
Example: timedConnectTimeout = 2
timestampTagName
Syntax: timestampTagName = "tag"
Description: Expected time stamp tag in the XML message.
Type: String
Optionality: Optional (default used if not set)
Allowed:  
Default: "TIMESTAMP"
Notes:  
Example: timestampTagName = "TIMESTAMP"
uncorrelatedRequestDir
Syntax: uncorrelatedRequestDir = "path"
Description: The ASPManager process writes to an uncorrelated log file at this path if it receives a correlated response for which it cannot find a matching correlated entry.
Type: String
Optionality: Optional (default used if not set).
Allowed:  
Default:  
Notes:  
Example:
uncorrelatedRequestDir =
"/IN/service_packages/DAP/tmp/"
useTemplateSOAPTags
Syntax: useTemplateSOAPTags = true|false
Description: Do not include any SOAP header tags in dapIF. Only use those from the template.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: false
Notes: The close tags (</soapenv:Body></soapenv:Envelope>) will be added if not already present at the end of the template.
Example: useTemplateSOAPTags = false
useDefaultAddress
Syntax: useDefaultAddress = true|false
Description: Specifies whether or not to populate SOAPAction field in message header with destination URL.
Type: Boolean
Optionality: Optional (default used if not set)
Allowed:

true - SOAPAction field will be populated with destination URL.

false - SOAPAction field will be empty.

Default: true
Notes:  
Example: useDefaultAddress = true

Mapping parameters

The following parameters are valid for the Mapping section of the DAP configuration.

InterfaceHandle
Syntax: InterfaceHandle = "Dap_Interface"
Description: Specifies which SLEE Interface to connect to.
Type: String
Optionality: Optional (default used if not set).
Allowed:

dapIF: single SLEE handle for the DAP Interface

["dapIF_1","dapIF_2",...] : list of multiple SLEE handles

Default: ""
Notes: This must be the SLEE Handle for the DAP Interface as defined in the SLEE config. Multiple SLEE handles can be defined in a list and requests will be load balanced between them.
Example: InterfaceHandle = "dapIF"
Protocol
Syntax: Protocol = "H|S|A|P|L"
Description: The protocol to be used between the SLEE interface and the external ASP.
Type: String
Optionality:  
Allowed:

H: XML

S: SOAP

A: HPSA

P: PIXML

L: LDAP

Default: -
Notes:

For XML and SOAP, the ASP configuration defines whether it is over HTTP or HTTPS. For more information about this configuration, see ASP tab fields (on page 2).

LDAP is only available if LDAP interface for DAP has been installed and configured. Refer to LDAP Interface for DAP Technical Guide for details.

Example: Protocol = "H"

templates parameters

The following parameters are valid for the templates section of the DAP configuration.

id
Syntax: id = id
Description: ID of the template ID to act on.
Type: Integer
Optionality: Optional
Allowed:  
Default:  
Notes:  
Example: id = 83
prefix
Syntax: prefix = "pref"
Description: The prefix to add in front of XML or SOAP
Type: String
Optionality: Optional
Allowed:  
Default: not added
Notes:  
Example: prefix = "xmlData="
sendHeaderTag
Syntax: sendHeaderTag=true|false
Description: Send the soapenv:Header tag
Type: Boolean
Optionality: Optional (default used if not set).
Allowed: true, false
Default: true
Notes: Only applicable for SOAP
Example: sendHeaderTag=false
soapAction
Syntax: soapAction="action"
Description: SOAP action to specify in the header
Type: String
Optionality: Optional
Allowed:  
Default: If not specified uses destination URL
Notes: Only applicable for SOAP
Example: soapAction="PaymentService#OTPPayment"

Tracing Configuration for Checking DAP Requests

The tracing configuration in the DAP section of the eserv.config configuration file enables optional trace output to be recorded in the DapTracing section of the DAP log file. The trace checks DAP requests and responses sent by dapIF for a specified list of MSISDNs or prefixes.

Note: To enable writing trace output to the DAP log file, you must also enable debug in the DAP log file. See Enabling DapTracing Debug for details.

The tracing configuration has the following syntax:

tracing = { enabled = true|falsetemplates = [ {id =
int msisdnParam = "$request_parameter"msisdns =
["msisdn_prefix"[,"msisdn_prefix"]]}]}

The tracing configuration supports the following parameters:

enabled
Syntax: enabled = true|false
Description: Enables or disables trace output in the DAP log file for the specified request or response templates, and MSISDNs.
Type: Boolean
Optionality: Optional (default used if not set)
Allowed: true or false
Default: false
Notes: The trace output is written to a special DapTracing debug section of the log file; therefore to enable trace output, DAP debug must also be enabled in the log file. See Enabling DapTracing Debug for details.
Example: enabled = true
templates
Syntax: templates = [templates_parameters]
Description: List of DAP template IDs and MSISDNs to trace.
Type: Array
Optionality: Required
Notes: A trace line is written to the DapTracing debug section in the DAP log file for each request or response that is processed for the specified templates.
Example:
templates = [ {id = 83 msisdnParam = "$msisdn"msisdns =
["123456"]}]
id
Syntax: id = int
Description: The ID of the template to trace.
Type: Integer
Optionality: Required
Allowed: A valid template ID
Example: id = 83
msisdnParam
Syntax: msisdnParam = "$request_parameter"
Description: The name of the request parameter to trace. You must specify a request parameter for a MSISDN value or MSISDN prefix value.
Type: String
Optionality: Required
Allowed: A valid request parameter
Default:  
Notes:  
Example: msisdnParam = "$msisdn"
msisdns
Syntax:
msisdns =
["
msisdn_prefix"[,"msisdn_prefix"]]
Description: The list of MSISDNs or MSISDN prefixes to trace. To trace all MSISDNs, specify an empty list.
Type: Array
Optionality: Required
Example: msisdns = ["1234356"]

Enabling DapTracing Debug

To enable writing DapTracing debug content to the DAP log file:

Step Action
1

On the SLC, open the /IN/service_packages/DAP/bin/dapIF.sh file by using a text editor.

The dapIF.sh file should contain the following lines:

# For a concise dapIF
debug#DEBUG=dapInterface,dapInterface_extraDetails,ASPManager,ASPConnection,DAPSecureConnection,ConfigFileImpl,Config,DapFileWriter,
DapTracing# For a verbose dapIF debug#DEBUG=dapInterface,dapInterface_extraDetails,ASPManager,ASPConnection,DAPSecureConnection,ConfigFileImpl,Config,DapFileWriter,DapReadWrite,DapPolling,DapTimeout, DapTracing export DEBUG
2

If the dapIF.sh file:

  • Already includes DEBUG lines, then enable debug output by removing the # character from the beginning of one of the DEBUG lines, and make sure the DapTracing option is included in the DEBUG line.
  • Does not include a DEBUG line, then add a DEBUG line that includes the debug options you want to enable, and make sure the DapTracing option is included in the DEBUG line.
3

After the DEBUG line, add the following line if it does not exist already:

export DEBUG
4 Save and close the dapIF.sh file.
5 Restart the SLEE on the SLC to load the updated dapIF.sh file.

About DAP Notifications

DAP Manager logs all or failed notifications for the predetermined time and predetermined size to the specified log directory for future processing.

The DAP notification configuration has the following syntax:
DAP = {NotificationsLog = {LogType =
"String"LogDirectory = "directory_path"LogFileNamePrefix =
"String"MaxAgeSeconds = SecondsMaxSizeEntries =
Integer}}

The DAP notification configuration contains the following parameters:

LogType
Syntax: LogType = "String"
Description: Indicates the log type for the DAP notification dapIF to log failed or all notifications.
Type: String
Allowed:

The following log types are allowed:

  • IGNORE: No logging
  • ERROR: Log failed notifications
  • ALL: Log all notifications
Default: IGNORE
Example: LogType = IGNORE
LogDirectory
Syntax: LogDirectory = "directory_path"
Description: Indicates the name of the notifications log directory to which the notification log entries are written.
Type: String
Allowed: Any existing directory path
Default: /IN/service_packages/DAP/tmp/notification-logs
Example:
LogDirectory =
"/IN/service_packages/DAP/tmp/notification-logs"
LogFileNamePrefix
Syntax: LogFileNamePRefix = "String"
Description:

Indicates the base name of the log files. The complete log file name will be appended with the start and stop times.

Example:dapNotifications_20150701081103-20150701081158

Type: String
Allowed: NA
Default: dapNotifications
Notes:  
Example: LogFileNamePrefix = "dapNotifications"
MaxAgeSeconds
Syntax: MaxAgeSeconds = Seconds
Description: Indicates the seconds the log entries are cached before they are written to the log file.
Type: Integer
Allowed: > or = 1
Default: 60
Notes:  
Example: MaxAgeSeconds = 60
MaxSizeEntries
Syntax: MaxSizeEntries = Integer
Description: Indicates maximum number of entries in the audit entry cache before the excess are written to the log file.
Type: Integer
Allowed: > or = 1
Default: 100
Notes:  
Example: MaxSizeEntries = 100

SLEE.cfg Configuration

Introduction

The SLEE.cfg file must be configured to enable the DAP to work. Because all necessary SLEE configuration is done at installation time by the configuration script, this section is for information only.

The SLEE configuration file is located at /IN/service_packages/SLEE/etc/SLEE.cfg.

Refer to SLEE Technical Guide for details on SLEE configuration.

DAP SLEE configuration

During installation, the following line will be added to the SLEE.cfg file:

INTERFACE=dapIF dapIF.sh /IN/service_packages/DAP/bin
EVENT

Usage:

INTERFACE=uniqueIdentifier interfaceName interfacePath
interfaceType [eventCount dialogCount]

Larger SLEE events

DAP requires that a pool of SLEE events of at least 3072 bytes is configured; for example:

MAXEVENTS=count 3072

Where count is the pool size.

For most efficient use of shared memory, a pool of SLEE events of 1024 bytes should also be configured, for example:

MAXEVENTS=count 1024

Configuration for Optimal Performance

Introduction

You can configure the DAP to optimize its performance. The optimal configuration settings will depend on the capabilities of the ASP.

HTTP version 1.1

If the ASP supports HTTP version 1.1 then the following configuration is required to optimize DAP performance. Set the DAP parameters:

  • nonBlockingConnections = false
  • persistentConnections = true

HTTP version 1.0

If the ASP supports HTTP version 1.0 then the following configuration is required to optimize DAP performance. Set the DAP parameter:

  • persistentConnections = false

Multiple instances

You can increase the speed of traffic through the DAP by using multiple instances of the DAP interface. The speed will increase by the maximum speed of a single DAP interface multiplied by the number of instances.

Multiple instances of the DAP interface can be started by adding more interface definitions to the DAP SLEE configuration. See SLEE.cfg Configuration for details.

Note: If you add more interfaces to SLEE.cfg, then you must configure the list of interface handles in the DAP section of eserv.config. See Mapping parameters for details.

General

You can increase the volume of traffic through the DAP interface by increasing the maximum secondary connections allowed to the ASP. For details, see ASP configuration .

DAP performance can also be improved by specifying the following configuration. Set the DAP parameters:

  • PollInterval = 10
  • PollCount = 5000
  • pendingQueueInMemory = true

For more information on configuring DAP parameters refer to DAP eserv.config configuration .

Warning: If pendingQueueInMemory is set to true then the pending queue will not be stored in persistent storage and therefore cannot be recovered following a failure and restart of the DAP process.

LDAP IF Configuration

This topic provides an overview of how the LDAP Interface for DAP is configured.

Configuration components

The LDAP interface for DAP is configured by the following mechanisms:

Component Locations Description Further Information
eserv.config All SLC machines The LDAP IF is configured in the 'DAP' section of the eserv.config file. eserv.config Configuration. See Global Configuration .
SLEE.cfg All SLC machines The SLEE configuration is altered by the ldapScp package install to start the ldapIF. Default configuration should be checked but should generally not need to be modified. SLEE Technical Guide

SMF GUI

(database)

USMS Statistics and EFM alarm configuration is performed by the ldapSms package install. Default configuration should not generally need to be modified. Installing ldapSms on a SMS.

DAP GUI

(database)

USMS LDAP Service Providers (LDAP servers) must be defined using the DAP GUI. Data Access Pack User's & Technical Guide, plus LDAP Interface specific details in DAP Resource Configuration .
ACS control plans USMS Specific control plans must be developed to perform LDAP requests through the DAP framework. ACS Technical Guide, Data Access Pack User's & Technical Guide, plus LDAP Interface specific details in DAP Control Plan

eserv.config Configuration

Introduction

This topic provides a high level overview of how the LDAP interface for DAP component is configured.

Configuration File Format

To organize the configuration data within the eserv.config file, some sections are nested within other sections. Configuration details are opened and closed using either { } or [ ].

  • Groups of parameters are enclosed with curly brackets – { }
  • An array of parameters is enclosed in square brackets – [ ]
  • Comments are prefaced with a # at the beginning of the line

To list things within a group or an array, elements must be separated by at least one comma or at least one line break. Any of the following formats can be used, as in this example:

{ name="route6", id = 3, prefixes = [ "00000148", "0000473"]
}{ name="route7", id = 4, prefixes = [ "000001049" ] }

or

{ name="route6"id = 3prefixes = [ "00000148""0000473" ] }{
name="route7"id = 4prefixes = [ "000001049" ] }

or

{ name="route6"id = 3prefixes = [ "00000148", "0000473" ] }{
name="route7", id = 4prefixes = [ "000001049" ] }

Editing the File

Open the configuration file on your system using a standard text editor. Do not use text editors, such as Microsoft Word, that attach control characters. These can be, for example, Microsoft DOS or Windows line termination characters (for example, ^M), which are not visible to the user, at the end of each row. This causes file errors when the application tries to read the configuration file.

Always keep a backup of your file before making any changes to it. This ensures you have a working copy to which you can return.

Loading eserv.config configuration changes

To cause LDAP interface for DAP to reread from its eserv.config configuration file, send a SIGHUP signal to the ldapIF process. This will reload all configuration, including all connection configuration.

Existing connections will be dropped if the configuration has changed.

eserv.config files delivered

The ldapIF comes with an example eserv.config configuration fragment installed into the following file:

/IN/service_packages/DAP/etc/ldap.example.eserv.config 

This fragment is not automatically installed into the live eserv.config. The system operator is expected to copy the sample configuration manually and modify it to suit their site-specific requirements.

By default, ldapControlAgent (which runs LDAP on the SLC) will read its live run-time configuration from the DAP section of:

/IN/service_packages/eserv.config 

The ESERV_CONFIG_FILE variable can override the default location.

Global Configuration

Introduction

All additions to the eserv.config file to support the LDAP Interface for DAP can be found in the 'DAP' section of the eserv.config file. The example eserv.config addition for the LDAP interface can be found in the SLC (/IN/service_packages/DAP/etc/ldap.example.eserv.config). There are two areas in which additional configuration can be made.

  • A new mapping must be added to the DAP 'Mapping' section to ensure that DAP LDAP requests are correctly forwarded to the LDAP Interface. If this Mapping is not present, then the ldapIF will still start up, but the DAP macro node will be unable to send messages to the ldapIF.
  • An 'LDAP' configuration section inside the top level 'DAP' section provides site-specific global configuration parameters to overwrite the default. If this section is not present then the ldapIF will start and will run using built-in default values.

Example eserv.config file section

Here is the example eserv.config DAP section.

DAP = {Mapping = [# LDAP protocol{Protocol =
"L"InterfaceHandle = "ldapIF"}]LDAP = {requestSchema =
“/IN/service_packages/DAP/etc/ldap_request_schema.xsd”responseSchema
=
“/IN/service_packages/DAP/etc/ldap_response_schema.xsd”validateRequestXML
= truedisconnectWhenIdleTime = 600connectionTimeout =
30connectionRetryTime = 30recordStatisticsEvery =
60houseKeepingInterval = 30maxRequestAge = 30cacheTimeoutInterval =
60noWorkSleepTime = 20000}}

DAP Mapping

The available protocols are:

  • “H”,
  • “S”,
  • “A” and
  • "P”

With the installation of the LDAP interface for DAP, mapping “L” can be configured and used.

LDAP parameters

Here are the parameters that can be used in the LDAP section.

cacheTimeoutInterval
Syntax:
cacheTimeoutInterval =
<
secs>
Description: The number of seconds after which a cached database record expires.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: Integers that are greater than zero.
Default: 60
Notes:

The interface caches database information related to ASPs, operations and operation response parameters. An entry in the cache will be re-read if (when accessing the entry) the entry has not been read directly from the database for more than 'cacheTimeoutInterval' seconds.

Example:

If cacheTimeoutInterval is 30, attempting to read a cache entry that was last reloaded (read from the database) more than 30 seconds ago will cause the entry to be reloaded. Attempting to read an entry that was last reloaded 15 seconds ago will not cause the entry to be reloaded.

Shorter values for this parameter will mean that operator changes made in the USMS DAP GUI screens are more quickly recognised by the LDAP Interface, and hence a short value is appropriate for a testing environment. However, setting this value higher may improve system performance in a stable, production system.

Note: The cacheTimeoutInterval applies only to the ASP and Operation configuration stored in the database. It does not apply the configuration values in eserv.config, as those values are not cached, and are reloaded only on receipt of a SIGHUP.

Example: cacheTimeoutInterval = 300
connectionRetryTime
Syntax: connectionRetryTime = <secs>
Description: The number of seconds that the interface will wait after a failed attempt to connect to an ASP, before reattempting to connect.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: Integers that are greater than zero.
Default: 30
Notes:  
Example: connectionRetryTime = 30
connectionTimeout
Syntax: connectionTimeout = <secs>
Description: The number of seconds that the interface will wait for a BindResponse message from an ASP (when attempting to connect to that ASP) before assuming that the connection attempt failed.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: Integers that are greater than zero.
Default: 30
Notes: The interface will reattempt to connect after waiting for the length of time specified by the 'connectionRetryTime' parameter.
Example: connectionTimeout = 30
disconnectWhenIdleTime
Syntax:
disconnectWhenIdleTime =
<
secs>
Description: The length of time (in seconds) that a connection with an ASP can remain idle before the connection will be closed.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: Integers that are greater than or equal to zero.
Default: 0
Notes: If the value of this parameter is '0' the interface will not close idle connections.
Example: disconnectWhenIdleTime = 300
houseKeepingInterval
Syntax:
houseKeepingInterval =
<
secs
>
Description: The number of seconds that the interface will wait between doing internal structure clean ups.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: Integers that are greater than zero.
Default: 30
Notes: The default value of this parameter should not generally need to be changed.
Example: houseKeepingInterval = 300
maxRequestAge
Syntax: maxRequestAge = <secs>
Description: The number of seconds, after sending, before a timed out request can safely be removed from internal structures.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: Integers that are greater than zero.
Default: 30
Notes:

Occasionally the interface needs to clean out its structures to avoid gradually increasing memory usage over time. This parameter defines when it is safe to clean up a request that has timed out.

Example:

If maxRequestAge is 20, any messages that have timed out and that were sent more than 20 seconds ago will be cleaned up by the interface's housekeeping sweep. Messages that have timed out and that were not sent more than 20 seconds ago (and messages that have not yet timed out) will not be cleaned up.

When a message is timed out, there is a chance that the response is delayed, and may be received subsequently. If the late response is received after the interface has cleaned its reference, then an “unmatched ID” warning message will be generated. By configuring an appropriate maxRequestAge, these spurious warnings can be avoided.

Example: MaxRequestAge = 300
noWorkSleepTime
Syntax: noWorkSleepTime = <microseconds>
Description: The number of microseconds to sleep when there are no downstream requests to process.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: Integers that are greater than 0.
Default: 20000 (0.2 sec)
Notes:  
Example: noWorkSleepTime = 30000
recordStatisticsEvery
Syntax:
recordStatisticsEvery =
<
secs>
Description: The number of seconds over which the interface should aggregate its non-peg-count statistics.
Type: Integer
Optionality: Optional (default used if not set).
Allowed: Integers that are greater than zero.
Default: 60
Notes: This applies only to the MIN, MAX and MEAN latency statistics, which are computed over time. All other statistics are peg-count statistics which are recorded as and when the events occur. The value of recordStatisticsEvery should be set to a period equal to or shorter than the collection period for these statistics as defined in the SMF Statistics Management GUI screen.
Example: recordStatisticsEvery = 300
requestSchema
Syntax: requestSchema = "<location>"
Description: The location of the file containing the XSD schema used to validate requests before they are sent.
Type: String
Optionality: Optional (default used if not set).
Allowed: Any fully-qualified file containing a valid XSD schema
Default: /IN/service_packages/DAP/etc/ldap_request_schema.xsd
Notes:

Although this parameter makes it possible to relocate the schema, it is strongly recommended that you do not modify the schema content because the schema is actually used by the interface.

Setting this parameter incorrectly can affect the behaviour of the 'validateRequestXML' parameter. Request validation will be unconditionally turned off if any of the following is true:

  • the parameter points to a file that does not exist
  • the parameter points to a file that the interface does not have permission to read the file pointed at by the parameter contains XSD syntax errors
Example:
requestSchema =
“/config/ldap_request_schema.xsd”
responseSchema
Syntax:
responseSchema =
“<
location>”
Description: The location of the file containing the XSD schema that describes the structure of the XML translation of LDAP search response entries.
Type: String
Optionality: Optional (default used if not set).
Allowed: Any fully-qualified file containing a valid XSD schema.
Default: /IN/service_packages/DAP/etc/ldap_response_schema.xsd
Notes: This parameter makes it possible to relocate the schema. The schema is not used for validation, but the information it contains may be useful to an ACS service designer when developing DAP response parameter XPath queries for a DAP Request node in an ACS control plan.
Example:
responseSchema =
“/config/ldap_response_schema.xsd”
validateRequestXML
Syntax: validateRequestXML = <false|true>
Description: A switch that allows request validation to be turned on or off.
Type: Boolean
Optionality: Optional (default used if not set).
Allowed:

True : The interface will attempt to perform request validation.

False: The interface will not perform request validation.

Default: true
Notes:

When validation is on, each request (while in its XML form) will be validated against the schema specified by the 'requestSchema' parameter.

Validation will not be performed even when the parameter is 'true' when the 'requestSchema' parameter is incorrectly specified.

Request validation is strongly recommended during testing of new DAP LDAP operations and new ASP operations. In a stable, production system, disabling validation may result in improvements in system performance if LDAP is frequently used at high call rates.

Example: validateRequestXML = false

SLEE.cfg

Introduction

The SLEE must be configured to start the LDAP IF. The following line will be added to the SLEE configuration file (/IN/service_packages/SLEE/SLEE.cfg) automatically during installation:

INTERFACE=ldapIF ldapIF.sh /IN/service_packages/DAP/bin
EVENT

This default configuration should be appropriate for most environments. Refer to the SLEE Technical Guide for further details.

DAP Resource Configuration

Introduction

An LDAP request is sent only when a DAP Request node is used in an ACS control plan. Correctly configuring such a node requires DAP resources to be available first, specifically, the following must be defined:

  • A DAP ASP server. See Defining a DAP ASP for LDAP .
  • A DAP operation definition. See Defining a DAP Operation for LDAP .