6 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:

  1. Install supporting managers. See "Installing Supporting Managers".

  2. Use Pricing Center to create network operator accounts in the Pipeline Manager database. When you create network operator accounts, you also define network models and interconnect products for rating roaming usage. See "About Setting Up Network Operator Accounts".

  3. Use Customer Center 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".

  4. Create rate plans for rating roaming usage. See "Defining Rate Plans for Rating Roaming Usage".

  5. Define configuration parameters that are used for settlement processing. See "Defining Configuration Parameters for Roaming".

  6. Set up the default TAP currency. See "Setting Up the Default TAP Currency".

  7. (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.

Installing Supporting Managers

Roaming incollect and outcollect processing for TAP roaming usage events requires Suspense Manager, to process suspended event detail records (EDRs); InterConnect Manager, to rate roaming usage; and Rated Event (RE) Loader, to load roaming usage events into the BRM database.

You must install and configure:

Note:

Suspense Manager, InterConnect Manager, and RE Loader are not part of TAP Roaming Manager and requires separate licenses.

Defining Roaming Partner Accounts in the BRM Database

You use Customer Center 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:

Creating a Roaming Plan

To create a roaming plan:

  1. Create a product for incollect settlement called RoamingIncollect with the service /service/settlement/roaming/incollect.

  2. Create another product for outcollect settlement called RoamingOutcollect with the service /service/settlement/roaming/outcollect.

  3. Create a deal for incollect settlement called RoamingIncollectDeal and add the RoamingIncollect product to it.

  4. Create another deal for outcollect settlement called RoamingOutcollectDeal and add the RoamingOutcollect product to it.

  5. Create a roaming plan called RoamingPlan by adding the deals created in steps 3 and 4 to it.

  6. Assign a balance group to the RoamingIncollect product.

  7. Assign a different balance group to the RoamingOutcollect product.

    Note:

    You can refer to the sample roaming settlement plan BRM_Home\PricingCenter\Sample_Price_Plans\RoamingSettlementPlan.ipl file for sample settlement products, deals, and plans.

    For roaming to work correctly, the roaming incollect and outcollect products must be assigned to different balance groups.

Creating Roaming Partner Accounts Using the Roaming Plan

To create the roaming partner account:

  1. Purchase the roaming plan.

  2. Assign the balance group associated with RoamingIncollect to a bill unit.

  3. 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 Rate Plans for Rating Roaming Usage

You use Pricing Center to create rate plans and price models that define the criteria used to determine the charge for rating roaming usage.

To create pipeline rate plans and price models, see "About Pipeline Rate Plans" in BRM Setting Up Pricing and Rating.

When you create the rate plan, 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. See "Using Passthrough Prices" in BRM Setting Up Pricing and Rating.

Defining Configuration Parameters for Roaming

Define the following configuration parameters:

  1. 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. For more information, see "load_config_item_types" in BRM Configuring and Running Billing.

  2. 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. For more information, see "load_config_item_tags" in BRM Configuring and Running Billing.

  3. 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. For more information, see "load_event_map" in BRM Setting Up Pricing and Rating.

  4. 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.

  5. 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. For more information, see "load_pin_glid" in BRM Collecting General Ledger Data.

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:

  1. Define the new default TAP currency resource. See "Setting Up Resources" in BRM Setting Up Pricing and Rating.

  2. Define the exchange rates for the new currency using Pricing Center. See the discussion of setting up currencies and exchange rates in the Pricing Center Help.

  3. 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:

  1. Open the roaming registry file (Pipeline_Home/conf/roaming.reg), where Pipeline_Home is the directory in which you installed Pipeline Manager.

  2. 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.

  3. In the TAP input processing pipeline, set the TAPCurrency registry entry to the new default TAP currency.

  4. 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:

  1. 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 6-1 lists the files that should have been duplicated at the start of the installation process. For more information, see the discussion on backing up TAP 3.11 files in BRM Patch Set Installation Guide .

    Table 6-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


  2. Open the Pipeline_Home/conf/roaming.reg file.

  3. Duplicate the TAP 3.12 pipelines (listed in the left-hand column of Table 6-2) and update the duplicated pipelines to use TAP 3.11 (as shown in the right-hand column of Table 6-2) by doing the following:

    Table 6-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


    Important:

    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.

    1. Find the section for each pipeline under Pipelines.

      For example, the section for TAPInProcessingPipeline is:

      TAPInProcessingPipeline
          {
            Active = True
      ...
      ...
       } # END of Output    
          } # END TAPInProcessingPipeline
      
    2. Copy this entire section and paste it immediately under the original section.

    3. Rename the copied section to the name (appropriate for TAP 3.11) in the right-hand column of Table 6-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
      
    4. 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 6-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 6-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 6-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


    5. 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
      ...
      
    6. 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
      ...
      
    7. 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 6-2.

  4. 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.