4 Configuration
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.
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 =
86400setNullInEmptyOptRespPT = 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: |
|
| 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: |
|
| 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:
|
| 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 For an overview of how certificates are handled, see Certificate Management . |
| Example: | /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 For an overview of how certificates are handled, see Certificate Management . |
| Example: | 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 Oracle recommends choosing the most secure cipher that the ASP supports. |
| Example: | |
clientCertificateFile
| Syntax: | 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 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: | 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:
|
| Example: | |
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: | dateformat"
|
| Description: | Indicates the date format to use for the (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.
|
| 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 This parameter is used when one of the following is true:
|
| 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 false – Waits a specified amount of time when a database query or update returns a BUSY status. Use the |
| Default: | true |
| Notes: | |
| Example: | sqlUseBusyHandler = true
|
soapHeaderOverride
| Syntax: | version\" encoding=\"encodingyes|nourlurlurl |
| 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: | |
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: |
|
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: | |
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: | |
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: | 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: 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:
|
| 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.
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:
|
| 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: | |
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.
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: | 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: | 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: | 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: | 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:
|
| Example: | |
responseSchema
| Syntax: | 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: | |
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
EVENTThis 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 .