4 Background Processes on the SLC
This chapter provides a description of the programs or executables used by CCS as background processes on the SLCs.
Executables are located in the /IN/service_packages/CCS/bin
directory.
Some executables have accompanying scripts that run the executables after performing certain cleanup functions. All scripts should be located in the same directory as the executable.
For more information about the processes and systems that use these programs and executables, see System Overview.
WARNING:
It is a pre-requisite for managing these core service functions that the operator is familiar with the basics of Unix process scheduling and management. Specifically, the following Unix commands:
- init (and inittab)
- cron (and crontab)
- ps
- kill
- top
- vi (or other editing tool)
BeClient
The BeClient is a SLEE interface which handles connections to the beServer process on the VWS for SLEE applications running on the SLC.
The BeClient needs to be configured for CCS so functions such as voucher recharge can be completed. This is implemented as a CCS specific plug-in that is described further below.
For more information about the BeClient, see VWS Technical Guide.
BeClient plugins
The BeClient can be extended by installing plug-ins. This section lists the available BeClient plug-ins which are provided with CCS.
Voucher Plugin
This plug-in controls the voucher recharge process. It splits the voucher recharge wallet message into three messages:
- Voucher reserve
- Wallet recharge
- Voucher commit
If the voucher reserve or wallet recharge operation fails, the whole process stops. This allows for the possibility that the vouchers and wallets are on different VWS pairs and provides for an automatic voucher redeem process that does not require post-process reversals.
This function is contained within the libccsClientPlugins.so library.
Note:
For this plug-in to function properly, the Broadcast plug-in (libclientBcast.so) must also be installed and configured. For more information about the Broadcast plug-in, see VWS Technical Guide.Merge Wallets Plug-in
The plug-in manages the merging of two wallets. It:
- Receives merge wallets requests.
- Obtains identifiers for the wallets involved.
- Determines whether a link or a merge is required.
- If a link is required, the plug-in relinks the wallets and subscribers.
- If a merge is required, the plug-in:
- Locks the source wallet for 30 seconds,
- Merges the source and destination wallets
- Relinks the wallets and subscribers.
The merge wallets function is contained in the libccsClientPlugins.so library.
Startup
The BeClient is a SLEE interface and is started during SLEE initialization. The line in the SLEE.cfg which starts the BeClient is:
INTERFACE=ccsBeClient BeClientStartup.sh /IN/service_packages/CCS/bin/ 1
EVENT
Note:
The above settings are defaults and may vary.For instructions about starting and stopping BeClient, see SLEE Technical Guide.
Configuration
In order to load and operate, BeClient plug-ins read the
BeClient section of the eserv.config file. The BeClient
section is listed below, showing the configuration for the plug-ins provided with
CCS.
Note:
This text does not show the full configuration for BeClient. For more information about the full configuration for the BeClient, see VWS Technical Guide.BeClient = {
standard BeClient configuration
plugins = [
{
# Voucher recharge plugin (VRW)
config="voucherRechargeOptions",
library="libccsClientPlugins.sl",
function="makeVoucherRechargePlugin"
}
{
# Broadcast plugin needed by VRW
config="broadcastOptions",
library="libclientBcast.so",
function="makeBroadcastPlugin"
}
{
# Voucher Type recharge plugin (VTR)
config="voucherTypeRechargeOptions",
library="libccsClientPlugins.so",
function="makeVoucherTypeRechargePlugin"
}
]
voucherRechargeOptions = {
voucherRechargeTriggers = [
"VRW "
]
srasActivatesPreuseAccount = false
srActivatesPreuseAccount = true
sendBadPin = false
}
broadcastOptions = {
aggregateNAckCodes = [
"NVOU"
]
}
voucherTypeRechargeOptions = {
srasActivatesPreuseAccount=false
voucherTypeRechargeTriggers = ["VTR "]
}
}
Parameters
BeClient has no command line parameters.
The BeClient supports the following parameters from the BE section of eserv.config.
plugins
| Syntax | |
| Description | Defines any client process plug-ins to run. Also defines the string which maps to their configuration section. |
| Type | Parameter array |
| Optionality | Mandatory |
| Allowed | |
| Default | |
| Notes |
The VRW needs the libclientBcast plug-in to function properly. It must be placed last in the For more information about the libclientBcast plug-in, see VWS Technical Guide. |
| Example | |
config
| Syntax | config="name" |
| Description | The name of the configuration section for this plug-in. This corresponds to a configuration section within the plugins section in the eserv.config file.
|
| Type | String |
| Optionality | Required (must be present to load the plug-in) |
| Allowed | |
| Default | No default |
| Notes | |
| Example | config="voucherRechargeOptions" |
function
| Syntax | function="str" |
| Description | The function the plug-in should perform. |
| Type | String |
| Optionality | Required (must be present to load the plug-in) |
| Allowed | |
| Default | No default |
| Notes | |
| Example | function="makeVoucherRechargePlugin"
|
library
| Syntax | library="lib" |
| Description | The filename of the plug-in library. |
| Type | String |
| Optionality | Required (must be present to load the plug-in) |
| Allowed | |
| Default | No default |
| Notes | |
| Example | library="libccsClientPlugins.so" |
broadcastOptions
| Syntax | |
| Description | Name of configuration section for the BeClient Broadcast plug-in libclientBcast. |
| Type | Parameter array |
| Optionality | |
| Allowed | |
| Default | |
| Notes |
libclientBcast is used by a range of processes which connect to the beServer, including:
For more information about libclientBcast, see |
| Example | |
aggregateNAckCodes
| Syntax | |
| Description | When this parameter is set, the BeClient waits for a response from all the VWS pairs in use and filters the responses from the broadcast request using the configured NAck codes. |
| Type | Parameter array |
| Optionality | |
| Allowed | NVOU |
| Default | |
| Notes | When a voucher recharge request is broadcast, this ensures that all the available VWS pairs are checked for the required voucher before a voucher not found message is returned to the requesting process. |
| Example |
maxPollTime
| Syntax | |
| Description | Maximum poll time in micro-seconds for BeClient. |
| Type | Integer |
| Optionality | Optional (default used if not set). |
| Allowed | |
| Default | 10000 |
| Notes | |
| Example | |
Example
BeClient = {
clientName = "scpClient1"
heartbeatPeriod = 3000000
maxOutstandingMessages = 100
connectionRetryTime = 5
plugins = [
{
# Voucher recharge plugin (VRW)
config="voucherRechargeOptions",
library="libccsClientPlugins.sl",
function="makeVoucherRechargePlugin"}
{
# Broadcast plugin needed by VRW
config="broadcastOptions",
library="libclientBcast.so",
function="makeBroadcastPlugin" }
{
# Voucher Type recharge plugin (VTR)
config="voucherTypeRechargeOptions",
library="libccsClientPlugins.so",
function="makeVoucherTypeRechargePlugin"}
]
voucherRechargeOptions = {
voucherRechargeTriggers = [
"VRW "
]
srasActivatesPreuseAccount = false
srActivatesPreuseAccount = true
sendBadPin = false
}
broadcastOptions = {
aggregateNAckCodes = [
"NVOU"
]
}
voucherTypeRechargeOptions = {
srasActivatesPreuseAccount=false
voucherTypeRechargeTriggers = ["VTR "]
}
notEndActions = [ {type="IR ", action="ACK "}
{type="SR ", action="ACK "}
{type="SR ", action="NACK"}
{type="INER", action="ACK "}
{type="SNER", action="ACK "}
{type="SNER", action="NACK"}
]
}
PIClientIF
The PI Client Interface is a TCP client interface that runs on the SLC and communicates with one or more PIProcesses running on the SMS.
PI commands are received from the Service Logic Execution Environment (SLEE) and forwarded to any available PI process with the appropriate synstamp. PI responses are sent back to the SLEE on the appropriate dialog.
Add subscriber (CCSCD1=ADD) and delete subscriber (CCSCD1=DEL) commands are both supported. Add subscriber can be configured to override or add additional parameters to those provided in the incoming message, but delete subscriber does not require additional configuration, which is why there is no CCSCD1.DEL section in the example configuration file.
Startup
The PIClientIF is a SLEE interface and is started during SLEE initialization. The line in the SLEE.cfg which starts the PIClientIF is:
INTERFACE=ccsPiClientIF ccsPiClientIF.sh /IN/service_packages/CCS/bin 1
EVENT
Note:
The above settings are defaults and may vary.
For instructions about starting and stopping PIClientIF, see SLEE Technical Guide.
Example
piClientIF = {
# Hostname or IP address of the PI
# (Mandatory)
# Default: None
# host = "usms"
# Ports on which the PI processes are listening
# (Mandatory)
# Default: None
ports = [ 2999 , 3000 ]
# Username for the PI login
# (Optional)
# Default: "admin"
username = "admin"
# Password for the PI login
# (Optional)
# Default: "admin"
password = "admin"
# Time (in milliseconds) to wait for a response
# from the PI.
# (Optional)
# Default: 2000
timeoutInterval = 2000
# Maximum number of timed-out PI requests on
# a connection before that connection is closed
# where "0" indicates that the connection will
# be immediately closed after a timeout occurs.
# It is recommended that maxTimeouts is set to
# the default (0), the connection will be
# re-opened after connectionRetryTimeout has
# expired.
# (Optional)
# Default: 0
maxTimeouts = 0
# Time (in milliseconds) to wait before re-trying
# a failed connection.
# (Optional)
# Default: 1000
connectionRetryTimeout = 1000
# Maximum number of outstanding PI requests.
# New requests will be rejected if this limit
# is reached.
# (Optional)
# Default: 50
maxQueueSize = 50
# Period (in milliseconds) to log statistics for
# debugging. Information such as pending request
# queue length, number of available connections
# and notifications of dialog closed events will
# be logged. A value of "0" indicates this feature
# is disabled. Note: some PI requests (eg CCSCD1=DEL)
# will not be sent on more than 1 connection at a time.
# (Optional)
# Default: 0
statsTimer = 0
}
ccsActions
ccsActions provides the functions which enable the CCS Feature Nodes to interact with other elements in the system, including:
- acsChassis
- the VWS (via the BeClient and beServer), and
- other elements on the network (such as the VPU).
Startup
If ccsActions is included in the acs.conf, ccsActions will be started by slee_acs when the SLEE is started.
For more information about how this included in acs.conf, see acsChassis.
Configuration
In order to load and operate, ccsActions reads the ccsActions section of the eserv.config file. The ccsActions section is listed below.
ccsActions = {
maxOutstandingBeClientMsgs = int
loggedNotificationPeriod = int
loggedInvalidPeriod = int
exceptionLogPeriod = int
configuredVolumeITC = int
volumeReservationLength = int
accumulateChargeInfoCosts = true|false
allowNegativeNofundsPolicyOnCommit = true|false
}Parameters
ccsActions supports the following parameters from the CCS section of
eserv.config.
accumulateChargeInfoCosts
| Syntax | accumulateChargeInfoCosts =
true|false |
| Description | Determines if charge costs are allowed to accumulate. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed |
|
| Default | true |
| Notes | |
| Example | accumulateChargeInfoCosts = true |
allowNegativeNoFundsPolicyOnCommit
| Syntax | allowNegativeNoFundsPolicyOnCommit =
true|false |
| Description | If funds have been depleted during a reservation request, sets whether or not to allow the overall balance to go negative when committing the reservation. |
| Type | Boolean |
| Optionality | Optional (default used if not set) |
| Allowed |
true (allow the overall balance to go negative) false (do not allow the overall balance to go negative) |
| Default | false |
| Notes | |
| Example | allowNegativeNoFundsPolicyOnCommit = true |
configuredVolumeITC
| Syntax | configuredVolumeITC = val |
| Description | Sets the bearer capability - Information Transfer Capability value for a data charging session. |
| Type | |
| Optionality | |
| Allowed |
Valid values (in decimal) are:
|
| Default | 8 |
| Notes | |
| Example | configuredVolumeITC = 8 |
loggedInvalidPeriod
| Syntax | loggedInvalidPeriod =
seconds |
| Description | Interval separating the writing of each summary of ccsActions errors to the syslog. |
| Type | |
| Optionality | Optional |
| Allowed | |
| Default | 10 |
| Notes | |
| Example | loggedInvalidPeriod = 10 |
loggedNotificationPeriod
| Syntax | loggedNotificationPeriod =
int |
| Description | The logged notification period. |
| Type | Integer |
| Optionality | |
| Allowed | |
| Default | |
| Notes | |
| Example | loggedNotificationPeriod = 10 |
maxOutstandingBeClientMsgs
| Syntax | maxOutstandingBeClientMsgs =
number |
| Description | The maximum number of outstanding BeClient messages. |
| Type | Integer |
| Optionality | Optional (default used if missing) |
| Allowed | |
| Default | 1000 |
| Notes | Too small a value may result in calls being dropped. |
| Example | maxOutstandingBeClientMsgs =
2000 |
quotaProfileBlock
| Syntax | quotaProfileBlock = int |
| Description |
The profile block number to use for retrieving quota related profile fields. Five pairs of quota value and quota opt-out tags are looked up in this block:
|
| Type | Integer |
| Optionality | Optional (default used if not set) |
| Allowed | An integer in the range 8 to 15 for the APP1 to APP8 profile blocks, or 16 for the ANY_VALID profile block. |
| Default | 8 – This is the subscriber profile block |
| Notes | |
| Example | quotaProfileBlock = 16 |
volumeReservationLength
| Syntax | volumeReservationLength =
days |
| Description | The reservation length, in days, for data charging sessions such as Radius Control Agent. |
| Type | |
| Optionality | |
| Allowed | |
| Default | 5 |
| Notes | The UBE parameter noExpectedKeep should be set to
the same value (in seconds) as this parameter. See VWS Technical
Guide.
|
| Example | volumeReservationLength = 5 |
Example
ccsActions = {
maxOutstandingBeClientMsgs = 1000
loggedNotificationPeriod = 10
loggedInvalidPeriod = 10
configuredVolumeITC = 8
volumeReservationLength = 5
}
ccsCB10HRNAES
The ccsCB10HRNAES library is available only if you have purchased the Voucher Management license.
For more information about this library, see Voucher Manager Technical Guide.
ccsCB10HRNSHA
The ccsCB10HRNSHA library is available only if you have purchased the Voucher Management license.
For more information about this library, see Voucher Manager Technical Guide.
ccsMacroNodes
The CCS service library handles initial call setup for calls that use CCS functionality and configures any necessary profile data used in CCS feature node parameters. For information about the available CCS feature nodes, see Feature Nodes Reference Guide.
Startup
If ccsMacroNodes is configured in acs.conf, it is made available to
slee_acs when slee_acs is initialized. It is included in the
acsChassis section of acs.conf in a
MacroNodePluginFile entry as follows:
acsChassis
MacroNodePluginFile ccsMacroNodes.so
Configuration
ccsMacroNodes accepts the following parameters.
Example ccsMacroNodes config
Here is an example of the CCS.ccsMacroNodes section of the eserv.config file.
ccsMacroNodes = {
expireAtMidnightTZ="GMT"
MaximumMenuRetries = 2
MaximumBadCodeRetries = 3
MaxCreditCardNumberLength = 20
MinCreditCardNumberLength = 20
PromptAndCollectMaxAnnouncements = 10
PromptAndCollectInterMenuBlockTimeout = 1
ATBNoAnswerTimeout = 10
AVPProfileTagData = ["Idle", "Blocked"]
CCACustomAvpProfileTag = 512
resetUATBOnINSF = false
armAnswer = false
PAVRBalancesUseSystemCurrency = true
NoChargeEventClass = "FnF FnD Events"
NoChargeEventName = "FnF Config Change"
FFDiscountRule = "EXPLICIT"
HomeCountryNationalPrefix = ""
UseDisconnectLeg = false
BFTGracePeriodLength = 0
BSPlayAllExpiriesAtEnd = false
VRRedeemUnavailableBranch = 3
BSAnnBalanceTypes = [
{
acsCustomerId = 1
balTypeIds = [6, 7, 10]
}
]
DOCCRAnnBalanceTypes = [
{
acsCustomerId = 1
balTypeIds = [6, 7]
}
]
VRRedeemMinVoucherLength=9
VRRedeemMaxVoucherLength=15
VRRedeemAcctFrozenCheck=true
SMSCIIncludeZeroBalances = true
SMSCIExcludeZeroBalanceTypes = [78,79]
SMSABUseFormattedExpiryDate=true
SMSABExpiryFormat = "%d/%m/%y"
# UATB Node:
# If vws returns IR_Nack with INSF -
# [1] create a zero-value reservation
# [2] enable SR_Ack grants of 0
# [3] grant 0 deciseconds in AC
# Optional.
holdReservationOpen = false
# UATB Node
# Enable UATB macronode loopback
# Optional.
macronodeLoopbackBranch1 = false #IR_Ack no funds
macronodeLoopbackBranch15 = false #SR_Nack no funds
macronodeLoopbackBranch16 = false #SR_Ack with funds
# UATB Node
# Reroute IR_Nack failures to alternative exits
# Optional.
IR_Nack = {
# The following are default settings:
PROC = 2 # Route IR_Nack[PROC] (UnknownWallet) to exit 2: BFT
INSF = 1 # Route IR_Nack[INSF] (InsufficientFunds) to exit 1: Declined(No Funds)
TMNY = 1 # Route IR_Nack[TMNY] (MaxConcurrent) to exit 1: Declined(No Funds)
CRIS = 1 # Route IR_Nack[CRIS] (CallRestricted) to exit 1: Declined(No Funds)
COM = 2 # Route IR_Nack[COM ] (CommunicationError) to exit 2: BFT
NACK = 2 # Route IR_Nack[NACK] (SystemError) to exit 2: BFT
WDIS = 1 # Route IR_Nack[WDIS] (WalletDisabled) to exit 1: Declined(No Funds)
}ATBNoAnswerTimeout
| Syntax | |
| Description | |
| Type | |
| Optionality | |
| Allowed | |
| Default | 10 |
| Notes | This parameter is not used. |
| Example |
HomeCountryNationalPrefix
| Syntax | HomeCountryNationalPrefix =
"prefix" |
| Description | Defines the prefix for the home country. |
| Type | String |
| Optionality | |
| Allowed | |
| Default | "" |
| Notes | |
| Example | HomeCountryNationalPrefix = "" |
AVPProfileTagData
| Syntax | AVPProfileTagData = ["value1", "value2",…] |
| Description | This parameter holds the values which should be checked with CCACustomAvpProfileTag. |
| Type | Array |
| Optionality | |
| Allowed | |
| Default | None |
| Notes | |
| Example | AVPProfileTagData = ["Idle", "Blocked"] |
CCACustomAvpProfileTag
| Syntax | CCACustomAvpProfileTag =
num |
| Description | This parameter decide the profile tag which is holding the AVP value. The value 0 indicates that the feature is disabled. |
| Type | Integer |
| Optionality | |
| Allowed | Numerical value |
| Default | 0 |
| Notes | |
| Example | CCACustomAvpProfileTag = 512 |
Note:
The profile tag configured inCCACustomAvpProfileTag should be of
type string. As per the above example, profile tag 512 should be of type string.
resetUATBOnINSF
| Syntax | resetUATBOnINSF =
true|false |
| Description | This flag decides whether to reset the UATB state in case of insufficient balance and exit from UATB exit1. |
| Type | Boolean |
| Optionality | |
| Allowed | true, false |
| Default | false |
| Notes | |
| Example | resetUATBOnINSF = false |
MaxCreditCardNumberLength
| Syntax | MaxCreditCardNumberLength =
len |
| Description | Defines the maximum length allowed for credit card numbers. |
| Type | Integer |
| Optionality | |
| Allowed | |
| Default | 20 |
| Notes | Applies to the Credit Card Starter Menu node only. |
| Example | MaxCreditCardNumberLength = 20 |
MaximumBadCodeRetries
| Syntax | |
| Description | |
| Type | integer |
| Optionality | |
| Allowed | |
| Default | |
| Notes | This parameter is not used currently. |
| Example |
MaximumMenuRetries
| Syntax | MaximumMenuRetries = num |
| Description | Defines the maximum number of times the subscriber can attempt to enter voucher numbers, PINs, and other menu options correctly, before they are blocklisted. |
| Type | Integer |
| Optionality | |
| Allowed | |
| Default | 2 |
| Notes | Applies to all nodes which limit subscriber retry attempts. |
| Example | MaximumMenuRetries = 2 |
MinCreditCardNumberLength
| Syntax | MinCreditCardNumberLength =
len |
| Description | Defines the minimum length allowed for credit card numbers. |
| Type | Integer |
| Optionality | |
| Allowed | |
| Default | 20 |
| Notes | Applies to the Credit Card Starter Menu node only. |
| Example | MinCreditCardNumberLength = 20 |
PromptAndCollectInterMenuBlockTimeout
| Syntax | PromptAndCollectInterMenuBlockTimeout =
seconds |
| Description | Defines the timeout in seconds, after playing all the announcements for the current menu. |
| Type | Integer |
| Optionality | |
| Allowed | |
| Default | 1 |
| Notes | Applies to the Account Type Swap, Dynamic Menu, and Credit Card Recharge nodes. |
| Example | PromptAndCollectInterMenuBlockTimeout = 1 |
PromptAndCollectMaxAnnouncements
| Syntax | PromptAndCollectMaxAnnouncements =
num |
| Description | Defines the maximum number of announcements to play at one time. |
| Type | Integer |
| Optionality | |
| Allowed | |
| Default | 10 |
| Notes | Applies to the Account Type Swap and Dynamic Menu nodes only. |
| Example | PromptAndCollectMaxAnnouncements = 10 |
VRRedeemUnavailableBranch
| Syntax | VRRedeemUnavailableBranch =
num |
| Description | This parameter determines the exit branch when NACK-VBUA is returned. |
| Type | Integer |
| Optionality | |
| Allowed | 2 to 10 |
| Default | 5 |
| Notes | |
| Example | VRRedeemUnavailableBranch = 3 |
armAnswer
| Syntax | armAnswer = true|false |
| Description | This flag decides whether to arm the UATB with oAnswer as well. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed | true, false |
| Default | false |
| Notes | To handle ERBCSM answer event in ACS, see ACS Configuration in the Advanced Control Services Technical Guide. |
| Example | armAnswer = false |
Node Specific Parameters
Additional node-specific parameters follow.
Balance Status
BSAnnBalanceTypes = [{}{}]
The list of balance types to be announced in the node. This parameter is mandatory.
acsCustomerId
| Default | 1 |
balTypeIds
[n,n,n]
BSPlayAllExpiriesAtEnd
| Syntax | BSPlayAllExpiriesAtEnd =
true|false |
| Description | Determines if each expiry is played after its corresponding balance announcement. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed |
|
| Default | |
| Notes | |
| Example | BSPlayAllExpiriesAtEnd = false |
RetryReserveOnNoFunds
| Syntax | RetryReserveOnNoFunds =
true|false |
| Description |
When true, the UATB node will try a second reservation attempt when:
This is intended for use with configurations where a low credit notification may be triggered by the reservation attempt, which recharges the account or frees other funds. The second attempt may then succeed. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed | true, false |
| Default | false |
| Notes | |
| Example | RetryReserveOnNoFunds = false |
Balance Status Branch
BSBCheckBalance
The list of balance types to check for each customer. The balance types must all have the same balance unit. For more information, see Introduction to Charging Control Services. This parameter is optional.
acsCustomerId
| Default | 1 |
balTypeIds
[n,n,n]
expireAtMidnightTZ
| Syntax | expireAtMidnightTZ =
"tz" |
| Description | Sets wallets and buckets to expire at midnight for the time zone specified. |
| Type | String |
| Optionality | Optional (default used if not set). |
| Allowed |
The time zone part of the parameter must be typed in a form that the operating system recognizes. Alternatively you can select a time zone from the operating system's
list. To view top-level time zone names, enter |
| Default | false (do not modify expiry calculation). |
| Notes | A list of time zones can be found in the Time Zones appendix of ACS Technical Guide. |
| Example |
An account is created at 2 p.m. on 5 September 2006 and is set to have a life span of 24 days. If the parameter If this parameter is omitted, the account will expire on 29 September 2006 at 2 p.m. |
Call Info
SMSCIIncludeZeroBalances
| Syntax | SMSCIIncludeZeroBalances =
true|false |
| Description | Controls the inclusion of zero balances in the final notification composed by the Call Information SMS feature node. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed |
true - Include zero balances false - Exclude zero balances |
| Default | false |
| Notes | This value determines the behavior of all instances of the Call Information SMS feature node. For information about the Call Information SMS feature node, see Feature Nodes Reference Guide. |
| Example | SMSCIIncludeZeroBalances = true |
SMSCIExcludeZeroBalanceTypes
| Syntax |
where, n = ccs_balance_type.ID |
| Description |
Controls the exclusion of balance types having value zero, in the final notification composed by the Call Information SMS (SMSCI) feature node. When |
| Type | |
| Optionality | Optional (default used if not set) |
| Allowed | ccs_balance_type.ID |
| Default | |
| Notes | |
| Example | SMSCIExcludeZeroBalanceTypes = [78,79] |
Do Credit Card Recharge
DOCCRAnnBalanceTypes = [{}{}]
The list of balance types (Cash only) to be announced in the node (mandatory).
acsCustomerId
| Default | 1 |
balTypeIds
[n,n,n]
Friends and Family config
FFDiscountRule
| Syntax | FFDiscountRule = "rule" |
| Description | Determines how discount is applied for an individual call. |
| Type | string |
| Optionality | |
| Allowed |
Valid values are:
|
| Default | "EXPLICIT" |
| Notes | |
| Example | FFDiscountRule = "EXPLICIT" |
NoChargeEventClass
| Syntax | NoChargeEventClass = "class" |
| Description | The event class to use when sending named event requests to the Voucher and Wallet Server. |
| Type | string |
| Optionality | |
| Allowed | A valid event class |
| Default | "FnF FnD Events" |
| Notes | |
| Example | NoChargeEventClass = "FnF FnD Events" |
NoChargeEventName
| Syntax | NoChargeEventName =
"name" |
| Description | The event name to use when sending named event requests to the Voucher and Wallet Server. |
| Type | string |
| Optionality | |
| Allowed | A valid event name |
| Default | "FnF Config Change" |
| Notes | |
| Example | NoChargeEventName = "FnF Config Change" |
Play Voucher Redeemed Info config
PAVRBalancesUseSystemCurrency
| Syntax | PAVRBalancesUseSystemCurrency =
true|false |
| Description | Whether to force the use of the system currency for the Play Voucher Redeemed Info feature node. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed |
true: Use the system currency. false: Use the currency of the active wallet. |
| Default | false |
| Notes |
In addition, the configuration item
For more information about the Play Voucher Redeemed Info feature node, see Feature Nodes Reference Guide. |
| Example | PAVRBalancesUseSystemCurrency = false |
SMS Account Balance
SMSABExpiryFormat
| Syntax | SMSABExpiryFormat = "format" |
| Description | If SMSABUseFormattedExpiryDate is set to true, use this format. |
| Type | String |
| Optionality | Optional (default used if not set). |
| Allowed: | Maximum format length is 49 characters |
| Default: | "%d/%m/%y" |
| Notes: | |
| Example: | SMSABExpiryFormat = "%d/%m/%y" |
SMSABIncludeZeroBalances
| Syntax | SMSABIncludeZeroBalances =
true|false |
| Description | Whether to include zero balances when using SMS Account Balance node. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed |
true: Include zero balances in the notification. false: Do not include zero balances in the notification. |
| Default | false |
| Notes | |
| Example | SMSABIncludeZeroBalances = true |
SMSABUseFormattedExpiryDate
| Syntax | SMSABUseFormattedExpiryDate =
true|false |
| Description | Whether or not to format the expiry date. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed |
true: Use SMSABExpiryFormat to define how the expiry date is formatted. Do not alter the format of the expiry date. |
| Default | false |
| Notes | If set to true, the date variable should be included in the Balance Expiry Template (for example, using "It will expire on %s."). For more information about the Balance Expiry Template, see Charging Control Services User's Guide. |
| Example | SMSABUseFormattedExpiryDate =
false |
UATB
The following parameters are used for the UATB node.
Note:
The UATB node may also require switch configuration. See Switch Configuration for the UATB Node.BFTGracePeriodLength
| Syntax | BFTGracePeriodLength =
seconds |
| Description | How to handle grace periods for reservations under BFT. |
| Type | Integer |
| Optionality | Optional (default used if not set). |
| Allowed |
|
| Default | -1 |
| Notes | BFT is usually triggered when a Voucher and Wallet Server fails. Used with UATB node. |
| Example | BFTGracePeriodLength = 30 |
continueIfAnnouncementFails
| Syntax | continueIfAnnouncementFails =
true|false |
| Description |
If the UATB feature node fails to play the pre-announcement and this flag is set to:
|
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed | true or false |
| Default | false |
| Example | continueIfAnnouncementFails = true |
MinResRemainingBeforeSubReservation
| Syntax | MinResRemainingBeforeSubReservation =
num |
| Description |
The value the UATB uses to decide if it should issue a subsequent reservation (SR) request to the VWS. An SR request is made if the remaining reservation is greater than this parameter (read notes below). |
| Type | Integer |
| Optionality | Optional (default value used if not set) |
| Allowed | -1 for no limit (that is, infinite), or any integer. |
| Default | 300 |
| Notes |
|
| Example | MinResRemainingBeforeSubReservation = 300 |
Service
| Syntax | Service =
[{service1}{service2}{servicen}] |
| Description | Different MinResRemainingBeforeSubReservation values can be configured for different services on the SLC. Each array element or sub-section in the Service Array specifies the ACS service name and corresponding MinResRemainingBeforeSubReservation value for that service. |
| Type | Array |
| Optionality | Optional (default used if not set). |
| Notes | If no service array exists or if no service-specific entry exists in the Service array section for the specific service, the ccsUATB node will use the global value described in the parent section. |
| Example |
Here is example array:
|
UseDisconnectLeg
| Syntax | UseDisconnectLeg =
true|false |
| Description | How to end BFT call. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed |
|
| Default | false |
| Notes | |
| Example | UseDisconnectLeg = true |
Voucher Recharge
VRRedeemAcctFrozenCheck
| Syntax | VRRedeemAcctFrozenCheck =
true|false |
| Description | Whether or not ccsMacroNodes should check whether the subscriber's account state is frozen following voucher redeem failure. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed |
|
| Default | true |
| Notes | |
| Example | VRRedeemAcctFrozenCheck = true |
VRRedeemDefaultScenario
| Syntax | VRRedeemDefaultScenario =
true|false |
| Description | Indicates if the voucher recharge node should attempt to use a default scenario. |
| Type | Boolean |
| Optionality | Optional |
| Allowed | true, false |
| Default | false |
| Notes |
Needs to be set to true for VWS vouchers using default scenarios. For Voucher Manager vouchers this parameter has no effect. |
| Example | VRRedeemDefaultScenario = true |
VRRedeemMaxVoucherLength
| Syntax | VRRedeemMaxVoucherLength =
len |
| Description | The maximum number of digits in a voucher number. |
| Type | Integer |
| Optionality | Optional (default used if not set). |
| Allowed | Must be equal to or larger than VRRedeemMinVoucherLength. |
| Default | 14 |
| Notes | See also VRRedeemMaxVoucherLength . |
| Example | VRRedeemMaxVoucherLength = 15 |
VRRedeemMinVoucherLength
| Syntax | VRRedeemMinVoucherLength =
len |
| Description | The minimum number of digits in a voucher number. |
| Type | Integer |
| Optionality | Optional (default used if not set). |
| Allowed | Must be equal to or smaller than VRRedeemMaxVoucherLength. |
| Default | 14 |
| Notes | See also VRRedeemMinVoucherLength . |
| Example | VRRedeemMinVoucherLength = 9 |
ccsSvcLibrary
Based on the incoming call details, the ccsSvcLibrary loads up the relevant control plan and feature nodes.
Startup
If ccsSvcLibrary is configured in acs.conf, it is made available to slee_acs when
slee_acs is initialized. It is included in the acsChassis section of
acs.conf in a ServiceEntry.
acsChassis
ServiceEntry (CCS,ccsSvcLibrary.so)Configuration
ccsSvcLibrary supports parameters from the ccsServiceLibrary parameter
group in the eserv.config file on a SLC. It contains parameters arranged in the
structure shown below.
ccsServiceLibrary = {
UnknownDataReleaseCause = int
callPlanAndDataCacheValidityTime = seconds
callPlanAndDataCacheFlushTime = seconds
callPlanAndDataCacheMaxAge = seconds
enableProfile6 = true|false
AccountLength = int
IncomingCallBarEnable = "int"
IncomingCallBarDisable = "int"
MobileTerminatingHomeCli = "cli"
ContinueAsConnect = true|false
InterpretAccountNumberAsCLI = true|false
NoCallPlanError = "sev"
GlobalDefaultForAcctRefCallPlanName = "name"
GlobalDefaultForSMOrigCallPlanName = "name"
GlobalDefaultForSMTermCallPlanName = "name"
globalCapabilityFlushPeriod = 10
promptForAccountOnOriginatingSK = true|false
promptForAccountOnTerminatingSK = true|false
productCapabilitiesCacheFlushTime = seconds
productCapabilitiesCacheMaxAge = seconds
productCapabilitiesCacheValidityTime = seconds
productTypeForExternalSub = "pt_name"
SubscriberDomainType = id
VoucherDomainType = id
PreCallAnnouncementId = id
WithheldDuration = int
SingleReservation = true|false
PreCallLowBalance = true|false
RetrieveLCRNumbers = true|false
ConvergedScenario = true|false
}
AccountLength
| Syntax | AccountLength = int |
| Description | Defines the length of the subscriber number, and is used when splitting the subscriber number entered from the PIN. |
| Type | Integer |
| Optionality | |
| Allowed | |
| Default | 10 |
| Notes | |
| Example | AccountLength = 10 |
callPlanAndDataCacheFlushTime
| Syntax | callPlanAndDataCacheFlushTime =
seconds |
| Description | How often a check is made for data older than its validity time. |
| Type | Integer |
| Optionality | Optional (default used if missing) |
| Allowed | Any positive integer |
| Default | 3600 |
| Notes |
Applies to control plans matched on originator or destination addresses only. To reload the cache more frequently with the latest versions of
control plans, set the
|
| Example | callPlanAndDataCacheFlushTime = 300 |
callPlanAndDataCacheMaxAge
| Syntax | callPlanAndDataCacheMaxAge = seconds
|
| Description | The time after which an unused or unchanged control plan is dropped from the control plan cache. |
| Type | Integer |
| Optionality | Optional (default used if missing) |
| Allowed | Any positive integer |
| Default | 3600 |
| Notes |
Applies to control plans matched on originator or destination addresses only. To reload the cache more frequently with the latest versions of
control plans, set the |
| Example | callPlanAndDataCacheMaxAge = 300 |
callPlanAndDataCacheValidityTime
| Syntax | callPlanAndDataCacheValidityTime =
seconds |
| Description | The maximum age of the data before it is refreshed from the database. |
| Type | Integer |
| Optionality | Optional (default used if missing) |
| Allowed | Any positive integer |
| Default | 3600000 |
| Notes | Applies to control plans matched on originator or destination addresses only. |
| Example | callPlanAndDataCacheValidityTime = 300 |
ContinueAsConnect
| Syntax | ContinueAsConnect = true|false |
| Description | If this is a TCAP-CONTINUE, then replace the TCAP-CONTINUE with a TCAP-CONNECT and send it to a switch. |
| Type | Boolean |
| Optionality | |
| Allowed | true, false |
| Default | false |
| Notes | |
| Example | ContinueAsConnect = false |
ConvergedScenario
| Syntax | ConvergedScenario = true|false |
| Description | This parameter is set to true in convergent charging deployments. When it is set to true, it disables the functionality that is not required in converged billing scenarios. For example, database subscriber lookup is not performed as converged deployments do not have subscribers in the database. |
| Type | Boolean |
| Optionality | |
| Allowed | true, false |
| Default | false |
| Notes | |
| Example | ConvergedScenario = false |
enableProfile6
| Syntax | enableProfile6 = true|false |
| Description | Enable application profile block 6 for use with alternate subscriber data. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed | true, false |
| Default | false |
| Notes | Warnings will be output in the log file when voucher recharge calls are processed if this is false. |
| Example | enableProfile6 = true |
getCallPlanNumberFromProfile
| Syntax | getCallPlanNameFromProfile =
true|false |
| Description | Controls whether call plan name should be fetched from the subscriber's profile. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed |
|
| Default | false |
| Notes | |
| Example | getCallPlanNameFromProfile = true |
GlobalDefaultForAcctRefCallPlanName
| Syntax | GlobalDefaultForAcctRefCallPlanName = "name"
|
| Description | This specifies the global default control plan for the account reference. |
| Type | string |
| Optionality | |
| Allowed: | |
| Default | "E2 Global Prompt For Account Reference" |
| Notes | |
| Example | GlobalDefaultForAcctRefCallPlanName = "E2 Global Prompt For
Account Reference" |
GlobalDefaultSMOrigCallPlanName
| Syntax | GlobalDefaultForSMOrigCallPlanName =
"name" |
| Description | This specifies the global default call plan for SM originating. |
| Type | string |
| Optionality | |
| Allowed | |
| Default | "" |
| Notes | |
| Example |
GlobalDefaultSMTermCallPlanName
| Syntax | GlobalDefaultForSMTermCallPlanName =
"name" |
| Description | This specifies the global default control plan for SM terminating. |
| Type | string |
| Optionality | |
| Allowed | |
| Default | "" |
| Notes | |
| Example |
globalCapabilityFlushPeriod
| Syntax | globalCapabilityFlushPeriod = seconds |
| Description | Sets the flush period in seconds. This overrides the default (1 hour) CCS capability cache flush period. |
| Type | Integer |
| Optionality | Optional (default used if not set). |
| Allowed | |
| Default | 3600 (1 hour) |
| Notes | Enables updates to the default control plan to be recognized by the service loader more quickly. |
| Example | globalCapabilityFlushPeriod = 10 |
IncomingCallBarDisable
| Syntax | |
| Description | |
| Type | |
| Optionality | |
| Allowed | |
| Default | |
| Notes | This parameter is not used. |
| Example |
IncomingCallBarEnable
| Syntax | |
| Description | |
| Type | |
| Optionality | |
| Allowed | |
| Default | |
| Notes | This parameter is not used. |
| Example |
InterpretAccountNumberAsCLI
| Syntax | |
| Description | Whether to interpret the subscriber number as a CLI. |
| Type | |
| Optionality | |
| Allowed | true, false |
| Default | false |
| Notes | This parameter is not used. |
| Example |
MobileTerminatingHomeCli
| Syntax | MobileTerminatingHomeCli = "cli" |
| Description | Defines the CLI to use to replace the normalized calling number in the ACS Chassis when the service being used is 'Roaming'. |
| Type | |
| Optionality | |
| Allowed | |
| Default | "" |
| Notes | |
| Example | MobileTerminatingHomeCli = "" |
NoCallPlanError
| Syntax | NoCallPlanError = "sev" |
| Description | This is the severity of the syslog message when no control plan is found for the CCS service. |
| Type | Integer |
| Optionality | |
| Allowed | notice, warning, error, critical |
| Default | warning |
| Notes | |
| Example | NoCallPlanError = "warning" |
PreCallAnnouncementId
| Syntax | PreCallAnnouncementId =
id |
| Description | This is the ID of the pre call announcement as used by the UATB node. |
| Type | |
| Optionality | |
| Allowed |
A valid pre call announcement ID. This can be any entry ID from the announcements table. Note: This ID cannot be viewed from any announcement configuration screen. |
| Default | 0 |
| Notes | A zero setting indicates there is no pre call announcement. |
| Example | PreCallAnnouncementId = 0 |
PreCallLowBalance
| Syntax | PreCallLowBalance =
true|false |
| Description | Determines whether or not to enable pre-call low balance warnings. |
| Type | Boolean |
| Optionality | |
| Allowed | false, true |
| Default | false |
| Notes | This parameter is used by the UATB node in conjunction
with the WithheldDuration parameter.
|
| Example | PreCallLowBalance = false |
productCapabilitiesCacheFlushTime
| Syntax | productCapabilitiesCacheFlushTime =
seconds |
| Description | How often a check is made for data older than its validity time. |
| Type | Integer |
| Optionality | Optional (default used if not set) |
| Allowed | Any positive integer |
| Default | 120 |
| Notes | Applies to product capabilities matched on capability
and product type. To reload the cache more frequently with the latest
versions of control plans, set
productCapabilitiesCacheFlushTime to a low value.
For example, when set to 60, the cache is flushed every 60 seconds. The
value should be less than or equal to that of
callPlanAndDataCacheFlushTime so that a valid
capability is used when retrieving control plan data.
|
| Example | productCapabilitiesCacheFlushTime =
60 |
productCapabilitiesCacheMaxAge
| Syntax | productCapabilitiesCacheMaxAge =
seconds |
| Description | The time after which an unused or unchanged product capability is dropped from cache. |
| Type | Integer |
| Optionality | Optional (default used if not set) |
| Allowed | Any positive integer |
| Default | 3600 |
| Notes |
Applies to product capabilities matched on capability
and product type. To remove stale entries from cache more
frequently, set The value should be greater than that of
|
| Example | productCapabilitiesCacheMaxAge =
900 |
productCapabilitiesCacheValidityTime
| Syntax | productCapabilitiesCacheValidityTime =
seconds |
| Description | The maximum age of the data before it is refreshed from the database |
| Type | Integer |
| Optionality | Optional (default used if not set) |
| Allowed | Any positive integer |
| Default | 600 |
| Notes |
Applies to product capabilities matched on capability
and product type. To refresh entries in the cache more frequently,
set The value should be greater than that of
|
| Example | productCapabilitiesCacheValidityTime =
300 |
productTypeForExternalSub
| Syntax | productTypeForExternalSub =
"pt_name" |
| Description | Specifies the name of the product type for external subscribers that do not exist on the Convergent Charging ControllerConvergent Charging Controller platform. Convergent Charging Controller uses the product type for external subscribers when sending requests to update external subscriber balances to Oracle Communications Billing and Revenue Management (BRM) Elastic Charging Engine (ECE) through a Diameter interface. |
| Type | String |
| Optionality | Optional (default used if not set) |
| Allowed | |
| Default | "EXTERNAL" |
| Notes | |
| Example | productTypeForExternalSub =
"EXTERNAL" |
promptForAccountOnOriginatingSK
| Syntax | promptForAccountOnOriginatingSK =
true|false |
| Description |
When set to true, the service library will prompt the caller to enter the subscriber number and PIN when:
|
| Type | Boolean |
| Optionality | |
| Allowed | true, false |
| Default | true |
| Notes | |
| Example | promptForAccountOnOriginatingSK =
true |
promptForAccountOnTerminatingSK
| Syntax | promptForAccountOnTerminatingSK = true|false |
| Description |
When set to true, the service library will prompt the caller to enter the subscriber number and PIN when the:
|
| Type | Boolean |
| Optionality | |
| Allowed | true, false |
| Default | true |
| Notes | |
| Example | promptForAccountOnTerminatingSK =
true |
RetrieveLCRNumbers
| Syntax | RetrieveLCRNumbers =
true|false |
| Description | Determines whether the UATB node can retrieve LCR numbers. |
| Type | Boolean |
| Optionality | |
| Allowed | true, false |
| Default | true |
| Notes | |
| Example | RetrieveLCRNumbers = true |
SingleReservation
| Syntax | SingleReservation =
true|false |
| Description | Switches single reservation on or off. |
| Type | Boolean |
| Optionality | |
| Allowed | true, false |
| Default | false |
| Notes | |
| Example | SingleReservation = false |
SubcriberDomainType
| Syntax | SubscriberDomainType =
id |
| Description | The ID of the domain type through which subscribers are stored (normally the VWS). |
| Type | Integer |
| Optionality | Optional (default used if not set). |
| Allowed | A valid domain type ID, as defined in a CCS domain type on the Domain tab in the Service Management screen. |
| Default | 1 (for VWS) |
| Notes |
For more information about domains, see Voucher and Wallet Server and CCS. For more information about what ID corresponds to the domain type which is used for an application, see the application's technical guide. |
| Example | SubscriberDomainType = 1 |
UnknownDataReleaseCause
| Syntax | UnknownDataReleaseCause =
int |
| Description | Defines the release cause to send back to the switch in the TCAP-CONNECT when the service cannot be loaded. |
| Type | Integer |
| Optionality | |
| Allowed | |
| Default | 31 |
| Notes | |
| Example | UnknownDataReleaseCause = 31 |
VoucherDomainType
| Syntax | VoucherDomainType = id |
| Description | The ID of the domain type through which vouchers are redeemed (normally the VWS). |
| Type | Integer |
| Optionality | Optional (default used if not set). |
| Allowed | A valid domain type ID, as defined in a CCS domain type on the Domain tab in the Service Management screen. |
| Default | 1 (for VWS) |
| Notes |
2 sets voucher redemptions to process through the
Voucher Manager server. When the CCS Balance Top Up Suite is
installed, the You can manually change the value back to '1' to use the VWS even when the CCS Balance Top Up Suite SLC package is installed. For more information about domains, see Overriding default domain types. For more information about what ID corresponds to the domain type which is used for an application, see the application's technical guide. |
| Example | VoucherDomainType = 1 |
WithheldDuration
| Syntax | WithheldDuration =
seconds |
| Description | The length of time withheld for low balance warnings. |
| Type | Integer |
| Optionality | |
| Allowed | |
| Default | 0 |
| Notes | This parameter is used by the UATB node. |
| Example | WithheldDuration = 0 |
libccsClientPlugins
libccsClientPlugins is a library which provides CCS plug-ins to the beClient. The plug-ins include:
- VoucherRechargePlugin
- VoucherTypeRechargePlugin
- MergeWalletsPlugin
Startup
libccsClientPlugins is used if the library and one or more of its functions is included in a plugins section in eserv.config. For an example of a process which uses this library, see Table 3-*.
Configuration
libccsClientPlugins is configured in the section specified in the config parameter in the plug-ins entry which calls the related function and the libccsClientPlugins library.
For examples, see Table 3-*.
voucherRechargeOptions
Name of the configuration section required for the Voucher Recharge plug-in.
sendBadPin
| Syntax | sendBadPin = true|false |
| Description | When true, increments the Bad PIN for a failed voucher recharge. |
| Type | |
| Optionality | |
| Allowed | true, false |
| Default | false |
| Notes | Used for invalid voucher number or voucher PIN only - does not apply to failed wallet recharges. |
| Example | sendBadPin = false |
singleBonusEdrs
| Syntax | singleBonusEdrs = true|false |
| Description | Whether to produce a single bonus EDR. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed | |
| Default | false |
| Notes | |
| Example | singleBonusEdrs = false |
srActivatesPreuseAccount
| Syntax: | srActivatesPreuseAccount = true|false |
| Description | Weather or not SR (Voucher Recharge) activate wallets with a Pre-use state. |
| Type | Boolean |
| Optionality | Optional (default used if not set). |
| Allowed |
true: Voucher recharges can activate pre-use wallets. false: Voucher recharges cannot be used with pre-use wallets. |
| Default | false |
| Notes | The application of this parameter is also affected by rechargePreUseAccounts (on page 2). |
| Example | srActivatesPreuseAccount = false |
srasActivatesPreuseAccount
| Syntax | srasActivatesPreuseAccount =
true|false |
| Description | When true, SRAS activates the wallet. |
| Type | Boolean |
| Optionality | |
| Allowed | true, false |
| Default | false |
| Notes | |
| Example | srasActivatesPreuseAccount = false |
voucherRechargeTriggers
This configuration is required for the Voucher plug-in. It defines the type of message that triggers the plug-in.
libccsCommon
libccsCommon provides common functions to various CCS processes.
Startup
libccsCommon is used by a number of CCS processes. No startup configuration is required for this library to be used.
Configuration
The libccsCommon library supports parameters from the common parameter group in the eserv.config file on all machines. For more information, see eserv.config Configuration.