This chapter provides reference information for Oracle Communications Billing and Revenue Management (BRM) Pipeline Manager framework modules.
Use the Pipeline Manager Controller to control and monitor components in the Pipeline Manager framework. The Controller also generates the log message table that is used by the LOG module to generate the Process log file, the Pipeline Manager log file, and the Stream log file. For information, see "LOG".
For information, see "About the Controller" in BRM Concepts.
Table 41-1 lists the Controller registry entries.
Table 41-1 Controller Registry Entries
Entry | Value | Description | Mandatory? |
---|---|---|---|
Active |
True False |
Activates or deactivates the Pipeline Manager framework.
See "Starting And Stopping Pipeline Manager Manually" in BRM System Administrator's Guide. |
Yes |
DataPool |
N/A |
Subgroup that contains entries for all data modules in the Pipeline Manager framework. See "About the data pool" in BRM Concepts. |
Yes |
DiagnosticDataHandler |
N/A |
Subgroup that configures diagnostic data collection. See "Diagnostic Data Handler" and "Using The Diagnostic Data Handler To Get OMF Diagnostic Data" in BRM System Administrator's Guide. |
No |
EventHandler |
N/A |
Subgroup that contains the Event Handler entries. See "Using Events to Start External Programs" in BRM System Administrator's Guide and "Event Handler". |
No |
Instrumentation |
N/A |
Subgroup that configures Operations Management Framework (OMF) instrumentation data collection. See "About Operations Management Framework" and "Enabling SNMP Instrumentation Data Collection" in BRM System Administrator's Guide. |
Yes |
Instrumentation.ProbeBroker |
String |
Specifies the path to the OMF insturmentation folder. See "About Operations Management Framework" in BRM System Administrator's Guide. |
Yes |
Instrumentation.SnmpServer |
String |
Specifies configuration data for the OMF SNMP server. See "About Operations Management Framework" and "Enabling SNMP Instrumentation Data Collection" in BRM System Administrator's Guide. |
No |
Instrumentation.HttpServer |
String |
Specifies configuration data for the OMF HTTP server. See "About Operations Management Framework" and "Enabling HTTP Display Of Instrumentation Data" in BRM System Administrator's Guide. |
No |
LogMessageTable.MessageFilePath |
String |
Specifies the path to your error message files. By default, the Pipeline Manager installer installs your error message files in the Pipeline_Home/etc directory. Pipeline_Home is the directory where you installed Pipeline Manager. See "About error message files" in BRM System Administrator's Guide. |
No |
LogMessageTable.MessageFilePrefix |
String |
Specifies the prefix for your error message files. See "About error message files" in BRM System Administrator's Guide. |
No |
LogMessageTable.MessageFileSuffix |
String |
Specifies the suffix for your error message files. See "About error message files" in BRM System Administrator's Guide. |
No |
MemoryMonitor |
N/A |
Subgroup that configures memory monitoring. See "Memory Monitor". |
No |
Pipelines |
N/A |
Subgroup that contains the entries for each pipeline. See "About Pipelines" in BRM Concepts. |
Yes |
ProcessLog |
N/A |
Subgroup that contains entries for the main processing log. See "About Pipeline Manager Log Files" in BRM System Administrator's Guide and "LOG". |
Yes |
ProcessLoopTimeout |
Integer |
Specifies the interval, in seconds, between polling for a new semaphore file. This parameter controls the overall event loop, which includes looking for semaphore files. The value must be greater than 0. See "Using Semaphore Files To Control Pipeline Manager" in BRM System Administrator's Guide. |
Yes |
QueueRequestTimeout |
Integer |
Specifies the interval for logging buffer sizes, in seconds. A value of 0 turns off logging. See "Configuring Buffer Size Polling" in BRM System Administrator's Guide. |
Yes |
Registry |
N/A |
Subgroup that contains registry processing entries. See "Using Registry Files To Configure Pipeline Manager" in BRM System Administrator's Guide. |
Yes |
Registry.Buffer |
N/A |
Subgroup that specifies the registry buffer's size and type. The registry entries in this subgroup depend on the buffer type. See "Configuring Pipeline Buffers" in BRM System Administrator's Guide. |
Yes |
Registry.FileName |
String |
Specifies the name of a file in dot-separated format that contains current updated registry settings, including semaphore updates. See "Using Registry Files To Configure Pipeline Manager" in BRM System Administrator's Guide. |
Yes |
Registry.FilePath |
String |
Specifies the path to the registry file. See "Using Registry Files To Configure Pipeline Manager" in BRM System Administrator's Guide. |
Yes |
Registry.NiceFormatFileName |
String |
Specifies the name of a file that contains current updated registry settings, including semaphore updates. This file format is easier to read than .FileName format and can be used to debug a registry file or create a new one. See "Using Registry Files To Configure Pipeline Manager" in BRM System Administrator's Guide. |
Yes |
Semaphore |
N/A |
Subgroup that contains semaphore processing entries. See "Using Semaphore Files To Control Pipeline Manager" in BRM System Administrator's Guide. |
Yes |
Semaphore.FileName |
String |
Specifies the name of the semaphore file. See "Using Semaphore Files To Control Pipeline Manager" in BRM System Administrator's Guide. |
Yes |
Semaphore.FilePath |
String |
Specifies the path to the semaphore file. See "Using Semaphore Files To Control Pipeline Manager" in BRM System Administrator's Guide. |
Yes |
Semaphore.RetainFiles |
True False |
Specifies whether semaphore files are deleted or saved after they are processed.
The default is False. See "Using Semaphore Files To Control Pipeline Manager" in BRM System Administrator's Guide. |
No |
TransactionIDController |
N/A |
Subgroup that contains the Transaction ID Controller entries. See "About Pipeline Manager Transactions" in BRM System Administrator's Guide and "Transaction ID Controller". |
Yes |
ifw { Active = TRUE ProcessLoopTimeout = 10 QueueRequestTimeout = 0 Semaphore { FilePath = ./semaphore FileName = semaphore.reg RetainFiles = False } Registry { FilePath = ./info FileName = Sample.reg NiceFormatFileName = niceSample.reg Buffer { Size = 1000 } } ProcessLog { ModuleName = LOG Module { } } LogMessageTable { MessageFilePath= ./etc MessageFileSuffix= .msg } EventHandler { ModuleName = EVT Module { } } DataPool { Login { ModuleName = DBC Module { UserName = TEST PassWord = 574B9CD1CBFD1B077760181C111B181D10661B67 DatabaseName = TE01 AccessLib = oci11g72 Connections = 5 } } } TransactionIdController { Source = Database Generator { DataConnection = integrate.DataPool.Login } } Pipelines { } }
Table 41-2 lists the Controller Semaphore file entries.
Table 41-2 Controller Semaphore File Entries
Entry | Description |
---|---|
Active |
Starts and stops the Pipeline Manager framework. |
LogTimeStatistic |
Specifies whether to write time statistics into the process log file. |
QueueRequestTimeout |
Specifies the interval for logging buffer sizes, in seconds. A value of 0 turns off logging. |
Connects the Pipeline Manager framework to the Pipeline Manager database.
See "Connecting a Module to a Database" in BRM System Administrator's Guide.
Table 41-4 lists the Database Connect registry entries.
Table 41-4 Database Connect Registry Entries
Entry | Value | Description | Mandatory? |
---|---|---|---|
AccessLib |
oci10g72 oci11g72 |
Specifies the name of the database access library, without the lib prefix and .so suffix.
|
Yes |
Connections |
Integer |
Specifies the number of database connections that a database module holds open in a connection pool. The default is 1. |
No |
DatabaseName |
String |
Specifies the database name. |
Yes |
PassWord |
String |
Specifies the encrypted database password in hexadecimal format. |
Yes |
ServerName |
String |
Specifies the server name. The default is ". |
No |
UserName |
String |
Specifies the database user name. |
Yes |
ConvertToUpperCase |
True False |
Specifies whether to convert the user name used by the password decryption to uppercase. The default is True. |
No |
ifw { DataPool { ... #--------------------------------------------------------- # Database Connection Pipeline #--------------------------------------------------------- Login { ModuleName = DBC Module { UserName = USER PassWord = 574B93D1CBF21D1161611E0A07 DatabaseName = ORA_DB AccessLib = oci11g72 Connections = 5 } } ... } }
Table 41-5 lists the Database Connect Semaphore entry.
Table 41-5 Database Connect Semaphore Entry
Parameter | Description | Mandatory |
---|---|---|
Reconnect |
Closes all open database connections and reconnects to the database. See "Forcing a Database Reconnection" in BRM System Administrator's Guide. |
No |
Use the EDR Factory to generate and allocate memory to EDR containers. The EDR Factory uses a container description file to generate each container. For information, see "About the EDR Factory" in BRM Concepts.
Table 41-6 lists the EDR Factory registry entries.
Table 41-6 EDR Factory Registry Entries
Entry | Value | Description | Mandatory? |
---|---|---|---|
DataConnection |
String |
Specifies the registry name of the database connection module (DBC). When you use this entry, the EDR Factory connects to the IFW_ALIAS_MAP database table to retrieve alias names. Note: Use this field when you use aliases to describe EDR container fields. See "Connecting a Module to a Database" in BRM System Administrator's Guide. |
No |
Description |
String |
Specifies the path to the container description file. |
Yes |
EdrVersionDataConnection |
String |
Specifies the registry name of the database connection module (DBC). When you use this entry, the EDR Factory connects to the EDR_FIELD_MAPPING_T database table to retrieve the EDR field mapping. |
No |
UsageStatistic |
String |
Specifies the name of the usage statistic file. This file lists all modules that are using EDR container fields together with the fields that are accessed by each module. |
No |
Use the Event Handler to start external programs when triggered by internal Pipeline Manager events.
For information, see "Using Events to Start External Programs" in BRM System Administrator's Guide.
Table 41-7 lists the Event Handler registry entries.
Table 41-7 Event Handler Registry Entries
Entry | Description | Mandatory? |
---|---|---|
Buffer |
Subgroup that specifies the size and type of the Event Handler's internal queue buffer. The registry entries in this subgroup depend on the buffer type. See "Configuring Pipeline Buffers" in BRM System Administrator's Guide. |
Yes |
Events |
Subgroup that contains trigger entries. See "About Mapping Events To Programs" in BRM System Administrator's Guide. |
Yes |
Event.EventName |
Specifies the event that triggers an external program. Add an entry for each event that triggers an external program. See "About Mapping Events To Programs" in BRM System Administrator's Guide. |
Yes |
Event.ModuleSendingEvent |
Specifies the registry name of the module that sends the event to the Event Handler. Add an entry for each module that can trigger an external program. See "About Mapping Events To Programs" in BRM System Administrator's Guide. |
Yes |
TimeToWait |
Specifies the time in seconds that the Event Handler waits for the external program to terminate. By default, no TimeToWait value is assumed. See "Controlling External Programs" in BRM System Administrator's Guide. |
No |
Use the Instances module to configure multiple instances of sequencers, output streams, or system brands for multiple roaming partners. This module is optional.
Note:
This module does not configure multiple instances of pipelines. To do that, use the ifw.Pipelines.Instances subsection.For more information, see "About Configuring Multiple Instances of Sequencers, Output Streams, or System Brands" in BRM System Administrator's Guide.
Table 41-8 lists the Instances registry entries.
Table 41-8 Instances Registry Entries
Entry | Description | Mandatory? |
---|---|---|
InstantiationName |
Specifies the descriptive name of the instantiation, for example, TAPOutputStreamsInstantiation. |
Yes, if the Instances module is used. |
InstantiationName.BlockName |
Specifies the template section or entry in the roaming registry file that is used to instantiate multiple registry sections or entries. The template section or entry contains variables for the section name, entry name, or the value of the entry that must be changed in each new instance created. |
Yes |
InstantiationName.DataFile |
Specifies the path to the data file generated by the RoamingConfigGen64 utility. See "RoamingConfigGen64" for more information. |
Yes |
InstantiationName.InstanceSpecificEntries |
Subgroup that specifies the entries that must be changed in each new instance created, such as the section name, entry name, the value of an entry, the change mode, and so on. |
Yes |
InstantiationName.InstanceSpecificEntries.InstanceChangeName |
Specifies the descriptive name of the change required in each instance; for example, ModifyBlockName. |
Yes |
InstantiationName.InstanceSpecificEntries.InstanceChangeName.Instance |
Specifies whether to change the section name, entry name, or the value of the entry in each new instance created. Valid values are:
For more information, see "About Configuring Multiple Instances of Sequencers, Output Streams, or System Brands" in BRM System Administrator's Guide. |
Yes |
InstantiationName.InstanceSpecificEntries.InstanceChangeName.UseColumn |
Specifies the column in the data file generated by the RoamingConfigGen64 utility. This column is used to change the section name, entry name, or the value of the entry in each instance according to the change mode. For example, the TAPOUT_SEQUENCER column is used to change the section name in each instance of the SequencerPool.SEQ_GEN_TAPOUT_XXX subsection. See "Sample Registry for Multiple Instances of Sequencers". |
Yes |
InstantiationName.InstanceSpecificEntries.InstanceChangeName.Mode |
Specifies the mode of changing the section name, entry name, or the value of the entry in each instance using the column values in the data file generated by the RoamingConfigGen64 utility. Valid values are:
The default mode is REPLACE. |
No |
Instances { SEQ_GEN_TAPOUT { BlockName = SequencerPool.SEQ_GEN_TAPOUT_XXX DataFile = ./RoamingPartnerConf.dat InstanceSpecificEntries { ModifyBlockName { Instance = [BlockName] UseColumn = TAPOUT_SEQUENCER } } } } SequencerPool { SEQ_GEN_TAPOUT_XXX { Source = Database Controller { SequencerType = Generation ReuseGap = True SequenceLength = 5 DatabaseConnection = ifw.DataPool.Login } }
Instances { EventSplitting { BlockName = Pipelines.TAPOutCollectPipeline.Functions.Processing.FunctionPool.RoamPartner_EventSplitting.Module.SystemBrands.XXX DataFile = ./RoamingPartnerConf.dat InstanceSpecificEntries { ModifyBlockName { Instance = [BlockName] UseColumn = VPLMN } ModifyBlockValue { Instance = [BlockValue] UseColumn = TAPOUT_STREAM } } } RoamPartner_EventSplitting { ModuleName = FCT_EnhancedSplitting Module { Active = True DataConnection = ifw.DataPool.Login DefaultOutput = SuspenseCreateOutput SystemBrands { XXX = TAPOutput_XXX SUSP = SuspenseCreateOutput } } }
Instances { TAPOutputStreaminstantiation { BlockName = Pipelines.TAPOutCollectPipeline.Output.OutputCollection.TAPOutput_XXX DataFile = ./RoamingPartnerConf.dat InstanceSpecificEntries { ModifyBlockName { Instance = [BlockName] UseColumn = TAPOUT_STREAM } ModifyOutputStreamSequencer { Instance = Module.Sequencer UseColumn = TAPOUT_SEQUENCER } ModifyRecipient { Instance = Module.Recipient UseColumn = VPLMN } ModifyCountryCode { Instance = Module.CountryCode UseColumn = COUNTRYCODE } ModifyDecimalPlaces { Instance = Module.DecimalPlaces UseColumn = DECIMALPLACES } ModifyOutputPath { Instance = Module.OutputStream.Module.OutputPath UseColumn = TAPOUT_PATH } ModifyOutputPrefix { Instance = Module.OutputStream.Module.OutputPrefix UseColumn = TAPOUT_PREFIX } ModifyTempPrefix { Instance = Module.OutputStream.Module.TempPrefix UseColumn = TMP_PREFIX } ModifyTempDataPath { Instance = Module.OutputStream.Module.TempDataPath UseColumn = TAPOUT_PATH } ModifyTempDataPrefix { Instance = Module.OutputStream.Module.TempDataPrefix UseColumn = TMP_DATA_PREFIX } } } TAPOutput_XXX { ModuleName = OUT_GenericStream ProcessType = TAPOUTCOLLECT_PIPELINE EventType = /event/delayed/session/telco/gsm Module { Grammar = ./formatDesc/Formats/TAP3-NG/TAP_0312_OutGrammar.dsc DeleteEmptyStream = False Sequencer = SEQ_GEN_TAPOUT_XXX Sender = PORTL Recipient = XXX CountryCode = XXX DecimalPlaces = XXX OutputStream { ModuleName = EXT_OutFileManager Module { OutputPath = ./data/outcollect/tapout/XXX OutputPrefix = CDPORTLXXX TempPrefix = tmptest_XXX_ TempDataPath = ./data/outcollect/tapout/XXX TempDataPrefix = test.XXX.tmp. TempDataSuffix = .data UseInputStreamName = [0,0] SequencerPrefix = "" AppendSequenceNumber = True } } } NRTRDEOutput_XXX { ModuleName = XXX ProcessType = TAPOUTCOLLECT_PIPELINE EventType = /event/delayed/session/telco/gsm Module { Grammar = ./formatDesc/Formats/TAP3/NRTRDE2_v01_OutGrammar.dsc DeleteEmptyStream = False Sequencer = SEQ_GEN_NRTRDEOUT_XXX Sender = EUR01 Recipient = XXX OutputStream { ModuleName = EXT_OutFileManager Module { OutputPath = ./data/outcollect/nrtrdeout/XXX OutputPrefix = NREUR01XXX TempPrefix = tmptest_XXX_ TempDataPath = ./data/outcollect/nrtrdeout/XXX TempDataPrefix = test.XXX.tmp. TempDataSuffix = .data UseInputStreamName = [0,0] SequencerPrefix = "" AppendSequenceNumber = True } } } } NRTRDEOutputStreams { BlockName=Pipelines.TAPOutCollectPipeline.Output.OutputCollection.NRTRDEOutput_XXX DataFile = ./conf/RoamingPartnerConf.dat InstanceSpecificEntries { ModifyBlockName { Instance = [BlockName] UseColumn = NRTRDEOUT_STREAM } ModifyModuleName { Instance = ModuleName UseColumn = NRTDEOUTPUTSTREAMMODULE } ModifyOutputStreamSequencer { Instance = Module.Sequencer UseColumn = NRTRDEOUT_SEQUENCER } ModifyRecipient { Instance = Module.Recipient UseColumn = VPLMN } ModifyOutputPath { Instance = Module.OutputStream.Module.OutputPath UseColumn = NRTRDEOUT_PATH } ModifyOutputPrefix { Instance = Module.OutputStream.Module.OutputPrefix UseColumn = NRTRDEOUT_PREFIX } ModifyTempPrefix { Instance = Module.OutputStream.Module.TempPrefix UseColumn = TMP_PREFIX } ModifyTempDataPath { Instance = Module.OutputStream.Module.TempDataPath UseColumn = NRTRDEOUT_PATH } ModifyTempDataPrefix { Instance = Module.OutputStream.Module.TempDataPrefix UseColumn = TMP_DATA_PREFIX } } }
Use the LOG module to manage and create your system log files:
See "About Pipeline Manager Log Files" in BRM System Administrator's Guide.
The LOG module needs access to the log message table generated by the Controller in order to create the system log files. For information, see "Controller".
Table 41-9 lists the LOG registry entries.
Table 41-9 LOG Registry Entries
Entry | Description | Mandatory? |
---|---|---|
FileName |
Specifies the name of your system log file. If empty, the name will be built by the date. |
No |
FilePath |
Specifies the path to your system log file. |
No |
FilePrefix |
Specifies the log file prefix. |
No |
FileSuffix |
Specifies the log file suffix. |
No |
LogLevel |
Specifies the minimum severity limit. All messages greater or equal to the limit are logged. For example, enter major to log only major and critical error messages. Values are:
The default is normal, which means that all messages are logged. Using the debug setting returns additional debugging data. |
No |
MessageGroup |
Specifies the message group name. |
No |
ProcessName |
Specifies the process name. |
No |
ShowOriginator |
Specifies whether to write the name of the module that emitted the message to the log file. True specifies to log the module name. This helps Oracle Technical support troubleshoot any problems. False specifies to not log the module name. The default is False. |
No |
SuppressErrors |
Specifies any error messages to exclude from log files. For example, enter ERR_INSERTING_CLI to prevent those error messages from being logged. |
No |
WriteMessageKey |
Specifies whether the module logs error codes. For example: ERR_FILE_NOT_FOUND. True specifies to write both the error code and error message to the log file. This helps technical support troubleshoot any problems. False specifies to write only the error message to the log file. The default is False. |
No |
ProcessLog { ModuleName = LOG Module { ITO { FilePath = /ifw/log/process FileName = process FilePrefix = log_ FileSuffix = .log LogLevel = normal ProcessName = ifw SuppressErrors { INF_IGNORE_CLI ERR_INSERTING_CLI } } } }
PipelineLog { ModuleName = LOG Module { ITO { FilePath = /ifw/log/pipeline FileName = pipe2 FileSuffix = .log LogLevel = minor SuppressErrors { INF_IGNORE_CLI ERR_INSERTING_CLI } } } }
OutputLog { ModuleName = LOG Module { ITO { FilePath = /ifw/log/stream FilePrefix = stream_ FileSuffix = .log LogLevel = normal SuppressErrors { ERR_SPEC_VERSION_INVALID ERR_RELEASE_VERSION_INVALID } } } }
Table 41-10 lists the LOG Semaphores.
Entry | Description |
---|---|
FileName |
Specifies the name of the log file. When you change the file name, the current log file is closed and renamed to file name plus timestamp. For example, the process.log file would be renamed process_20030916130000.log. |
LogLevel |
Specifies the minimum severity limit. The module logs all messages greater or equal to the limit. For example, enter minor to log only minor, major, and critical error messages. Values are:
|
ShowOriginator |
Specifies whether to write the name of the module that emitted the message to the log file. True specifies to log the module name. This helps Oracle Technical Support troubleshoot any problems. False specifies to not log the module name. |
SuppressErrors |
Specifies any error messages to exclude from the log file. For example, enter ERR_GETTING_DATADESCR to prevent those error messages from being logged. |
WriteMessageKey |
Specifies whether the module logs error codes. For example: ERR_FILE_NOT_FOUND. True specifies to write both the error code and error message to the log file. This helps Oracle Technical Support troubleshoot any problems. False specifies to write only the error message to the log file. |
Use the Input Controller to manage the input streams for its associated pipeline.
The Input Controller performs the following functions:
Combines multiple CDR files into one transaction when configured to do so. See "Combining Multiple CDR Files Into One Transaction" in BRM System Administrator's Guide.
Notifies the Transaction Manager (TAM) when a transaction begins.
You configure the Input Controller by editing the Input section of the registry file. For more information, see "Configuring the Input Section in the Registry".
Table 41-11 lists the Input Controller registry entries.
Table 41-11 Input Controller Registry Entries
Entry | Description | Mandatory |
---|---|---|
InputModule |
Subgroup for the Input module. See "INP_GenericStream". |
Yes |
UnitsPerTransaction |
Specifies the number of CDR input files that make up a transaction. By default, each CDR file forms its own transaction. This parameter only affects processing within the pipeline, and the number of output files match the number of CDR input files. The default is 1. For more information on this parameter, see "Combining Multiple CDR Files Into One Transaction" in BRM System Administrator's Guide. |
No |
The NET_EM module hosts an External Module (EM). This allows the NET_EM module to use the BRM API opcodes to transfer data between real-time rating opcodes and the real-time rerating, discounting, and zoning pipelines.
For more information, see the following "Configuring the NET_EM Module For Real-Time Processing" in BRM System Administrator's Guide.
For information about specific types of real-time processing, see:
"Configuring a Real-Time Rerating Pipeline" in BRM Setting Up Pricing and Rating.
"About Setting Up Zones" in BRM Setting Up Pricing and Rating.
Table 41-12 lists the NET_EM registry entries.
Table 41-12 NET_EM Registry Entries
Entry | Description | Mandatory |
---|---|---|
FieldName |
Use this entry for real-time rerating. Specifies the field in the event flist to be used to route the event. By using the "." notation, you can specify a field at any level in the flist. The field identified by FieldName must be of type POID or String. See "Configuring NET_EM to Route Rerate Requests Based on the Event Field Value" in BRM Setting Up Pricing and Rating. |
No |
FieldValue |
Use this entry for real-time rerating. Specifies the value of the field identified by FieldName. See "Configuring NET_EM to Route Rerate Requests Based on the Event Field Value" in BRM Setting Up Pricing and Rating. |
No |
NumberOfRTPipelines |
Number of real-time pipelines. Note: This number must match the NumberOfInstances entry. See "Configuring Multiple Instances of a Pipeline" in BRM System Administrator's Guide. |
Yes |
OpcodeName |
Specifies the opcode sending the event to NET_EM. For real-time discounting, use: PCM_OP_RATE_DISCOUNT_EVENT For real-time zoning, use: PCM_OP_RATE_GET_ZONEMAP_INFO For real-time rerating, use: PCM_OP_RATE_PIPELINE_EVENT See "Specifying The Type Of NET_EM Opcode Processing" in BRM System Administrator's Guide. |
Yes |
PipelineName |
The pipeline to route the input to. Each real-time pipeline must have a unique name. |
Yes |
Port |
Specifies the port number of the host machine running the NET_EM module. |
Yes |
Threads |
Set this entry to the number of pipelines being managed by the NET_EM module. For example, if you have two pipelines, set this entry to 2. |
Yes |
UnixSockFile |
Specifies the UNIX Sock file when the CM and the Pipeline Manager instance are running on the same machine. |
Yes |
Use the Output Collection module to handle output streams. See "About Configuring the Output Section in the Registry" and "Configuring EDR Output Processing".
The only registry entries for the Output Collection configuration are the sections for each output stream, for example, OUT_DevNull, OUT_Reject, and OUT_GenericStream.
See the following:
#------------------------------------------------ # Output Section #------------------------------------------------ Output { WriteDefaultEdr = False DeleteEmptyFile = True MaxErrorRates { } OutputCollection { #------------------------------------------- # The DevNull stream #------------------------------------------- DevNull ...{
Table 41-13 lists the Output Collection event messages.
Table 41-13 Output Collection Event Messages
Message | Description | Send/Receive |
---|---|---|
CMD_WRITE_LOG |
An entry to the pipeline log has to be created. |
Receive |
REQ_STREAM_NUMBER |
Determination of a specific stream number chosen by the first argument Name. |
Receive from Output Collection. See "Output Collection". |
Use the Output Controller to manage the output streams for its associated pipeline.
For more information, see "About Configuring the Output Section in the Registry".
Table 41-14 lists the Output Controller registry entries.
Table 41-14 Output Controller Registry Entries
Entry | Description | Mandatory |
---|---|---|
MaxErrorRates |
Subgroup for the maximum error rate entries. This section should list all error codes to monitor and their threshold values. For more information, see "Specifying the Maximum Errors Allowed in an Input File". |
Yes |
MultiThreading |
Subgroup to configure multithreading in output processing. See the discussion on increasing Pipeline Manager throughput when an EDR is associated with multiple output streams in BRM System Administrator's Guide. |
No |
MultiThreading.Active |
Specifies whether to enable multithreading in output processing:
|
Yes |
MultiThreading.NumberOfThreads |
Specifies the number of threads the Output Controller creates to manage the output streams for its associated pipeline. For optimum results, Oracle suggests that you set the number of threads to twice the average number of streams associated with an input EDR. |
Yes |
MultiThreading.BatchSize |
Specifies the size of the batch in terms of number of EDRs:
Oracle suggests that BatchSize be greater than or equal to BlockSize if BlockTransfer is set to True; otherwise, BatchSize should be equal to the size of the output buffer. For more information about the BlockSize, BlockTransfer, and OutputBuffer entries, see the discussion on configuring pipeline buffers in BRM System Administrator's Guide. The BatchSize value should be directly proportional to NumberOfThreads and inversely proportional to the EDR enrichment rate. |
Yes |
OutputCollection |
Subgroup for the Output Collection module entries. See: |
Yes |
OutputLog |
Subgroup for the stream log entries. See:
|
Yes |
SequenceGeneration |
Specifies whether the pipeline generates one output file per CDR input file or one output file for an entire transaction.
The default is Unit. See "Combining Multiple CDR Files Into One Transaction" in BRM System Administrator's Guide. |
No |
Sequencer |
Specifies the name of the Sequencer for performing sequence checking. This Sequencer must be defined in the SequencerPool section of the registry file. See:
|
No |
Statistic |
Subgroup to control the statistics related to Pipeline Manager's EDR processing rate. You can view these statistics in the output logs, HTTP browser, and the console output from the SNMP binaries. See "About Configuring Statistics Information in the Output Section". |
No |
Output { MaxErrorRates { ERR_CUST_NOT_FOUND = 10 } MultiThreading { Active = True NumberOfThreads = 5 BatchSize = 500 } Statistic { EdrCountCriteria = ALL }... OutputCollection ... OutputLog { ... } SequenceGeneration = Unit Sequencer = SequenceCheck1 ... }
Use the ParallelLoadManager module to load your pipelines, data modules, and function modules in parallel.
For more information, see "Reducing Startup Times with Parallel Loading" in BRM System Administrator's Guide.
Table 41-15 lists the ParallelLoadManager registry entries.
Table 41-15 ParallelLoadManager Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies whether to load the pipelines, data modules, and function modules in parallel.
If the entry is missing, parallel loading is disabled. |
Yes |
NumberOfThreads |
Specifies the number of threads Pipeline Manager uses to load your pipelines, data modules, and function modules. |
Yes |
Use the Pipeline Controller to control its associated pipeline.
For more information, see:
"About Configuring Pipelines" in BRM System Administrator's Guide
"About the Pipeline Controller" in BRM Concepts
Table 41-16 lists the Pipeline Controller registry entries.
Table 41-16 Pipeline Controller Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Activates or deactivates processing in the pipeline.
|
Yes |
CountryCode |
Specifies the valid country code for this pipeline. The default is 49 for Germany. |
No |
DataDescription |
Speicifes the stream format description and mapping files See: |
Yes |
EdrFactory |
Subgroup for the EDR Factory. See:
|
Yes |
Functions |
Subgroup for the function pool entries. See "About configuring function modules" in BRM System Administrator's Guide. |
Yes |
Input |
Subgroup for the Input Controller. See: |
Yes |
Instances |
Specifies multiple instances of a specific pipeline. See "Configuring Multiple Instances of a Pipeline" in BRM System Administrator's Guide. |
No |
InternationalAccessCode |
Specifies the international dial prefix. The default is 00 for Germany. Note: You can list multiple access codes by using a comma as a delimiter. For example: 00,001,002. |
No |
InternationalAccessCodeSign |
Specifies the international access code sign. The default is +. |
No |
InputBuffer |
Subgroup that contains the entries for the buffer between the input module and function modules. See "Configuring Pipeline Buffers" in BRM System Administrator's Guide. |
Yes |
MobileCountryCode |
Specifies the valid mobile country code for this pipeline. The default is 262 for Germany. |
No |
MultiThreaded |
Specifies whether the pipeline uses multithreaded or single-threaded processing. The default is True.
See "Configuring Single-Threaded or Multithreaded Operation" in BRM System Administrator's Guide. |
No |
NationalAccessCode |
Specifies the dial prefix for national calls. The default is 0 for Germany. |
No |
NetworkDestinationCode |
Specifies the network destination code, which identifies the home network for roaming calls. The default is 172 for D2. |
No |
NoOutputUsed |
Specifies whether to load the Output module. Set this entry to True only when you are using single-threaded processing and the Input and Output modules are combined into one module. The default is False.
|
No |
Output |
Subgroup that contains Output Controller entries. See: |
Yes |
OutputBuffer |
Subgroup that contains the entries for the buffer between the function modules and the output module. See "Configuring Pipeline Buffers" in BRM System Administrator's Guide. |
Yes |
Pipeline_Name |
Name of the pipeline. |
Yes |
PipelineLog |
Subgroup that contains pipeline log entries. See:
|
Yes |
RejectStream |
Specifies the name of the rejection stream. This stream must be defined in the output module. See: |
Yes |
TransactionManager |
Specifies the subsection for the Transaction Manager. See:
|
N/A |
Pipelines { Pipeline01 { Active = TRUE MultiThreaded = TRUE CountryCode = 49 MobileCountryCode = 262 NationalAccessCode = 0 InternationalAccessCode = 00 InternationalAccessCodeSign = + NetworkDestinationCode = 171 RejectStream = XXX PipelineLog { ModuleName = LOG Module { } } InputBuffer { Size = 1000 } OutputBuffer { Size = 1000 } Input { InputModule { ModuleName = XXX ModuleStart = XXX Module { ... } } } // Input Functions { FCI { FunctionPool { Function01 { ... } Function02 { ... } } } } // Functions Output { ... Outputcollection { Output1 { ModuleName = XXX ModuleStart = XXX Module { ... } } RejectOutput { ModuleName = XXX ModuleStart = XXX Module { ... } } Output2 { ModuleName = XXX ModuleStart = XXX Module { ... } } DevNull { ModuleName = XXX ModuleStart = XXX Module { ... } } ... } OutputLog { ... } Sequencer { ... } } #Output } #Pipeline01 } #Pipelines
This sample shows how to configure multiple instances of a pipeline. For more information, see "Configuring Multiple Instances of a Pipeline" in BRM System Administrator's Guide.
ifw { ... Pipelines { Instances { RealtimeReratingPipelineGPRS { NumberOfInstances = 3 InstanceSpecificRegistries { Entry1 = TransactionManager.BinaryLogFileName Entry2 = PipelineLog.Module.ITO.FileName Entry3 = OutputLog.FileName Entry4 = Functions.Standard.FunctionPool.EdrDump_Initial.Module.FileName Entry4 = Functions.Standard.FunctionPool.EdrDump_PostDiscounting.Module.FileName Entry5 = Functions.Standard.FunctionPool.EdrDump_PreDiscounting.Module.FileName Entry6 = Functions.Standard.FunctionPool.EdrDump_PostRating.Module.FileName Entry7 = Functions.Standard.FunctionPool.EdrDump_PreRating.Module.FileName } ...
Use the Sequencer to prevent Pipeline Manager from processing the same CDR file twice and to add tracking information to output streams. For information, see "Configuring Sequence Checking" in BRM System Administrator's Guide.
When you configure the Sequencer to store state and log data in database tables, this module requires a connection to the Pipeline Manager database.
To assign a Sequencer to a pipeline, you must also configure the Output section of the registry file:
To assign a sequence checker to a pipeline, use the Sequencer registry entry in the Output Controller module. For information, see "Output Controller".
To assign a sequence generator to a pipeline, use the Sequencer registry entry in the output module. For information, see "OUT_GenericStream".
Table 41-19 lists the Sequencer registry entries.
Table 41-19 Sequencer Registry Entries
Entry | Description | Mandatory |
---|---|---|
SequencerInstance |
Specifies the name of the Sequencer instance. |
Yes |
Source |
Specifies whether Sequencer state and log data are stored in files or in database tables. Values are:
|
Yes |
Controller |
Subgroup that contains Controller entries |
Yes |
Controller.SequencerType |
Specifies whether the Sequencer performs sequence checking or sequence generation:
See "Configuring Sequence Checking" in BRM System Administrator's Guide. |
Yes |
Controller.DatabaseConnection |
Specifies a connection to the Pipeline Manager database. See "Connecting a Module to a Database" in BRM System Administrator's Guide. |
Yes, only if Source = Database. |
Controller.ReuseGap |
Specifies whether the Sequencer assigns skipped sequence numbers to output files.
The default is False. |
No |
Controller.SequenceLength |
Specifies the length of the incoming CDR file's sequence number. The default is 6. |
No |
Controller.FileName |
Specifies the name of the Sequencer state file. This file stores state information for one Sequencer instance. Important: You must create one state file for each Sequencer instance. Otherwise, the Sequencer fails. |
Yes, only if Source = File |
Controller.FilePath |
Specifies the path to the Sequencer state file. |
Yes, only if Source = File. |
Controller.Log |
Subgroup that contains Sequencer log file entries. |
Yes |
Controller.Log.FileName |
Specifies the name of the Sequencer log file. Important: You must create one Sequencer log file for each Sequencer instance. Otherwise, the Sequencer fails. |
Yes, only if Source = File |
Controller.Log.FilePath |
Specifies the path to the Sequencer log file. |
Yes, only if Source = File |
Controller.UseGapAtStartup |
Specifies whether to add a gap for the skipped sequence numbers starting from 0. This entry is required only when the SequencerType field is Check and the ReuseGap field is True. You can use this entry even if you have set the Seq Original Number field to 0.
|
No |
SequencerPool
{
SequencerInstance
{
Source = File
Controller
{
SequencerType = Check
ReuseGap = True
SequenceLength = 7
FileName = sequence.dat
FilePath = /opt/portal/ifw/sequencer
Log
{
FileName = sequence.log
FilePath = /opt/portal/ifw/logs
}
}
}
}
SequencerPool
{
SequencerInstance
{
Source = Database
Controller
{
SequencerType = Generation
DatabaseConnection = DatabaseModule
ReuseGap = False
SequenceLength = 10
}
}
}
The Sequencer uses the following tables:
IFW_PIPELINE
IFW_SEQCHECK
IFW_SEQLOG_IN
IFW_SEQLOG_OUT
For information about the fields in database tables, see the documentation in Pipeline_Home\database.
Use the Transaction Manager to coordinate the state of all transactional modules and components in one pipeline. For information, see "About Pipeline Manager Transactions" in BRM System Administrator's Guide.
Requires a reference to the Transaction ID Controller. For information, see "Transaction ID Controller".
Table 41-20 lists the Transaction Manager registry entries.
Table 41-20 Transaction Manager Registry Entries
Entry | Description | Mandatory? |
---|---|---|
BinaryLogFileName |
Specifies the path and file name of the binary log file, which is used to persist and restore open transactions. Important: If you use multiple pipelines, you cannot use the same file for different pipelines. See "About Transaction Log Files" in BRM System Administrator's Guide. |
Yes |
RedoEnabled |
Specifies whether the redo mechanism is enabled. True enables the redo mechanism. False disables the redo mechanism. See "About Cancelling Transactions When a Rollback Occurs" in BRM System Administrator's Guide. |
Yes |
SingleTransaction |
Specifies whether only one pipeline transaction is allowed at a time. True specifies that only one pipeline transaction can be active at one time. The TAM blocks any new transactions from starting while a transaction is in progress. False specifies that multiple pipeline transactions can be active at one time. |
Yes |
WriteToLogEnabled |
Specifies whether the Transaction Manager writes status information to the pipeline log file. True enables writing to the pipeline log file. False disables writing to the pipeline log file. |
No |
Use the Transaction ID Database Generator to store transaction IDs in database tables. For information, see "Configuring the Transaction ID Controller" in BRM System Administrator's Guide.
Table 41-21 lists the Transaction ID Database Generator registry entries.
Table 41-21 Transaction ID Database Generator Registry Entry
Entry | Description | Mandatory? |
---|---|---|
DataConnection |
Specifies a connection to the Pipeline Manager database. See "Connecting a Module to a Database" in BRM System Administrator's Guide. |
Yes |
Use the Transaction ID File Generator to store transaction IDs in a file. For information, see "Configuring the Transaction ID Controller" in BRM System Administrator's Guide.
Table 41-22 lists the Transaction ID File Generator registry entries.
Table 41-22 Transaction ID File Generator Registry Entries
Entry | Description | Mandatory? |
---|---|---|
FileName |
Specifies the path and file name of the Transaction ID Controller state file. See "About The Transaction ID State File And Table" in BRM System Administrator's Guide. |
Yes |
Increment |
Specifies the number of transaction IDs that are cached. See "About Storing IDs in Cache" in BRM System Administrator's Guide. |
Yes |
Use the Transaction ID Controller to generate transaction IDs for all pipelines. For information, see "Configuring the Transaction ID Controller" in BRM System Administrator's Guide.
Table 41-23 lists the Transaction ID Controller registry entries.
Table 41-23 Transaction ID Controller Registry Entries
Entry | Description | Mandatory? |
---|---|---|
Generator |
Subgroup for the generator entries. See: |
Yes |
Source |
Specifies whether the Transaction ID Controller stores transaction IDs in files or database tables. Values are:
See "About The Transaction ID State File And Table" in BRM System Administrator's Guide. |
Yes |