This chapter describes how to rerate events by using the Oracle Communications Billing and Revenue Management (BRM) Pipeline Manager.
For information about rerating, see "About Rerating Pipeline-Rated Events".
The back-out pipeline is a separate pipeline and contains the following modules:
The FCT_Discount module removes the EDR discount balance impacts from the discount accounts.
The FCT_AggreGate module calculates the aggregation results and writes them to the back-out result file. It writes one result file for each transaction.
Figure 27-1 shows the back-out pipeline:
When you configure the back-out pipeline, you configure the following parameters in the pipeline registry:
The ISC_AddCBD iScript. You configure this by configuring an instance of the FCT_IScript module.
The FCT_Discount module. You set the BackOut registry entry to TRUE.
The FCT_AggreGate module. You set the BackOut registry entry to TRUE.
Pipeline Manager creates one control file and one result file for each transaction and each aggregation scenario.
Before you start the back-out pipeline stop all rating pipelines and ensure that there are no outstanding events being loaded. See "About Synchronizing Rating and Loading Applications".
You start the back-out pipeline by sending a semaphore:
ifw.Pipelines.ALL_BCKOUT.Active = TRUE
The rerating pipeline contains the same function modules as the rating pipeline, except that it does not contain the FCT_CallAssembling and FCT_DuplicateCheck modules. The rerating pipeline locks the appropriate customer accounts until rerating is completed.
Note:
Before you start the rerating pipeline, ensure that you corrected all configuration data in the Pipeline Manager database, such as the rate plan that caused the incorrect calculation.After the EDRs are re-rated with the updated configuration data, the FCT_BillingRecord module writes to the BRM billing record the difference between the old and re-rated balance impacts for each EDR.
The rerating output file contains all events for which the price has changed as a result of rerating and the change in the balance impact.
The output module sends the output file with the updated impact balances to the Rerated Event Loader (RREL) which loads them into the BRM database.
Figure 27-2 shows the rerating pipeline:
When you configure the rerating pipeline, you configure the same modules in the registry as for the normal rating pipeline. The only difference is that you do not configure the FCT_DuplicateCheck and the FCT_CallAssembling modules.
For the rerating pipeline, you use special backout input and output grammar files, and you create separate input and output directories.
For a sample registry for the rerating pipeline, see the rerating.reg file.
This sample shows the input configuration for a rerating pipeline. It uses a special backout grammar file, and a separate input directory.
Input { UnitsPerTransaction = 1 InputModule { ModuleName = INP_GenericStream Module { DefaultOutput = RerateOutput Grammar = ./formatDesc/Formats/Solution42/SOL42_V630_REL_InGrammar_BACKOUT.dsc InputStream { ModuleName = EXT_InFileManager Module { InputDirEmptyTimeout = 10 InputPath = ./samples/wireless/data/backout/in InputPrefix = test. InputSuffix = .edr DonePath = ./samples/wireless/data/backout/done DonePrefix = test. DoneSuffix = .done ErrorPath = ./samples/wireless/data/backout/err ErrorPrefix = test. ErrorSuffix = .err TempPrefix = tmp. Replace = TRUE } } # end of InputStream } } # end of InputModule } # end of Input
This sample shows the output for telephony EDRs in a rerating pipeline. It uses a special backout output grammar file and a separate output directory.
TELOutput { ModuleName = OUT_GenericStream Module { Grammar = ./formatDesc/Formats/Solution42/SOL42_V630_REL_OutGrammar.dsc DeleteEmptyStream = True OutputStream { ModuleName = EXT_OutFileManager Module { OutputPath = ./samples/wireless/data/rerate/telout OutputPrefix = test OutputSuffix = .out TempPrefix = . TempDataPath = ./samples/wireless/data/rerate/telout TempDataPrefix = tel.tmp. TempDataSuffix = .data Replace = TRUE } } } } # end of TELOutput
Important':
To ensure output file integrity, specify a unique combination of OutputPath, OutputSuffix, and OutputPrefix values for each output stream defined in the registry.Before you start the rerating pipeline, ensure that the back-out pipeline has processed all EDRs that were extracted by the Event Extraction Tool. Also ensure that all other rating pipelines are stopped.
To start the rerating pipeline, use the event handler to start the rerating pipeline when the input directory is empty. To do so, configure the corresponding section in the registry. The EVT_INPUT_DIR_EMPTY event is triggered by the EXT_InFileManager when the input directory is emptied. In this sample, the event starts the rerating pipeline.
EventHandler { ModuleName = EVT Module { Events ifw.Pipelines.ALL_BCKOUT.Input.InputModule.Module.InputStream.Module { EVT_INPUT_DIR_EMPTY = ./start_rerate.sh } } Buffer { Size = 100 } } }
To define when to send EVT_INPUT_DIR_EMPTY event, use the EXT_InFileManager InputDirEmptyTimeout registry entry.