3 Background Processes

This chapter explains the process which runs automatically as part of the Oracle Communications Convergent Charging Controller application. This process is started automatically by the system services (/IN/bin/OUI_systemctl.sh) in the SLC node.

RESTClient

Purpose

The RESTClient (REST) interface is used to trigger REST requests towards REST server endpoints.

Startup

This task is started by the system services, by the following line in the service files:

/IN/service_packages/REST/bin/RestClientStartup.sh config.json

Configuration

The high-level structure of the REST client is shown below:

{
  "maxthreadcount": 1000,
  "port": 4050,
  "webroot": "/tmp",
  "walletlocation": "Location",
  "walletkey": "key",

  "restendpoint": {
    "BalanceTransfer" : {
      "endpoint" : "BalanceTransferEndpoint",
      "servergroupid" : "BRM",
      "resourceid": 840,
      "chargesource": false,
      "chargedestination": false
    },
    "ApplyLoan" : {
      "endpoint" : "ApplyLoanEndpoint",
      "serviceType" : "/service",
      "servergroupid" : "BillingCare",
      "resourceid": 840
    },
    "GenericRequest" : {
      "endpoint" : "GenericRequestEndpoint",
      "type" : "POST",
      "servergroupid" : "BillingCare"
    }
  },
  "serverlist": {
    "BRM": {
      "tokenendpoint":"BRMOAuthEndpoint",
      "clientid":"username"
    },
    "BillingCare": {
      "tokenendpoint":"BCOAuthEndpoint",
      "clientid":"username"
    }
  }
}

Parameters

Parameters of the REST client are listed below.

maxthreadcount

Syntax: maxthreadcount: "value"
Description: Maximum number of thread the java process can have.
Type: Integer
Optionality: Optional
Allowed: NA
Default: 1000
Example: maxthreadcount: "1000"

port

Syntax: port: "value"
Description: Port on which REST client is listening to DAP requests.
Type: Integer
Optionality: Optional
Allowed: NA
Default: 4050
Example: port: "4050"

webroot

Syntax: webroot: "value"
Description: Path to which client will be listening. When “/” is specified, the client will be listening to “http://localhost:port/”. In API, “/” should be present at the end in the DAP configuration screen.
Type: String
Optionality: Optional
Allowed:: NA
Default: "/"
Example: webroot: "/tmp"

walletlocation

Syntax: walletlocation: "value"
Description: Location where the wallet is created, which stores the REST endpoint username and password.
Type: String
Optionality: Optional
Allowed: NA
Default: "/IN/service_packages/REST/etc/wallet"
Example: walletlocation: "/IN/service_packages/REST/etc/wallet"
walletkey
Syntax: walletkey= "value"
Description: Base64 encrypted password for the wallet.
Type: String
Optionality: Mandatory
Allowed: NA
Default: “”
Example: walletkey: "key”
restendpoint
Syntax:
"value" : {
      "endpoint" : "value",
      "type" : "value",
      "servergroupid" : "value"
    }
Description: Group of REST operations.
Type: JSON
Optionality: Optional
Allowed: NA
Default: NA
Example:
{ "BalanceTransfer" : {
      "endpoint" : "BalanceTransferEndpoint"
      "servergroupid" : "BillingCare"
    }
   "ApplyLoan" : {
       "endpoint" : "ApplyLoanEndpoint",
       "servergroupid" : "BRM"
    }
}
endpoint
Syntax: endpoint: "value"
Description: Endpoint to which the request is triggered.
Type: String
Optionality: Optional
Allowed: NA
Default: “”
Example: endpoint: "http:localhost:restopertion/"
type
Syntax: type: "value"
Description: The type of request. This applies to GenericRequest handler only.
Type: String
Optionality: Optional
Allowed: The allowed values are:
  • GET: Request will be triggered without body.
  • POST: XML Request body will be converted to JSON body and triggered.
  • PUT: XML Request body will be converted to JSON body and triggered.
Default: POST
Example: type: "POST"
servergroupid
Syntax: servergroupid: "value"
Description: ID of the oauth credential present in serverlist.
Type: String
Optionality: Optional
Allowed: Servergroupid should be present in the serverlist, so that corresponding oAuth endpoint and clientid is used to generate the token.
Default: “”
Example: servergroupid: "BRM"
resourceid
Syntax: resourceid: "value"
Description: Resourceid used for requesting BalanceTransfer and ApplyLoan.
Type: Integer
Optionality: Optional
Allowed: Only used in BalanceTransfer and ApplyLoan.
Default: 840
Example: resourceid: "840"
chargesource
Syntax: chargesource: "Boolean"
Description: This is a boolean flag to indicate whether the source account to be charged for balance transfer. The <chargeSource> xml input field will hold this value. If xml does not carry this information, then a default value is taken from the config.json file.
Type: Boolean
Optionality: Optional
Allowed: Only used in BalanceTransfer.
Default: false
Example: chargesource: "false"
chargedestination
Syntax: chargedestination: "Boolean"
Description: This is a boolean flag to indicate whether the target/destination account to be charged for balance transfer. The <chargeDestination> xml input field will hold this value. If xml does not carry this information, then a default value is taken from the config.json file.
Type: Integer
Optionality: Optional
Allowed: Only used in BalanceTransfer.
Default: false
Example: chargedestination: "false"
serviceType
Syntax: serviceType : "value"
Description: This is the MSISDN Service type for which apply loan details are requested. The <serviceType> xml input field will hold this value. If xml does not carry this information, then a default value is taken from the config.json file
Type: String
Optionality: Optional
Allowed: Only used in ApplyLoan.
Default: /service
Example: serviceType : "/service"
serverlist
Syntax:
"value": {
      "tokenendpoint":"value",
      "clientid":"value"
    }
Description: Group of OAuth credentials.
Type: JSON
Optionality: Mandatory
Allowed: NA
Default: NA
Example:
"BRM": {
      "tokenendpoint":"OAuthendpoint",
      "clientid":"username"
    }
tokenendpoint
Syntax: tokenendpoint: "value"
Description: Endpoint to which token request will be triggered.
Type: String
Optionality: Mandatory
Allowed: NA
Default: “”
Example: tokenendpoint: "OAuthendpoint"
clientid
Syntax: clientid: "value"
Description: Username used for OAuth token request. Corresponding password should be added in the wallet.
Type: String
Optionality: Mandatory
Allowed: NA
Default: NA
Example: clientid: "username"