5 Configuring the Rated Event Loader Infranet.properties File

Learn how to configure the Oracle Communications Billing and Revenue Management (BRM) Rated Event Loader (RE Loader) Infranet.properties file.

This information applies to both ECE and Pipeline Manager. It applies only to the original processing method. See "Methods of Transferring Rated Events to BRM" for information about the processing methods.

Topics in this chapter:

Configuring the RE Loader Infranet.properties File

To configure RE Loader, you edit the RE Loader Infranet.properties file.

The Infranet.properties file contains configuration information for processing CDR files, such as the location of the RE Loader processing directory, how to connect to the BRM database, and how to process specific events.

Note:

In ECE, some parameters have values that are used by the code if the corresponding values are removed or commented out from the infranet.properties file. If these values are different from the default values in the file, they are mentioned in the tables below.

The tables in this chapter provide information for configuring the infranet.properties file for both ECE and Pipeline Manager.

To configure your RE Loader Infranet.properties file:

  1. Open the BRM_home/apps/pin_rel/Infranet.properties file in a text editor.

  2. Edit the file.

  3. Save and close the file.

  4. If you are using the RE Loader daemon, use the pin_ctl utility to run the BRM_home/bin/start_rel_daemon script. See "Running the pin_ctl Utility" in BRM System Administrator's Guide.

BRM Database Connection

Table 5-1 contains the RE Loader Infranet.properties file entries for connecting to the BRM database.

Table 5-1 Database Connection Entries

Entry Description

infranet.rel.dbtype

Specifies the BRM database type.

If not included in the file, ECE will use the value ORACLE.

The default value is oracle.

infranet.rel.dbname

Specifies the BRM database name.

Note: Your database name is the TNSNAMES alias in the Oracle_home/network/admin/tnsnames.ora file.

Ensure that this value is correct for your system.

The default value is pindb.

infranet.rel.userid

Specifies the user ID for connecting to the BRM database.

Ensure that this value is correct for your system.

The default value is pin.

infranet.rel.dbhost

Specifies the database machine's host name.

The default value is localhost.

infranet.rel.dbport

Specifies the database port number.

The default value is 1433.

infranet.rel.partition_set_number

Specifies the partition set number, from 1 through 7. This entry applies only to BRM databases with multiple delayed partition sets.

  • 1 uses delayed partition set P_1D to P_12D.

  • 2 uses delayed partition set P_1D to P_12D2.

  • 3 uses delayed partition set P_1D to P_12D3.

  • 4 uses delayed partition set P_1D to P_12D4.

  • 5 uses delayed partition set P_1D to P_12D5.

  • 6 uses delayed partition set P_1D to P_12D6.

  • 7 uses delayed partition set P_1D to P_12D7.

The default value is 1.

BRM Server Connection

Table 5-2 contains the RE Loader Infranet.properties file entries for connecting to the BRM server.

Table 5-2 BRM Server Connection Entries

Entry Description

infranet.login.type

Specifies whether RE Loader requires a login name and password to log in to BRM.

  • 0 specifies that a login name and password are not required.

  • 1 specifies that a login name and password are required.

The default value is 1.

infranet.failover

In high-availability systems, specifies the secondary CM connection. For example:

infranet.failover.1 = pcp://root.0.0.0.db_no:password@failover_host:failover_port/service/pcm_client

There is no default value for this parameter.

infranet.rel.polling_interval

Specifies the interval, in milliseconds, that RE Loader checks the database to see whether another process is loading.

The polling interval depends on the number and size of your input files. If you have very large files, make the polling interval longer. If you have many small files, make the interval shorter.

The default value is 1000.

infranet.rel.polling_time_out

Specifies the time, in milliseconds, that RE Loader waits to load events before exiting.

The time-out period depends on the number and size of your input files and how many parallel RE Loader processes are running. If you have very large files or many processes, make the time-out period longer.

The default value is 600000.

infranet.rel.updater_threads

Specifies the number of threads dedicated to the update and preupdate stored procedures. You can specify a fixed number of threads or configure RE Loader to adjust the number of threads based on the number of database objects to update.

To specify a fixed number of threads, set the entry equal to the desired number of threads.

To configure RE Loader to automatically adjust the number of threads, set the entry to 0. In this case, RE Loader spawns the following number of threads:

  • Less than 1,000 objects: 2 threads

  • Between 1,000 and 200,000 objects: 4 threads

  • More than 200,000 objects: 8 threads

Note: Specifying a number of threads that exceeds the number of CPUs in your system may cause deadlock due to a lack of system resources. If you set the infranet.rel.updater_threads entry to a value greater than 8, RE Loader returns a warning message and continues processing.

If not included in the file, ECE will use the value 1.

The default value is 4.

infranet.rel.validate_dbnumber

Specifies whether RE Loader performs an extra validation step to ensure that it is loading a call detail record (CDR) file into the correct database schema.

Important: Use this option only for debugging. In a production environment, set this to false. Setting it to true degrades performance while loading data into the database.

See "Turning Off Database Verification to Improve Processing Performance".

The default value is true.

infranet.rel.validate_indexes

Specifies whether RE Loader verifies that the database indexes are correct before loading data into the database.

Important: Use this option only for debugging. In a production environment, set this to false. Setting it to true degrades performance while loading data into the database. See "Turning Off Index Verification to Improve Database Loading Performance".

If not included in the file, ECE will use the value true.

The default value is false.

infranet.rel.max_increment_by

Specifies the number of database schemas in your system. This value is used by the POID generation algorithm to ensure that POIDs are unique across all database schemas in your system.

See "Preventing POID Errors in Multischema Systems".

The default value is 20.

infranet.rel.sort.limit

Defines the maximum number of CDRs that the preprocessing script can sort by account ID. This improves performance later during the balance updating process.

If the number of CDRs in the input file is greater than the infranet.rel.sort.limit value, the preprocessing script does not sort the CDRs.

If not included in the file, ECE will use the value 500000.

The default value is 100000.

RE Loader Daemon

Table 5-3 contains the RE Loader Infranet.properties file entries for running the RE Loader daemon.

Table 5-3 RE Loader Daemon Entries

Entry Description

batch.check.interval

Specifies the time interval, in seconds, to monitor files from the output directory.

There is no default value for this parameter.

batch.file.rename.extension

Specifies the file name extension that the RE Loader daemon uses to rename the interim files before processing them.

The default value is .bc.

batch.start.highload.time

Specifies the start time of your system's busiest period. Specify the hour, minute, and second, in hhmmss format, using the 24-hour clock.

There is no default value for this parameter.

batch.end.highload.time

Specifies the start time of your system's slowest period. Specify the hour, minute, and second, in hhmmss format, using the 24-hour clock.

There is no default value for this parameter.

batch.lock.socket.addr

Specifies the port address of the process.

The default value is 24507.

batch.rel.archiveDir

Specifies the full path to the directory where a successfully processed file is archived. This is the default archive directory for all the event handlers.

The default value is BRM_home/apps/pin_rel/gsm/tel/archive.

batch.rel.rejectDir

Specifies the full path to the directory where an unsuccessfully processed file is stored. This is the default reject directory for all the event handlers.

The default value is BRM_home/apps/pin_rel/gsm/tel/archive.

batch.random.events

Specifies the name of the event type to process. If you have two or more types of events, separate each with a comma, but no blank space. For example, TEL,SMS,GPRS.

There is no default value for this parameter.

event.max.at.highload.time

Specifies the highest number of the RE Loader threads permitted to run simultaneously for this event during the high-load time (that is, from batch.start.highload.time to batch.end.highload.time).

For example, if event.max.at.highload.time is 2, two threads are permitted to run simultaneously for this event during the high-load time.

There is no default value for this parameter.

event.max.at.lowload.time

Specifies the highest number of the RE Loader threads permitted to run simultaneously for this event during the low-load time (that is, from batch.end.highload.time to batch.start.highload.time).

For example, if event.max.at.lowload.time is 2, two threads are permitted to run simultaneously for this event during the low-load time.

There is no default value for this parameter.

event.file.location

Specifies the full path name of the directory to monitor for the arrival of new files that match the pattern in event.file.pattern.

There is no default value for this parameter.

event.file.pattern

Specifies the file name pattern to look for. You can use an asterisk (*) to represent zero or more characters in the file name. No other wildcards are supported.

There is no default value for this parameter.

event.archiveDir

(Optional) Specifies the full path to the directory where a successfully processed file is archived for a particular event handler. When multiple event handlers are configured, configure this entry to specify the directory that archives files from a particular event handler.

There is no default value for this parameter. If it is not provided, the files will be placed in the BRM_home/apps/pin_rel directory.

event.rejectDir

(Optional) Specifies the full path to the directory where an unsuccessfully processed file is stored for a particular event handler. When multiple event handlers are configured, configure this entry to specify the directory that stores files from a particular event handler.

There is no default value for this parameter. If it is not provided, the files will be placed in the BRM_home/apps/pin_rel directory.

event.file.type

Specifies the type of input CDR file.

  • ECE_PRE_SPLIT specifies that RE Loader uses ECE generated preprocessed control files and data files.

  • STANDARD specifies that RE Loader uses pipeline generated input files.

The default is STANDARD.

Always use STANDARD for Pipeline Manager.

Note: You cannot specify both ECE_PRE_SPLIT and STANDARD in the same Infranet.properties file.

Default RE Loader Processing

Table 5-4 contains the RE Loader Infranet.properties file entries for configuring the default processing of CDRs. The configuration information in this section applies to all events except for those defined in the storable class-specific section.

Table 5-4 Default Configuration Entries

Entry Description

infranet.rel.default.interim_directory

Specifies the RE Loader processing directory. This is the location where RE Formatter loads the CDR files.

If not included in the file, ECE will use the value ./.

The default value is BRM_home/apps/pin_rel.

infranet.rel.default.supported_creation_processes

Specifies which creation processes are supported. As initially configured, RE Loader supports all creation processes:

  • PIN_REL_TRANSFORM_CDR specifies that the file was last processed by the pin_rel_transform_cdr.pl script and therefore contains discount events.

  • SUSPENSE_CREATE specifies that the RE Loader process creates new suspense records in the suspended usage table.

  • SUSPENSE_UPDATE specifies that the RE Loader process updates existing suspense records in the suspended usage table.

  • RATING_PIPELINE specifies that the file was last processed by the rating pipeline and therefore contains prerated events. This option applies only to Pipeline Manager.

  • RERATING_PIPELINE specifies that the file was last processed by the rerating pipeline and therefore contains rerated events. This option applies only to Pipeline Manager.

By default, RE Loader supports all creation processes.

infranet.rel.default.failure_script

Specifies the script called when RE Loader attempts to reload events that previously failed to load into the database.

The default value is pin_rel_handle_interim_files.pl.

infranet.rel.default.failure_flags

Specifies the flag passed to the failure script.

You can specify the following flags in the default pin_rel_handle_interim_files.pl failure script:

  • 0 to do nothing.

  • 1 to rename the interim files by appending .saved.timestamp to the file name.

  • 2 to delete the temporary files.

  • 3 to move the unsuccessfully processed data files generated by ECE to the reject directory. This option is only available for ECE.

The initial value and the default are 1.

infranet.rel.default.preprocess_script

Specifies the name of the preprocessing script.

The default value is pin_rel_preprocess_cdr.pl.

infranet.rel.default.preprocess_flags

Specifies the flag passed to the preprocessing script.

The default value is 0.

infranet.rel.default.load_util

Specifies the name of the load utility.

For Oracle's SQL Loader, it also specifies whether the utility uses direct-path loading or conventional-path loading:

  • Direct-path loading: This is the fastest way to load events into the database. It can be 10% to 30% faster than conventional-path loading, depending on the file size, memory size, storage configuration, and storage performance. However, direct-path loading has limits for concurrent system activities. When an event is loaded in direct-path mode, the load utility locks the event's entire partition and some of the table's indexes. This prevents other operations from updating or reading the event table. Direct-path mode is recommended when the event table will have limited concurrent usage.

  • Conventional-path loading: This is the recommended loading mode if BRM will perform many concurrent operations on the event table. For example, use conventional-path loading if BRM is rerating events, performing billing-time taxation, or generating detailed invoices concurrently with RE Loader. Conventional mode is also recommended if you have small source files for RE Loader because the performance gained by using direct-path loading is surpassed by the mode's preprocessing and file-handling overhead.

    Important: If you use conventional-path loading, use the APPEND option in your RE Loader control files. Do not use the TRUNCATE option.

To specify the load utility name and loading mode:

  • UtilityName direct=true unrecoverable specifies to use direct-path loading. This is the default.

  • UtilityName direct=false specifies to use conventional-path loading.

The default is sqlldr direct=true streamsize=5000000 readsize=10000000 unrecoverable.

infranet.rel.default.preupdater_sproc

Specifies the name of the preupdate stored procedure.

The default value is pin_rel.pin_rel_pre_updater_sp.

infranet.rel.default.preupdater_batch_size

Specifies the size of the preupdate batch.

The default value is 5.

infranet.rel.default.preupdater_flags

Specifies the flag passed to the preupdate stored procedure.

The default value is 1.

infranet.rel.default.updater_sproc

Specifies the name of the update stored procedure.

The default value is pin_rel.pin_rel_updater_sp.

infranet.rel.default.updater_batch_size

Specifies the size of the update batch.

The default value is 5.

infranet.rel.default.updater_flags

Specifies the flag passed to the update stored procedure. The default value is 1.

infranet.rel.default.success_script

Specifies the script called when RE Loader successfully loads a batch of events into the BRM database.

The default value is pin_rel_handle_interim_files.pl.

infranet.rel.default.success_flags

Specifies the flag passed to the success script.

You can specify the following flags in the default pin_rel_handle_interim_files.pl script:

  • 0 to do nothing.

  • 1 to rename the interim files by appending .saved.timestamp to the file name.

  • 2 to delete the temporary files.

The default value is 2.

infranet.rel.default.storable_class

Specifies the storable class you are loading.

Important: If you use Oracle SQL Loader, use the APPEND option in your RE Loader control files. Do not use the TRUNCATE option.

If not included in the file, ECE will use the value /event/delayed/session/gprs.

There is no default value for this parameter.

infranet.rel.default.creation_process

Specifies whether the file contains prerated, rerated, or discount events:

  • PIN_REL_TRANSFORM_CDR specifies that the file was last processed by the pin_rel_transform_cdr.pl script and therefore contains discount events.

  • RATING_PIPELINE specifies that the file was last processed by the rating pipeline and therefore contains prerated events. This option applies only to Pipeline Manager.

  • RERATING_PIPELINE specifies that the file was last processed by the rerating pipeline and therefore contains rerated events. This option applies only to Pipeline Manager.

Important: RE Loader can dynamically source the creation process from the event record header file. Remove the comment from this entry only if all of your event record files come from the same creation process.

infranet.rel.default.ece_control_file_directory

Specifies the location of the control files generated by BRM Elastic Charging Engine (ECE). The default is BRM_home/apps/pin_rel.

This parameter is not applicable to Pipeline Manager.

infranet.rel.default.ece_data_file_directory

Specifies the location of the data files generated by ECE. The default is BRM_home/apps/pin_rel.

This parameter is not applicable to Pipeline Manager.

infranet.rel.ece_preprocessed

Specifies whether RE Loader uses ECE generated preprocessed control files and data files:

  • TRUE specifies that RE Loader uses ECE generated preprocessed control files and data files.

  • FALSE specifies that RE Loader uses pipeline generated input files.

The default is FALSE.

This parameter should always be FALSE for Pipeline Manager.

Loading Event Records

Table 5-5Table 5-4 contains the RE Loader Infranet.properties file entries for configuring how RE Loader handles event records.

Table 5-5 RE Loader Event Handling Configuration Entries

Entry Description

infranet.rel.use_end_time

Specifies whether RE Loader uses the start time or end time of the rated event for deciding the billing cycle.

  • 1 specifies that RE Loader uses the end time of the rated event for deciding the billing cycle. The initial value and the default are 1.

  • 0 specifies that RE Loader uses the start time of the rated event for deciding the billing cycle.

infranet.rel.default.header.record_type

Specifies the header record type. The initial value and the default are 010.

infranet.rel.default.detail.record_type

Specifies the detail record type. The initial value and the default are 020.

infranet.rel.default.trailer.record_type

Specifies the trailer record type. The initial value and the default are 090.

infranet.rel.field.delimiter

Specifies the delimiter symbol. The initial value and the default are \t for tabs.

infranet.rel.header.position.storable_class

Specifies which field in the event record file contains the storable class name. The initial value and the default are 20.

Note: When you set this field to 0, RE Loader uses the default storable class specified in infranet.rel.default.storable_class.

infranet.rel.header.position.creation_process

Specifies which field in the event record file contains the name of the creation process (for example, whether the file contains prerated, rerated, or discount events). The initial value and the default are 18.

Note: You can specify 0 if you do not need this field validated.

infranet.rel.header.position.sender

Specifies which field in the event record file contains the sender. The initial value and the default are 3.

infranet.rel.header.position.recipient

Specifies which field in the event record file contains the recipient. The initial value and the default are 4.

infranet.rel.header.position.file_sequence

Specifies which field in the event record file contains the file sequence number. The initial value and the default are 5.

Note: You can specify 0 if you do not need this field validated.

infranet.rel.header.position.creation_timestamp

Specifies which field in the event record file contains the creation time stamp. The initial value and the default are 7.

Note: You can specify 0 if you do not need this field validated.

infranet.rel.trailer.position.record_count

Specifies the field position of the field that contains the total number of detail records in the output file.

The initial value and the default are 7. The field position starts with 1.

infranet.rel.file_extension.disc.transform_script

By default, this entry is commented out.

The initial value is pin_rel_transform_cdr.pl.

No default exists.

infranet.rel.file_extension.disc.transform_flags

By default, this entry is commented out.

The initial value is 0.

No default exists.

infranet.rel.header.position.object_cache_type

Set this value to 0. The default value is 23.

This parameter is not applicable to ECE.

Storable-Class RE Loader Processing

Table 5-6 contains the RE Loader Infranet.properties file entries for configuring CDR processing for specific storable classes.

For each storable class, only the infranet.rel.storable_class.classname.number_of_tables and infranet.rel.storable_class.classname.table.N.name entries are mandatory. RE Loader uses the values from the related infranet.rel.default settings for any undefined storable class-specific entries.

When editing these entries:

  • Create a set of entries for each event you want to load.

  • Replace classname with the appropriate storable class name. For example, use event_delayed_session_gprs for the /event/delayed/session/gprs storable class.

  • Create a set of *.table.N.* entries for each table. For example, if the storable class contains three tables, create a set of *.table.1.* entries, a set of *.table.2.* entries, and a set of *.table.3.* entries.

Table 5-6 Storable-Class-Specific Configuration Entries

Entry Description

infranet.rel.storable_class.classname.interim_directory

RE Loader processing directory. This is the location where preprocessed events are temporarily stored before they are loaded.

infranet.rel.storable_class.classname.supported_creation_processes

Specifies whether the file contains prerated, rerated, or discount events.

infranet.rel.storable_class.classname.failure_script

Specifies the script to call when RE Loader attempts to load events that previously failed to load into the database.

infranet.rel.storable_class.classname.failure_flags

Specifies the flag to pass to the failure script.

infranet.rel.storable_class.classname.preprocess_script

Specifies the name of the preprocessing script.

infranet.rel.storable_class.classname.preprocess_flags

Specifies the flag to pass to the preprocessing script.

infranet.rel.storable_class.classname.number_of_tables

Specifies the number of tables in the storable class.

Important: This entry is mandatory for all types of events.

infranet.rel.storable_class.classname.table.N.name

Specifies the name of a storable class table.

Important: This entry is mandatory for all types of events.

infranet.rel.storable_class.classname.table.N.load_util

Specifies the name of the load utility. For Oracle's SQL Loader, it also specifies whether the utility uses direct-path loading or conventional-path loading:

  • UtilityName direct=true unrecoverable specifies to use direct-path loading.

  • UtilityName direct=false specifies to use conventional-path loading.

Important: If you use conventional-path loading, use the APPEND option in your RE Loader control files. Do not use the TRUNCATE option.

infranet.rel.storable_class.classname.table.N.control_file

Specifies the control file to use when loading the data file into the database.

infranet.rel.storable_class.classname.preupdater_sproc

Specifies the name of the preupdater stored procedure.

infranet.rel.storable_class.classname.preupdater_batch_size

Specifies the preupdater batch size.

infranet.rel.storable_class.classname.preupdater_flags

Specifies the flag to pass to the preupdater stored procedure.

infranet.rel.storable_class.classname.updater_sproc

Specifies the name of the updater stored procedure.

infranet.rel.storable_class.classname.updater_batch_size

Specifies the updater batch size.

infranet.rel.storable_class.classname.updater_flags

Specifies the flag to pass to the updater stored procedure.

infranet.rel.storable_class.classname.success_script

Specifies the script to call when RE Loader successfully loads a data file into the BRM database.

infranet.rel.storable_class.classname.success_flags

Specifies the flag to pass to the success script when RE Loader successfully loads a data file into the BRM database.

RE Loader Logging

Table 5-7 contains the RE Loader Infranet.properties file entries for configuring logging.

Table 5-7 RE Loader Logging Configuration Entries

Entry Description

infranet.log.file

Specifies the name of the RE Loader log file.

The initial value is rel.pinlog.

No default exists.

infranet.log.name

Specifies the name of the application.

The initial value is REL for RE Loader.

No default exists.

infranet.log.level

Specifies the log reporting level:

  • 1 specifies error-level reporting.

  • 2 specifies warning-level reporting.

  • 3 specifies debug-level reporting.

The initial value is 1.

The default is String.valueOf(ErrorLog.Error) (equivalent to 1).

See Setting the Reporting Level for Logging Messages in BRM System Administrator's Guide.

infranet.log.logallebuf

Specifies whether RE Loader automatically logs all EbufException errors.

The initial value is true.

No default exists.

infranet.rel.custom_error_codes

Specifies the name of the custom error code file.

The initial value is CustomErrorCodes.properties.

No default exists.

To move this file from its default location, you must create a symbolic link between the name of the file and its new location. To create this link, go to the BRM_home/apps/pin_rel directory and enter the following at the command prompt:

ln -s path_to_where_file_was_moved/CustomErrorCodes.properties ./CustomErrorCodes.properties