5 Setting Up Roaming for TAP
This chapter describes how to set up roaming in Oracle Communications Billing and Revenue Management (BRM) to rate Transferred Account Procedure (TAP) roaming usage events.
Setting Up Roaming for TAP Roaming Usage Events
To set up roaming for incollect and outcollect processing, do the following:
-
Install supporting managers.
-
Use Pricing Center or Pipeline Configuration Center (PCC) to create network operator accounts in the Pipeline Manager database. When you create network operator accounts, you also define network models and interconnect charge offers for rating roaming usage. See "About Setting Up Network Operator Accounts".
-
Use Billing Care to create roaming partner accounts in the BRM database for storing settlement events and balance impacts. See "Defining Roaming Partner Accounts in the BRM Database".
-
Create charges for rating roaming usage. See "Defining Charges for Rating Roaming Usage".
-
Define configuration parameters that are used for settlement processing. See "Defining Configuration Parameters for Roaming".
-
Set up the default TAP currency. See "Setting Up the Default TAP Currency".
-
(Optional) Configure the roaming registry file to also support TAP 3.11. See "Setting Up TAP Roaming Manager to Support TAP 3.11".
By default, TAP Roaming Manager is configured to support TAP 3.12.
Defining Roaming Partner Accounts in the BRM Database
You use Billing Care to create roaming partner accounts in the BRM database for each roaming partner network operator, including yourself.
Roaming partner accounts are used to:
-
Store your roaming partner network operator's contact and payment information.
-
Store your roaming partner's subscribers' roaming events.
-
Store roaming charges.
-
Store your roaming partner network operator's Public Land Mobile Network (PLMN) ID as a service login.
-
Store the Special Drawing Rights (SDR) fraud limits in the corresponding /profile/acct_extrating object.
Note:
Only one account can exist for a roaming partner network operator.
To create roaming partner accounts in the BRM database, do the following:
-
Create a roaming package with incollect and outcollect charge offers with separate balance groups to store roaming charges. See "Creating a Roaming Package".
-
Create roaming partner accounts using the roaming package. See "Creating Roaming Partner Accounts Using the Roaming Package".
Creating a Roaming Package
To create a roaming package:
-
Create a charge offer for incollect settlement called RoamingIncollect with the service /service/settlement/roaming/incollect.
-
Create another charge offer for outcollect settlement called RoamingOutcollect with the service /service/settlement/roaming/outcollect.
-
Create a bundle for incollect settlement called RoamingIncollectBundle and add the RoamingIncollect charge offer to it.
-
Create another bundle for outcollect settlement called RoamingOutcollectBundle and add the RoamingOutcollect charge offer to it.
-
Create a roaming package called RoamingPackage by adding the bundles created in steps 3 and 4 to it.
-
Assign a balance group to the RoamingIncollect charge offer.
-
Assign a different balance group to the RoamingOutcollect charge offer.
Note:
You can refer to the sample roaming settlement package BRM_home\PricingCenter\Sample_Price_Plans\RoamingSettlementPlan.ipl file for sample settlement charge offers, bundles, and packages.
For roaming to work correctly, the roaming incollect and outcollect charge offers must be assigned to different balance groups.
Creating Roaming Partner Accounts Using the Roaming Package
To create the roaming partner account:
-
Purchase the roaming package.
-
Assign the balance group associated with RoamingIncollect to a bill unit.
-
Assign the balance group associated with RoamingOutcollect to a different bill unit.
Note:
You can choose to create a separate bill unit for each service or create one bill unit for both services. If you create one bill unit, the incollect and outcollect roaming charges will be summed up in one bill. By creating separate bill units, the incollect and outcollect roaming charges will be in separate bills.
Defining Charges for Rating Roaming Usage
When you create the charge, you can choose to modify or replace the charge passed in the TAP records from your roaming partner network operator. You can increase the passed-in price by a percentage (for example, 15%) or by a fixed amount (for example, $1.00). You can also replace the passed-in price with an amount you enter.
Defining Configuration Parameters for Roaming
Define the following configuration parameters:
-
Verify that the /item/settlement/roaming item type is defined in the /config/item_types storable object:
0 PIN_FLD_ITEM_TYPES ARRAY [6] allocated 6, used 6 1 PIN_FLD_DESCR STR [0] "Roaming Settlement" 1 PIN_FLD_ITEM_SUB_TYPE STR [0] "" 1 PIN_FLD_ITEM_TAG STR [0] "roaming_settlement" 1 PIN_FLD_ITEM_TYPE STR [0] "/item/settlement/roaming" 1 PIN_FLD_PRECREATE INT [0] 1 1 PIN_FLD_TYPE ENUM [0] 2
If the /item/settlement/roaming item type is not defined, load the BRM_home/sys/data/pricing/example/config_item_types.xml file into the BRM database by running the load_config_item_types utility.
-
Verify that the roaming_settlement item tag is defined in the /config/item_tags storable object:
0 PIN_FLD_ITEM_TAGS ARRAY [6] allocated 3, used 3 1 PIN_FLD_EVENT_TYPE STR [0] "/event/delayed/session/telco/*" 1 PIN_FLD_ITEM_TAG STR [0] "roaming_settlement" 1 PIN_FLD_SERVICE_TYPE STR [0] "/service/settlement/roaming/*"
If the roaming_settlement item tag is not defined, load the BRM_home/sys/data/pricing/example/config_item_tags.xml file into the BRM database by running the load_config_item_tags utility.
-
Verify that the /service/settlement/roaming/outcollect and /service/settlement/roaming/incollect event types are defined in the /config/event_map storable object.
0 PIN_FLD_EVENT_MAP ARRAY [10] allocated 2, used 2 1 PIN_FLD_PERMITTED STR [0] "/service/settlement/roaming/outcollect" 1 PIN_FLD_EVENTS ARRAY [0] allocated 5, used 5 2 PIN_FLD_COUNT INT [0] 0 2 PIN_FLD_EVENT_DESCR STR [0] "Roaming Settlement Event" 2 PIN_FLD_EVENT_TYPE STR [0] "/event/delayed/session/telco/roaming" 2 PIN_FLD_INDICATOR INT [0] 0 2 PIN_FLD_UNIT ENUM [0] 0 0 PIN_FLD_EVENT_MAP ARRAY [11] allocated 2, used 2 1 PIN_FLD_PERMITTED STR [0] "/service/settlement/roaming/incollect" 1 PIN_FLD_EVENTS ARRAY [0] allocated 5, used 5 2 PIN_FLD_COUNT INT [0] 0 2 PIN_FLD_EVENT_DESCR STR [0] "Roaming Settlement Event" 2 PIN_FLD_EVENT_TYPE STR [0] "/event/delayed/session/telco/roaming" 2 PIN_FLD_INDICATOR INT [0] 0 2 PIN_FLD_UNIT ENUM [0] 0
If the /service/settlement/roaming/outcollect and /service/settlement/roaming/incollect event types are not defined, edit the pin_event_map file and create the event mappings, and then run the load_event_map utility, which loads the event mappings into the BRM database.
-
Verify that the SDR currency resource is defined in the /config/beid storable object.
If the SDR currency is not defined, use Resource Editor to define the currency.
-
Verify that the general ledger (G/L) ID used for tracking roaming charges (specified in the registry for ISC_ConsolidatedCP) is defined in the /config/glid storable object.
If the G/L ID for roaming charges is not defined, edit the pin_glid file, and then run the load_pin_glid utility, which loads the G/L ID.
Setting Up the Default TAP Currency
BRM roaming uses SDR as the default TAP currency. You can configure BRM to use a currency other than SDR as the default TAP currency.
To configure BRM to use a currency other than SDR as the default TAP currency:
-
Define the new default TAP currency resource.
-
Define the exchange rates for the new currency using Pricing Center or Pipeline Configuration Center (PCC).
-
Configure the new currency as the default TAP currency. See "Configuring the Default TAP Currency".
Configuring the Default TAP Currency
To configure the default TAP currency:
-
Open the roaming registry file (Pipeline_Home/conf/roaming.reg), where Pipeline_Home is the directory in which you installed Pipeline Manager.
-
For all instances of the FCT_ExchangeRate module in the roaming registry, change the HomeCurrency registry entry from SDR to the new default TAP currency.
-
In the TAP input processing pipeline, set the TAPCurrency registry entry to the new default TAP currency.
-
Save and close the file.
Note:
During TAP input file processing, if the TAP input file does not contain a currency in the TapCurrency field and if the TAPCurrency registry entry is set in the roaming registry file, the TAPCurrency value in the registry file is used as the default TAP currency. If the TAP input file does not contain a currency in the TapCurrency field and if the TAPCurrency registry entry is not set in the registry file, the default TAP currency is set to SDR.
Setting Up TAP Roaming Manager to Support TAP 3.11
The TAP 3.12 installation directory includes the roaming registry file (Pipeline_Home/conf/roaming.reg) that contains pipelines configured for processing TAP 3.12 files. To process both TAP 3.11 and TAP 3.12 files, you need to update the roaming registry file to contain similar pipeline sections configured for processing TAP 3.11 files.
For example, the pipelines section will contain two sections for the validation pipeline, one section named TAPInProcessingPipeline, for TAP 3.12 files, and another named TAPInProcessingPipeline_0311, for TAP 3.11 files. Each pipeline requires a separate input directory, and each pipeline requires a separate set of grammar files, mapping files, and iScripts.
To set up TAP Roaming Manager to support TAP 3.11:
-
Verify that duplicates of the specific files required to continue processing TAP 3.11 files were created at the start of the installation process.
Table 5-1 lists the files that should have been duplicated at the start of the installation process.
Table 5-1 Files Duplicated During Patch Set Installation
TAP 3.12 File Name TAP 3.11 File Name RAP_0105_AckOutGrammar.dsc
RAP_0105_AckOutGrammar_0311.dsc
RAP_0105_FatalReturn.dsc
RAP_0105_FatalReturn_0311.dsc
RAP_0105_InGrammar.dsc
RAP_0105_InGrammar_0311.dsc
RAP_0105_MissingReturn.dsc
RAP_0105_MissingReturn_0311.dsc
RAP_0105_OutGrammar.dsc
RAP_0105_OutGrammar_0311.dsc
RAP_0105_StopReturn.dsc
RAP_0105_StopReturn_0311.dsc
containerDesc.dsc
containerDesc_0311.dsc
-
Open the Pipeline_Home/conf/roaming.reg file.
-
Duplicate the TAP 3.12 pipelines (listed in the left-hand column of Table 5-2) and update the duplicated pipelines to use TAP 3.11 (as shown in the right-hand column of Table 5-2) by doing the following:
Table 5-2 Pipelines Requiring Configuration
Pipeline Name and Data Provided for Use with TAP 3.12 Pipeline Name and Data To Be Created for Use with TAP 3.11 TAPCorrectionPipeline
TAPCorrectionPipeline_0311
RAPInProcessingPipeline
RAPInProcessingPipeline_0311
TAPOutCollectPipeline
TAPOutCollectPipeline_0311
TAPOutSettlementPipeline
TAPOutSettlementPipeline_0311
TAPInProcessingPipeline
TAPInProcessingPipeline_0311
StopRapGeneratorPipeline
StopRapGeneratorPipeline_0311
Note:
The backup procedure during the installation used the extension _0311 to rename the required TAP 3.11 files and to associate them with the TAP 3.11 version to which they belong.
The following steps use that _0311 name extension to update the roaming.reg file with the registry configuration appropriate for the processing of TAP 3.11 roaming usage events.
If you chose a different naming structure for these files during the backup step, then, make sure that the roaming.reg file is updated to reflect that naming structure for proper processing of TAP 3.11 roaming usage events.
-
Find the section for each pipeline under Pipelines.
For example, the section for TAPInProcessingPipeline is:
TAPInProcessingPipeline { Active = True ... ... } # END of Output } # END TAPInProcessingPipeline
-
Copy this entire section and paste it immediately under the original section.
-
Rename the copied section to the name (appropriate for TAP 3.11) in the right-hand column of Table 5-2.
For example:
TAPInProcessingPipeline_0311 { Active = True ... ... } # END of Output } # END TAPInProcessingPipeline_0311
You should now have two sections for that pipeline, the TAP 3.12 section followed by the duplicate (renamed) pipeline section for TAP 3.11. For example:
TAPInProcessingPipeline { Active = True ... ... } # END of Output } # END TAPInProcessingPipeline TAPInProcessingpipeline_0311 { Active = True ... ... } # END of Output } # END TAPInProcessingPipeline_0311
-
The newly-created section for the TAP 3.11 pipeline contains TAP 3.12 iScript, grammar, and container description file names (because of the copying), so you must change the iScript, grammar, and container description file names for TAP 3.11 processing (using the entries in Table 5-3).
For example, change the Grammar registry entry for TAPInProcessingPipeline_0311 from:
Grammar = ./formatDesc/Formats/TAP3-NG/TAP_0312_InGrammar.dsc
to
Grammar = ./formatDesc/Formats/TAP3-NG/TAP_0311_InGrammar.dsc
This makes the Grammar registry entry in the TAPInProcessingPipeline_0311 section appropriate for processing TAP 3.11 roaming usage events:
TAPInprocessingPipeline_0311 { Active = True ... Grammar = ./formatDesc/Formats/TAP3-NG/TAP_0311_InGrammar.dsc ... } # END of Output } # END TAPInProcessingPipeline_0311
Table 5-3 lists file names you need to change in the TAP 3.11 pipeline to set up iScript, grammar, and container description files appropriate for TAP 3.11.
Note:
Not all the file names are contained in a pipeline section. For example, neither the original nor the duplicate section for TAPCorrectionPipeline contains the ISC_TAP_0312_Validations iScript entry (which is used to validate TAP 3.12 input data).
Table 5-3 Basic Configuration Data for Duplicated Pipelines
TAP 3.12 File Name TAP 3.11 File Name TAP_0312_OutGrammar.dsc
TAP_0311_OutGrammar.dsc
TAP_0312_InGrammar.dsc
TAP_0311_InGrammar.dsc
TAP_0312_Blocks.dsc
TAP_0311_Blocks.dsc
ISC_TAP_0312_Validations.isc
ISC_TAP_0311_Validations.isc
ISC_TAP_0312_InMap.isc
ISC_TAP_0311_InMap.isc
RAP_0105_AckOutGrammar.dsc
RAP_0105_AckOutGrammar_0311.dsc
RAP_0105_FatalReturn.dsc
RAP_0105_FatalReturn_0311.dsc
RAP_0105_InGrammar.dsc
RAP_0105_InGrammar_0311.dsc
RAP_0105_MissingReturn.dsc
RAP_0105_MissingReturn_0311.dsc
RAP_0105_OutGrammar.dsc
RAP_0105_OutGrammar_0311.dsc
RAP_0105_StopReturn.dsc
RAP_0105_StopReturn_0311.dsc
containerDesc.dsc
containerDesc_0311.dsc
-
Configure the entry for InputPath in the InputStream section for the newly-created pipeline, as appropriate for TAP 3.11.
Change the following:
InputPath = ./data/incollect/tapin/in
to
InputPath = ./data/incollect/tapin/in_0311
For example:
InputStream { ModuleName = EXT_InFileManager Module { InputPath = ./data/incollect/tapin/in_0311 ...
-
Configure the entry for DonePath in the InputStream section for the newly-created pipeline, as appropriate for TAP 3.11.
Change the following:
DonePath = ./data/incollect/tapin/done
to
DonePath = ./data/incollect/tapin/done_0311
For example:
InputStream { ModuleName = EXT_InFileManager Module { DonePath = ./data/incollect/tapin/done_0311 ...
-
Configure the entry for ErrorPath in the InputStream section for the newly-created pipeline, as appropriate for TAP 3.11.
Change the following:
ErrorPath = ./data/incollect/tapin/error
to
ErrorPath = ./data/incollect/tapin/error_0311
For example:
InputStream { ModuleName = EXT_InFileManager Module { ErrorPath = ./data/incollect/tapin/error_0311 ...
Repeat these steps for the remaining pipelines listed in Table 5-2.
-
-
Save and close the file.
Verifying the Processing of Roaming Usage Events
To verify that TAP Roaming Manager processes roaming usage events correctly, check the following:
-
The files are successfully processed and placed in the appropriate out processing directories.
-
Error directories for errors
-
Stream logs for errors
Improving System Performance when Rating Roaming Events
When you process TAP records and other service events (for example, GSM) in parallel, it can affect your system's performance. This occurs when TAP records are older than the GSM records. For accounts that have changed, the system has to reload old and new account data constantly which results in increased database access. You can improve system performance by creating a separate Pipeline Manager instance to process the TAP records separately.