6 Setting Up Pipeline Manager for Roaming Incollect Processing

This chapter describes how to configure Oracle Communications Billing and Revenue Management (BRM) Pipeline Manager for roaming incollect processing.

Note:

The following pipeline configuration applies to rating TAP roaming usage events only.

See "About Processing Home Subscribers' Roaming Usage" for more information about roaming incollect processing.

Setting Up Roaming Incollect Processing Pipelines

Configure the following pipelines to set up roaming incollect processing:

Configuring the Validation Pipeline

Configure the validation pipeline by performing the following tasks:

Configuring the Validation Pipeline EDRFactory Registry

Set the EDRFactory Description entry to the TAP container description file as follows:

Description = ./formatDesc/Formats/TAP3-NG/containerDesc.dsc
Configuring the Validation Pipeline DataDescription Registry Section

Configure the validation pipeline DataDescription registry section by setting the stream formats, input mapping, and output mapping as follows:

DataDescription
{
   Standard
   { 
     ModuleName = Standard 
     Module 
     { 
       StreamFormats
       {
         Generic = ./formatDesc/Formats/TAP3-NG/GenericBlocks.dsc
         TAP     = ./formatDesc/Formats/TAP3-NG/TAP_0312_Blocks.dsc
         RAP     = ./formatDesc/Formats/TAP3-NG/RAP_0105_Blocks.dsc
         SOL42   = ./formatDesc/Formats/Solution42/SOL42_V670_REL.dsc
       }
       InputMapping
       {
       }
       OutputMapping
       {
         SOL42   = ./formatDesc/Formats/Solution42/SOL42_V670_REL_OutMap.dsc
       }
     }
   }
}
Configuring Validation Pipeline Input Processing

Configure input processing for the validation pipeline as follows:

  1. (Optional) Configure a Batch Controller and a Batch Handler to send TAP files that you receive from the clearing house or your roaming partner to the input directory of the validation pipeline.

    Note:

    You do not need to configure a Batch Controller and a Batch Handler if your mediation system is set up to send incoming TAP files directly to the validation pipeline.

  2. Configure sequence checking of incoming TAP files.

    1. Using Pricing Center or Pipeline Configuration Center (PCC), define a Sequence Checker with multiple sequences. Define each sequence by specifying a sequence key that is the same as the roaming partner ID.

    2. Edit the SequencerPool section of the pipeline registry.

      • Set the sequencer instance to the name of the Sequence Checker defined in step 2.a above.

      • Set the SequencerType registry entry to Check.

    3. Assign the Sequencer to the pipeline output controller.

      • Set the Sequencer registry entry in the pipeline output controller to the name of the Sequence Checker.

        The following is a sample configuration for a Sequence Checker called SEQ_CHECK_TAPIN:

        SequencerPool
        {
           SEQ_CHECK_TAPIN 
           { 
              Source = Database
              Controller 
              { 
                 SequencerType = Check
                 ReuseGap = True 
                 SequenceLength = 5
                 DatabaseConnection = ifw.DataPool.Login
              }
           } 
        }
        ...
        ...
        ...
        ...
        Output
        {
        
             SequenceGeneration = Transaction
             Sequencer = SEQ_CHECK_TAPIN
        }
  3. Configure the INP_GenericStream input module, which maps TAP input data to staging fields in the EDR container using the TAP input grammar file.

    1. Set the Grammar entry to the name of the TAP input grammar description file:

      Grammar = ./formatDesc/Formats/TAP3-NG/TAP_0312_InGrammar.dsc
    2. Configure the EXT_InFileManager registry entry to specify information about the input file.

Configuring Validation Pipeline Function Modules

Configure the registry for the following modules:

  • ISC_TAP_0312_Validations, which validates the TAP input data.

  • ISC_TAP_0312_InMap, which maps TAP data from staging fields to the business fields in the EDR container.

  • FCT_Reject, which sends invalid TAP records to the reject stream.

    • Set the StreamMap and UseRejectStream registry entries to the reject output stream.

  • UpdateTapInfo_Tapin, which stores information about incoming TAP files in the IFW_TAPINFO table used by the StopRapGen utility.

Configuring Validation Pipeline Output Processing

Configure output processing for the validation pipeline as follows:

  1. Configure sequence generation for RAP files.

    1. Using Pricing Center or Pipeline Configuration Center (PCC), define a Sequence Generator.

    2. Edit the SequencerPool section of the registry.

      • Set the SequencerInstance registry entry to the name of the Sequence Checker defined in step 1.a above.

      • Set the SequencerType registry entry to Generation.

  2. Configure a RAP output stream to write invalid TAP files and records to RAP files.

    1. Set the Grammar registry entry for the OUT_GenericStream module to the name of the RAP output grammar description file:

      Grammar = ./formatDesc/Formats/TAP3-NG/RAP_0105_OutGrammar.dsc
    2. Set the Sequencer registry entry for OUT_GenericStream to the Sequence Generator defined in step 11.a above.

  3. Configure fatal RAP file generation by configuring the input module to write TAP files with a fatal error to a RAP file.

    1. Set the RapOutStream registry entry for the INP_GenericStream module to the RAP output stream.

    2. Set the Sequencer registry entry for INP_GenericStream to the Sequence Generator defined in step 11.a above.

  4. Configure another output stream to write valid event data records (EDRs) to an output file to be processed by the reprice and incollect settlement pipelines.

    1. Set the Grammar registry entry for the OUT_GenericStream module to the BRM SOL42 output grammar description file:

      Grammar=./FormatDesc/Formats/Solution42/SOL42_V670_REL_OutGrammer.dsc
    2. Configure the EXT_OutFileManager registry entry to specify output file information.

  5. Configure Event Handler to send output files to the reprice and incollect settlement pipelines.

    1. Add the Events subsection as shown below to the EventHandler registry:

      EventHandler
      {
         ModuleName      = EVT
         Module
         {
            Events
            {
      ifw.Pipelines.TAPInProcessingPipeline.Output.OutputCollection.TAPInProcessingOutput.Module.OutputStream.Module
               {
                  EVT_OUTPUT_FILE_READY = ./bin/move_incollect_roam.pl
               }
             }
         }
      }

      where:

      • TAPInProcessingPipeline is the name of the validation pipeline.

      • TAPInProcessingOutput is the output stream for writing valid EDRs.

    2. Edit the move_incollect_roam.pl script.

      Edit the following line to specify the input directory of the reprice pipeline:

      my $COPY_DIR = "$ENV{IFW_HOME}/data/incollect/reprice/in";

      Edit the following line to specify the input directory of the incollect settlement pipeline:

      my $MOVE_DIR = "$ENV{IFW_HOME}/data/incollect/settlement/in";

Configuring the Reprice Pipeline

Configure the reprice pipeline by performing the following tasks:

Configuring the Reprice Pipeline DataDescription Registry Section

Configure the reprice pipeline DataDescription registry section by setting the stream formats, input mapping, and output mapping as follows:

DataDescription
{
   Standard
   { 
     ModuleName = Standard 
     Module 
     { 
       StreamFormats
       {
         SOL42_FORINPUT = ./formatDesc/Formats/Solution42/SOL42_V670_REL_FORINPUT.dsc
         EVENT_LOADER = ./formatDesc/Formats/Solution42/V670_EVENT_LOADER.dsc
       }
       InputMapping
       {
         SOL42_FORINPUT = ./formatDesc/Formats/Solution42/SOL42_V670_REL_InMap.dsc
       }
       OutputMapping
       {
         EVENT_LOADER = ./formatDesc/Formats/Solution42/V670_EVENT_LOADER_OutMap.dsc
       }
     }
   }
}
Configuring Reprice Pipeline Input Processing

Configure input processing for the reprice pipeline as follows:

  1. Configure the INP_GenericStream input module, which maps the contents of the validation pipeline output file into EDR container fields.

    1. Set the Grammar registry entry to the standard BRM input grammar description file:

      Grammar = ./formatDesc/Formats/Solution42/SOL42_V670_REL_InGrammar.dsc
    2. Configure the EXT_InFileManager registry entry to specify input file information.

Configuring Reprice Pipeline Function Modules

Configure the registry for the following modules:

  • ISC_ConsolidatedCP, which removes all non-00 impact category charge packets and sets the General Ledger (G/L) ID.

    Use the GL_CODE entry to assign the G/L ID for the event balance impacts.

  • FCT_ServiceCodeMap, which maps external service codes to internal service codes.

  • FCT_UsageClassMap, which maps external codes for supplementary services, such as call forwarding, to internal usage classes.

  • FCT_Account, which identifies the subscriber account that generated the event.

  • ISC_ApplyTax, which checks whether incoming roaming charge tax amounts need to be passed on to the subscriber.

  • FCT_Filter_Set, which adds system charge offers and discount offers to the subscriber's list of charge offers.

  • FCT_CustomerRating, which supplies charges for the FCT_MainRating module.

  • FCT_PreRating, which calculates zones and creates impact categories.

  • FCT_USC_Map, which performs usage scenario mappings.

  • FCT_MainRating, which performs the main rating functionality in the pipeline. You can rerate the call, do markup, passthrough, etc.

    • The total charge amount in the charge packets created by the input file should match the wholesale_charged_amount under the detail block.

    • Based on the rating charge offer, the rating module will create an ASS_CBD with one CP.

    • FCT_MainRating works on the ASS_CBD rating and wholesale_charged_amount markup and updates the chargeamount field in the CP under ASS_CBD created by CustomerRating.

  • FCT_Rounding, which performs rounding of the charge value calculated by rating.

  • FCT_ExchangeRate, which converts the TAP currency (SDR) to the subscriber's billing currency (for example, EURO). The exchange rate is determined based on the call time.

  • FCT_DiscountAnalysis, which performs discounting analysis functions.

  • FCT_PreDiscount, which determines the discount impact category.

  • FCT_Discount, which calculates and applies discounts.

  • FCT_Rounding, which rounds the discount value calculated by discounting.

  • FCT_ApplyBalance, which adds discounts to the EDR balance.

  • FCT_ItemAssign, which identifies an appropriate bill item to be assigned to the EDR.

  • FCT_BillingRecord, which creates the balance impact information from the charge amount provided in the EDR and associates this impact to the bill item. Set the following entries:

    CurrencyType = B
    ChargeBreakDownRecord = 980
Configuring Reprice Pipeline Output Processing

Configure output processing for the reprice pipeline as follows:

  1. Configure routing of EDRs to separate output streams based on service type.

    1. For each service type, configure an output module to write rated EDRs to an output file. This file is loaded into the BRM database by Rated Event (RE) Loader.

      • Set the Grammar registry entry for OUT_GenericStream to the RE Loader output grammar description file:

        Grammar = ./formatDesc/Formats/Solution42/V670_EVENT_LOADER_OutGrammar.dsc
      • Configure the EXT_OutFileManager registry entry to specify output file information.

    2. Configure the IRL_EventTypeSplitting module to send EDRs to separate output streams based on service type.

Configuring DAT_InterConnect

The DAT_InterConnect module provides network operator configuration information that is accessed by the ISC_ApplyTax module.

Configure the DAT_InterConnect module in the DataPool registry section. When you configure DAT_InterConnect, you specify database connection information to the BRM database.

Configuring Rated Event Loader for the Reprice Pipeline

You must configure RE Loader to load events rated by the reprice pipeline into the BRM database. When you configure RE Loader, you specify information about how to connect to the BRM database, the location of the output file created by the reprice pipeline, how to process the events in the file, and so forth.

Configuring Suspense Manager for the Reprice Pipeline

You must configure Suspense Manager pipeline components to process EDRs suspended by the reprice pipeline.

EDRs suspended by the reprice pipeline are processed by using the following Suspense Manager components:

  • FCT_PreSuspense, which appends suspense-related information to the EDR.

  • FCT_Reject, which sends suspended EDRs to the reject output stream.

  • FCT_Suspense, which adds suspense reason and suspense subreason codes to the EDRs.

  • Suspended Event (SE) Loader, which loads suspended events from the reject output stream into the BRM database.

  • Suspense Management Center, which is used to query and edit the suspended events. After making the necessary corrections, you submit the suspended events to be recycled. When suspended events are submitted to be recycled, Suspense Management Center publishes a notification event that is queued in the BRM database to notify Pipeline Manager that events are ready to be recycled.

  • DAT_Listener, which dequeues the notification event from the BRM database and notifies the DAT_Recycle module.

  • DAT_Recycle, which creates a parameter file that allows the EXT_InEasyDB module to read suspended usage records associated with a recycle job. It also provides an interface for the INP_Recycle module to provide status updates about the EDR stream.

  • The pre-recycle pipeline, which sends the EDRs to the reprice pipeline to be rated again.

Configuring the Incollect Settlement Pipeline

Configure the incollect settlement pipeline by performing the following tasks:

Configuring the Incollect Settlement Pipeline DataDescription Registry Section

Configure the incollect settlement pipeline DataDescription registry section by setting the stream formats, input mapping, and output mapping as follows:

DataDescription
{
   Standard
   { 
     ModuleName = Standard 
     Module 
     { 
       StreamFormats
       {
         SOL42_FORINPUT = ./formatDesc/Formats/Solution42/SOL42_V670_REL_FORINPUT.dsc
         EVENT_LOADER = ./formatDesc/Formats/Solution42/V670_EVENT_LOADER.dsc          
       }
       InputMapping
       {
         SOL42_FORINPUT = ./formatDesc/Formats/Solution42/SOL42_V670_REL_InMap.dsc
       }
       OutputMapping
       {
         EVENT_LOADER = ./formatDesc/Formats/Solution42/V670_EVENT_LOADER_OutMap.dsc          
       }
     }
   }
}
Configuring Incollect Settlement Pipeline Input Processing

Configure input processing for the incollect settlement pipeline as follows:

  1. Configure the INP_GenericStream input module, which maps the output file from the validation pipeline into EDR container fields:

    1. Set the Grammar registry entry to the BRM SOL42 input grammar description file:

      Grammar = ./formatDesc/Formats/Solution42/SOL42_V670_REL_InGrammar.dsc
  2. Configure the EXT_InFileManager registry entry to specify input file information.

Configuring Incollect Settlement Pipeline Function Modules

Configure the registry for the following modules:

  • ISC_ConsolidatedCP, which removes all non-00 impact category charge packets and sets the G/L ID.

    Use the GL_CODE entry to assign the G/L ID for incollect settlement event balance impacts.

  • FCT_ServiceCodeMap, which maps external service codes to internal service codes. Set MapGroup as follows:

    MapGroup = INCOLLECT
  • FCT_Account, which determines the roaming partner account and associates the EDR with this account.

  • FCT_ExchangeRate, which converts charge amount in the charge packets to the subscriber's billing currency.

  • FCT_ItemAssign, which assigns the bill item associated with the roaming partner account's incollect service to the EDR.

  • FCT_BillingRecord, which creates the balance impact information from the charge amount provided in the EDR and associates this impact to the bill item. Set the following entries as follows:

    CurrencyType = B
    ChargeBreakDownRecord = 980
  • ISC_RollbackSettlement, which rolls back transactions when an error occurs.

Configuring Incollect Settlement Pipeline Output Processing

Configure output processing for the incollect settlement pipeline as follows:

  1. Configure GPRS and GSM EDR splitting.

    1. Create a system brand called GSMR to associate with GSM EDRs; create a system brand called GPRSR to associate with GPRS EDRs.

    2. Define splitting rules and associate the rules with the system brands.

    3. Configure the FCT_EnhancedSplitting module and use the SystemBrands entry to map the system brands to the GPRS and GSM output streams as follows:

      ModuleName = FCT_EnhancedSplitting
      Module
      {
           Active = True 
           DataConnection = ifw.DataPool.Login 
           DefaultOutput = GSMOutput 
           SystemBrands 
           {  
              GSMR = GSMOutput
              GPRSR = GPRSOutput
           }
      }
  2. Configure an output stream to write GSM EDRs to an output file to be processed by RE Loader by configuring the OUT_GenericStream module as follows:

    1. Set EventType to /event/delayed/session/telco/gsm/roaming.

    2. Set the Grammar entry to the name of the RE Loader output grammar description file:

      Grammar = ./formatDesc/Formats/Solution42/V670_EVENT_LOADER_OutGrammar.dsc
    3. Configure the EXT_OutFileManager registry entry to specify output file information.

  3. Configure another output stream to write GPRS EDRs to an output file to be processed by RE Loader by configuring the OUT_GenericStream module as follows:

    1. Set EventType to /event/delayed/session/telco/gprs/roaming.

    2. Set the Grammar entry to the name of the RE Loader output grammar description file:

      Grammar = ./formatDesc/Formats/Solution42/V670_EVENT_LOADER_OutGrammar.dsc
    3. Configure the EXT_OutFileManager registry entry to specify output file information.

Configuring Rated Event Loader for the Incollect Settlement Pipeline

You must configure RE Loader to load settlement events into the BRM database. When you configure RE Loader, you specify information about how to connect to the BRM database, the location of the output files created by the incollect settlement pipeline, how to process the events in the output file, and so forth.

Configuring Suspense Manager for the Incollect Settlement Pipeline

You must configure Suspense Manager pipeline components to process input files suspended by the incollect settlement pipeline.

Input files suspended by the incollect settlement pipeline are processed by using the following Suspense Manager components:

  • FCT_BatchSuspense, which suspends the input file and creates a batch suspense file.

  • Suspended Batch (SB) Loader, which loads the batch suspense file into the BRM database.

  • Suspense Management Center, which is used to query and edit the batch suspense file. After making the necessary corrections, you submit the batch suspense file to be recycled. When the file is submitted for recycling, Suspense Management Center publishes a notification event to notify Pipeline Manager that the batch suspense file is ready for recycling.

  • DAT_Listener, which dequeues the notification event from the BRM database and notifies the DAT_ResubmitBatch module.

  • DAT_ResubmitBatch, which retrieves the suspended batch file from the BRM database and sends it to the incollect settlement pipeline for processing again.

Configuring the Stop RAP Generator Pipeline

Configure the Stop RAP Generator pipeline by performing the following tasks:

Note:

For an example of Stop RAP Generator pipeline configuration, see Pipeline_home/conf/roaming.reg.

Configuring the Stop RAP Generator Pipeline EDRFactory Registry

Configure the EDRFactory Description entry to the TAP container description file as follows:

Description = ./formatDesc/Formats/TAP3-NG/containerDesc.dsc
Configuring the Stop RAP Generator Pipeline DataDescription Registry Section

Configure the Stop RAP Generator pipeline DataDescription registry section by setting the stream formats, input mapping, and output mapping as follows:

DataDescription
{
  Standard
  {
    ModuleName = Standard
    Module
    {
      StreamFormats
      {
        Stop_RAP = ./formatDesc/Formats/TAP3-NG/StopRapInfo.dsc
        Generic = ./formatDesc/Formats/TAP3-NG/GenericBlocks.dsc
        TAP3    = ./formatDesc/Formats/TAP3-NG/TAP_0312_Blocks.dsc
        RAP     = ./formatDesc/Formats/TAP3-NG/RAP_0105_Blocks.dsc
      }
      InputMapping
      {
        Mapping1 = ./iScriptLib/iScriptLib_Roaming/StopRapInfo_InMap.dsc
      }
      OutputMapping
      {
      }
    }
  }
}
Configuring Input Processing for the Stop RAP Generator Pipeline

Configure input processing for the Stop RAP Generator pipeline as follows:

  1. Ensure that the input to this pipeline is the file generated by the StopRapGen utility. (The pathname for the output directory of the flat file generated by the StopRapGen utility is the input directory of the Stop RAP Generator pipeline.)

  2. Configure the INP_GenericStream input module, which maps data from the file generated by the StopRapGen utility to staging fields in the EDR container using the grammar file.

    1. Set the Grammar registry entry to the name of the input grammar description file:

      Grammar = ./formatDesc/Formats/TAP3-NG/StopRapInfo_InGrammar.dsc
    2. Configure the EXT_InFileManager registry entry to specify information about the input file.

Configuring the Stop RAP Generator Pipeline Function Modules

Configure the registry for the UpdateTapInfo_StopRapout iScript. This iScript updates the information about the Stop Return RAP files that have been generated in the BRM database.

Configuring Output Processing for the Stop RAP Generator Pipeline

Configure output processing for the Stop RAP Generator pipeline as follows:

  1. Set the Grammar registry entry for the OUT_GenericStream module to the name of the RAP output grammar description file:

    Grammar = ./formatDesc/Formats/TAP3-NG/RAP_0105_OutGrammar.dsc
  2. Set the DeleteEmptyStream registry entry to specify whether to delete empty output streams. The default is True. For example,

    DeleteEmptyStream = False
  3. Set the Sequencer registry entry for OUT_GenericStream to the Sequence Generator:

    Sequencer = SEQ_GEN_RAPOUT

    where SEQ_GEN_RAPOUT is the Sequencer used for the RAP output stream of the validation pipeline.

    See "Configuring Validation Pipeline Output Processing" for more information.

  4. Set the StopRapStream registry entry to True.

    StopRapStream = True
  5. Configure the EXT_OutFileManager registry entry to specify output file information.