81 Pipeline Manager Function Modules

This chapter provides reference information for Oracle Communications Billing and Revenue Management (BRM) Pipeline Manager function modules.

FCT_Account

The FCT_Account module adds customer data to an EDR.

It also does the following:

  • Flags incoming CDRs to be suspended when the account is being rerated by pin_rerate.

  • For exclusion rules for usage discounts, retrieves package list information from the DAT_AccountBatch module and adds this information to the PLAN_LIST block in the CustomerData block in the EDR. The package list includes all plans for the subscription service, including plans owned by any member services in the subscription group.

  • For Balance Monitoring, retrieves the balance monitor information for an event owner from the DAT_AccountBatch module and fills the CustomerData block in the EDR with the monitor list.

Dependencies

Requires a connection to the DAT_AccountBatch module.

This module must run before the zoning and rating modules.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-1 lists the FCT_Account registry entries.

Table 81-1 FCT_Account Registry Entries

Entry Description Mandatory

Active

Specifies whether the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataModule

Specifies the connection to the DAT_AccountBatch module.

Yes

DisableRatingProductCheck

Specifies whether the module rejects any CDRs with no rating charge offers.

True = FCT_Account does not reject CDRs, if the configured event type for batch rating is not found in any of the charge offers owned by the service or account.

False = FCT_Account rejects CDRs if the configured event type for batch rating is not found in any of the charge offers owned by the service or account.

No

Sample Registry

Account
{
  ModuleName = FCT_Account
  Module
  {
    Active         = True
    DataModule     = ifw.DataPool.CustomerData
    Offset         = 5
  }
}

Semaphore File Entries

Table 81-2 lists the FCT_Account Semaphore file entry.

Table 81-2 FCT_Account Semaphore File Entries

Entry Description

Active

Specifies whether the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CustomerSearch.Module.Active = False

EDR Container Fields

The FCT_Account module uses the EDR container fields listed in Table 81-3:

Table 81-3 FCT_Account EDR Container Fields

Alias field nameDefault field name Type Access Description

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code that determines the EDR container fields that are used for the customer lookup. For example, a telephone service uses the A number to find the customer account.

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the start timestamp of the event. The time zone information for this timestamp is stored in the field BDR_UTC_TIME_OFFSET.

BDR_UTC_TIME_OFFSET

DETAIL.UTC_TIME_OFFSET

String

Read

Contains the UTC time offset that normalizes the charging start timestamp to the UTC time zone. All validity timestamps in the BRM customer data are stored in normalized UTC time.

The format is +/- HHMM.

DETAIL.CUST_A.ACTG_LAST_DATE

Date

Read

Contains the date that the current monthly cycle began.

DETAIL.CUST_A.ACTG_NEXT_DATE

Date

Read

Contains the date that the current monthly cycle ends.

DETAIL.CUST_A.ACTG_USED_DATE

Date

Write

Contains the date used for this EDR.

RESOURCE_LIST

DETAIL.CUST_A.RESOURCE_LIST

String

Write

Contains a list of the balance elements included in the A-number customer's balance.

RESOURCE_LIST

DETAIL.CUST_B.RESOURCE_LIST

String

Write

Contains a list of the balance elements included in the B-number customer's balance.

DETAIL.CUST_A.INTERN_RATING_PRODUCTS

String

Create

Contains the charge offer rating indexes.

This is a comma-separated list of all rating charge offers' indexes associated with the same service and event, and their priorities.

DETAIL.CUST_A.PRODUCT_PRIORITY

Integer

Read

Contains the priority for a charge offer.

DETAIL.CUST_A.PRODUCT.USAGE_START

Date

Read

Contains the start time for a charge offer.

DETAIL.CUST_A.PRODUCT.FIRST_USAGE_INDICATOR

Integer

Write

Specifies whether the account's charge offer is configured to start when first used and the state of the validity period.

DETAIL.CUST_A.DL.PD.FIRST_USAGE_INDICATOR

Integer

Write

Specifies whether the account's discount is configured to start when first used and the state of the validity period.

BALANCE_GROUP_ID

DETAIL.CUST_A.ML.BALANCE_GROUP_ID

String

Create

Contains the balance monitor group ID.

MONITOR_OWNER_ACCT_ID

DETAIL.CUST_A.ML.MONITOR_OWNER_ACCT_ID

String

Create

Contains the monitor owner's account ID.

MONITOR_OWNER_ID

DETAIL.CUST_A.ML.MONITOR_OWNER_ID

String

Create

Contains the monitor owner ID.

MONITOR_OWNER_TYPE

DETAIL.CUST_A.ML.MONITOR_OWNER_TYPE

String

Create

Contains the monitor owner type.

DETAIL.CUST_A.SHARED_PROFILE_LIST. ERA.LABEL

String

Write

Contains the label associated with a shared service profile. For example, MYFAMILY.

DETAIL.CUST_A.PRODUCT.ERA. LABEL

String

Write

Contains the label associated with an owned service profile. For example. MYFAMILY.

DETAIL.CUST_A. SHARED_PROFILE_LIST

Block

Write

Contains all the shared profiles, which the service shares as a member of one or more profile sharing groups.

DETAIL.CUST_A. SHARED_PROFILE_LIST.ERA

Block

Write

Contains shared ERA information.

Database Interface for the FCT_Account Module

The FCT_Account modules uses the following database tables:

  • The FCT_Account and FCT_AccountRouter modules use the data in the IFW_ALIAS_MAP table to link an internal service code the EDR container field used for identifying an account.

  • The FCT_Account and FCT_AccountRouter module use the data in the IFW_EDRC_DESC table to look up the alias mapping data. This table contains all valid EDR container fields for different format descriptions.

  • The FCT_Account module uses the data in the IFW_EDRC_FIELD table to look up the alias mapping data. This table contains all valid EDR container fields for different format descriptions.

  • The FCT_Account and FCT_AccountRouter use the data in the IFW_PIPELINE table to look up the alias mapping data. The IFW_PIPELINE database table defines the EDR formats that can be used for each pipeline.

FCT_AccountLPRouter

The FCT_AccountLPRouter module looks up the logical partition in which the account resides and writes it to the LOGICAL_PARTITION_ID EDR field.

Dependencies

Requires a connection to the DAT_AccountBatch module.

Registry Entries

Table 81-4 lists the FCT_AccountPRouter registry entries.

Table 81-4 FCT_AccountLPRouter Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataModule

Specifies the connection to the DAT_AccountBatch module.

Yes

Sample Registry

#-------------------------------------------------
# AccountLPRouter
#--------------------------------------------------
AccountLPRouterModule
{
  ModuleName = FCT_AccountLPRouter
  Module
  {
    Active       = True
    DataModule   = ifw.DataPool.CustomerData
  } # end Module
} # end LPRouter
#--------------------------------------------------

Semaphore File Entries

Table 81-5 lists the FCT_AccountPRouter Semaphore file entry.

Table 81-5 FCT_AccountPRouter Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.AccountLPRouter.Module.Active = False

EDR Container Fields

The FCT_AccountLPRouter module uses the following EDR container fields:

Events

Table 81-6 lists the events for FCT_AccountPRouter.

Table 81-6 FCT_AccountPRouter Events

Alias Field NameDefault Field Name Type Access Description

LOGICAL_PARTITION_ID

String

Read

Contains the logical partition ID for the event.

FCT_AccountRouter

The FCT_AccountRouter module routes EDRs to the appropriate database schema in multischema systems. This module finds the customer's schema and routes the EDRs to the appropriate pipeline. See "Using Pipeline Manager with Multiple Database Schemas".

When used with standard recycling or Suspense Manager, this module routes call records from the pre-recycling pipeline to the appropriate rating pipeline.

Note:

FCT_AccountRouter runs in its own instance of Pipeline Manager and should be configured with its own registry file. Create a registry file that includes entries for the Input, FCT_AccountRouter, and Output modules.

Dependencies

Requires a connection to the DAT_AccountBatch module.

For general use, this module must run after the FCT_ServiceCodeMap module and before the rating modules.

For use with standard recycling or Suspense Manager using multiple database schemas, this module must be run before OUT_GenericStream in a pre-recycling pipeline.

This module sends output to a separate pipeline for each BRM database schema.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-7 lists the FCT_AccountRouter registry entries.

Table 81-7 FCT_AccountRouter Registry Entries

Entry Description Mandatory

Active

Specifies whether the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataModule

Specifies the connection to the DAT_AccountBatch module.

Yes

Mode

Specifies how this module routes EDRs to the appropriate pipeline.

ROUTER = Routes EDRs based on the database schema ID.

RECYCLE = Routes EDRs based on the pipeline name and schema ID. See "Configuring a Pre-Recycling Pipeline".

Yes

Streams

Lists the target output streams. The syntax for this section depends on whether the module is operating in ROUTER mode or RECYCLE mode.

See "Configuring EDR Output Processing".

Yes

Sample Registries

Sample registry entries for the ROUTER mode:

AccountRouter
{
   ModuleName = FCT_AccountRouter
   Module
   {
      Active = True
      DataModule = ifw.DataPool.Account
      Mode=ROUTER
      Streams
      {
         1 = DB0001Stream
         2 = DB0002Stream
         3 = DB0003Stream
      }
   }
}

Sample registry entries for the RECYCLE mode:

AccountRouter
{
    ModuleName = FCT_AccountRouter
    Module
    {
        Active = True
        DataModule = ifw.DataPool.CustomerData
        Mode = RECYCLE
    
        Streams
        {
        # This section maps pipelines to their original stream
            1_Pipeline_A = StreamA_for_DB1
            1_Pipeline_B = StreamB_for_DB1
            2_Pipeline_C = StreamC_for_DB2
            2_Pipeline_D = StreamD_for_DB2
  
        # This section maps pipelines to their alternate stream
            1_Pipeline_C = StreamA_for_DB1
            1_Pipeline_D = StreamB_for_DB1
            2_Pipeline_A = StreamC_for_DB2
            2_Pipeline_B = StreamD_for_DB2
            
        # This section sends EDRs to the suspense stream
            0_* = SuspenseStream
        }
    }
}

Semaphore File Entries

Table 81-8 list the FCT_AccountRouter Semaphore file entry.

Table 81-8 FCT_AccountRouter Semaphore File Entry

Entry Description

Active

Specifies whether the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.Rating.Module.AccountRouter.Module.Active = False

EDR Container Fields

The FCT_AccountRouter module uses the EDR container fields listed in Table 81-9:

Table 81-9 FCT_AccountRouter EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code that determines the EDR container fields used for the customer lookup.

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the start timestamp of the event. The time zone information for this timestamp is stored in the BDR_UTC_TIME_OFFSET field.

BDR_UTC_TIME_OFFSET

DETAIL.UTC_TIME_OFFSET

String

Read

Contains the UTC time offset that normalizes the charging start timestamp to the UTC time zone. All validity timestamps in the BRM customer data are stored in normalized UTC time.

The format is +/- HHMM.

Database Tables

The FCT_Account module uses the following database tables:

  • IFW_ALIAS_MAP. The FCT_Account and FCT_AccountRouter modules use the data in the IFW_ALIAS_MAP database table to link an internal service code the EDR container field used for identifying an account.

  • IFW_EDRC_DESC. The FCT_Account and FCT_AccountRouter module use the data in the IFW_EDRC_DESC table to look up the alias mapping data. This table contains all valid EDR container fields for different format descriptions. See "Using Pipeline Manager with Multiple Database Schemas".

  • IFW_PIPELINE. The FCT_Account and FCT_AccountRouter use the data in this table to look up the alias mapping data. The IFW_PIPELINE database table defines the EDR formats that can be used for each pipeline. See "Using Pipeline Manager with Multiple Database Schemas".

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

FCT_AggreGate

The FCT_AggreGate module performs aggregation of data in EDR containers. See "Setting Up Pipeline Aggregation".

Dependencies

The FCT_AggreGate function module requires a connection to the DAT_ScenarioReader module.

This module runs after rating modules and can run in its own pipeline.

When you configure the FCT_CallAssembling function module to not drop EDRs from the pipeline, ensure that the FCT_AggreGate function module that counts them runs before the FCT_Reject function module. See "FCT_CallAssembling".

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-10 lists the FCT_AggreGate registry entries.

Table 81-10 FCT_AggreGate Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

BackOut

Specifies if the module is working in back-out mode, which is used for rerating. Possible values are True and False.

Default = False

No

ControlFile

Specifies the definitions for the control file. The control files are used by the Database Loader utility to load the results into the database.

No

ControlFile.DataFilePath

Specifies whether the path to the data file is included in the control file. Possible values are True and False.

Default = True

No

ControlFile.Suffix

Specifies the file name suffix for the control file. You can specify any suffix.

Default = .ctl

No

IncludeCtlFile

Specifies whether to create control files. If True, control and data files are created. If False, only data files are created.

Default = True

No

IncludeErrorEDRs

Specifies whether EDRs that include errors are included in the aggregation scenario. Possible values are True and False.

Default = False

No

IncludeInvalidDetailEDRs

Specifies whether EDRs that are invalid are included in the aggregation scenario. Possible values are True and False.

Default = False

No

ResultFile

Sub-entries define characteristics of the result file.

No

ResultFile.DoneSuffix

Specifies the file name suffix for processed files. You can specify any suffix.

Default = .dat

No

ResultFile.TempSuffix

Specifies the file name suffix for temporary files created during processing. You can specify any suffix.

Default = .tmp

No

ResultFile.WriteEmptyFile

Indicates whether to create an empty processed file if there are no processing results. Possible values are True and False.

Default = True

No

ScenarioReaderDataModule

Specifies a connection to the DAT_ScenarioReader module.

Yes

Scenarios

Specifies the scenario that is processed and configured.

See "Specifying Scenario Attributes".

If nothing is entered, no processing occurs.

No

Scenarios

No value. Subentries define the scenarios to be processed and how they are configured.

See "Specifying Scenario Attributes".

If nothing is entered, no processing occurs.

No

Scenarios.name

Specifies the name of a scenario to be configured.

The scenarios included with Revenue Assurance Manager have names such as RA_01, RA_02 and so on.

Yes

Scenarios.name.ControlPointId

Defines the Revenue Assurance control point that uses this scenario. Control point names must be unique system-wide. If a value is specified, the control point ID is included in the result file.

No

Scenarios.name.CtlDir

Specifies the directory from which to read the control file. Use this entry when you want to override the default directory defined for the scenario.

No

Scenarios.name.DoneDir

Specifies a path and name for processed files. Use this entry when you want to override the default directory.

No

Scenarios.name.FieldDelimiter

Specifies the delimiter of result fields. The default is a semicolon (;), which is the value defined in the IFW_SCENARIO table.

Yes

Scenarios.name.IncludeErrorEDRs

Speechifies whether EDRs that have errors are included in the aggregation processing. Possible values are True and False.

Default value is False.

Note: For Revenue Assurance, this parameter must be present and set to True.

No

Scenarios.name.IncludeInvalidDetailEDRs

Specifies whether invalid EDRs are included in aggregation processing. Possible values are True and False.

Default value is False.

Note: For Revenue Assurance, this parameter must be present and set to True.

No

Scenarios.name.IncludeProcessingTimestamps

Specifies whether transaction time range data is included in result files. Possible values are True and False.

Default value is False.

No

Scenarios.name.TableName

Specifies the table used when DB Loader stores aggregation results in the database. The table name is also used for files created by this scenario.

Use this entry when you want to override the default table name defined for the scenario.

No

Scenarios.name.TempDir

Specifies a path and name for a directory to use for temporary files created during processing.

Use this entry when you want to override the default directory defined for the scenario.

No

Scenarios.name.Threshold

Specifies the maximum number of aggregations stored in memory before writing to disk. In most cases, there aren't enough aggregations to make the threshold meaningful. A typical value is a relatively large number, such as 99999.

Use this entry when you want to override the default directory defined for the scenario.

No

Sample Registry

Aggregate
{
  ModuleName = FCT_AggreGate
  Module
  {
    Active = TRUE

    ScenarioReaderDataModule = ifw.DataPool.ScenarioReader

    Scenarios
      {
      PURCHASE
      {
        TableName = PURCHASE_RESULT
        Threshold = 100000
        TempDir = result/temp
        DoneDir = result/done
        CtlDir = result/ctl
        FieldDelimiter = |
      }
      STAT
      {
        TempDir = result/temp
        DoneDir = result/done
        CtlDir = result/ctl
        }
        DAY
        {
      }
   }

    ResultFile
    {
      TempSuffix = .tmp
      DoneSuffix = .dat
      WriteEmptyFile = FALSE
    }

    ControlFile
      {
      IncludeCtlFile = FALSE
      Suffix = .ctl
      DataFilePath = TRUE
    }
  }
} 

Semaphore File Entries

Table 81-11 lists the FCT_AggreGate Semaphore file entry.

Table 81-11 FCT_AggreGate Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Aggregate.Module.Active = False

EDR Container Fields

The module reads EDR container fields defined by the DAT_ScenarioReader module. See "DAT_ScenarioReader".

Events

Table 81-12 lists the FCT_AggreGate events.

Table 81-12 FCT_AggreGate Events

Event name Trigger Sender Parameter

EVT_CTL_FILE_CREATED

Control file for the DB Loader utility was created.

DAT_ScenarioReader

File name

FCT_APN_Map

Before zoning: The FCT_APN_Map module maps the access point name (APN) to a physical PDP address.

After zoning: The FCT_APN_Map module enhances zone values to support enhanced zoning functionality.

Dependencies

Requires a connection to the Pipeline Manager database.

This module can be run before or after the zoning modules (FCT_Zone and FCT_PreRating).

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-13 lists the FCT_APN_Map registry entries.

Table 81-13 FCT_APN_Map Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

APNGroup

Specifies the Access Point Name (APN) group value for the mapping.

If you enter a group name, run the module before zoning. Otherwise, run it after zoning.

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes

Sample Registry

APN_Map 
{ 
  ModuleName = FCT_APN_Map 
  Module 
  { 
    Active = True 
    APNGroup = apn_group 
    DataConnection = integrate.DataPool.Login 
  }
}

Semaphore File Entries

Table 81-14 lists the FCT_APN_Map Semaphore file entries.

Table 81-14 FCT_APN_Map Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

APNGroup

If you enter a group name, run the module before zoning. Otherwise, run it after zoning.

Reload

Reloads data from the database into memory.

Sample Semaphore File Entries

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.APNMap.Module.Active = True 
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.APNMap.Module.APNGroup = apn_group
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.APNMap.Module.Reload{}

EDR Container Fields

The FCT_APN_Map module uses the EDR container fields listed in Table 81-15:

Table 81-15 FCT_APN_Map EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code.

APN_ADDRESS

DETAIL.ASS_GPRS_EXT.APN_ADDRESS

String

Read

Contains the access point name address.

ACTION_CODE

DETAIL.ASS_GSMW_EXT.SS_PACKET.ACTION_CODE

String

Read

Contains the action code in supplementary service packet.

SS_EVENT

DETAIL.ASS_GSMW_EXT.SS_PACKET.SS_EVENT

String

Read

Contains the supplementary service event.

INTERN_B_NUMBER_ZONE

DETAIL.INTERN_B_NUMBER_ZONE

String

Write

Contains the destination zone.

BDR_INTERN_APN_GROUP

DETAIL.INTERN_APN_GROUP

String

Read

Contains the APN group.

WHOLESALE_IMPACT_CATEGORY

DETAIL.WHOLESALE_IMPACT_CATEGORY

String

Read/Write

Contains the wholesale impact category.

RETAIL.IMPACT_CATEGORY

DETAIL.RETAIL.IMPACT_CATEGORY

String

Read/Write

Contains the retail impact category.

ASS_CBD_IMPACT_CATEGORY

DETAIL.ASS_CBD.CP.IMPACT_CATEGORY

String

Write

Contains the impact category.

ASS_CBD_INTERN_APN_GROUP

DETAIL.ASS_CBD.CP.INTERN_APN_GROUP

String

Read

Contains the APN group in the charge packet.

RATEPLAN_TYPE

DETAIL.ASS_CBD.CP.RATEPLAN_TYPE

String

Read

Contains the wholesale or retail charge type. The default is retail.

ASS_ZBD_INTERN_APN_GROUP

DETAIL.ASS_ZBD.ZP.INTERN_APN_GROUP

String

Read

Contains the APN group in zone breakdown records.

ASS_ZBD_ZONE_RESULT_VALUE_WS

DETAIL.ASS_ZBD.ZP.ZONE_RESULT_VALUE_WS

String

Write

Contains the wholesale zone result.

ASS_ZBD_ZONE_RESULT_VALUE_RT

DETAIL.ASS_ZBD.ZP.ZONE_RESULT_VALUE_RT

String

Write

Contains the retail zone result.

Database Tables

The FCT_APN_Map module uses the following database tables:

  • IFW_APN_MAP. This table stores the APN mapping rules.

  • IFW_APN_GROUP. The IFW_APN_GROUP table stores the APN groups used for APN mapping.

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

FCT_ApplyBalance

The FCT_ApplyBalance module reads the discount packets added by DAT_Discount, adds the discounting sub-balance impact to the EDR, and updates the in-memory balance.

When the discount impacts a noncurrency balance element balance that starts on first usage, this module adds the validity period information to the EDR. See "About Setting the Validity of Balance Elements Impacted by Discounts".

This module is mandatory when you configure batch discounting in Pipeline Manager. Add this module to the pipeline after the FCT_Rounding module.

Dependencies

Requires a connection to the DAT_BalanceBatch module.

This module should be in the same function pool as the FCT_Discount module for performance reasons and must run after that module.

This module also must run after FCT_Rounding.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-16 lists the FCT_ApplyBalance registry entries.

Table 81-16 FCT_ApplyBalance Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive:

True = Active

False = Inactive

Yes

BalanceDataModule

Specifies the connection to the DAT_BalanceBatch module.

Yes

DiscountDataModule

Specifies the connection to the DAT_Discount module.

Yes

FirstUsageCreateStream

Specifies the output stream for balance element balance impacts that whose validity periods start on first usage.

See "About Setting the Validity of Balance Elements Impacted by Discounts".

Default = FirstUsageResourceOutput

No

IgnoreEDROnDeadlock

Specifies what the module should do when it encounters a deadlock.

True = Ignore the EDRs and continue processing the EDR file.

False = Roll back already processed EDRs and start reprocessing the same file.

No

NumberOfNotificationLimit

Specifies the maximum number of notification events that can be written into the output XML file. Once the maximum number of notification events is reached, the module creates another XML file.

No

NotificationOutputDirectory

Specifies the directory in which to write the output XML files.

No

NotificationOutputPrefix

Specifies the prefix of the output XML file.

No

PortalConfigDataModule

Specifies the connection to the DAT_PortalConfig module.

Yes

Sample Registry

ApplyBalance
{
   ModuleName = FCT_ApplyBalance
   Module
   {
      Active                   = TRUE
      DiscountDataModule       = ifw.DataPool.DiscountModelDataModule
      BalanceDataModule        = ifw.DataPool.BalanceDataModule
      PortalConfigDataModule   = ifw.DataPool.PortalConfigDataModule
      IgnoreEDROnDeadlock      = False

     NumberOfNotificationLimit = ifw.DataPool.PortalConfigDataModule
     NotificationOutputDirectory           = ./data/out/notifybalancebreach
     NotificationOutputPrefix              = balancebreach_
   }
}

Semaphore File Entries

Table 81-17 lists the FCT_ApplyBalance Semaphore file entries.

Table 81-17 FCT_ApplyBalance Semaphore File Entries

Entry Description

ReloadCreditThresholdParam

Reloads the value from the CreditThresholdChecking business parameter.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.ApplyBalanceModule.Module.ReloadCreditThresholdParam{}

EDR Container Fields

Table 81-18 lists the FCT_ApplyBalance EDR container fields.

Table 81-18 FCT_ApplyBalance EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

DETAIL.EVENT_TYPE

String

Read

Specifies the BRM event type.

INTERNAL.TRANSACTION_ID

String

Read

Specifies the transaction ID. This is used for queuing.

DETAIL.INTERN_PROCESS_STATUS

Integer

Read

Specifies the process status. If set to 2, a recycle test is in progress, and this container is skipped.

DETAIL.ASS_CBD.DP.OBJECT_ACCOUNT

Integer

Read

Specifies the POID of the discount offer owner.

DETAIL.ASS_CBD.DP.OFFERING_POID

String

Read

Specifies the POID of the account's purchased discount offer.

DETAIL.ASS_CBD.DP.RESOURCE_ID

Integer

Read

Specifies the ID of the balance element impacted by the discount.

DETAIL.ASS_CBD.DP.GRANTED_AMOUNT

Decimal

Read

Specifies the discount grant amount. This can be currency or noncurrency.

DETAIL.ASS_CBD.DP.BALANCE_GROUP_ID

String

Read

Specifies the POID of the account's balance group that is impacted by the discount.

DETAIL.ASS_CBD.DP.VALID_FROM

Date

Read

Specifies the date when the discount becomes valid.

DETAIL.ASS_CBD.DP.VALID_FROM_DETAIL

Integer

Read

Specifies the mode of the discounts' start time (such as first-usage or relative), the relative offset unit (such as minutes, months, or cycles) and the number of offset units.

DETAIL.ASS_CBD.DP.VALID_TO

Date

Read

Specifies the date when the discount is no longer valid.

DETAIL.ASS_CBD.DP.VALID_TO_DETAIL

Integer

Read

Specifies the mode of the discounts' end time (such as relative), the relative offset unit (such as minutes, months, or cycles) and the number of offset units.

DETAIL.ASS_CBD.DP.SUB_BALANCE

Packet

Write

Specifies the sub-balance that is impacted by the discount.

DETAIL.ASS_CBD.DP.SUB_BALANCE.REC_ID

Integer

Write

Specifies the ID of the sub-balance impacted by this discount.

DETAIL.ASS_CBD.DP.SUB_BALANCE.AMOUNT

Decimal

Write

Specifies the amount of the sub-balance impacted by this discount packet.

DETAIL.ASS_CBD.DP.SUB_BALANCE.GRANTOR

String

Write

Specifies the charge offer or discount that granted this balance element.

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM

Date

Write

Specifies the date when this sub-balance becomes valid.

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO

Date

Write

Specifies the date when this sub-balance is no longer valid.

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM_DETAILS

Integer

Write

Specifies the mode of the sub-balance validity period and the relative offset start time details.

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO_DETAILS

Integer

Write

Specifies the mode of the sub-balance validity period and the relative offset end time details.

DETAIL.ASS_CBD.DP.SUB_BALANCE.CONTRIBUTOR

String

Write

Specifies the service or account that contributes to the sub-balance amount.

DETAIL.ASS_CBD.UBP

Packet

Write

The update balance packet. This packet contains validity period information for all the account's sub-balances that start on first usage. This packet is added when a sub-balance with a first-usage start time is consumed for the first time.

DETAIL.ASS_CBD.UBP.BALANCE_GROUP_ID

Integer

Write

Specifies the POID of the account's balance group associated with a balance element balance that starts on first usage.

DETAIL.ASS_CBD.UBP.RESOURCE_ID

Integer

Write

Specifies the ID of the associated balance element.

DETAIL.ASS_CBD.UBP.RECORD_NUMBER

Integer

Write

Specifies the sequence number of the record in the file.

DETAIL.ASS_CBD.UBP.VALID_FROM

Date

Write

Specifies the start time of the balance element balance.

DETAIL.ASS_CBD.UBP.VALID_TO

Date

Write

Specifies the end time of the balance element balance.

DETAIL.ASS_CBD.UBP.VALID_FROM_DETAIL

Integer

Write

Specifies the balance element balance start time details: the mode of the validity period (such as first-usage or relative), the relative offset unit (such as minutes, months, or cycles) and the number of offset units.

DETAIL.ASS_CBD.UBP.VALID_TO_DETAIL

Integer

Write

Specifies the balance element balance end time details: the mode of the validity period (such as relative), the relative offset unit (such as minutes, months, or cycles) and the number of offset units.

FCT_BatchSuspense

This module is used by the Suspense Manager service to handle file-level suspense operations. It generates the suspended batch create and update streams to be loaded into the BRM database for suspense batch files.

Note:

This module must be placed before all the validation modules/iScripts in a pipeline.

This module also adds suspense reason and suspense subreason codes to batches. See:

Dependencies

Requires a connection to the BRM database.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-19 lists the FCT_BatchSuspense registry entries.

Table 81-19 FCT_BatchSuspense Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

ResubmitDataModule

Specifies a connection to the DAT_Resubmit module.

Yes

DataConnection

Specifies the connection to the BRM database.

Yes

PipelineCategory

Specifies the pipeline category.

Default = CDRPipeline

Yes

StorableClass

Specifies the storable class used to store suspended batch records.

Default =/suspended_batch/cdr

See "Suspending CDR Files".

Yes (for Batch file processing)

SuspenseFile

Specifies the batch suspense file this module generates:

  • Path

    Specifies the path where the data file will be written to.

  • Prefix

    Specifies the prefix for the resulting filename.

  • Suffix

    Specifies the suffix for the resulting filename.

  • TempDataPrefix

    Specifies the prefix for the temporary filename that is used while the file is being built.

Yes

Sample Registry

#---------------------------
# Batch Suspense FCT
#---------------------------
BatchSuspense
{
  ModuleName                 = FCT_BatchSuspense
  Module
  {
    Active                   = TRUE
    ResubmitDataModule       = ifw.DataPool.ResubmitBatch
    DataConnection           = ifw.DataPool.LoginInfranet
    PipelineCategory         = CDRPipeline
    StorableClass            = /suspended_batch/cdr
    SuspenseFile 
    { 
       Path = ..
       Prefix = Framework 
       Suffix = msg 
       TempDataPrefix = rej_ 
          }
  }
}

EDR Container Fields

Table 81-20 lists the FCT_BatchSuspense EDR container fields.

Table 81-20 FCT_BatchSuspense EDR Container Fields

Alias Field NameDefault Field Name Type Description

BATCH_ID

HEADER.BATCH_ID

String

The unique identifier for the batch file.

The batch file's BATCH_ID field is set in the HEADER block when it is received by the pipeline and this field receives its value from that field.

SEQUENCE_NUMBER

HEADER.SEQUENCE_NUMBER

String

The suspense sequence number.

SENDER

HEADER.SENDER

String

The sender.

TAP_PROCESSING_INFO

HEADER.TAP_PROCESSING_INFO

String

Tap specific information (e.g TAP file name for a specific RAP etc). The format of this field is specific to TAP/RAP processing modules and this information created and interpreted by these modules

OVERRIDE_REASONS

HEADER.OVERRIDE_REASONS

String

Contains the batch suspense reasons that are overridden from SMC while resubmitting the batch. Mapped from the error code. Used by Suspense Manager.

FCT_BillingRecord

The FCT_BillingRecord module consolidates balance impact data into an associated BRM billing record and one or more balance impact packets. See "About Consolidation for BRM Billing".

Note:

The FCT_ItemAssign module handles items assigned for usage events.

Note:

Don't use the FCT_BillingRecord module in a CIBER roaming revenue assurance environments. For more information, see "Billing Consolidation with CIBER Roaming and Revenue Assurance".

Dependencies

Requires a connection to the following modules:

  • DAT_AccountBatch

  • DAT_BalanceBatch

  • DAT_Currency

  • DAT_ItemAssign

This module must run after the FCT_MainRating and FCT_Discount modules.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-21 lists the FCT_BillingRecord registry entries.

Table 81-21 FCT_BillingRecord Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

TRUE = Active

FALSE = Inactive

You can use this entry in a semaphore file.

Yes

AccountDataModule

Specifies a connection to the DAT_AccountBatch module.

Yes

BalanceDataModule

Specifies a connection to the DAT_BalanceBatch module.

Yes

ChargeBreakDownRecordType

By default, FCT_BillingRecord module processes Charge Breakdown records whose record type is 981.

Use this entry to specify additional Charge Breakdown records.

Note: You can specify multiple Charge Breakdown record types. Separate each record type by using a comma.

No

CurrencyDataModule

Specifies a connection to the DAT_Currency module.

Yes

CurrencyType

Specifies the CHARGED_CURRENCY_TYPE value that the charge packets should contain. The possible values are:

  • H = Home currency

  • B = Billing currency

  • R = Rating currency

Default = H.

No

ItemAssignDataModule

Specifies a connection to the DAT_ItemAssign module.

Yes

PortalConfigDataModule

Specifies the connection to the DAT_PortalConfig module.

Yes

RatingPipeline

Specifies whether the module is running in the rating or rerating pipeline:

FALSE = Rerating

TRUE = Rating

No

RatePlanType

By default, FCT_BillingRecord processes charge packets whose rateplan type is R.

Use this entry to specify additional rateplan types.

No

SetTaxLocales

Specifies whether to view the resulting tax locales in the PIN_TAX_LOCALES field:

FALSE = Viewing the resulting tax locales in the PIN_TAX_LOCALES field is disabled.

TRUE = View the resulting tax locales in the PIN_TAX_LOCALES field; for example, phone numbers.

Default = FALSE.

No

Sample Registry Entry

AddInfranetBillingRecord
{
  ModuleName = FCT_BillingRecord
  Module 
  {
    Active = TRUE 
    AccountDataModule  = ifw.DataPool.CustomerData
    PortalConfigDataModule   = ifw.DataPool.PortalConfigDataModule
    BalanceDataModule = ifw.DataPool.BalanceDataModule 
    ChargeBreakDownRecordType = 981
    CurrencyType = R
    CurrencyDataModule = ifw.DataPool.CurrencyDataModule
    ItemAssignDataModule = ifw.DataPool.ItemAssignDataModule
    RatingPipeline = TRUE
    RatePlanType = W
    SetTaxLocales = FALSE
  }
}

Semaphore File Entries

Table 81-22 lists the FCT_BillingRecord Sempahore file entries.

Table 81-22 FCT_BillingRecord Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.AddInfranetBillingRecord.
Module.Active = false

EDR Container Fields

Table 81-23 lists the FCT_BillingRecord EDR container fields.

Table 81-23 FCT_BillingRecord EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

A_NUMBER

DETAIL.A_NUMBER

String

Read

Contains the normalized A number.

ACCOUNT_POID

DETAIL.ASS_PIN.ACCOUNT_POID

String

Write

Contains the resulting account POID.

ACCOUNT_POID

DETAIL.ASS_PIN.MP.ACCOUNT_POID

String

Create

POID of the account that the balance impact applies to.

Derivation: Mandatory. Calculated.

ASS_CBD_IMPACT_CATEGORY

DETAIL.ASS_CBD.CP.IMPACT_CATEGORY

String

Read

Contains the impact category.

ASS_CBD_RECORD_TYPE

DETAIL.ASS_CBD.RECORD_TYPE

String

Read

Contains the record type of the associated charge record.

ASS_CBD_RUM_NAME

DETAIL.ASS_CBD.RUM_NAME

String

Read

Contains the RUM name.

ASS_PIN_BALANCE_PACKET

DETAIL.ASS_PIN.NUMBER_OF_BALANCE_PACKETS

Integer

Write

Contains the resulting number of balance packets.

B_NUMBER

DETAIL.B_NUMBER

String

Read

Contains the normalized B number.

BAL_GRP_ID

DETAIL.INTERN_BALANCE_GROUP_ID

String

Read

Contains the balance group POID of the service.

BAL_GRP_POID

DETAIL.ASS_PIN.MP.BAL_GRP_POID

String

Create

Balance monitor group that the balance impact applies to.

Derivation: Mandatory. Calculated.

BALANCE_GROUP_ID

DETAIL.CUST_A.ML.BALANCE_GROUP_ID

String

Read

Balance monitor group ID.

BDR_UTC_TIME_OFFSET

DETAIL.UTC_TIME_OFFSET

String

Read

Contains the UTC offset.

BP_ACCOUNT_POID

DETAIL.ASS_PIN.BP.ACCOUNT_POID

String

Write

Contains account POID.

BP_RUM_ID

DETAIL.ASS_PIN.BP.RUM_ID

Long

Read/Write

Contains RUM id of the balance packet.

CHARGED_AMOUNT_CURRENCY

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_CURRENCY

String

Read

Contains the currency.

CHARGED_AMOUNT_VALUE_ORIG

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE_ORIG

Decimal

Read

Contains the charged amount value.

CHARGED_AMOUNT_VALUE

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE

Decimal

Read

Contains the charged amount value.

CHARGED_CURRENCY_TYPE

DETAIL.ASS_CBD.CP.CHARGED_CURRENCY_TYPE

String

Read

Contains the currency type:

  • H = Home

  • R = Rating

  • B = Billing

CHARGED_TAX_CODE

DETAIL.ASS_CBD.CP.CHARGED_TAX_CODE

String

Read

Contains the charged tax code.

CHARGING_END_TIMESTAMP

DETAIL.CHARGING_END_TIMESTAMP

Date

Read

Contains charging end time.

CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains charging start time.

CONNECT_SUBTYPE

DETAIL.CONNECT_SUBTYPE

String

Read

Contains the connect subtype.

DETAIL.ASS_CBD.CP.ITEM_TAG

String

Read

Contains the name of the charge item for balance impacts.

DETAIL.ASS_CBD.CP.ITEM_POID

String

Read

Contains the POID of the associated charge item for balance impacts.

DETAIL.ASS_CBD.DP.ITEM_TAG

String

Read

Contains the name of the discount item for balance impacts.

DETAIL.ASS_CBD.DP.ITEM_POID

String

Read

Contains the POID of the associated discount item for balance impacts.

DETAIL.ASS_CBD.TP.ITEM_TAG

String

Read

Contains the name of the tax item for balance impacts.

DETAIL.ASS_CBD.TP.ITEM_POID

String

Read

Contains the POID of the associated tax item for balance impacts.

CP_RUM_ID

DETAIL.ASS_CBD.CP.RUM_ID

Long

Read

Contains RUM id.

DETAIL.ASS_CBD.CP.RECORD_TYPE

String

Read

Contains charge packet record type.

DETAIL.ASS_CBD.DP

Record

Read

The discount packet record.

DETAIL.ASS_CBD.DP.BALANCE_GROUP_ID

Integer

Read

Contains the ID of the balance group that the discount applies to.

DETAIL.ASS_CBD.DP.GLID

String

Read

Contains the G/L ID.

DETAIL.ASS_CBD.DP.GRANTED_AMOUNT

Decimal

Read

Contains the discount amount granted. This can be currency or noncurrency.

DETAIL.ASS_CBD.DP.GRANTED_QUANTITY

Decimal

Read

Contains the discount base values used to calculate the amount granted.

DETAIL.ASS_CBD.DP.IMPACT_CATEGORY

String

Read

Contains the discount impact category.

DETAIL.ASS_CBD.DP.NODE_LOCATION

String

Read

Contains the node location of the discount.

DETAIL.ASS_CBD.DP.OBJECT_ACCOUNT

String

Read

Contains the POID of the discount owner.

DETAIL.ASS_CBD.DP.OBJECT_ID

String

Read

Contains the ID of the discount or sponsor object.

DETAIL.ASS_CBD.DP.OBJECT_OWNER_ID

String

Read

Contains the POID type of the discount owner.

DETAIL.ASS_CBD.DP.OBJECT_OWNER_TYPE

String

Read

Contains the POID type of the discount owner.

DETAIL.ASS_CBD.DP.OBJECT_TYPE

String

Read

Contains the discount or sponsor object that generated the discount.

DETAIL.ASS_CBD.DP.RATETAG

String

Read

Contains the rate tag for the discount.

DETAIL.ASS_CBD.DP.RESOURCE_ID

String

Read

Contains the ID of the balance element impacted.

DETAIL.ASS_CBD.DP.SUB_BALANCE.AMOUNT

Decimal

Read

Contains the amount applied to this sub-balance.

DETAIL.ASS_CBD.DP.SUB_BALANCE.CONTRIBUTOR

String

Read

Contains the sub-balance contributor field.

DETAIL.ASS_CBD.DP.SUB_BALANCE.REC_ID

Integer

Read

Contains the record ID of the sub-balance record.

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM

Date

Read

Contains the date the balance element is valid from.

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO

Date

Read

Contains the date the balance element is valid to.

DETAIL.ASS_CBD.DP.TAX_CODE

String

Read

Contains the tax code for the discount.

DETAIL.ASS_PIN.BI.PIN_RATE_TAG

String

Write

Contains the name of the charge that provided a promotional savings.

DETAIL.ASS_PIN.BP.BAL_GRP_POID

String

Write

Contains the POID of the balance group that is impacted.

DETAIL.ASS_PIN.BP.ITEM_POID

String

Write

Contains the POID of the associated item.

DETAIL.ASS_PIN.SBI

Record

Write

The sub-balance impact record.

DETAIL.ASS_PIN.SBI.BAL_GRP_POID

String

Write

Contains the POID of the balance group that is impacted.

DETAIL.ASS_PIN.SBI.PIN_RESOURCE_ID

Integer

Write

Contains the balance element ID.

DETAIL.ASS_PIN.SBI.RECORD_NUMBER

Integer

Write

Contains the record number of the sub-balance impact record.

DETAIL.ASS_PIN.SBI.RECORD_TYPE

String

Write

Contains the record type of the sub-balance impact record.

DETAIL.ASS_PIN.SBI.SB

Record

Write

The sub-balance record.

DETAIL.ASS_PIN.SBI.SB.CONTRIBUTOR

String

Write

Contains the sub-balance contributor field.

DETAIL.ASS_PIN.SBI.SB.PIN_AMOUNT

Decimal

Write

Contains the amount of the sub-balance impact.

DETAIL.ASS_PIN.SBI.SB.RECORD_NUMBER

Integer

Write

Contains the record number of the sub-balance record.

DETAIL.ASS_PIN.SBI.SB.RECORD_TYPE

String

Write

Contains the record type of the sub-balance record.

DETAIL.ASS_PIN.SBI.SB.VALID_FROM

Date

Write

Contains the date the sub-balance balance element is valid.

DETAIL.ASS_PIN.SBI.SB.VALID_TO

Date

Write

Contains the date the sub-balance balance element is no longer valid.

DETAIL.CUST_A.ACCOUNT_PARENT_ID

String

Read

Contains the BRM account ID.

DETAIL.CUST_A.INTERN_FOUND_PP_INDEX

Long

Read

Contains the index of the purchased charge offer.

DETAIL.CUST_A.PRODUCT.OFFERING_POID

String

Read

Contains the charge offer's node location.

DETAIL.CUST_A.PRODUCT.PRODUCT_ID

String

Read

Contains the BRM charge offer ID.

DETAIL.CUST_A.PRODUCT.SERVICE_ID

String

Read

Contains the ID of the charge offer.

DETAIL.CUST_A.PRODUCT.SERVICE_TYPE

String

Read

Contains the service type of the charge offer.

DETAIL.CUST_A.PRODUCT.SERVICE_USED_ITEM_POID

String

Read

Contains the item POID.

DETAIL_OBJECT_CACHE_TYPE

DETAIL.OBJECT_CACHE_TYPE

Long

Write

Contains the cache type of the associated object.

DP_AMOUNT_ORIG

DETAIL.ASS_CBD.DP.GRANTED_AMOUNT_ORIG

Decimal

Read

Contains original discount amount

DP_INTERN_RUM_ID

DETAIL.ASS_CBD.DP.INTERN_RUM_ID

Long

Read

Contains discount RUM id.

DP_OFFERING_POID

DETAIL.ASS_CBD.DP.OFFERING_POID

String

Read

Contains discount offering POID.

DP_RESOURCE_ID_ORIG

DETAIL.ASS_CBD.DP.RESOURCE_ID_ORIG

Long

Read

Contains original balance element ID.

DP_SB_GRANTOR

DETAIL.ASS_CBD.DP.SUB_BALANCE.GRANTOR

String

Read

Contains discount sub-balance grantor.

DP_SB_VALID_FROM_DETAILS

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM_DETAILS

Long

Read

Contains discount sub-balance valid from details.

DP_SB_VALID_TO_DETAILS

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO_DETAILS

Long

Read

Contains discount sub-balance valid to details.

EXCHANGE_CURRENCY

DETAIL.ASS_CBD.CP.EXCHANGE_CURRENCY

String

Read

Contains currency for exchange.

EXPIRED_UNITS

DETAIL.ASS_CBD.CP.DP. EXPIRED_UNITS

String

Write

Contains the number of units that exceed the maximum.

GRANTED_DISCOUNT_AMOUNT_VALUE

DETAIL.ASS_CBD.CP.GRANTED_DISCOUNT_AMOUNT_VALUE

Decimal

Read

Contains the granted discount amount value.

GRANTOR

DETAIL.ASS_PIN.SBI.SB.GRANTOR

String

Write

Contains grantor of sub-balance impact.

ITEM_POID

DETAIL.ASS_PIN.ITEM_POID

String

Write

Contains the resulting item POID.

ITEM_TAG

DETAIL.ITEM_TAG

String

Read

Contains the item tag.

MONITOR_OWNER_ACCT_ID

DETAIL.CUST_A.ML.MONITOR_OWNER_ACCT_ID

String

Read

Monitor owner's account ID.

MONITOR_OWNER_ID

DETAIL.CUST_A.ML.MONITOR_OWNER_ID

String

Read

Monitor owner ID.

MONITOR_OWNER_TYPE

DETAIL.CUST_A.ML.MONITOR_OWNER_TYPE

String

Read

Monitor owner type.

MONITOR_SUB_BAL

DETAIL.ASS_PIN.MSBI.MONITOR_SUB_BAL

SB

Create

Sub-balance monitored.

MSBI_BAL_GRP_POID

DETAIL.ASS_PIN.MSBI.BAL_GRP_POID

String

create

Contains balance group POID of monitor sub-balance impact.

MSBI_MSB_PIN_AMOUNT

DETAIL.ASS_PIN.MSBI.MSB.PIN_AMOUNT

Decimal

Write

Contains amount of monitor sub-balance.

MSBI_MSB_RECORD_NUMBER

DETAIL.ASS_PIN.MSBI.MSB.RECORD_NUMBER

Integer

Write

Contains record number of monitor sub-balance.

MSBI_MSB_RECORD_TYPE

DETAIL.ASS_PIN.MSBI.MSB.RECORD_TYPE

String

Write

Contains record type of monitor sub-balance.

MSBI_MSB_VALID_FROM

DETAIL.ASS_PIN.MSBI.MSB.VALID_FROM

Date

Write

Contains valid from of monitor sub-balance.

MSBI_MSB_VALID_TO

DETAIL.ASS_PIN.MSBI.MSB.VALID_TO

Date

Write

Contains valid to of monitor sub-balance.

MSBI_PIN_RESOURCE_ID

DETAIL.ASS_PIN.MSBI.PIN_RESOURCE_ID

Long

Write

Contains balance element id of monitor sub-balance impact.

MSBI_RECORD_TYPE

DETAIL.ASS_PIN.MSBI.RECORD_TYPE

String

Write

Contains record type of monitor sub-balance impact.

NET_QUANTITY

DETAIL.NET_QUANTITY

Decimal

Write

Contains net quantity.

OBJECT_CACHE_TYPE

DETAIL.ASS_PIN.BP.OBJECT_CACHE_TYPE"

Integer

Write

Contains the cache type of the associated object.

Possible values:

  • 2 (POSTPAID)

  • 0 (CONVERGENT).

ORIGINAL_EVENT_POID

DETAIL.ASS_PIN.ORIGINAL_EVENT_POID

String

Read

Contains original event POID.

PIN_AMOUNT_DEFERRED

DETAIL.ASS_PIN.BP.PIN_AMOUNT_DEFERRED

Integer

Write

Specifies whether an EDR contains tax data. This field is set to 0 when an EDR contains a tax packet and a PIN_AMOUNT when an EDR doesn't contain a tax packet.

PIN_AMOUNT_ORIG

DETAIL.ASS_PIN.BP.PIN_AMOUNT_ORIG

Decimal

Read/Write

Contains original amount.

PIN_AMOUNT

DETAIL.ASS_PIN.BP.PIN_AMOUNT

Decimal

Write

Contains the resulting amount used to update BRM balances.

PIN_AMOUNT

DETAIL.ASS_PIN.MP.PIN_AMOUNT

9(11)

Create

Amount of one balance element impact for the account balance. The value can be either positive or negative. The value is added to the PIN_FLD_CURRENT_BAL field of the PIN_FLD_BALANCES array in the account object specified by PIN_FLD_ACCOUNT_OBJ.

Note: In case of multiple-RUM rating, this value might be a total value.

Possible values: Price. See below for minimum and maximum values.If no price is given, this is a space, for example, NULL in a database.

The format is variable floating point. The floating decimal point must be set if the given value is not in the required format.

Maximum value: 99999999999

Minimum value: -9999999999

Examples:

  • '00000000125' for 125,00

  • '00000012.50' for 12,50

  • '-0012.56780' for -12,5678

Derivation: Mandatory. Derived from the object, /event/PIN_FLD_BAL_IMPACTS.PIN_FLD_AMOUNT. The post-mapping processor decides what mapping rule applies to this attribute; for example, add multiple charge packet values.

Note: This value does not include any granted discounts.

PIN_DISCOUNT

DETAIL.ASS_PIN.BP.PIN_DISCOUNT

Decimal

Write

Contains the resulting discount values.

PIN_GL_ID

DETAIL.ASS_PIN.BP.PIN_GL_ID

String

Write

Contains the resulting G/L ID.

PIN_IMPACT_CATEGORY

DETAIL.ASS_PIN.BP.PIN_IMPACT_CATEGORY

String

Write

Contains the impact category from the charge packet or the discount packet, depending on which was passed.

PIN_IMPACT_TYP

DETAIL.ASS_PIN.BP.PIN_IMPACT_TYPE

Long

Write

Contains impact type.

PIN_INFO_STRING

DETAIL.ASS_PIN.BP.PIN_INFO_STRING

String

Read/Write

Contains information of balance packet.

PIN_INVOICE_DATA

DETAIL.ASS_PIN.PIN_INVOICE_DATA

String

Write

Contains the resulting BRM invoice data.

PIN_OFFERING_POID

DETAIL.ASS_PIN.BP.PIN_OFFERING_POID

String

Write

Uniquely identifies an account charge offer, discount, or sponsor.

PIN_PRODUCT_POID

DETAIL.ASS_PIN.BP.PIN_PRODUCT_POID

String

Write

Contains the resulting charge offer object.

PIN_QUANTITY

DETAIL.ASS_PIN.BP.PIN_QUANTITY

Decimal

Write

Contains the resulting quantity used to update BRM accounts.

PIN_RATE_TAG

DETAIL.ASS_PIN.BP.PIN_RATE_TAG

String

Write

Contains the rate tag from the discount packet.

PIN_RESOURCE_ID_ORIG

DETAIL.ASS_PIN.BP.PIN_RESOURCE_ID_ORIG

Long

Write

Contains original balance element id.

PIN_RESOURCE_ID

DETAIL.ASS_PIN.BP.PIN_RESOURCE_ID

String

Write

Contains the resulting ID of the BRM balance element.

PIN_RESOURCE_ID

DETAIL.ASS_PIN.MP.PIN_RESOURCE_ID

9(9)

Create

Numeric value of the balance element that is impacted; for example, 840 for US dollars.

Possible value: Any configured BRM balance element ID.

Derivation: Mandatory.

PIN_TAX_CODE

DETAIL.ASS_PIN.BP.PIN_TAX_CODE

String

Write

Contains the resulting BRM tax code.

PRICEMODEL_TYPE

DETAIL.ASS_CBD.CP.PRICEMODEL_TYPE

String

Read

Contains the pricing type.

RATEPLAN_CODE

DETAIL.ASS_CBD.CP.RATEPLAN_CODE

String

Read

Contains rateplan code.

RATEPLAN_TYPE

DETAIL.ASS_CBD.CP.RATEPLAN_TYPE

String

Read

Contains the charge type.

RECORD_TYPE

DETAIL.ASS_PIN.MP.RECORD_TYPE

String

Create

Extended to be 3 bytes long.

Possible values:

  • 800: monitor packet

  • 805: monitor sub-balance impact

  • 807: monitor sub-balance

RESOURCE_ID

DETAIL.ASS_CBD.CP.RESOURCE_ID

Long

Read

Contains charge packet balance element ID.

RESOURCE_ORIG

DETAIL.ASS_CBD.CP.RESOURCE_ID_ORIG

Long

Read

Contains charge packet original balance element ID.

RM_NET_QUANTITY

DETAIL.ASS_CBD.RM.NET_QUANTITY

Decimal

Read/Write

Contains net quantity of RUM.

ROUNDED_QUANTITY_VALUE

DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_VALUE

Decimal

Read

Contains the rounded quantity value that was used for the price calculations.

RUM_NAME

DETAIL.ASS_PIN.RUM_NAME

String

Write

Contains RUM name.

SERVICE_POID

DETAIL.ASS_PIN.SERVICE_POID

String

Write

Contains the resulting service POID.

TAX_LOCALES

DETAIL.ASS_PIN.PIN_TAX_LOCALES

String

Write

Contains the resulting tax locales string.

TJ_PIN_AMOUNT

DETAIL.ASS_PIN.BP.TJ.PIN_AMOUNT

Decimal

create

Contains amount of tax jurisdiction of balance packet.

TJ_PIN_TAX_RATE

DETAIL.ASS_PIN.BP.TJ.PIN_TAX_RATE

String

Create

Contains tax rate of tax jurisdiction of balance packet.

TJ_PIN_TAX_TYPE

DETAIL.ASS_PIN.BP.TJ.PIN_TAX_TYPE

String

Read/create

Contains tax type of tax jurisdiction of balance packet.

TJ_PIN_TAX_VALUE

DETAIL.ASS_PIN.BP.TJ.PIN_TAX_VALUE

Decimal

Create

Contains tax value of tax jurisdiction of balance packet.

TJ_RECORD_TYPE

DETAIL.ASS_PIN.BP.TJ.RECORD_TYPE

String

Create

Contains record type of tax jurisdiction of balance packet.

TP_RELATED_CHARGE_INFO_ID

DETAIL.ASS_CBD.TP.RELATED_CHARGE_INFO_ID

Long

Read

Contains related charge info id.

TP_TAX_CODE

DETAIL.ASS_CBD.TP.TAX_CODE

String

Read

Contains tax code.

TP_TAX_RATE

DETAIL.ASS_CBD.TP.TAX_RAT

String

Read

Contains tax rate.

TP_TAX_TYPE

DETAIL.ASS_CBD.TP.TAX_TYPE

String

Read

Contains tax type.

TP_TAX_VALUE_ORIG

DETAIL.ASS_CBD.TP.TAX_VALUE_ORIG

Decimal

Read

Contains original tax value.

TP_TAX_VALUE

DETAIL.ASS_CBD.TP.TAX_VALUE

Decimal

Read

Contains tax value.

TP_TAXABLE_AMOUNT

DETAIL.ASS_CBD.TP.TAXABLE_AMOUNT

Decimal

Read

Contains taxable amount.

USAGE_GL_ACCOUNT_CODE

DETAIL.ASS_CBD.CP.USAGE_GL_ACCOUNT_CODE

String

Read

Contains G/L account code.

VALID_FROM_DETAILS

DETAIL.ASS_PIN.SBI.SB.VALID_FROM_DETAILS

Long

Write

Contains valid from details of sub-balance impact.

VALID_FROM

DETAIL.ASS_PIN.MSB.VALID_FROM

Date

Create

Valid from date for this sub-balance.

VALID_TO_DETAILS

DETAIL.ASS_PIN.SBI.SB.VALID_TO_DETAILS

Long

Write

Contains valid to details of sub-balance impact.

VALID_TO

DETAIL.ASS_PIN.MSB.VALID_TO

Date

Create

Valid-to date for this sub-balance.

FCT_CallAssembling

The FCT_CallAssembling module assembles the multiple CDRs that comprise a single wireless call into a single EDR that Pipeline Manager can process. See "Assembling EDRs".

Dependencies

You must run this module early in a pipeline to assemble EDRs. You must run it before FCT_Discard.

When you configure the FCT_CallAssembling function module to not drop EDRs from the pipeline, ensure that the FCT_AggreGate function module that counts them runs before the FCT_Reject function module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-24 lists the FCT_CallAssembling registry entries.

Table 81-24 FCT_CallAssembling Registry Entries

Entry Description Mandatory

Active

Turns FCT_CallAssembling module processing on and off.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

AssembledEDR

Specifies a list of fields that the EDR takes from the L call segment and appends it to the last EDR (if the two are different).

No default entry.

See "Capturing Fields From the Last Call Record".

No

AssembleSGSN

Turns SGSN data capture on and off. If True, this entry waits for all CDRs to arrive before rating a call. If your system does not process TAP records, leave this set to False to save system resources.

True = SGSN data recorded

False = SGSN data not recorded

Default = False

See "Rating Calls by Volume of Data Sent".

No

AssembleVolume

Turns volume rating on and off. If True, this entry waits for all CDRs to arrive before rating a call. If your system does not require volume rating, leave this set to False to save system resources.

True = volume rating on

False = volume rating off

Default = False

See "Rating Calls by Volume of Data Sent".

No

CallDurationTolerance

Specifies an allowable cumulative time error for a single call (in seconds). Used with SplitAtGaps = True.

Default = 60

See "Specifying a Time Error".

No

DropLateCDRs

Specifies how to handle the output of late EDRs:

  • True = Drop late EDRs from the pipeline.

  • False = Send late EDRs through the pipeline as non-valid.

Default = True

See "Dropping Late Calls".

No

EmitPartialEDROnUpgrade

Specifies the results of the UpgradeFlushLimit semaphore. Results are one of the following:

  • Silently drops EDRs from the in-memory .dat file.

  • Emit partial EDRs for revenue assurance tracking. (Partial EDRs should be sent to the discard stream.)

Default = False (disabled)

No

FileName

Specifies the base file name for the data files. The transaction ID and the suffix are appended.

See "Managing the Call Assembling Data Files".

Yes

MaxDuration

Directs FCT_CallAssembling to rate segments of a wireless call periodically. This entry specifies the maximum amount of time (in seconds) that a call can remain open before FCT_CallAssembling rates the segments that have arrived. This module recalculates the call duration for every call each time a new call segment arrives and compares it to the MaxDuration setting. If the new time duration equals or exceeds the setting for MaxDuration, FCT_CallAssembling emits an EDR to rate the existing portion of the call.

For details and a comparison to FlushLimit, see "Rating Calls by Time Duration".

No default entry.

No

Mode

Change this entry only if you are creating data upgrade pipelines that are used when changing an EDR container description.

The possible values are:

Normal. The default mode, and the most common use of this module. Directs FCT_CallAssembling to assemble CDRs into EDRs so Pipeline Manager can process them.

RestoreEDRs. Directs FCT_CallAssembling to read serialized EDRs in sequence from data files and inserts them into the pipeline.

UpGradeData. Directs FCT_CallAssembling to update data files based on the EDRs it receives.

Default = Normal

Yes

Path

Specifies the directory for the data files.

Default = .

See "Managing the Call Assembling Data Files".

No

RejectMissingChain

Specifies whether to report an error if a chain reference value is missing.

Default = False

No

SplitAtGaps

Specifies whether a non-contiguous set of CDRs can be collected into a single EDR. For example, assume that CDRs F, I1, I2, and I4 have arrived. If set to True, this entry directs FCT_CallAssembling to emit an EDR for F, I1, and I2, and because I3 is missing, a separate EDR for I4. If set to False, all CDRs that have arrived are collected into a single EDR.

If set to True, FCT_CallAssembling will emit multiple EDRs if a CDR is missing when the call.

True = Active

False = Inactive

Default = False

See "Rating Calls by Volume of Data Sent".

No

Startup Registry Interdependencies

The Following Section Explains The Relationships Between Certain Startup Registry Entries.

Sample Registry

CallAssembling 
{ 
   ModuleName = FCT_CallAssembling 
   Module 
    { 
      Active = True 
      Path = . 
      FileName = calls 
      RejectMissingChain = False
      AssembleVolume = TRUE
      AssembledEDR  {
          1 = Detail.custom_fields_from_last_edr1
          2 = Detail.custom_field_from_last_edr2...
       }
     } 
}

Semaphore File Entries

Table 81-25 lists the FCT_CallAssembling Semaphore file entries.

Table 81-25 FCT_CallAssembling Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

ExportDataToXml

Exports the call data in the existing data file to an XML file with the name specified by the FileName entry in the startup registry file.

See "Migrating Call Assembling Data Between Releases and Pipelines".

ExportDataToXML.CallsPerFile

If the number of calls exported is larger than the resources available in the host system, you can divide the call data into multiple files by using this option and specifying the number of calls per file.

See "Migrating Call Assembling Data Between Releases and Pipelines".

FlushLimit

Sets the maximum age (in days) an open (incomplete) EDR can have before being flushed from the work files. For example, a setting of 0 flushes all open calls; a setting of 1 flushes all calls that have been open for a day or more; a setting of 2 flushes all calls that have been open for two days or more, and so on.

Note: The setting of 0 does not flush future-dated EDRs because the value of CHARGING_START_TIMESTAMP is greater than the system date.

No default value.

See "Rating Incomplete Time Duration Calls".

FlushServiceCode

Used with FlushLimit. Specifies a service. When used, only the calls with the service that match the three-letter service code are flushed. Multiple entries are not allowed.

No default value.

See "Rating Partial Calls by Service".

ImportDataFromXml

Imports the entire contents of the XML file created by the ExportDataToXml entry to the .dat file in the new format.

Values:

See "Migrating Call Assembling Data Between Releases and Pipelines".

ImportDataFromXML.FileName

Specifies the XML file from which to import data.

See "Migrating Call Assembling Data Between Releases and Pipelines".

KeepCallOpen

Used with FlushLimit. Specifies whether to rate additional EDRs for a call that has already been flushed (True).

Default = False

See:

RemoveLimit

Sets a time limit (in days) for removing EDRs in a Closed or Timeout state from the work files.

No default value.

See "Removing Incomplete Time Duration Calls".

RemoveRejectedLimit

Sets a time limit (in days) for removing EDRs in a Closed_Rejected or Timeout_Rejected state from the work files.

No default value.

See "Removing Incomplete Time Duration Calls".

UpgradeFlushLimit

Flushes partial EDRs that were closed as a result of a change to the EDR container.

No default value (no limit).

Sample FlushLimit Semaphore Commands

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CallAssembling.Module.FlushLimit=1

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CallAssembling.
Module.FlushServiceCode = tel

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CallAssembling.
Module.KeepCallOpen = True

Semaphore Entries for a Call-Assembling Report

For information, see "Tracking the Status of Assembled Calls".

Table 81-26 lists the semaphore entries for Call-Assembling Report.

Table 81-26 Semaphore Entries for Call-Assembling Report

Entry Description Mandatory

CreateReport

Command to create the report.

Yes

EndTime

Specifies the end date and time for the report. EDRs created before this date and time are reported.

The format is YYYYMMDDhhmmss.

Default = 0 (Current time)

No

ReportPath

Specifies path of the report file.

Default = .

No

ReportPrefix

Specifies the file name prefix of the report file.

Default = assembly

No

StartTime

Specifies the start date and time for the report. EDRs created on or after this date and time are reported.

The format is YYYYMMDDhhmmss.

No

Sample semaphore command for call assembling reports

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CallAssembling.Module 
{
     CreateReport      = True 
     StartTime         = 20111206000000
     Module.StartTime  = 20020315000000
     EndTime           = 20111212090000 
     ReportPath        = ./ 
     ReportPrefix      = call_assembly 
}

EDR Container Fields

Table 81-27 lists the EDR container fields for Call-Assembling Report.

Table 81-27 EDR Container Fields for Call-Assembling Report

Alias Field NameDefault Field Name Type Access Description

CHAIN_REFERENCE

DETAIL.CHAIN_REFERENCE

String

Read

Contains the chain reference key.

LONG_DURATION_INDICATOR

DETAIL.LONG_DURATION_INDICATOR

String

Read/Write

Contains the long duration indicator. Arriving call segments have one of these:

  • F = First

  • I = Intermediate

  • L = Last

Assembled call segments are given one of these:

  • C = Complete call.

  • SL = Slice (portion) of a call.

  • P = Partially assembled call.

  • XC = Late intermediate call segment.

  • XO = Late overlap segment.

  • XP =Late segment (any) of a call.

See "How FCT_CallAssembling Classifies EDRs".

TRANSACTION_ID

Decimal

Read

Contains the transaction ID.

PROCESS_STATUS

Long

Read

Contains the EDR status.

CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read/Write

Contains the charging time stamp.

DURATION

DETAIL.DURATION

Decimal

Read/Write

Contains the duration of the assembled EDR.

VOLUME_SENT

DETAIL.VOLUME_SENT

Decimal

Read/Write

Contains the volume sent for the assembled EDR.

VOLUME_RECEIVED

DETAIL.VOLUME_RECEIVED

Decimal

Read/Write

Contains the volume received for the assembled EDR.

NUMBER_OF_UNITS

DETAIL.NUMBER_OF_UNITS

Decimal

Read/Write

Contains the number of units for the assembled EDR.

RETAIL_CHARGED_AMOUNT_VALUE

DETAIL.RETAIL_CHARGED_AMOUNT_VALUE

Decimal

Read/Write

Contains the retail charged amount value for the assembled EDR.

WHOLESALE_CHARGED_AMOUNT_VALUE

DETAIL.WHOLESALE_CHARGED_AMOUNT_VALUE

Decimal

Read/Write

Contains the wholesale charged amount value for the assembled EDR.

NUMBER_OF_CDRS

DETAIL.NUMBER_OF_CDRS

Integer

Write

The number of CDRs assembled in the EDR.

FCT_CancelTimer

The FCT_CancelTimer module checks the TimerID to identify the EDR and the timeout flag to verify if the EDR is valid or timed out. If the time out flag is set to False, FCT_CancelTimer cancels the timeout flag in the EDR so that the EDR can be sent for further processing.

If the timeout flag is set to True, it means there is a duplicate EDR and the FCT_CancelTimer discards the EDR.

Dependencies

FCT_CancelTimer depends on the FCT_Timer in the Dispatcher pipeline for the TimerID and the timeout flag values.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-28 lists the FCT_CancelTimer registry entries.

Table 81-28 FCT_CancelTimer Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

StreamName

The output queue to which the timed out EDR is sent.

Yes

Sample Registry

CancelTimer
{
  ModuleName = FCT_CancelTimer
  Module
  {
    Active = TRUE
    StreamName = ExceptionOutput
  }
}

EDR Container Fields

FCT_CancelTimer uses the EDR container fields listed in Table 81-29:

Table 81-29 FCT_CancelTimer Container Fields

Alias Field NameDefault Field Name Type Access Description

TIMER_ID

DETAIL.TIMER_ID

Integer

Read

Contains the timer ID needed to cancel the timer

FCT_CarrierIcRating

The FCT_CarrierIcRating module adds roaming/interconnect data to EDRs for rating by the FCT_PreRating and FCT_MainRating modules.

Dependencies

Requires a connection to the Pipeline Manager database.

All rating and mapping related modules should be placed in the pipeline.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-30 lists the FCT_CarrierIcRating registry entries.

Table 81-30 FCT_CarrierIcRating Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

EdrNetworkModel

Specifies the network model. This entry identifies your network as the home network. You can specify one home network per pipeline.

You can use this entry in a semaphore file.

Yes

IcProductGroup

Specifies the IC charge offer group that contains the IC charge offers.

This field is mandatory for all modes except CARRIER_IC mode.

Yes

InterConnectDataModule

Specifies a connection to the DAT_Interconnect module.

Yes

Mode

Specifies the evaluation path for finding the IC-charge offer.

  • If you specify ROAMING, IC charge offers are found using the IcProductGroup registry entry.

  • If you specify CARRIER_IC, the module assigns a charge by using trunk information from the EDR.

Yes

RecordTypeField

Specifies the EDR field that contains the record type.

The record type is used to search the IFW_ICPRODUCT_CNF database table for matching records.

When processing CIBER record types, this entry is used to find the IC Charge Offers and the corresponding charge to use for rating the CIBER records.

No

UseRateplan

Specifies how the price is calculated:

  • STANDARD. The price is calculated using the specified charge.

  • ALTERNATIVE. The price is calculated using the alternative charge.

If you entered an alternative charge when configuring the IC charge offer, you can specify whether to use the alternate charge.

You can use this entry in a semaphore file.

Yes

Sample Registry

Module 
{ 
  Active = TRUE 
  InterConnectDataModule = integRate.DataPool.InterConnect 
  EdrNetworkModel = OWN 
  UseRateplan = STANDARD
  Mode = ROAMING
  IcProductGroup = PG_ROAM
  RecordTypeField = DETAIL.ASS_CIBER_EXT.CIBER_RECORD_TYPE
}

Semaphore File Entries

Table 81-31 lists the FCT_CarrierIcRating Semaphore file entries.

Table 81-31 FCT_CarrierIcRating Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

EdrNetworkModel

Specifies the network model to be used (CODE from table IFW_NETWORKMODEL).

UseRateplan

  • STANDARD: IC-Price will be calculated using the charge from IFW_ICPRODUCT_RATE.

  • ALTERNATIVE: IC-Price will be calculated using the alternative charge from IFW_ICPRODUCT_RATE.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.
CarrierIcRating.Module.Active = TRUE 

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.
CarrierIcRating.Module.EdrNetworkModel = OTHER 

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.
CarrierIcRating.Module.UseRateplan = ALTERNATIVE

EDR Container Fields

Table 81-32 lists the FCT_CarrierIcRating EDR container fields.

Table 81-32 FCT_CarrierIcRating EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

ASS_CBD

DETAIL.ASS_CBD

Block

Create

The associated charge breakdown record created to hold the mapping data.

ASS_CBD_CHARGE_PACKET

DETAIL.ASS_CBD.CP

Block

Create

The charge packet created to hold the mapping data.

TRUNK_INPUT

DETAIL.ASS_GSMW_EXT.TRUNK_INPUT

String

Read

Contains the input trunk search value from the IFW_TRUNK_CNF table.

TRUNK_OUTPUT

DETAIL.ASS_GSMW_EXT.TRUNK_OUTPUT

String

Read

Contains the output trunk search value from the IFW_TRUNK_CNF table.

ASS_GSMW_ORIGINATING_SWITCH_IDENTIFICATION

DETAIL.ASS_GSMW_EXT.ORIGINATING_SWITCH_IDENTIFICATION

String

Read

Contains the switch search value from the IFW_TRUNK_CNF table.

SOURCE_NETWORK

DETAIL.SOURCE_NETWORK

String

Read

Contains the IC charge offer search value from the IFW_ICPRODUCT_CNF table.

DESTINATION_NETWORK

DETAIL.DESTINATION_NETWORK

String

Read

Contains the destination network search value from the IFW_ICPRODUCT_CNF table.

A_NUMBER

DETAIL.A_NUMBER

String

Read

Contains the A number search value from the IFW_ICPRODUCT_CNF table.

B_NUMBER

DETAIL.B_NUMBER

String

Read

Contains the B number search value from the IFW_ICPRODUCT_CNF table.

C_NUMBER

DETAIL.C_NUMBER

String

Read

Contains the C number search value from the IFW_ICPRODUCT_CNF table.

RECORD_TYPE

DETAIL.RECORD_TYPE

String

Read

Contains the record type search value from the IFW_ICPRODUCT_CNF table.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code search value from the IFW_ICPRODUCT_CNF table.

INTERN_SERVICE_CLASS

DETAIL.INTERN_SERVICE_CLASS

String

Read

Contains the internal service class search value from the IFW_ICPRODUCT_CNF table.

INTERN_USAGE_CLASS

DETAIL.INTERN_USAGE_CLASS

String

Read

Contains the internal usage class search value from the IFW_ICPRODUCT_CNF table.

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp.

INTERN_A_NUMBER_ZONE

DETAIL.INTERN_A_NUMBER_ZONE

String

Read

Contains the internal A number zone. This value sets the charge packet INTERN_ORIGIN_NUM_ZONE value.

INTERN_B_NUMBER_ZONE

DETAIL.INTERN_B_NUMBER_ZONE

String

Read

Contains the internal B number zone. This value sets the charge packet INTERN_DESTIN_NUM_ZONE value.

ASS_CBD_RECORD_TYPE

DETAIL.ASS_CBD.RECORD_TYPE

String

Write

Contains the record type:

  • 990 = CarrierIC

  • 991 = Roaming

INTERN_CALC_MODE

DETAIL.ASS_CBD.INTERN_CALC_MODE

String

Write

Contains the calculation mode from the CALCMODE field in the IFW_NETWORKMODEL database table.

CHARGE_TYPE

DETAIL.ASS_CBD.CP.CHARGE_TYPE

String

Write

Contains the charge type.

NETWORK_OPERATOR

DETAIL.ASS_CBD.CP.NETWORK_OPERATOR_CODE

String

Write

Contains the network operator code from the CONNECTED_NO field in the IFW_TRUNK database table.

NETWORK_OPERATOR_BILLINGTYPE

DETAIL.ASS_CBD.CP.NETWORK_OPERATOR_BILLINGTYPE

String

Write

Contains the billing type from the BILL_DIRECTION field in the IFW_ICPRODUCT_RATE database table.

PRODUCTCODE_USED

DETAIL.ASS_CBD.CP.PRODUCTCODE_USED

String

Write

Contains the IC charge offer code from the ICPRODUCT field in the IFW_ICPRODUCT database table.

TRUNK_USED

DETAIL.ASS_CBD.CP.TRUNK_USED

String

Write

Contains the trunk from the TRUNK field in the IFW_TRUNK database table.

POI_USED

DETAIL.ASS_CBD.CP.POI_USED

String

Write

Contains the POI from the POI field in the IFW_POI database table.

ASS_CBD_CHARGING_START_TIMESTAMP

DETAIL.ASS_CBD.CP.CHARGING_START_TIMESTAMP

Date

Write

Contains the charging time stamp.

INTERN_FIX_COST

DETAIL.ASS_CBD.CP.INTERN_FIX_COST

Decimal

Write

Contains the internal fixed cost. Added to the charge by the FCT_MainRating module.

INTERN_RATEPLAN

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN

String

Write

Contains the charge. Used by the FCT_PreRating and FCT_MainRating modules.

INTERN_ORIGIN_NUM_ZONE

DETAIL.ASS_CBD.CP.INTERN_ORIGIN_NUM_ZONE

String

Write

Contains the A number zone. Used by the FCT_PreRating module to find the impact category.

INTERN_DESTIN_NUM_ZONE

DETAIL.ASS_CBD.CP.INTERN_DESTIN_NUM_ZONE

String

Write

Contains the B number zone. Used by the FCT_PreRating module to find the impact category.

INTERN_BILLING_CURRENCY

DETAIL.ASS_CBD.CP.INTERN_BILLING_CURRENCY

String

Write

Contains the billing currency name

INTERN_HOME_CURRENCY

DETAIL.ASS_CBD.CP.INTERN_HOME_CURRENCY

String

Write

Contains the home currency name

FCT_CiberOcc

The FCT_CiberOcc module creates a CIBER record for other charges and credits (OCC record), type 50 or 52.

Dependencies

This module requires a connection to the DAT_InterConnect module.

Must run after the FCT_DuplicateCheck module and before the FCT_CarrierIcRating module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-33 lists the FCT_CiberOcc registry entries.

Table 81-33 FCT_CiberOcc Registry Entries

Entry Description Mandatory Default

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

 N/A

CallRecordTypeField

Specifies the EDR field that indicates the CIBER record type.

When processing CIBER record types, this entry is used to find the IC Charge Offers and the corresponding charge to use for rating the CIBER records.

No

DETAIL.ASS_CIBER_EXT.CIBER_RECORD_TYPE

EdrNetworkModel

Specifies the network model to use for CIBER_OCC searching. This identifies the home network You can specify one home network per pipeline.

You can change this value by using a semaphore.

Yes

N/A

InterConnectDataModule

Specifies a connection to the DAT_InterConnect module.

Yes

N/A

NoOCCField

Specifies the field that indicates whether to generate an OCC record.

This field must match the field name specified in the DuplicateIndicatorField entry of the FCT_DuplicateCheck registry. See "FCT_DuplicateCheck".

Yes

DETAIL.ASS_CIBER_EXT.NO_OCC

OCCDescription

Description of the service associated with the OCC.

Important:   This field must not contain spaces. If you require spaces in the description, write an iScript to populate this field.

No

" " (Empty string)

OCCIntervalIndicator

Specifies the interval at which the associated OCC record is generated.

No

3

Sample Registry

CiberOcc
{
   ModuleName = FCT_CiberOcc
   Module
   }
      Active = TRUE
      InterConnectDataModule = ifw.DataPool.InterConnect
      EdrNetworkModel = ROAMING
      CallRecordTypeField = DETAIL.ASS_CIBER_EXT.CIBER_RECORD_TYPE
      NoOCCField = DETAIL.ASS_CIBER_EXT.NO_OCC
      OCCIntervalIndicator = 3
      OCCDescription = DAILY_SURCHARGE
    }
} 

Semaphore File Entries

Table 81-34 lists the FCT_CiberOcc Semaphore file entries.

Table 81-34 FCT_CiberOcc Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

EdrNetworkModel

The network model to use for CIBER_OCC searching.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.
CiberOcc.Module.Active = false

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.
CiberOcc.Module.EdrNetworkModel = ROAMING

EDR Container Fields

The FCT_CiberOcc module uses the EDR container fields listed in Table 81-35:

Table 81-35 FCT_CiberOcc EDR Container Fields

Default Field Name Type Access Description

DETAIL.ASS_CIBER_EXT.AIR_CONNECT_TIME

Date

Read

Used to specify the connection time for the OCC record.

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

IFW_CIBER_OCC

DETAIL.ASS_CIBER_EXT.CHARGE_NO_1_CONNECT_TIME

Date

Read

Used to specify the connection time for the OCC record.

DETAIL.ASS_CIBER_EXT.CIBER_RECORD_TYPE

String

Read

This field is specified in the CallRecordTypeField entry in the registry. This is the default field used to determine the current EDR call record type.

DETAIL.ASS_CIBER_EXT.CIBER_RECORD_TYPE

String

Write

Specifies the type of record to create. If the current record type is:

  • 22 or 32, assign 52 to this field.

  • 10, 20, or 30, assign 50 to this field.

DETAIL.ASS_CIBER_EXT.CONNECT_TIME

Date

Write

This field is set to one of the following:

  • AIR_CONNECT_TIME if the call record type is 22.

  • SSU_CONNECT_TIME if the call record type is 10 or 20.

  • CHARGE_NO_1_CONNECT_TIME if the call record type is 30 or 32.

DETAIL.ASS_CIBER_EXT.NO_OCC

String

Read

This field is specified in the NoOCCField entry in the registry.

DETAIL.ASS_CIBER_EXT.OCC_DESCRIPTION

String

Write

The value of this field is specified in the OCCDescription entry in the registry. The default value is an empty string: " "

DETAIL.ASS_CIBER_EXT.OCC_END_DATE

Date

Write

The value of CHARGING_START_TIMESTAMP in the current EDR.

DETAIL.ASS_CIBER_EXT.OCC_INTERVAL_INDICATOR

String

Write

The value of this field is specified in the OCCIntervalIndicator entry in the registry. The default value is 3 (daily interval).

DETAIL.ASS_CIBER_EXT.OCC_START_DATE

Date

Write

The value of CHARGING_START_TIMESTAMP in the current EDR.

DETAIL.ASS_CIBER_EXT.RECORD_CREATE_DATE

Date

Write

This field is set to the system date.

DETAIL.ASS_CIBER_EXT.RECORD_USE_INDICATOR

String

Write

This field is set to 1.

DETAIL.ASS_CIBER_EXT.SEQ_INDICATOR

String

Write

This field is set to 01.

DETAIL.SOURCE_NETWORK

String

Read

Search value used for searching the IFW_CIBER_OCC database table.

DETAIL.ASS_CIBER_EXT.SSU_CONNECT_TIME

Date

Read

Used to specify the connection time for the OCC record.

Database Interface for the FCT_CiberOcc Module

The FCT_CiberOcc module uses the IFW_CIBER_OCC database table to determine whether OCC records are generated for the network operator.

FCT_CliMapping

The FCT_CliMapping module maps multiple numbers to a single number for billing. See "Mapping Multiple Phone Numbers to a Single Number".

Dependencies

Must run before the rating modules.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-36 lists the FCT_CliMapping registry entries.

Table 81-36 FCT_CliMapping Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

MapFile

Specifies the path to the mapping file.

You can use this entry in a semaphore file.

Yes

Sample Registry Entry

CliMapping 
{ 
  ModuleName = FCT_CliMapping 
  Module 
   {
    Active = True 
    MapFile = cli_map_1.dat 
  } 
}

Semaphore File Entries

Table 81-37 lists the FCT_CliMapping Semaphore file entries.

Table 81-37 FCT_CliMapping Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FucntionPool.CliMapping.Module.Active = True

EDR Container Fields

Table 81-38 lists the FCT_CliMapping EDR container fields.

Table 81-38 FCT_CliMapping EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

A_NUMBER

DETAIL.A_NUMBER

String

Read/Write

Contains the customer A number.

CUST_A_ACCOUNT_ID

DETAIL.CUST_A.ACCOUNT_ID

Block

Read

Contains the customer account ID.

FCT_CreditLimitCheck

The FCT_CreditLimitCheck module determines whether event owners have enough balances in their account balance to cover the cost of usage. If the account does not have sufficient balances to authorize the entire request, this module determines how much usage can be authorized with the available balances.

Note:

The FCT_CreditLimitCheck module does not check the credit floor.

Dependencies

Use this module in a real-time discounting pipeline.

This module must run after all other discounting modules.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-39 lists the FCT_CreditLimitCheck registry entries.

Table 81-39 FCT_CreditLimitCheck Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Yes

CLCTrace

Specifies whether to generate a credit limit check trace file.

True = Generate a trace file.

False = Do not generate a trace file (Default)

No

CurrencyDataModule

Specifies the connection to the DAT_Currency module.

Yes

RoundUpRequestQuantity

Determines whether authorized quantities are rounded up to remove fractional values.

True = Round up

False = No rounding (Default)

No

StepValue

Specifies the step value to be considered for the quantity during reverse rating and for rounding the prorated quantity.

No

Sample Registry Entry

#--------------------------------------------------
# Credit Limit Check
#--------------------------------------------------
CreditLimitCheckModule
{
  ModuleName = FCT_CreditLimitCheck
  Module
  {
    Active  = True
    RoundUpRequestQuantity = True
    CLCTrace = True
    CurrencyDataModule = ifw.DataPool.CurrencyDataModule
    StepValue = 0.1
  }
}

EDR Container Fields

The FCT_CreditLimitCheck module uses the EDR container fields listed in Table 81-40:

Table 81-40 FCT_CreditLimitCheck EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

CREDIT_LIMIT_CHECK

DETAIL.CREDIT_LIMIT_CHECK

Integer

Read

Specifies whether to perform a credit limit check on the EDR:

1 = check; 0 = don't check.

CREDIT_LIMIT_CHECK_RESULT

DETAIL.CREDIT_LIMIT_CHECK_RESULT

Integer

Write

Specifies whether the credit limit check passed or failed:

1 = passed; 0 = failed.

INTERN_BALANCE_GROUP_ID

DETAIL.INTERN_BALANCE_GROUP_ID

String

Read

Account level balance group of the event owner account.

DETAIL.UNRATED_QUANTITY

Decimal

Write

The quantity that could not be rated.

RESOURCE_ID

DETAIL.ASS_CBD.CP.RESOURCE_ID

Integer

Read

Balance Element ID for the charge packet.

CHARGED_AMOUNT_VALUE

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE

Decimal

Read

The balance impact of the charge packet. This amount was computed by real-time rating.

QUANTITY_FROM

DETAIL.ASS_CBD.CP.QUANTITY_FROM

Decimal

Read

Charge packet start quantity.

If the charge packet is split by FCT_Discount, this module reads QUANTITY_FROM values from the DETAIL.ASS_CBD.CP.SPLIT_CP block.

QUANTITY_TO

DETAIL.ASS_CBD.CP.QUANTITY_TO

Decimal

Read

Charge packet end quantity.

If the charge packet is split by FCT_Discount, this module reads QUANTITY_TO values from the DETAIL.ASS_CBD.CP.SPLIT_CP block.

DETAIL.ASS_CBD.CP.ROUNDED_QTY_VALUE

Decimal

Read

The quantity that could be authorized.

DP_DISCOUNT_BALANCE_GROUP_ID

DETAIL.ASS_CBD.DP.BALANCE_GROUP_ID

Integer

Read

POID of the balance group impacted by this discount packet.

DP_DISCOUNT_GRANTED_AMOUNT

DETAIL.ASS_CBD.DP.GRANTED_AMOUNT

Decimal

Read

Total amount of the discount packet. This discount amount is applied to the balance group.

DP_QUANTITY_FROM

DETAIL.ASS_CBD.DP.QUANTITY_FROM

Decimal

Write

Discount packet start quantity. Aligns with the QUANTITY_FROM value in a charge packet or a split charge packet.

DP_QUANTITY_TO

DETAIL.ASS_CBD.DP.QUANTITY_TO

Decimal

Write

Discount packet end quantity. Aligns with the QUANTITY_TO value in a charge packet or a split charge packet.

DP_DISCOUNT_RESOURCE_ID

DETAIL.ASS_CBD.DP.RESOURCE_ID

Integer

Read

Balance Element ID for the discount packet.

BG_BG_ID

DETAIL.CUST_A.BG.BALANCE_GROUP_ID

String

Read

Numeric ID for the balance group.

BG_BELEM_RESOURCE_ID

DETAIL.CUST_A.BG.BAL_ELEM.RESOURCE_ID

Integer

Read

The balance element ID for the balance group element.

BG_BELEM_CURR_BAL

DETAIL.CUST_A.BG.BAL_ELEM.CURR_BAL

Decimal

Read

The event owner's current balance for this balance group element.

BG_BELEM_CREDIT_LIMIT

DETAIL.CUST_A.BG.BAL_ELEM.CREDIT_LIMIT

Decimal

Read

The credit limit for this balance group element.

BG_BELEM_RESERVED_AMOUNT

DETAIL.CUST_A.BG.BAL_ELEM.RESERVED_AMOUNT

Decimal

Read

The amount already in reserve by the event owner.

DETAIL.RUM_MAP.RUM_NAME

String

Read

Name of the RUM. Used in multi-RUM checks.

DETAIL.RUM_MAP.NET_QUANTITY

Decimal

Write

The total requested quantity for a RUM. Used in multi-RUM checks.

DETAIL.RUM_MAP.UNRATED_QUANTITY

Decimal

Write

The quantity of a RUM that could not be authorized. Used in multi-RUM checks.

FCT_CustomerRating

The FCT_CustomerRating module supplies charges for the FCT_MainRating module.

See the following documents:

The FCT_CustomerRating module is also used for least-cost rating and promotional overlays. See:

Dependencies

Requires a connection to the Pipeline Manager database.

This module must run after FCT_Account.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-41 lists the FCT_CustomerRating registry entries.

Table 81-41 FCT_CustomerRating Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes

DefaultRateplan

Specifies the charge code used as default if no customer data for the A number can be found.

You can use this entry in a semaphore file.

See "Assigning a Default Charge and Default Segment for Customer Rating".

No

DefaultSegment

Specifies the segment name used as default if no customer data for the A number can be found.

You can use this entry in a semaphore file.

See "Assigning a Default Charge and Default Segment for Customer Rating".

No

LeastCostRating

Specifies whether least cost rating is active or inactive. For more information, see "About Least Cost Rating".

  • True activates least cost rating.

  • False disables least cost rating.

See "Configuring Least Cost Rating".

No

Mode

Specifies that the module is run for customer rating (CUSTOMER).

See "About Customer Rating".

Yes

PromotionalSaving

Specifies whether to calculate the total savings to customers when rating a usage event with a promotional charge offer rather than a base charge offer. For more information, see "About Calculating the Promotional Savings".

  • True specifies to calculate the savings amount.

  • False specifies to not calculate the savings amount.

See "About Calculating the Promotional Savings".

No

Sample Registry

CustomerRating 
{ 
  ModuleName = FCT_CustomerRating 
  Module 
  { 
    Active = True 
    Mode = CUSTOMER 
    DataConnection = ifw.DataPool.Database
  } 
}

Semaphore File Entries

Table 81-42 lists the FCT_CustomerRating Semaphore file entries.

Table 81-42 FCT_CustomerRating Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

DefaultRateplan

Specifies the charge code used as default if no customer data for the A number can be found.

See "Assigning a Default Charge and Default Segment for Customer Rating".

DefaultSegment

Specifies the segment name used as default if no customer data for the A number can be found.

See "Assigning a Default Charge and Default Segment for Customer Rating".

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CustomerRating.Module.Active = False

EDR Container Fields

Table 81-43 lists the FCT_CustomerRating EDR container fields.

Table 81-43 FCT_CustomerRating EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

ASS_CBD

DETAIL.ASS_CBD

Block

Create

The associated charge breakdown record created to hold the rating data.

ASS_CBD_CHARGE_PACKET

DETAIL.ASS_CBD_CHARGE_PACKET

Block

Create

The charge packet created to hold the rating data.

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp. Written to the DETAIL.ASS_CBD.CP.CHARGING_START_TIMESTAMP field.

INTERN_A_NUMBER_ZONE

DETAIL.INTERN_A_NUMBER_ZONE

String

Read

Contains the A number zone. Written to the DETAIL.ASS_CBD.CP.INTERN_ORIGIN_NUM_ZONE field.

INTERN_B_NUMBER_ZONE

DETAIL.INTERN_B_NUMBER_ZONE

String

Read

Contains the B number zone. Written to the DETAIL.ASS_CBD.CP.INTERN_DESTIN_NUM_ZONE field.

INTERN_SLA_RSC_GROUP

DETAIL.INTERN_SLA_RSC_GROUP

String

Write

Contains the SLA RSC group.

INTERN_SLA_USC_GROUP

DETAIL.INTERN_SLA_USC_GROUP

String

Write

Contains the SLA USC group code.

INTERN_SLA_IRULE_SET

DETAIL.INTERN_SLA_IRULE_SET

String

Write

Contains the SLA iRule set.

ASS_CBD_RECORD_TYPE

DETAIL.ASS_CBD.RECORD_TYPE

String

Write

Contains the record type for the associated charge breakdown record.

  • 981 = Customer rating

CHARGE_TYPE

DETAIL.ASS_CBD.CP.CHARGE_TYPE

String

Write

Contains the charge type.

This field is always set to N.

ASS_CBD_ACCOUNT_CODE

DETAIL.ASS_CBD.ACCOUNT_CODE

String

Write

Contains the account code.

Set with the value from the DETAIL.CUST_A.ACCOUNT_NO field.

ASS_CBD_SYSTEM_BRAND_CODE

DETAIL.ASS_CBD.SYSTEM_BRAND_CODE

String

Write

Contains the system brand code.

Set with the value from the DETAIL.CUST_A.SYSTEM_BRAND field.

ASS_CBD_CUSTOMER_BILLCYCLE

DETAIL.ASS_CBD.CUSTOMER_BILLCYCLE

String

Write

Contains the customer's bill cycle code.

Set with data from the DETAIL.CUST_A.BILL_CYCLE field.

ASS_CBD_CUSTOMER_CURRENCY

DETAIL.ASS_CBD.CUSTOMER_CURRENCY

String

Write

Contains the customer's currency.

Set with the value from the DETAIL.CUST_A.CURRENCY field.

ASS_CBD_CUSTOMER_RATEPLAN_CODE

DETAIL.ASS_CBD.CUSTOMER_RATEPLAN_CODE

String

Write

A comma-separated list of charge codes for all rating charge offers. The list is arranged by charge offer priority, with highest priority first and lowest priority last.

INTERN_BILLING_CURRENCY

DETAIL.ASS_CBD.CP.INTERN_BILLING_CURRENCY

String

Write

Contains the billing currency.

Set with the value from the DETAIL.CUST_A.CURRENCY field.

ASS_CBD_SEGMENT_CODE

DETAIL.ASS_CBD.SEGMENT_CODE

String

Write

Contains the segment code.

Set with the value from the Data Warehouse ERA.

ASS_CBD_SLA_CODE

DETAIL.ASS_CBD.SLA_CODE

String

Write

Contains the SLA code.

Set with the value from the Service Level Agreement ERA.

INTERN_DISCOUNT_ACCOUNT

DETAIL.ASS_CBD.CP.INTERN_DISCOUNT_ACCOUNT

String

Write

Contains the discount account.

Set with the value from the Discount ERA.

RATEPLAN_CODE

DETAIL.ASS_CBD.CP.RATEPLAN_CODE

String

Write

Contains the charge code to use for rating.

ASS_CBD_CHARGING_START_TIMESTAMP

DETAIL.ASS_CBD.CP.CHARGING_START_TIMESTAMP

Date

Write

Contains the charging time stamp.

Set with the value from the DETAIL.CHARGING_START_TIMESTAMP field.

INTERN_RATEPLAN

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN

String

Write

Contains the internal charge code.

Set with values from the Data Warehouse ERA.

INTERN_ORIGIN_NUM_ZONE

DETAIL.ASS_CBD.CP.INTERN_ORIGIN_NUM_ZONE

String

Write

Contains the zone for the A number.

Set with DETAIL.INTERN_A_NUMBER_ZONE

INTERN_DESTIN_NUM_ZONE

DETAIL.ASS_CBD.CP.INTERN_DESTIN_NUM_ZONE

String

Write

Contains the zone for the B number.

Set with DETAIL.INTERN_B_NUMBER_ZONE

CUST_A_ACCOUNT_ID

DETAIL.CUST_A.ACCOUNT_ID

String

Read

Contains the customer account ID.

Write to DETAIL.ASS_CBD.ACCOUNT_CODE

CUST_A_ACCOUNT_NO

DETAIL.CUST_A.ACCOUNT_NO

String

Read

Contains the customer account number.

CUST_A_SYSTEM_BRAND

DETAIL.CUST_A.SYSTEM_BRAND

String

Read

Contains the system brand.

Written to the DETAIL.ASS_CBD.SYSTEM_BRAND_CODE field.

CUST_A_BILL_CYCLE

DETAIL.CUST_A.BILL_CYCLE

String

Read

Contains the customer's bill cycle.

Written to the DETAIL.ASS_CBD.CUSTOMER_BILLCYCLE field.

CUST_A_CURRENCY

DETAIL.CUST_A.CURRENCY

String

Read

Contains the customer's currency.

Written to the DETAIL.ASS_CBD.CUSTOMER_CURRENCY and DETAIL.ASS_CBD.CP.INTERN_BILLING_CURRENCY field.

CUST_A_INTERN_PP_INDEX

DETAIL.CUST_A.INTERN_FOUND_PP_INDEX

Integer

Read

Contains an index of the customer's purchased charge offers identified by the FCT_Account module.

CUST_A_RATEPLAN_NAME

DETAIL.CUST_A.PRODUCT.RATEPLAN_NAME

String

Read

Contains the charge name.

Written to the DETAIL.ASS_CBD.CP.RATEPLAN_CODE field.

CUST_A_PROFILE

DETAIL.CUST_A.ERA.PROFILE

String

Read

Contains the customer's account-related ERA data.

CUST_A_KEY

DETAIL.CUST_A.ERA.PA.KEY

String

Read

Contains the key for the account-related ERA data.

CUST_A_VALUE

DETAIL.CUST_A.ERA.PA.VALUE

String

Read

Contains the value for the account-related ERA data.

CUST_A_PRODUCT_PROFILE

DETAIL.CUST_A.PRODUCT.ERA.PROFILE

String

Read

Contains the customer's service-related ERA data.

CUST_A_PRODUCT_KEY

DETAIL.CUST_A.PRODUCT.ERA.PA.KEY

String

Read

Contains the key for the service-related ERA data.

CUST_A_PRODUCT_KEY

DETAIL.CUST_A.PRODUCT.ERA.PA.KEY

String

Read

Contains the value for the service-related ERA data.

DETAIL.CUST_A.INTERN_RATING_PRODUCTS

String

Read

Contains the charge offer rating indexes.

This is a comma-separated list of all rating charge offers' indexes associated with the same service and event, and their priorities.

DETAIL.CUST_A.LEAST_COST

Integer

Write

Indicates whether to use least cost rating for an EDR. 1 turns it off; any other integer turns it on. This entry overrides the least cost rating entry in the registry file.

DETAIL.CUST_A.PRODUCT_PRIORITY

String

Read

Contains a list of the priorities for all charge offers that are associated with the same service and event.

DETAIL.CUST_A.PRODUCT.USAGE_START

Date

Read

Contains a list of the start times for all charge offers that are associated with the same service and event.

DETAIL.CUST_A.PROMOTIONAL_SAVING

Integer

Write

Indicates whether to calculate the promotional savings for an EDR. 1 turns off promotional savings; any other integer turns it on.

DETAIL.ASS_CBD.CP.RATEPLAN_CODE

String

Write

A comma-separated list of charge codes for all rating charge offers. The list is arranged by charge offer priority, with highest priority first and lowest priority last.

FCT_Dayrate

The FCT_Dayrate module calculates charges for special day rates, for example, a discount for calls made on January 1.

Dependencies

Requires a connection to the DAT_Dayrate module.

This module must run after the FCT_MainRating module to adjust the rate.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-44 lists the FCT_Dayrate registry entries.

Table 81-44 FCT_Dayrate Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

No

DayrateDataModule

Specifies the connection to the DAT_Dayrate module.

No

Sample Registry

Dayrate 
{ 
  ModuleName = FCT_Dayrate 
  Module 
  { 
    Active = True 
    DayrateDataModule = DayrateData 
  } 
}

Semaphore File Entries

Table 81-45 lists the FCT_Dayrate Semaphore file entry.

Table 81-45 FCT_Dayrate Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.SpecialDayRate.Module.Active = False

EDR Container Fields

Table 81-46 lists the FCT_Dayrate EDR container fields.

Table 81-46 FCT_Dayrate EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp. The field is used to determine which discount to use.

ASS_CBD.CP.INTERN_RATEPLAN

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN

String

Read

Contains the charge code. This field is used to determine which discount to use.

ASS_CBD.CP.INTERN_RATEPLAN_VERSION

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN_VERSION

Block

Read

Contains the charge version. This field is used to determine which discount to use.

ASS_CBD.CP.CHARGED_AMOUNT_VALUE

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE

Block

Read/Write

Contains the recalculated charged amount value.

ASS_CBD.CP

DETAIL.ASS_CBD.CP

Block

Read

Contains the block index to charge packages.

FCT_Discard

The FCT_Discard module discards or skips EDRs based on configurable EDR properties.

  • Skipping an EDR removes it from the pipeline.

  • Discarding an EDR sends it to a different output stream.

In both the cases the state of the EDR becomes invalid.

See "Discarding and Skipping EDRs".

Dependencies

Requires a connection to the Pipeline Manager database.

Because you can discard or split EDRs based on service codes, this module should run after the FCT_ServiceCodeMap module. Should be early in the function pool, but must be run after FCT_CallAssembling.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-47 lists the FCT_Discard registry entries.

Table 81-47 FCT_Discard Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes

Function

Specifies whether to discard or skip the EDR.

Default = Discard

You can use this entry in a semaphore file.

No

StreamName

Specifies the output stream for discarded EDRs.

You can use this entry in a semaphore file.

Default = DevNull

See "Configuring Output of Discarded EDRs".

No

Sample Registry

Discard
{
   ModuleName = FCT_Discard
   Module
   {
      Active = True

      DataConnection = ifw.DataPool.Database
      Function = Discard
      StreamName = DevNull
   }
}

Semaphore File Entries

Table 81-48 lists the FCT_Discard Semaphore file entries.

Table 81-48 FCT_Discard Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Function

Specifies whether to discard or skip the EDR.

Default = Discard

Reload

Reloads the discard rules.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.EventDiscarding.Module.Reload {} 

EDR Container Fields

Table 81-49 lists the FCT_Discard EDR container fields.

Table 81-49 FCT_Discard EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

RECORD_TYPE

DETAIL.RECORD_TYPE

String

Read

Contains the record type.

SOURCE_NETWORK

DETAIL.SOURCE_NETWORK

String

Read

Contains the source network code. This could either be PLMN ID or any logical operator code.

DESTINATION_NETWORK

DETAIL.DESTINATION_NETWORK

String

Read

Contains the destination network code.

CALL_COMPLETION_INDICATOR

DETAIL.CALL_COMPLETION_INDICATOR

String

Read

Indicates if a call was successfully completed.

LONG_DURATION_INDICATOR

DETAIL.LONG_DURATION_INDICATOR

String

Read

Contains the long duration indicator:

  • F = First

  • I = Intermediate

  • L = Last

USAGE_CLASS

DETAIL.USAGE_CLASS

String

Read

Contains the external usage class.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code.

ASS_GSMW_EXT.ORIGINATING_SWITCH_IDENTIFICATION

DETAIL.ASS_GPRS_EXT.ORIGINATING_SWITCH_IDENTIFICATION

String

Read

Contains the GSM MSC or Switch ID handling the origin of the call.

ASS_GPRS_EXT_ORIGINATING_SWITCH_IDENTIFICATION

DETAIL.ASS_GPRS_EXT.ORIGINATING_SWITCH_IDENTIFICATION

String

Read

Contains the GPRS MSC or Switch ID handling the origin of the call.

TARIFF_CLASS

DETAIL.TARIFF_CLASS

String

Read

Contains the tariff class.

TARIFF_SUB_CLASS

DETAIL.TARIFF_SUB_CLASS

String

Read

Contains the tariff subclass.

CONNECT_SUB_TYPE

DETAIL.CONNECT_SUB_TYPE

String

Read

Contains the connection subtype.

B_NUMBER

DETAIL.B_NUMBER

String

Read

Contains the B number.

CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp.

WHOLESALE_CHARGED_AMOUNT_VALUE

DETAIL.WHOLESALE_CHARGED_AMOUNT_VALUE

Decimal

Read

Contains the sum of the wholesale charged amount value.

DISCARDING

DETAIL.DISCARDING

Integer

Write

Indicates if the EDR should be discarded.

DETAIL.DISCARD_REASON

String

Write

Specifies the name of the discarding rule that applies to the EDR.

Discarding rules are defined in the ifw_discarding table. If any of the rules in the table applies to the EDR, the EDR is discarded or skipped.

Database Tables

The FCT_Discard module uses the data in the IFW_Discarding table to determine which EDRs should be discarded. See "Discarding and Skipping EDRs".

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

FCT_Discount

The FCT_Discount module performs discounting operations. The module supports discounting for events rated in real time and events rated in batch by Pipeline Manager.

When the module is called for discount calculation as part of prepaid authorization or reauthorization, it splits charge packets if necessary to create linear segments to which a single net rate applies.

Dependencies

Requires a connection to the following:

  • The DAT_Discount module. See "DAT_Discount".

  • A balance data module, either DAT_BalanceRealtime or DAT_BalanceBatch depending on whether the module is being used for real-time or batch discounting. See "DAT_BalanceRealtime" or "DAT_BalanceBatch".

  • An account data module, either DAT_AccountRealtime or DAT_AccountBatch depending on whether the module is being used for real-time or batch discounting. See "DAT_AccountRealtime" or "DAT_AccountBatch".

  • The DAT_Currency module. This module converts balance element codes to balance element IDs. See "DAT_Currency".

For batch discounting, you must also configure the FCT_ApplyBalance module, which should be in the same function pool as this module for performance reasons and must run after this module.

This module must run after FCT_MainRating.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-50 lists the FCT_Discount registry entries.

Table 81-50 FCT_Discount Registry Entries

Entry Description Mandatory

AccountDataModule

Specifies the connection to the DAT_AccountRealtime or DAT_AccountBatch module.

Yes

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry as a semaphore command.

Yes

AvoidMatchFactorCalculation

Specifies whether to calculate the amount of usage that is discounted (the match factor) for parallel and sequential discounts. The match factor is typically used only for cascading discounts. See "Calculating the Match Factor of Parallel and Sequential Discounts".

No

BackOut

Specifies if the module is used in a back-out pipeline for rerating.

Default = False

No

BalanceDataModule

Specifies the connection to the DAT_BalanceRealtime or DAT_BalanceBatch module.

Yes

CurrencyDataModule

Specifies the connection to DAT_Currency module.

Yes

DiscountDataModule

Specifies the connection to the DAT_Discount module.

Yes

DiscountMoreThanPossible

Specifies if a discount can be higher than the real revenue.

Default = False

No

DiscountTrace

Specifies whether to generate discount trace file.

  • True indicates that a discount trace file is generated.

  • False indicates that a discount trace file is not generated.

Default = False

No

EvalMultipleBalImpact

Specifies to create a discount balance impact for each charge packet when the discount base expression is not a simple expression (StepC, StepQ, TotalC, or TotalQ).

Default = False

No

IgnoreEDROnDeadlock

Specifies whether to ignore EDRs causing the deadlock.

  • True indicates that the module should ignore the EDRs and continue processing the EDR file. The module places the EDR causing the deadlock into the discountError directory.

  • False indicates that the module should roll back already processed EDRs and start reprocessing the same file.

No

IgnoreEDROnDiscountError

Specifies whether to ignore EDRs with discounting error.

  • True indicates that the module should ignore the EDRs with discounting error and continue processing the remaining EDRs in the EDR file. The module places the EDRs that failed discounting into the discountError directory.

  • False indicates that the module should roll back the EDRs with discounting error that has already been processed and reprocess them.

Default = False

No

IgnoreEDROnLock

Specifies whether to ignore the EDR if the balance group object is locked by another transaction. The ignored or rejected EDRs with the locked balance group are placed into the discountError directory.

  • True indicates that the module ignores the EDRs and continues processing the EDR file.

  • False indicates that the module rolls back already processed EDRs and begins reprocessing the same file.

Default = False

No

ShowZeroDiscount

Specifies whether Discount Packet are generated when granted discount amount is 0.

  • True indicates that Discount Packets are generated when the granted discount amount is 0.

  • False indicates that Discount Packets are not generated when the granted discount amount is 0.

Default = False

No

SupportBundleERA

Specifies if the support for ERAs is needed.

Default = False

No

TaxationMode

Used only when FCT_Discount is configured for discounting in the real-time pipeline.

Specifies when events are taxed. The value of this entry should be the same as the value of taxation_switch entry in the Connection Managers (CM) configuration file.

Possible values are:

0 - Taxation is disabled.

1 - Enable real-time tax calculation.

2 - Enable deferred (cycle-time) tax calculation.

3 - Enable real-time and deferred tax calculation.

Default = 3

No

ZeroValuePacketFilterDisabled

Used with the aggregation scenario to filter out charge packets where either charge or quantity is zero.

Default = True

No

ProrateFixedDiscount

Specifies whether to prorate fixed cycle-event discounts:

  • False indicates that fixed cycle-event discounts are not prorated. This is the default.

  • True indicates that fixed cycle-event discounts are prorated.

To prorate fixed cycle-event discounts, you must set this entry to True before starting the real-time pipeline.

No

Sample Registry

GeneralDiscounting
{
  ModuleName = FCT_Discount
  Module
  {
    Active                     = TRUE
    DiscountDataModule         = ifw.DataPool.DiscountModelDataModule
    BalanceDataModule          = ifw.DataPool.BalanceDataModule
    AccountDataModule          = ifw.DataPool.CustomerData
    CurrencyDataModule         = ifw.DataPool.CurrencyDataModule
    DiscountMoreThanPossible   = False
    ProrateFixedDiscount       = True
    TaxationMode               = 3
    EvalMultipleBalImpact      = True
  }
}

Semaphore File Entries

Table 81-51 lists the FCT_Discount Semaphore file entries.

Table 81-51 FCT_Discount Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

IgnoreEDROnLock

Specifies whether to ignore the EDR if the balance group object is locked by another transaction. The ignored or rejected EDRs with the locked balance group are placed into the discountError directory.

  • True indicates that the module ignores the EDRs and continues processing the EDR file.

  • False indicates that the module rolls back already processed EDRs and begins reprocessing the same file.

Default = False

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.ApolloDiscountModule.
Module.Active = False 

EDR Container Fields

Table 81-52 lists the FCT_Discount EDR container fields.

Table 81-52 FCT_Discount EDR Container Fields

Entry Format Access Description

BDR_CHARGING_END_TIMESTAMP

DETAIL.CHARGING_END_TIMESTAMP

Date

Read

Used to calculate the duration.

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Used to calculate the duration.

CREDIT_LIMIT_CHECK

DETAIL.CREDIT_LIMIT_CHECK

Integer

Read

Determines whether the module applies discounts normally or as part of a credit limit check. If set to 1, the module applies discounts as part of a credit limit check. It set to 0 (or any value other that 1), the module operates normally.

ERROR_REJECT_TYPE

DETAIL.ERROR_REJECT_TYPE

String

Read

Used by FCT_Reject to reject the DETAIL to a stream other than the standard reject stream.

EVENT_TYPE

DETAIL.EVENT_TYPE

String

Read

BRM event type.

EVENT_BALANCE_GROUP_ID

DETAIL.INTERN_BALANCE_GROUP_ID

String

Read

POID of the balance group charged.

INTERN_PROCESS_STATUS

DETAIL.INTERN_PROCESS_STATUS

Integer

Read

Process status. If set to 2, a recycle test is in progress, and this container is skipped.

INTERN_USAGE_CLASS

DETAIL.INTERN_USAGE_CLASS

Date

Read

Usage class. This is used for matching the usage class in the discount detail.

REFRESH_BALANCE

DETAIL.REFRESH_BALANCE

Integer

Read

Specifies whether the latest balance information should be retrieved from the database.

When this field is set, this module calls the balance module to get the latest balance information from the database, whether or not a balance packet is present in the EDR.

USAGE_TYPE

DETAIL.USAGE_TYPE

Date

Read

Usage type. Used for matching the usage type in the discount detail.

BDR_UTC_TIME_OFFSET

DETAIL.UTC_TIME_OFFSET

String

Read

UTC time offset, if the discount owner is not the A customer.

FU_DISCOUNT_OBJECTS

DETAIL.ASS_CBD.FU_DISCOUNT_OBJECTS

String

Write

ID of the account's discounts that have first-usage start times which were used to discount the event.

ASS_CBD_RECORD_TYPE

DETAIL.ASS_CBD.RECORD_TYPE

String

Read

Record type. Used for matching the record type in the discount detail.

CHARGED_CURRENCY

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_CURRENCY

String

Read

Currency of the charge.

CHARGED_AMOUNT_VALUE

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE

Decimal

Read

Amount of the charge. Used as the base value for discounting.

DISCOUNTMODEL_CODE

DETAIL.ASS_CBD.CP.DISCOUNTMODEL_CODE

String

Read

Discount. Used for matching the discount in the discount detail.

ASS_CBD_IMPACT_CATEGORY

DETAIL.ASS_CBD.CP.IMPACT_CATEGORY

String

Read

Impact category Used for matching the impact category in the discount detail.

CP_DISCOUNT_PACKET_INDEX

DETAIL.ASS_CBD.CP.INTERN_PACKET_INDEX

Integer

Read

Packet ID.

PRICEMODEL_CODE

DETAIL.ASS_CBD.CP.PRICEMODEL_CODE

String

Read

Pricing code. Used for matching the pricing in the discount detail.

QUANTITY_FROM

DETAIL.ASS_CBD.CP.QUANTITY_FROM

Decimal

Read

Charge packet start quantity. Used to determine whether to split charge packets.

QUANTITY_TO

DETAIL.ASS_CBD.CP.QUANTITY_TO

Decimal

Read

Charge packet end quantity. Used to determine whether to split charge packets.

RATEPLAN_CODE

DETAIL.ASS_CBD.CP.RATEPLAN_CODE

String

Read

Charge code. Used for filtering in the discount detail.

RATETAG_CODE

DETAIL.ASS_CBD.CP.RATETAG_CODE

String

Read

Concatenation of charge definition. Used for filtering in the discount detail.

RESOURCE

DETAIL.ASS_CBD.CP.RESOURCE

String

Read

Balance Element code. Used for filtering in the discount detail.

RESOURCE_ID

DETAIL.ASS_CBD.CP.RESOURCE_ID

Integer

Read

Numeric ID of the balance element. Used for filtering in the discount detail.

ROUNDED_QUANTITY_FROM

DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_FROM

Decimal

Read

From quantity after rounding.

ROUNDED_QUANTITY_TO

DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_TO

Decimal

Read

To quantity after rounding.

ROUNDED_QUANTITY_VALUE

DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_VALUE

Decimal

Read

Rounded quantity. Used as the base value for discounting.

RUM

DETAIL.ASS_CBD.CP.RUM

String

Read

RUM name. Used for matching the RUM in the discount detail.

SERVICE_CLASS_USED

DETAIL.ASS_CBD.CP.SERVICE_CLASS_USED

String

Read

Service class. Used for matching the service class in the discount detail.

SERVICE_CODE_USED

DETAIL.ASS_CBD.CP.SERVICE_CODE_USED

String

Read

Service code. Used for matching the service code in the discount detail.

TIMEMODEL_CODE

DETAIL.ASS_CBD.CP.TIMEMODEL_CODE

String

Read

Time model code. Used for matching the time model in the discount detail.

TIMEZONE_CODE

DETAIL.ASS_CBD.CP.TIMEZONE_CODE

String

Read

Time zone code. Used for matching the time zone in the discount detail.

USAGE_GL_ACCOUNT_CODE

DETAIL.ASS_CBD.CP.USAGE_GL_ACCOUNT_CODE

String

Read

G/L code. Used for matching the G/L code in the discount detail.

ASS_CBD_ZONEMODEL_CODE

DETAIL.ASS_CBD.CP.ZONEMODEL_CODE

String

Read

Zone model code. Used for matching the zone model in the discount detail.

DETAIL.ASS_CBD.CP.SPLIT_CP

Sub-block

Write

Optional sub-block added when charge packets are split.

DETAIL.ASS_CBD.CP.SPLIT_CP.RESOURCE_ID

Integer

Write

Numeric ID of the balance element. Used for filtering in the discount detail. Copied from the original charge packet.

DETAIL.ASS_CBD.CP.SPLIT_CP.RUM

String

Write

RUM name. Copied from the original charge packet.

DETAIL.ASS_CBD.CP.SPLIT_CP.QUANTITY_FROM

Decimal

Write

Split charge packet start quantity. Calculated by the module.

DETAIL.ASS_CBD.CP.SPLIT_CP.QUANTITY_TO

Decimal

Write

Split charge packet end quantity. Calculated by the module.

DETAIL.ASS_CBD.CP.SPLIT_CP.CHARGED_AMOUNT_VALUE

Decimal

Write

Amount of the charge for this split charge packet. Calculated by the module.

DETAIL.ASS_CBD.CP.SPLIT_CP.INTERN_PACKET_INDEX

Integer

Write

The index of the split charge packet.

DETAIL.ASS_CBD.CP.SPLIT_CP.INTERN_SRC_PACKET_INDEX

Integer

Write

The packet index of the charge packet from which this split charge packet was generated.

DP_DISCOUNT_BALANCE_GROUP_ID

DETAIL.ASS_CBD.DP.BALANCE_GROUP_ID

String

Write

POID of the balance group impacted by this discount packet.

DP_CREATED

DETAIL.ASS_CBD.DP.CREATED

String

Write

Creation date of the element.

DP_DISCOUNTBALIMPACTID

DETAIL.ASS_CBD.DP.DISCOUNTBALIMPACTID

Integer

Write

Discount balance impact ID.

DP_DISCOUNTMODEL

DETAIL.ASS_CBD.DP.DISCOUNTMODEL

String

Write

Discount used to create this discount packet.

DP_DISCOUNTRULE

DETAIL.ASS_CBD.DP.DISCOUNTRULE

String

Write

Discount rule used to create this discount packet

DP_DISCOUNTSTEPID

DETAIL.ASS_CBD.DP.DISCOUNTSTEPID

Integer

Write

Discount step used to create this discount packet

DP_DISCOUNT_GLID

DETAIL.ASS_CBD.DP.GLID

String

Write

G/L ID as specified in the discount balance impact, otherwise copied from the charge packet.

DP_GRANTED_AMOUNT

DETAIL.ASS_CBD.DP.GRANTED_AMOUNT

Decimal

Write

Granted discount/sponsorship amount. Can be currency or noncurrency.

DP_GRANTED_QUANTITY

DETAIL.ASS_CBD.DP.GRANTED_QUANTITY

Decimal

Write

Discount base value used to compute granted amount.

DP_DISCOUNT_IMPACT_CATEGORY

DETAIL.ASS_CBD.DP.IMPACT_CATEGORY

String

Write

Impact category specified for this discount packet, otherwise copied from the charge packet.

DP_INTERN_DISC_MATCH_FACTOR

DETAIL.ASS_CBD.DP.INTERN_DISC_MATCH_FACTOR

Decimal

Write

Discount match factor

DP_DISCOUNT_PACKET_INDEX

DETAIL.ASS_CBD.DP.INTERN_PACKET_INDEX

Integer

Write

Packet ID.

DP_DISCOUNT_SRC_PACKET_INDEX

DETAIL.ASS_CBD.DP.INTERN_SRC_PACKET_INDEX

Integer

Write

Source packet ID.

DP_INTERN_TOTAL_MATCH_FACTOR

DETAIL.ASS_CBD.DP.INTERN_TOTAL_MATCH_FACTOR

Decimal

Write

Total discounted match factor.

DP_NODE_LOCATION

DETAIL.ASS_CBD.DP.NODE_LOCATION

String

Write

Node location.

DP_OBJECT_ACCOUNT

DETAIL.ASS_CBD.DP.OBJECT_ACCOUNT

Integer

Write

POID of discount owner.

DP_OBJECT_ID

DETAIL.ASS_CBD.DP.OBJECT_ID

String

Write

Discount/sponsor object ID.

DP_OBJECT_OWNER_ID

DETAIL.ASS_CBD.DP.OBJECT_OWNER_ID

Integer

Write

POID of the account or service that owns the discount.

DP_OBJECT_OWNER_TYPE

DETAIL.ASS_CBD.DP.OBJECT_OWNER_TYPE

String

Write

POID type of discount owner, /account or /service.

DP_OBJECT_TYPE

DETAIL.ASS_CBD.DP.OBJECT_TYPE

String

Write

Discount/sponsor object that generated this discount.

DP_DISCOUNT_PRICEMODEL_CODE

DETAIL.ASS_CBD.DP.PRICEMODEL_CODE

String

Write

Pricing used to generate this discount.

DP_DISCOUNT_QUANTITY

DETAIL.ASS_CBD.DP.QUANTITY

Decimal

Write

Discounted noncurrency amount.

DP_QUANTITY_FROM

DETAIL.ASS_CBD.DP.QUANTITY_FROM

Decimal

Write

Discount packet start quantity. Aligns with the QUANTITY_FROM value in a charge packet or a split charge packet.

DP_QUANTITY_TO

DETAIL.ASS_CBD.DP.QUANTITY_TO

Decimal

Write

Discount packet end quantity. Aligns with the QUANTITY_TO value in a charge packet or a split charge packet.

DP_DISCOUNT_RATEPLAN

DETAIL.ASS_CBD.DP.RATEPLAN

String

Write

Charge used to generate this discount.

DP_DISCOUNT_RATETAG

DETAIL.ASS_CBD.DP.RATETAG

String

Write

Concatenation of the definition of the charge used to generate this discount.

DP_DISCOUNT_RESOURCE

DETAIL.ASS_CBD.DP.RESOURCE_ID

Integer

Write

Balance Element ID of the balance element impacted by this discount.

DP_DISCOUNT_RUM

DETAIL.ASS_CBD.DP.RUM

String

Write

The RUM entered for filtering in the discount filter.

DP_DISCOUNT_SERVICE_CLASS

DETAIL.ASS_CBD.DP.SERVICE_CLASS

String

Write

Service class entered for filtering in the discount filter.

DP_DISCOUNT_SERVICE_CODE

DETAIL.ASS_CBD.DP.SERVICE_CODE

String

Write

Service code entered for filtering in the discount filter.

DP_DISCOUNT_SUB_BALANCE.GRANTOR

DETAIL.ASS_CBD.DP.SUB_BALANCE.GRANTOR

String

Read

ID of the charge offer or discount that granted this balance element.

DP_DISCOUNT_SUB_BALANCE.VALID_FROM_DETAILS

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM_DETAILS

Integer

Read

The sub-balance start time mode (such as first-usage or relative) and relative offset details.

This field is used in conjunction with SUB_BALANCE_VALID_FROM to determine the validity period start time.

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO_DETAILS

Integer

Read

The sub-balance end time mode (such as relative) and relative offset details.

This field is used in conjunction with SUB_BALANCE_VALID_TO to determine the validity period end time.

DP_DISCOUNT_TAX_CODE

DETAIL.ASS_CBD.DP.TAX_CODE

String

Write

Tax code as specified in the discount balance impact. If not specified in the balance impact, copied from the charge packet for this discount packet.

DP_DISCOUNT_TIMEMODEL_CODE

DETAIL.ASS_CBD.DP.TIMEMODEL_CODE

String

Write

Time model entered for filtering in the discount filter.

DP_DISCOUNT_TIMEZONE_CODE

DETAIL.ASS_CBD.DP.TIMEZONE_CODE

String

Write

Time zone entered for filtering in the discount filter.

DP_DISCOUNT_VALID_FROM

DETAIL.ASS_CBD.DP.VALID_FROM

Date

Write

Valid-from date for the grant in the discount packet.

DP_DISCOUNT_VALID_TO

DETAIL.ASS_CBD.DP.VALID_TO

Date

Write

Valid-to date for the grant in the discount packet.

DP_DISCOUNT_VALID_FROM_DETAIL

DETAIL.ASS_CBD.DP.VALID_FROM_DETAIL

Integer

Read

The valid-from mode (such as first usage or relative) and relative offset details.

This field is used in conjunction with PIN_FLD_VALID_FROM to determine the validity period start time.

DP_DISCOUNT_VALID_TO_DETAIL

DETAIL.ASS_CBD.DP.VALID_TO_DETAIL

Integer

Read

The valid-to mode (such as relative) and relative offset details.

This field is used in conjunction with PIN_FLD_VALID_TO to determine the validity period end time.

DP_DISCOUNT_ZONEMODEL_CODE

DETAIL.ASS_CBD.DP.ZONEMODEL_CODE

String

Write

Zone model code enter for filtering in the discount filter.

SUB_BAL_AMOUNT

DETAIL.ASS_CBD.DP.SUB_BALANCE.AMOUNT

Decimal

Write

Amount of a sub-balance impacted by the discount packet.

SUB_BAL_CONTRIBUTOR

DETAIL.ASS_CBD.DP.SUB_BALANCE.CONTRIBUTOR

String

Write

Contributor to a sub-balance impacted by the discount packet.

SUB_BAL_REC_ID

DETAIL.ASS_CBD.DP.SUB_BALANCE.REC_ID

Integer

Write

ID of a sub-balance impacted by the discount packet.

SUB_BAL_VALID_FROM

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM

Date

Write

Beginning validity date for a sub-balance impacted by the discount packet.

SUB_BAL_VALID_TO

DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO

Date

Write

End validity date for a sub-balance impacted by the discount packet.

ACCOUNT_PARENT_ID

DETAIL.CUST_A.ACCOUNT_PARENT_ID

String

Read

Customer account POID.

ACTG_LAST_DATE

DETAIL.CUST_A.ACTG_LAST_DATE

Date

Read

The date that the current monthly cycle began.

ACTG_NEXT_DATE

DETAIL.CUST_A.ACTG_NEXT_DATE

Date

Read

Date that the current monthly cycle ends.

ACTG_USED_DATE

DETAIL.CUST_A.ACTG_USED_DATE

Date

Read

Date used for this EDR.

FIRST_USGAE_INDICATOR

DETAIL.CUST_A.DL.PD.FIRST_USAGE_INDICATOR

Integer

Read

Specifies whether the discount's validity period is configured to start when first used.

DETAIL.CUST_A.DL.PD.USAGE_END

Write

INTERN_FOUND_PP_INDEX

DETAIL.CUST_A.INTERN_FOUND_PP_INDEX

Integer

Read

Purchased charge offer index of the charge offer or service.

SERVICE_ID

DETAIL.CUST_A.PRODUCT.SERVICE_ID

String

Read

POID of the service instance.

BG_BG_ID

DETAIL.CUST_A.BG.BALANCE_GROUP_ID

String

Read

POID of the balance group for the account.

BG_BELEM_CURR_BAL

DETAIL.CUST_A.BG.BAL_ELEM.CURR_BAL

Decimal

Read

Current balance of the balance group element.

BG_BELEM_RESOURCE_ID

DETAIL.CUST_A.BG.BAL_ELEM.RESOURCE_ID

Integer

Read

Balance Element ID of the balance group element.

DISCOUNT_BALANCE_GROUP_ID

DETAIL.CUST_A.DL.BALANCE_GROUP_ID

String

Read

Balance group used to evaluate this discount instance.

DISCOUNT_OWNER_ACCT_ID

DETAIL.CUST_A.DL.DISCOUNT_OWNER_ACCT_ID

String

Read

POID of the account that owns the discount, either directly or indirectly through a service.

DISOUNT_OWNER_ID

DETAIL.CUST_A.DL.DISCOUNT_OWNER_ID

String

Read

POID of the account or service that owns the discount. Identical to DISCOUNT_OWNER_ACCT_ID if the discount is owned directly by an account.

DISOUNT_OWNER_TYPE

DETAIL.CUST_A.DL.DISCOUNT_OWNER_TYPE

String

Read

Discount owner type, either /account or /service.

PD_DISCOUNTID

DETAIL.CUST_A.DL.PD.DISCOUNT_ID

String

Read

POID of the discount object.

PD_DISCOUNTMODEL

DETAIL.CUST_A.DL.PD.DISCOUNT_MODEL

String

Read

Code of a discount referenced in the discount object.

PD_FLAGS

DETAIL.CUST_A.DL.PD.FLAGS

Integer

Read

Proration setting.

PD_MODE

DETAIL.CUST_A.DL.PD.MODE

Integer

Read

Discount mode, either cascading or parallel.

PD_NODE_LOCATION

DETAIL.CUST_A.DL.PD.NODE_LOCATION

String

Read

Unique ID of the discount object.

PD_QUANTITY

DETAIL.CUST_A.DL.PD.QUANTITY

Integer

Read

Number of purchased discounts. This is multiplied by balance impact of this discount instance.

PD_SCALE

DETAIL.CUST_A.DL.PD.SCALE

Decimal

Read

Proration scale.

PD_VALID_FLAG

DETAIL.CUST_A.DL.PD.VALID_FLAG

Integer

Read

Indicates whether the discount is valid.

SPONSOR_BALANCE_GROUP_ID

DETAIL.CUST_A.SL.BALANCE_GROUP_ID

String

Read

POID of the charge share group balance group.

SPONSOR_OWNER_ACCT_ID

DETAIL.CUST_A.SL.SPONSOR_OWNER_ACCT_ID

String

Read

POID of the account that owns the chargeshare object, either directly or indirectly through a service.

SPONSOR_OWNER_ID

DETAIL.CUST_A.SL.SPONSOR_OWNER_ID

String

Read

POID of the account or service that owns the chargeshare. Identical to SPONSOR_OWNER_ACCT_ID if the chargeshare is owned directly by an account.

SPONSOR_OWNER_TYPE

DETAIL.CUST_A.SL.SPONSOR_OWNER_TYPE

String

Read

Chargeshare owner type, either /account or /service.

SD_DISCOUNTMODEL

DETAIL.CUST_A.SL.SD.DISCOUNT_MODEL

String

Read

Discount used for this chargeshare.

SD_SPONSORID

DETAIL.CUST_A.SL.SD.SPONSORSHIP_ID

String

Read

The POID of the chargeshare (/sponsorship) object.

SD_VALID_FLAG

DETAIL.CUST_A.SL.SD.VALID_FLAG

Integer

Read

Indicates whether the chargeshare is valid.

DETAIL.CUST_A.SUBCYCLE_PL.DL.PD.USAGE_END

N/A

Read

N/A

DETAIL.CUST_A.SUBCYCLE_PL.DL.PD.FIRST_USAGE_INDICATOR

N/A

Read

N/A

TRANSACTION_ID

INTERNAL.TRANSACTION_ID

Decimal

Read

The transaction ID. Needed for queuing.

FCT_DiscountAnalysis

The FCT_DiscountAnalysis module determines which discounts apply to a given event.

See "Configuring Discounting Modules and Components".

Dependencies

The FCT_DiscountAnalysis module requires a connection to the following data modules:

For pipeline rating, this module must run after the FCT_Account module and before the FCT_Discount module.

For real-time rating, this module must run before the FCT_Discount module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-53 lists the FCT_DiscountAnalysis registry entries.

Table 81-53 FCT_DiscountAnalysis Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DiscountModelDataModule

Specifies the connection to the DAT_Discount module.

Yes

Filter_SetModule

Specifies the connection to the FCT_Filter_Set module. Use this entry if the FCT_Filter_Set module is configured.

See:

No

ModelSelectorDataModule

Specifies the connection to the DAT_ModelSelector module.

Yes

Sample Registry

Discount 
{ 
    ModuleName = FCT_DiscountAnalysis 
    Module 
    { 
       Active = True 
       DiscountModelDataModule = ifw.DataPool.DiscountModelDataModule 
       Filter_SetModule = ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Filter_Set
       ModelSelectorDataModule = ifw.DataPool.ModelSelectorDataModule 
    } 
}

Semaphore File Entries

Table 81-54 lists the FCT_DiscountAnalysis Semaphore file entry.

Table 81-54 FCT_DiscountAnalysis Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.DiscountAnalysisModule.
Module.Active = False 

EDR Container Fields

Table 81-55 lists the FCT_DiscountAnalysis EDR container fields.

Table 81-55 FCT_DiscountAnalysis EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

ASS_CBD

DETAIL.ASS_CBD

Block

R

n/a

ASS_CBD_CHARGE_PACKET

DETAIL.ASS_CBD.CP

Block

R

Charge packet; used to check for any discount ERAs set.

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

R

Event start time.

BDR_CHARGING_END_TIMESTAMP

DETAIL.CHARGING_END_TIMESTAMP

Date

R

Event end time.

EVENT_TYPE

DETAIL.EVENT_TYPE

String

R

The event type used to locate the event discount.

BDR_UTC_TIME_OFFSET

DETAIL.UTC_TIME_OFFSET

String

R

The UTC offset used to adjust the start and end time.

INTERN_BALANCE_GROUP_ID

DETAIL.INTERN_BALANCE_GROUP_ID

String

RW

Account level balance group of the event owner account.

INTERN_DISCOUNT_OWNER_ACCT_ID

DETAIL.INTERN_DISCOUNT_OWNER_ACCT_ID

String

RW

Event owner account ID.

DISCOUNT_LIST

DETAIL.CUST_A.DL

Block

R

Purchased discount offers that belong to an account or service, or are shared by an account or service.

BALANCE_GROUP_ID

DETAIL.CUST_A.DL.BALANCE_GROUP_ID

String

RW

ID of the balance group whose balance elements are used for the discounts in the discount list.

DISCOUNT_OWNER_ACCT_ID

DETAIL.CUST_A.DL.DISCOUNT_OWNER_ACCT_ID

String

RW

ID of the account that owns the set of purchased discount offers in the discount list.

PURCHASED_DISCOUNTS

DETAIL.CUST_A.DL.PD

String

CW

Information about the discount.

DISCOUNT_ID

DETAIL.CUST_A.DL.PD.DISCOUNT_ID

String

RW

Discount Ooffer object ID.

STATUS

DETAIL.CUST_A.DL.PD.STATUS

String

RW

Discount offer state (active, inactive, or cancelled).

PURCHASE_START

DETAIL.CUST_A.DL.PD.PURCHASE_START

Date

RW

Discount offer purchase start time.

PURCHASE_END

DETAIL.CUST_A.DL.PD.PURCHASE_END

Date

RW

Discount offer purchase end time.

USAGE_START

DETAIL.CUST_A.DL.PD.USAGE_START

Date

RW

Discount usage start time.

USAGE_END

DETAIL.CUST_A.DL.PD.USAGE_END

Date

RW

Discount usage end time.

PRIORITY

DETAIL.CUST_A.DL.PD.PRIORITY

Integer

RW

Discount offer priority.

MODE

DETAIL.CUST_A.DL.PD.MODE

Integer

RW

Discount mode (parallel or cascading).

VALID_FLAG

DETAIL.CUST_A.DL.PD.VALID_FLAG

Integer

RW

A value indicating discount validity.

TYPE

DETAIL.CUST_A.DL.PD.TYPE

Integer

RW

Discount type (system, subscription, or item).

QUANTITY

DETAIL.CUST_A.DL.PD.QUANTITY

Decimal

RW

Purchase quantity.

SCALE

DETAIL.CUST_A.DL.PD.SCALE

Decimal

RW

Proration scale.

OFFERING_POID

DETAIL.CUST_A.DL.PD.OFFERING_POID

String

RW

A value that identifies the purchased discount associated with the account.

DISCOUNT_MODEL

DETAIL.CUST_A.DL.PD.DISCOUNT_MODEL

String

RW

A discount.

SPONSOR_LIST

DETAIL.CUST_A.SL

Block

R

The list of sponsors that split the charges with the event user.

SPONSOR_BALANCE_GROUP_ID

DETAIL.CUST_A.SL.BALANCE_GROUP_ID

String

R

The balance group whose balance elements are used for the sponsorship list.

SPONSORSHIP_DETAILS

DETAIL.CUST_A.SL.SD

Block

R

Sponsorships that belong to an account or service or are shared by the account or service.

SPONSORSHIP_ID

DETAIL.CUST_A.SL.SD.SPONSORSHIP_ID

String

R

Sponsorship object ID.

SPONSOR_VALID_FLAG

DETAIL.CUST_A.SL.SD.VALID_FLAG

Integer

RW

A value that indicates sponsorship validity.

SPONSOR_DISCOUNT_MODEL

DETAIL.CUST_A.SL.SD.DISCOUNT_MODEL

String

RW

Sponsorship model.

FCT_DroppedCall

The FCT_DroppedCall module identifies phone calls that were terminated due to technical reasons and then resumed again through a customer's subsequent phone call.

Dependencies

Run the FCT_DroppedCall module after the FCT_Account module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-56 lists the FCT_DroppedCall registry entries.

Table 81-56 FCT_DroppedCall Registry Entries

Entry Description Mandatory

Active

Specifies whether the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

FilePath

Specifies the path to the dropped calls data file.

The default is the data directory (./data).

No

FileName

Specifies the name of the dropped calls data file, which stores back-up information about dropped calls. You use this file to restore information in case of system error or system restart.

Yes

TempPrefix

Specifies the prefix for the temporary dropped calls data files.

The default is tmp_.

No

CheckField

Section that specifies the EDR field and values used to identify a dropped call.

Yes

CheckField.Name

Specifies the EDR field that is used to identify a dropped call.

Note: Only one EDR field can be used to identify a dropped call.

Yes

CheckField.Value

Specifies the values for identifying a dropped call.

Note: If more than one value qualifies an EDR as a dropped call, enter multiple values separated by a comma (,) with no spaces; for example: 5,6,7. BRM interprets the comma as a Boolean OR value.

Yes

WrittenFields

Section that specifies the dropped call EDR fields that are written into memory and are used to detect continuation calls. You use dummy key values such as 1 and 2 to list the EDR fields, as shown below:

1 = EDR_field

2 = EDR_field

3 = EDR_field

Note: BRM automatically writes the DETAIL.A_NUMBER, DETAIL.B_NUMBER, DETAIL.CHARGING_END_TIMESTAMP, and DETAIL.CUST_A.BILL_NEXT_DATE EDR fields to memory, so you should not list these fields.

No

AddedFields

Section that specifies the dropped call EDR fields that are written into memory and then added to the continuation call EDR.

Important: When you map a dropped call EDR field to a continuation call EDR field, both fields must have the same data type. You can find a field's data type by reading the container description file (container.dsc).

By default, the module does not enrich the continuation call EDR.

No

AddedFields.Fieldx

Section that maps one dropped call EDR field to one continuation call EDR field. You create a Fieldx section for each pair of EDR fields that you want to map. For example, if you want to map three EDR pairs, create a Field1 section, a Field2 section, and a Field3 section.

No

AddedFields.Fieldx.ContinuationCallField

Specifies the continuation call EDR field. The module adds the value of the dropped call EDR field specified in DroppedCallField to the continuation call EDR field that you specify.

No

AddedFields.Fieldx.DroppedCallField

Specifies the dropped call EDR field to write into memory. This field's value is added to the continuation call EDR field specified in ContinuationCallField.

No

Sample Registry

DroppedCall
{
  ModuleName = FCT_DroppedCall
  Module
  {
    Active = TRUE
    FilePath = ./data
    FileName = dropped_call
    TempPrefix = tmp_
    CheckField
    {
      Name = DETAIL.CALL_COMPLETION_INDICATOR
      Value = 5
    }
    WrittenFields
    {
      1 = DETAIL.RECORD_TYPE
    }
    AddedFields
    {
      Field1
      {
        ContinuationCallField = DETAIL.DROPPED_CALL_QUANTITY
        DroppedCallField = DETAIL.DURATION
      }
    }
  }
}

With this sample registry configuration, the FCT_DroppedCall module identifies:

  • Dropped calls by finding all EDRs with a DETAIL.CALL_COMPLETION_INDICATOR EDR field set to 5.

  • Continuation calls by using the DETAIL.RECORD_TYPE EDR field.

    Note:

    By default, the module also automatically writes the DETAIL.A_NUMBER, DETAIL.B_NUMBER, DETAIL.CUST_A.BILL_NEXT_DATE, and DETAIL.CHARGING_END_TIMESTAMP EDR fields to memory.

When the module detects a continuation call, it adds the value of the dropped call's DETAIL.DURATION EDR field to the continuation call's DETAIL.DROPPED_CALL_QUANTITY EDR field.

Semaphore File Entries

Table 81-57 lists the FCT_DroppedCall Semaphore file entries.

Table 81-57 FCT_DroppedCall Semaphore File Entries

Entry Description

Active

Specifies whether the module is active or inactive.

True = Active

False = Inactive

RemoveLimit

Specifies to remove all calls from the memory map and data file that are older than the specified number of days. For example, if you specify 7, BRM removes from the memory map all entries older than 7 days. The time is calculated from the current system time.

Note: Set the time to a large enough value to allow for late-arriving and recycled EDRs.

Sample Semaphore File Entries

ifw.Pipelines.ALL_RATE.Functions.FunctionPool.DroppedCall.Active = True
ifw.Pipelines.ALL_RATE.Functions.FunctionPool.DroppedCall.RemoveLimit = 7

EDR Container Fields

The FCT_DroppedCall module accesses the EDR container fields shown in Table 81-58. You can configure the module to access additional EDR container fields by using the module's CheckField, WrittenFields, and AddedFields registry entries.

Table 81-58 FCT_DroppedCall EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

A_NUMBER

DETAIL.A_NUMBER

String

Read

Contains the customer A number.

B_NUMBER

DETAIL.B_NUMBER

String

Read

Contains the customer B number.

CUST_A_BILL_NEXT_DATE

DETAIL.CUST_A.BILL_NEXT_DATE

Date

Read

Contains the timestamp for the customer's next billing cycle.

CHARGING_END_TIMESTAMP

DETAIL.CHARGING_END_TIMESTAMP

Date

Read

Contains the dropped call's ending timestamp.

DURATION

DETAIL.DURATION

Decimal

Read

Contains the duration of the current call.

CUST_A_PROFILE

DETAIL.CUST_A.ERA.PROFILE

String

Read

Contains the customer's account-related ERA data.

CUST_A_KEY

DETAIL.CUST_A.ERA.PA.KEY

String

Read

Contains the key for the account-related ERA data.

CUST_A_VALUE

DETAIL.CUST_A.ERA.PA.VALUE

String

Read

Contains the value for the account-related ERA data.

CALL_COMPLETION_INDICATOR

DETAIL.CALL_COMPLETION_INDICATOR

String

Read

Contains the reason the current call session was terminated.

DROPPED_CALL_STATUS

DETAIL.DROPPED_CALL_STATUS

Integer

Write

Flags the status of the call:

0 = Normal call

1 = Dropped call

2 = Continuation call

3 = Both a dropped call and a continuation call

4 = A call that was processed by FCT_DroppedCall but didn't qualify as a dropped call or a continuation call.

DROPPED_CALL_QUANTITY

DETAIL.DROPPED_CALL_QUANTITY

Decimal

Write

When the EDR is flagged as a continuation call, this field contains the duration of the associated dropped call.

FCT_DuplicateCheck

The FCT_DuplicateCheck module checks for duplicate EDRs. See "Handling Duplicate EDRs".

Note:

Before using the FCT_DuplicateCheck module, load the duplicate check stored procedures in the Pipeline Manager database.

Dependencies

To enable your system to check for duplicate EDRs without using excessive disk space, connect the FCT_DuplicateCheck module to the Pipeline Manager database.

The FCT_DuplicateCheck module is typically the second module in a pipeline, directly following the FCT_PreSuspense module. This ensures that no further processing is done on duplicate EDRs.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-59 lists the FCT_DuplicateCheck registry entries.

Table 81-59 FCT_DuplicateCheck Registry Entries

Entry Description Mandatory

Active

Specifies whether the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

BufferLimit

Specifies the oldest date that previously processed EDRs can be stored in memory.

The format is YYYYMMDD.

Note: The BufferLimit date must be equal to or later than the StoreLimit date. For example, if the StoreLimit date is June 1, the BufferLimit must be June 1 or later.

You can use this entry in a semaphore file.

See "Setting Date Parameters for Storing Processed EDRs".

Yes

BulkInsertArraySize

Specifies the maximum number of rows for bulk insert when the data in memory flushes to the database.

Default = 10000.

No

DataConnection

Specifies a connection to the Pipeline Manager database.

Important: To avoid using excessive disk space when checking for duplicate EDRs, enable this entry.Default = False.

See "About Storing EDRs in a Database Instead of Files".

No

DuplicateIndicatorField

Specifies the EDR field to set if an EDR is a duplicate.

The field specified must be an integer field. You can use any integer field in the EDR.

This entry is used by the FCT_CiberOcc module to determine whether to create an OCC record. OCC records are not created for duplicate EDRs.

No

Fields

Specifies the EDR fields that are used for checking.

Important: Do not use the DETAIL_CHARGING_START_TIMESTAMP field for duplicate checking.

See "Specifying the Fields to Use for Duplicate Check".

Yes

FileName

Specifies the base file name of the data files (the transaction ID and suffix are appended).

Default = .

See "Managing FCT_DuplicateCheck Data Files".

Yes

IndexSpaceName

Index space name where the run-time duplicate check index is created (database mode only).

For example:

IndexSpaceName = INTEGRATE_TS_1_IDX

Yes, if using a database connection.

Path

Specifies the directory for the data files that store EDRs.

See "Managing FCT_DuplicateCheck Data Files".

No

SearchKey

Identifies duplicate EDRs.

See "Specifying a Search Key for Duplicate Check".

Important: If you use the SearchKey registry entry, don't list the SearchKey value as a field in the Fields list.

No

StoreLimit

Specifies the oldest date that previously processed EDRs can be stored. If an EDR is dated earlier than the StoreLimit date, the EDR is not processed by the FCT_DuplicateCheck module.

The format is YYYYMMDD.

Note: The StoreLimit date must be equal to or earlier than the BufferLimit date. For example, if the StoreLimit date is June 1, the BufferLimit must be June 1 or later.You can use this entry in a semaphore file.

See "Setting Date Parameters for Storing Processed EDRs".

Yes

StreamName

Specifies the output stream for duplicate EDRs. See "Configuring Output for Rejected or Duplicate EDRs".

Yes

TableSpaceName

Table space name where the run-time duplicate check table is created (database mode only).

When a StoreLimit or BufferLimit semaphore is sent, FCT_DuplicateCheck needs to know where to store data. This entry, and the IndexSpaceName entry specify the location in the database.

For example:

TableSpaceName = INTEGRATE_TS_1_DAT

Yes, if using a database connection.

TableSuffix

Allows you to create multiple IFW_DUPLICATECHECK tables when you run multiple pipelines.

No

Sample Registry

Note:

When entering data in the Fields entry, use dummy key values such as 1, 2, and 3, as shown in this example.

DuplicateCheck
{
   ModuleName  =  FCT_DuplicateCheck
   Module
   }
      Active  =  True
      DataConnection  =  ifw.DataPool.DupLogin1
      Path  =  ./data/dup
      Filename  =  call.duplicate
      StreamName  =  DuplicateOutput
      BufferLimit  =  20040105
      StoreLimit  =  20040101
      SearchKey  =  DETAIL.A_NUMBER
      Fields
      {
        1  =  DETAIL.BASIC_SERVICE
        2  =  DETAIL.B_NUMBER
      }
   }
} 

With this sample registry configuration, the following occurs:

  • EDRs dated January 5, 2004 (BufferLimit) or later are stored in the duplicate list in memory.

  • EDRs dated January 1, 2004 (StoreLimit) through January 4, 2004 are stored in the IFW_DUPLICATECHECK database table.

  • EDRs dated December 31, 2003 or earlier are ignored.

The following day, the module receives the following update registry:

DuplicateCheck
{
   ModuleName  =  FCT_DuplicateCheck
   Module
   {
      BufferLimit  =  20040106
      StoreLimit  =  20040102
   }
}

With this updated registry sample configuration, the following occurs:

  • EDRs dated January 6, 2004 (new BufferLimit) or later are stored in the duplicate check list in memory.

  • EDRs dated January 5, 2004 are moved to the IFW_DUPLICATECHECK database table.

  • EDRs dated January 2, 2004 (new StoreLimit) through January 4, 2004 continue to be stored in the database table.

    Note:

    EDR data for duplicate checks is stored in the IFW_DUPLICATECHECK database table. This table can be hosted by any database. Normally, at the end of the day, all the EDR data in memory is flushed to the database.

Semaphore File Entries

Table 81-60 lists the FCT_DuplicateCheck Semaphore file entries.

Table 81-60 FCT_DuplicateCheck Semaphore File Entries

Entry Description

Active

Specifies whether the module is active or inactive.

True = Active

False = Inactive

BufferLimit

Specifies the oldest date that previously processed EDRs can be stored in memory.

The format is YYYYMMDD.

Note: The BufferLimit date must be equal to or later than the StoreLimit date. For example, if the StoreLimit date is June 1, the BufferLimit must be June 1 or later.

See "Setting Date Parameters for Storing Processed EDRs".

StoreLimit

Specifies the oldest date that previously processed EDRs can be stored. If an EDR is dated earlier than the StoreLimit date, the EDR is not processed by the FCT_DuplicateCheck module.

The format is YYYYMMDD.

Note: The BufferLimit date must be equal to or later than the StoreLimit date. For example, if the StoreLimit date is June 1, the BufferLimit must be June 1 or later.

See "Setting Date Parameters for Storing Processed EDRs".

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.DuplicateCheck.
Module.StoreLimit = 20020101

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.DuplicateCheck.
Module.BufferLimit = 20020125

Sample Output Configuration

You configure the output stream for the FCT_DuplicateCheck module in the Output section of the registry, for example:

# Output stream for duplicate events
DuplicateOutput
{
 ModuleName = OUT_Reject
 Module
 { 
  OutputStream
  {
   ModuleName = EXT_OutFileManager
   Module
   {
    OutputPath = ./samples/wireless/data/rej
    OutputPrefix = test
    OutputSuffix = .dup
    TempPrefix   = tmp
    
    TempDataPath    = ./samples/wireless/data/rej
    TempDataPrefix  = dup.tmp.
    TempDataSuffix  = .data
    
    Replace = TRUE
    DeleteEmptyFile = TRUE
   }
  }
 } 
} # end of DuplicateOutput 

Note:

To ensure output file integrity, specify a unique combination of OutputPath, OutputSuffix, and OutputPrefix values for each output stream defined in the registry.

EDR Container Fields

You specify the EDR container fields in the FCT_DuplicateCheck module Fields startup registry entry.

Database Tables

The FCT_DuplicateCheck module uses the IFW_DUPLICATECHECK database table.

If you use the database instead of a file to define the data that the FCT_DuplicateCheck module uses for comparing EDRs, you need to create this table. The FCT_DuplicateCheck module uses the data in the IFW_DUPLICATECHECK table to check for duplicate EDRs. See "Handling Duplicate EDRs".

The IFW_DUPLICATECHECK table should have a unique index. A duplicate EDR is detected by the database reporting a violation of the uniqueness when attempting to INSERT.

Note:

Oracle recommends that you have multiple partitions to increase the INSERT performance.

FCT_EnhancedSplitting

The FCT_EnhancedSplitting module specifies different output streams for EDRs based on rules. For example:

  • You can split EDRs for different service types to different output streams.

  • You can split EDRs from roaming outcollects and incollects into different streams.

See "Using Rules to Send EDRs to Different Output Streams".

Dependencies

Requires a connection to the Pipeline Manager database.

Because you can split EDRs based on service codes, this module should run after the FCT_ServiceCodeMap and FCT_UsageClassMap modules.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-61 lists the FCT_EnhancedSplitting registry entries.

Table 81-61 FCT_EnhancedSplitting Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes

DefaultOutput

Specifies the default output stream if no splitting rule matches the current EDR. If no default output stream is specified, the EDR receives the error message ERR_NO_SPLITTING_PERFORMED.

Default = .

See "Configuring EDR Output Processing".

No

SystemBrands

Maps the system brand table to the output stream. Each entry in this section has the format SYSBRAND=OUTPUT-STREAM.

See "Using Rules to Send EDRs to Different Output Streams".

Yes

Sample Registry

Splitting 
{ 
   ModuleName = FCT_EnhancedSplitting 
   Module 
      { 
      Active = True 
      DataConnection = Login 
      DefaultOutput = EdrOutput0 
      SystemBrands 
         { 
         1 = EdrOutput1 
         2 = EdrOutput2 
      } 
   } 
}

Semaphore File Entries

Table 81-62 lists the FCT_EnhancedSplitting Semaphore file entries.

Table 81-62 FCT_EnhancedSplitting Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Reload

Reloads data from the database.

Sample Semaphore File Entry

ifw.Pipelines.PRE_PRODCESS.Functions.PreProcessing.FunctionPool.
EnhancedSplitting.Module.Active = True

EDR Container Fields

Table 81-63 lists the FCT_EnhancedSplitting EDR container fields.

Table 81-63 FCT_EnhancedSplitting EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

RECORD_TYPE

DETAIL.RECORD_TYPE

String

Read

Contains the record type.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code.

INTERN_USAGE_CLASS

DETAIL.INTERN_USAGE_CLASS

String

Read

Contains the internal usage class.

SOURCE_NETWORK

DETAIL.SOURCE_NETWORK

String

Read

Contains the source network code. This could either be the PLMN ID or any logical operator code.

DESTINATION_NETWORK

DETAIL.DESTINATION_NETWORK

String

Read

Contains the destination network code.

ASS_GSMW_EXT.ORIGINATING_SWITCH_IDENTIFICATION

DETAIL.ASS_GSMW_EXT.ORIGINATING_SWITCH_IDENTIFICATION

String

Read

Contains the GSM MSC or Switch ID handling the origin of the call.

ASS_GPRS_EXT.ORIGINATING_SWITCH_IDENTIFICATION

DETAIL.ASS_GPRS_EXT.ORIGINATING_SWITCH_IDENTIFICATION

String

Read

Contains the GPRS MSC or Switch ID handling the origin of the call.

ASS_GSMW_EXT.TRUNK_INPUT

DETAIL.ASS_GSMW_EXT.TRUNK_INPUT

String

Read

Contains the trunk identification (in-route address in network switches).

ASS_GSMW_EXT_TRUNK_OUTPUT

DETAIL.ASS_GSMW_EXT.TRUNK_OUTPUT

String

Read

Contains the trunk identification (out-route address in network switches).

A_NUMBER

DETAIL.A_NUMBER

String

Read

Contains the A number.

B_NUMBER

DETAIL.B_NUMBER

String

Read

Contains the B number.

INTERN_C_NUMBER_ZONE

DETAIL.INTERN_C_NUMBER_ZONE

String

Read

Contains the number where the call was first terminated if it was forwarded or routed.

CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the time-stamp used for start of charging.

Database Tables

The FCT_EnhancedSplitting module uses the following database tables:

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

FCT_EventOrder

When an event is rated, the FCT_EventOrder module uses the criteria and the event timestamps to determine if the event needs to be rerated.

Dependencies

This module must run after the FCT_MainRating and FCT_Discount modules and before the FCT_Reject module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-64 lists the FCT_EventOrder registry entries.

Table 81-64 FCT_EventOrder Registry Entries

Entry Description Mandatory

Active

Specifies whether the module is active or inactive:

True = Active

False = Inactive

Yes

AccountDataModule

Specifies the connection to the DAT_AccountBatch module.

Yes

PortalConfigDataModule

Specifies the connection to the DAT_PortalConfig module.

Yes

RerateDelayTolerance

Specifies a time in minutes that controls how much out-of-order EDR data FCT_EventOrder writes to a rerate-request file before creating a new file.

No

NumberOfAccountLimit

Specifies the number of accounts FCT_EventOrder assigns to each rerate job. This entry affects batch rerating throughput.

No

OutputDirectory

Specifies the output directory for out-of-order events.

Important: You must create this directory. It is not created by BRM installation scripts.

Yes

OutputPrefix

Specifies the prefix of the rerate-request file name. The default is ood.

Yes

SkipPrevBillingCycle

Specifies whether to skip events that belong to previous billing cycles.

True = Skip the events

False = Do not skip the events (Default)

No

Sample Registry

EventOrder
{ 
  ModuleName                 = FCT_EventOrder
  Module 
  { 
    Active                   = True
    AccountDataModule        = ifw.DataPool.CustomerData
    PortalConfigDataModule   = ifw.DataPool.PortalConfigDataModule

#delay tolerance in minutes for creating rerate jobs
    RerateDelayTolerance     =  180 

#maximum number of accounts in the rerate-request file
#this should match the value of the pin_rerate "per_job"
#configuration entry
    NumberOfAccountLimit     = 1000

#output directory and prefix of the rerate-request file
    OutputDirectory          = pipeline_home/data/out/ood
    OutputPrefix             = ood_

  } 
}

FCT_ExchangeRate

The FCT_ExchangeRate module converts the currency in the charge packets, discount packets, and tax packets to the home (system) currency or the customer's billing currency.

Dependencies

Requires a connection to the DAT_ExchangeRate module and the DAT_Currency module.

This module must run after the FCT_MainRating module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-65 lists the FCT_ExchangeRate registry entries.

Table 81-65 FCT_ExchangeRate Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

CurrencyDataModule

Specifies the connection to the DAT_Currency module.

When currency module is specified, the resourceid field of the charge packet is updated to the new currency. The resourceid is needed only when loading the records into the BRM database by using Rated Event Loader.

No

ErrorMessages

Specifies whether error messages should be appended to the EDR container or should be suppressed.

Yes

ExchangeRateDataModule

Specifies the connection to the DAT_ExchangeRate module.

Yes

HomeCurrency

Specifies the local currency used by your company.

The code must use three characters; for example, USD or DEM. You must set this value when the RatingDateHome registry value is set.

This entry is used only if the RatingDateHome entry is used.

No

Mode

Specifies how to apply the exchange rate.

Values are:

  • Normal - Converts the From Currency to the To Currency by multiplying the From Currency amount and exchange rate.

  • Reverse - Converts the To Currency to the From Currency by multiplying the To Currency amount and 1/exchange rate.

Default mode is Normal.

No

RatingDateBilling

Specifies how to determine the validity date for the conversion from the rating currency to the billing currency.

Values are:

  • SYSTEM

  • FILE

  • CDR

  • NONE

Default = NONE

Note: FCT_ExchangeRate module converts currency to home currency or billing currency. If you specify RatingDateBilling in addition to RatingDateHome and HomeCurrency parameters, it converts the currency to the home currency only.

No

RatingDateHome

Specifies how to determine the validity date for the conversion from the rating currency to the home currency.

Values are:

  • SYSTEM

  • FILE

  • CDR

  • NONE

Default = NONE

No

Sample Registry

ExchangRate 
{ 
  ModuleName = FCT_ExchangeRate 
  Module 
  { 
    Active = True 
    ExchangeRateDataModule = ExchangeRateData 
    RatingDateBilling = SYSTEM 
    RatingDateHome = CDR 
    HomeCurrency = DEM 
    ErrorMessages = False 
  } 
}

Semaphore File Entries

Table 81-66 lists the FCT_ExchangeRate Semaphore file entries.

Table 81-66 FCT_ExchangeRate Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.ExchangeRate.Module.Active = False

EDR Container Fields

Table 81-67 lists the FCT_ExchangeRate EDR container fields.

Table 81-67 FCT_ExchangeRate EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

CREATION_TIMESTAMP

HEADER.CREATION_TIMESTAMP

Date

Read

Contains the EDR creation time stamp. This field is used if the exchange rate time (Home or Billing) is set to the file date.

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp. This field is used if the exchange rate time (Home or Billing) is set to the CDR date.

ASS_CBD

DETAIL.ASS_CBD

Block-Index

Read

Block used for iteration over all associated charge breakdown records.

ASS_CBD_CHARGE_PACKET

DETAIL.ASS_CBD.CP

Block-Index

Read

Block used for iteration over all charge packages.

ASS_CBD_RECORD_TYPE

DETAIL.ASS_CBD.RECORD_TYPE

Integer

Read

Contains the record type.

The billing and/or home currency is calculated for these record types:

  • 981

  • 982

  • 983

  • 984

  • 990

  • 991

For record type 980, only the home currency is calculated.

CHARGE_CURRENCY_TYPE

DETAIL.ASS_CBD.CP.CHARGED_CURRENCY_TYPE

String

Read/Write

Contains the currency type. The type R is read and the types B and H are calculated if specified.

CHARGED_AMOUNT_VALUE

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE

Integer

Read/Write

Contains the charge amount that needs to be converted.

CHARGED_AMOUNT_CURRENCY

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_CURRENCY

String

Read/Write

Contains the amount in the charge currency for calculation.

INTERN_BILLING_CURRENCY

DETAIL.ASS_CBD.CP.INTERN_BILLING_CURRENCY

String

Read

Contains the billing currency which is calculated and added with a charge package.

INTERN_HOME_CURRENCY

DETAIL.ASS_CBD.CP.INTERN_HOME_CURRENCY

String

Read

Contains the home currency which is calculated and added with an charge package. If no home currency is found the home currency from the registry is used for calculation.

EXCHANGERATE

DETAIL.ASS_CBD.CP.EXCHANGERATE

String

Write

Contains the exchange rate recommended for TAP.

EXCHANGECURRENCY

DETAIL.ASS_CBD.CP.EXCHANGECURRENCY

String

Read/Write

Contains the exchange currency recommended for TAP.

CHARGED_AMOUNT_VALUE_ORIG

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE_ORIG

Decimal

Write

Contains the charge amount in rating currency.

RESOURCE

DETAIL.ASS_CBD.CP.RESOURCE

String

Write

Contains the balance element name

RESOURCE_ID

DETAIL.ASS_CBD.CP.RESOURCE_ID

Integer

Read/Write

Contains the balance element ID.

RESOURCE_ID_ORIG

DETAIL.ASS_CBD.CP.RESOURCE_ID_ORIG

Integer

Read

Contains the rating balance element ID.

DISCOUNT_PACKET

DETAIL.ASS_CBD.DP

Block

Read

Contains the discount related information for the event.

DISCOUNT_PACKET_GRANTED_AMOUNT

DETAIL.ASS_CBD.DP.GRANTED_AMOUNT

Decimal

Read/Write

Contains the discounted amount.

DISCOUNT_PACKET_GRANTED_AMOUNT_ORIG

DETAIL.ASS_CBD.DP.GRANTED_AMOUNT_ORIG

Decimal

Write

Contains the discounted amount in the initial rated currency.

DISCOUNT_PACKET_INTERN_SRC_PACKET_INDEX

DETAIL.ASS_CBD.DP.INTERN_SRC_PACKET_INDEX

Integer

Read

Contains the charge packet number for which this discount is given.

DISCOUNT_PACKET_RESOURCE_ID

DETAIL.ASS_CBD.DP.RESOURCE_ID

Integer

Read/Write

Contains the balance element ID.

DISCOUNT_PACKET_RESOURCE_ID_ORIG

DETAIL.ASS_CBD.DP.RESOURCE_ID_ORIG

Integer

Write

Contains the currency for which discount has been given originally.

ASS_CBD_RECORD_NUMBER

DETAIL.ASS_CBD.RECORD_NUMBER

Integer

Read

Contains the block creation number.

These numbers (980, 981, 982, 983, 984, 990, 991) are only considered for exchange rate. Any other number of ASS_CBD will be ignored.

ASS_CBD_CHARGE_PACKET_TAX_PACKET

DETAIL.ASS_CBD.TP

Block

Read

Contains tax related information for the event.

CHARGED_INFO_ID

DETAIL.ASS_CBD.TP.RELATED_CHARGE_INFO_ID

Integer

Read

Contains charge packet index corresponding to the tax.

TP_TAX_VALUE

DETAIL.ASS_CBD.TP.TAX_VALUE

Decimal

Read/Write

Contains the tax amount

TP_TAX_VALUE_ORIG

DETAIL.ASS_CBD.TP.TAX_VALUE_ORIG

Decimal

Write

Contains the tax amount in the originally rated currency.

CUST_A_CURRENCY

DETAIL.CUST_A.CURRENCY

String

Read

Contains the billing currency of the customer.

FCT_Filter_Set

The FCT_Filter_Set module determines whether an event data record (EDR) is eligible for the system charge offers and system discounts contained in a filter set. If so, it adds those system charge offers and discounts to a customer's list of purchased products.

Dependencies

This module must run after the FCT_Account module.

FCT_Filter_Set requires the following connections:

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-68 lists the FCT_Filter_Set registry entries.

Table 81-68 FCT_Filter_Set Registry Entries

Entry Description Mandatory

AccountDataModule

Specifies the connection to the DAT_AccountBatch module.

Yes

Active

Specifies if the module is active or inactive.

  • True = Active

  • False = Inactive

Note: When the module is active, it takes over the function of applying system discounts from the FCT_DiscountAnalysis module.

Yes

DiscountDataModule

Specifies the connection to the DAT_Discount module.

Yes

InfranetConnection

Specifies the connection to the BRM database.

Yes

Sample Registry

#-------------------------
# Segment FCT
#-------------------------
Segment
{
    ModuleName = FCT_Filter_Set
    Module
    {
        Active = True
        DiscountDataModule = ifw.DataPool.DiscountModelDataModule
        AccountDataModule = ifw.DataPool.CustomerData
        InfranetConnection = ifw.DataPool.LoginInfranet
    }
}

Semaphore File Entries

Table 81-69 lists the FCT_Filter_Set Semaphore file entries.

Table 81-69 FCT_Filter_Set Semaphore File Entry

Entry Description

Reload

Reloads data from the database into FCT_Filter_Set.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Segment.Module.Reload{}

EDR Container Fields

This module can read any valid EDR fields (defined in container.dsc) for matching criteria (EDR field name and value).

Note:

EDR field names read by this module cannot exceed a depth of 6 levels. Exceeding this limit prevents the pipeline from starting and results in an error message.

FCT_FirstUsageNotify

The FCT_FirstUsageNotify module sets the batch rating output stream for charge offers and discounts that start on first usage and sets an error code in the EDR for suspending events that use those charge offers and discounts while their validity periods are being set.

For more information, see "About Suspending EDRs for Products and Discounts that Start on First Usage".

Note:

To process first-usage events in the real-time rerating pipeline, use the "ISC_FirstProductRealtime" iScript.

Dependencies

Run this module before the FCT_ApplyBalance and FCT_Reject modules.

Requires a connection to DAT_AccountBatch and FCT_Reject.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-70 lists the FCT_FirstUsageNotify registry entries.

Table 81-70 FCT_FirstUsageNotify Registry Entries

Entry Description Mandatory

Active

Specifies whether the module is active or inactive.

  • True = Active

  • False = Inactive

You can use this entry in a semaphore file.

Yes

CustomerDataModule

Specifies a connection to the DAT_AccountBatch module.

Yes

FirstUsageNotifyOutput

Specifies the output stream for the list of charge offers and discounts used that are set to start on first usage.

Default = FirstUsageNotifyOutput

Yes

RejectModule

Specifies a connection to the FCT_Reject module.

FCT_FirstUsageNotify uses FCT_Reject to determine whether an EDR will be rejected for reasons other than setting the validity. FCT_FirstUsageNotify does not set validity if the EDR will be rejected.

Yes

Sample Registry

FirstUsageNotify
{ 
    ModuleName = FCT_FirstUsageNotify 
    Module 
    { 
        Active = True 
        CustomerDataModule = ifw.DataPool.Account 
        RejectModule = ifw.Pipelines.MyPipeline1.Reject
        FirstUsageNotifyOutput = FirstUsageNotifyOutput
    } 
}

Semaphore File Entries

Table 81-71 lists the FCT_FirstUsageNotify Semaphore file entry.

Table 81-71 FCT_FirstUsageNotify Semaphore File Entry

Entry Description

Active

Specifies whether the module is active or inactive.

  • True = Active

  • False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.FirstUsageNotify.Module.Active = False

EDR Container Fields

Table 81-72 lists the FCT_FirstUsageNotify EDR container fields.

Table 81-72 FCT_FirstUsageNotify EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

TRANSACTION_ID

INTERNAL.TRANSACTION_ID

String

Read

Specifies the transaction ID.

CUST_A_INTERN_PP_INDEX

DETAIL.CUST_A.INTERN_FOUND_PP_INDEX

String

Read

Contains an index of the customer's purchased charge offers that were used for rating.

CUST_A_ACCOUNT_PARENT_ID

DETAIL.CUST_A.ACCOUNT_PARENT_ID

String

Read

Specifies the customer account POID.

CUST_A_PRODUCT_ID

DETAIL.CUST_A.PRODUCT.OFFERING_POID

String

Read

Specifies the POID of the account's charge offer used to rate the event.

CUST_A_PRODUCT_FIRST_USAGE_INDICATOR

DETAIL.CUST_A.PRODUCT.FIRST_USAGE_INDICATOR

String

Read

Specifies whether the charge offer is configured to start when first used and the first-usage validity period status.

FU_DISCOUNT_OBJECTS

DETAIL.ASS_CBD.FU_DISCOUNT_OBJECTS

String

Read

Specifies the account's first-usage discounts that were applied to the event.

RECYCLE_KEY

DETAIL.ASS_SUSPENSE_EXT.RECYCLE_KEY

String

Write

Specifies the recycle key.

If the charge offer or discount starts on first usage and its validity period is not set, this field is set to FirstUsageValidity.

UTC_TIME_OFFSET

DETAIL.UTC_TIME_OFFSET

String

Read

Specifies the difference between local time and UTC time.

ASSOCIATED_INFRANET_BILLING

DETAIL.ASS_PIN

String

Write

The Associated BRM Billing record.

FIRST_USAGE_SET_VALIDITY

DETAIL.ASS_PIN.FIRST_USAGE

String

Write

The First-usage data block.

FIRST_USAGE_ACCOUNT_POID

DETAIL.ASS_PIN.FIRST_USAGE.ACCOUNT_POID_STR

String

Write

Specifies the customer account POID.

FIRST_USAGE_OFFERING_POID

DETAIL.ASS_PIN.FIRST_USAGE.OFFERING_POID_STR

String

Write

Specifies the POID of the account's charge offer or discount used to rate or discount the event.

FIRST_USAGE_START_TIME

DETAIL.ASS_PIN.FIRST_USAGE.START_T

String

Write

Specifies the validity period start time, which is based on the event start time.

FU_UTC_TIME_OFFSET

DETAIL.ASS_PIN.FIRST_USAGE.UTC_TIME_OFFSET

String

Read

Specifies the difference between first-usage start time and UTC time.

CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

String

Read

Specifies the EDR start timestamp.

CUST_A_PRODUCT_SERVICE_ID

DETAIL.CUST_A.PRODUCT.SERVICE_ID

String

Read

Specifies the POID of the service object

CUST_A_PRODUCT_SERVICE_TYPE

DETAIL.CUST_A.PRODUCT.SERVICE_TYPE

String

Read

Specifies the POID type of the service object

CUST_A_PRODUCT_SERVICE_TYPE

DETAIL.ASS_PIN.FIRST_USAGE.SERVICE_POID_STR

String

Read

Specifies the POID of the service object which has FU charge offer uninitialized

FCT_GlobalRating

The FCT_GlobalRating module rates all EDRs with a default set of charges. See "About Global Rating".

Dependencies

This module must run after FCT_Account.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-73 lists the FCT_GlobalRating registry entries.

Table 81-73 FCT_GlobalRating Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

EdrRatePlans

Specifies a set of charges that are used for rating.

You can use this entry in a semaphore file.

Yes

Sample Registry

GlobalRating 
{ 
  ModuleName = FCT_GlobalRating 
  Module 
  {
    Active = True 
    EdrRatePlans 
    { 
      RatePlan_1 
      RatePlan_2 
      RatePlan_3 
    } 
  } 
}

Semaphore File Entries

Table 81-74 lists the FCT_GlobalRating Semaphore file entries.

Table 81-74 FCT_GlobalRating Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

EdrRatePlans

Specifies a set of charges that are used for rating.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.GlobalRating.Module.Active = True

EDR Container Fields

Table 81-75 lists the FCT_GlobalRating EDR container fields.

Table 81-75 FCT_GlobalRating EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

ASS_CBD

DETAIL.ASS_CBD

Block

Create

Block to hold the rating data.

ASS_CBD_CHARGE_PACKET

DETAIL.ASS_CBD.CP

Block

Create

Block created for each EdrRatePlans entry.

CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the EDR start time stamp. This value is used in the charge packet.

INTERN_A_NUMBER_ZONE

DETAIL.INTERN_A_NUMBER_ZONE

String

Read

Contains the A number for zoning. This value is used in the charge packet.

INTERN_B_NUMBER_ZONE

DETAIL.INTERN_B_NUMBER_ZONE

String

Read

Contains the B number for zoning. This value is used in the charge packet.

ASS_CBD_RECORD_TYPE

DETAIL.ASS_CBD.RECORD_TYPE

String

Write

Contains the record type. This value is always set to 980.

CHARGE_TYPE

DETAIL.ASS_CBD.CP.CHARGE_TYPE

String

Write

Contains the charge type. This value is always set to N.

ASS_CBD_CHARGING_START_TIMESTAMP

DETAIL.ASS_CBD.CP.CHARGING_START_TIMESTAMP

Date

Write

Contains the charging start timestamp from the DETAIL field.

RATEPLAN_CODE

DETAIL.ASS_CBD.CP.RATEPLAN_CODE

String

Write

Contains the charge code that is used for zoning and rating.

INTERN_ORIGIN_NUM_ZONE

DETAIL.ASS_CBD.CP.INTERN_ORIGIN_NUM_ZONE

String

Write

Contains the A number zoning information used by the FCT_PreRating module. See "FCT_PreRating".

INTERN_DESTIN_NUM_ZONE

DETAIL.ASS_CBD.CP.INTERN_DESTIN_NUM_ZONE

String

Write

Contains the B number zoning information used by the FCT_PreRating module. See "FCT_PreRating".

FCT_IRules

The FCT_IRules module evaluates iRules. You use iRules to perform functions such as mapping EDR data fields and splitting EDR containers to different output streams. You group rules together in a rule set.

You can store rules in the database or in an ASCII file.

Note:

FCT_IRules cannot read files written in XML format. You can, however, use the irules2db.pl script to load iRules written in XML into the database.

Dependencies

If the data is read from the database, this module requires a connection to the Pipeline Manager database.

This module can run anywhere, depending on the data that is being processed.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-76 lists the FCT_IRules registry entries.

Table 81-76 FCT_IRules Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database if rules are stored in the database.

Yes

Descriptions

Specifies the rule set descriptions. The rule sets are evaluated in the specified order.

You can use this entry in a semaphore file.

No

Rules

Specifies the rule sets that the module evaluates.

You can use this entry in a semaphore file.

Yes, when using the database interface.

No, when using a file interface.

Source

Specifies the source of the rules:

  • File

  • Database

Yes

Sample Registry Entry for the Database Interface

IRules
{
    ModuleName = FCT_IRules
    Module
    {
        Active = TRUE
        Source = Database 
        DataConnection = ifw.DataPool.DataConnection 
        Rules
        {
            CIBER_VAL
        }
    }
} 

Sample Registry Entry for the File Interface

Router
{
    ModuleName = FCT_IRules
    Module
    {
        Active = TRUE
        Source = File
        Rules
        {
        }
        Descriptions
        {
            ServiceRequestRouter = ./iScriptLib/AAA/IRL_Router.irl
        }
    }
}

Semaphore File Entries

Table 81-77 lists the FCT_IRules Semaphore file entries.

Table 81-77 FCT_IRules Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Descriptions

Specifies the rule set descriptions. The rule sets are evaluated in the specified order.

Reload

Reloads rules from the database or an ASCII file.

Rules

Specifies the rule sets that the module evaluates.

Sample Semaphore File Entry

ifw.Pipelines.PRE_RECYCLE.Functions.PreProcessing.FunctionPool.PipelineSplit.Module.Reload {}

EDR Container Fields

The EDR container fields that are accessed by FCT_IRule are those that you specify in the rules.

Database Interface

FCT_IRules uses the following database tables to store the generic rules:

  • IFW_RULESET. Specifies a rule set for linking a related set of rules.

  • IFW_RULESETLIST. Links a rule set with its rules. Each rule has a rank that specifies the order in which it is evaluated.

  • IFW_RULE. Stores the iRules.

  • IFW_RULEITEM. Contains the conditions, the result and the rank for a rule item.

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

File Interface

You can store iRules in an ASCII file by using a syntax that is similar to XML:

  • Each tag must start on a separate line.

  • Blank lines are allowed.

  • Comment lines must start with a pound symbol: #

The rules and rule items are ranked by their order in the file; the first having the highest rank.

Loading Rule Sets from the Database

You can load rule sets from the Pipeline Manager database. iRule components are stored in the following tables:

  • IFW_RULESET

  • IFW_RULESETLIST

  • IFW_RULE

  • IFW_RULEITEM

Loading Rule Sets from an ASCII File

The following example file shows the syntax of a rule set:

############################################################################## 
# Example ruleset file 
############################################################################## 
<RULESET> 
#============================================================================= 
# The first rule of this ruleset 
#============================================================================= 
<RULE MapRule1> 
<INIT_SCRIPT> 
String code = edrString(DETAIL.SERVICE_CODE) + "_GK2"; 
</INIT_SCRIPT> 
#----------------------------------------------------------------------------- 
# The first ruleitem of this rule 
#----------------------------------------------------------------------------- 
<RULEITEM discount> 
<CONDITION> 
/* The text between <CONDITION> and </CONDITON> is directly passed to the 
* the interpreter. Lines with # are no comments here! 
*/ 
edrString(DETAIL.RECORD_TYPE ) =~ "02*"; // this is a pattern compare rule 
edrLong(DETAIL.QUANTITY) > 30; // this is a normal condition 
</CONDITION> 
<RESULT> 
/* This iScript is executed if the conditions specified in the <CONDITION> 
* tag before are matching the current edr container */ 
edrDecimal(DETAIL.CHARGED_AMOUNT) = 2.50; // set the amount to DM 2.50 
</RESULT> 
</RULEITEM> 
#----------------------------------------------------------------------------- 
# Here can be specified some more RULEITEMS 
#----------------------------------------------------------------------------- 
</RULE> 
#============================================================================= 
# The second rule of this ruleset 
#============================================================================= 
<RULE MapRule2> 
#----------------------------------------------------------------------------- 
# Put the ruleitems for MapRule2 here 
#----------------------------------------------------------------------------- 
</RULE> 
</RULESET>

FCT_IScript

The FCT_IScript module runs iScripts. The scripts are run in the order specified in the registry.

Dependencies

If the iScripts are stored in the database, this module requires a connection to the Pipeline Manager database.

This module can run anywhere, depending on the data that is being processed.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-78 lists the FCT_IScript registry entries.

Table 81-78 FCT_IScript Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies a connection to the Pipeline Manager database.

Yes, if the module gets data from the database.

Scripts

Specifies the scripts to run.

  • If the scripts are stored in the database, each value in the entry specifies the SCRIPTCODE field in the INT_ISCRIPT database table.

  • If the scripts are stored in a file, each section in the file must have a registry entry FileName = file.

Note: The section for each script can store a number of entries that are passed as global constants to the interpreter.

Yes

Scripts.ScriptName

The name of the script as used in the registry.

N/A

Scripts.ScriptName.FileName

The name and path of the script.

N/A

Scripts.ScriptName.Registry_Parameter

Registry parameters used in the iScript.

The example below uses the GL_Code parameter:

GL_CODE = 1514

N/A

Source

Specifies the source of the iScripts.

  • File

  • Database

Yes

Sample Registry for the File Interface

ConsolidatedCP
{
   ModuleName = FCT_IScript
   Module
   {
      Active = True
      Source = File
      Scripts
      {
         ConsolidatedCPIScript
         {
            FileName = ./iScriptLib/iScriptLib_Roaming/ISC_ConsolidatedCP.isc
            GL_CODE = 1514
         }
      }
   }
}

Sample Registry for the Database Interface

IScript 
{ 
 ModuleName = FCT_IScript 
 Module 
 { 
  Active = True 
  Source = Database 
  DataConnection = ifw.DataPool.Login
  Scripts 
  { 
   Mapping 
   { 
    # can be used as reg.Arg1 in the IScript 
    Arg1 = any_argument_value 
    } 
    Specials 
    { 
   } 
  } 
 } 
}

Semaphore File Entries

Table 81-79 lists the FCT_IScript Semaphore file entries.

Table 81-79 FCT_IScript Semaphore File Entries

Entry Description

Active

Activates or deactivates the module.

TRUE = Activate.

FALSE = Deactivate.

Reload

Reloads iScripts from the database or an ASCII file.

Scripts

Section with scripts to run. In case of Source = DATABASE each value in the section specifies the SCRIPTCODE of a script in database table INT_ISCRIPT. In case of Source = FILE each section within the section must have a registry entry FileName = file.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Standard.FunctionPool.IScript.Module.Reload {}

Database Tables

The FCT_IScript module uses the IFW_ISCRIPT database table to store iScripts.

File Interface

The iScript source code is stored in a simple ASCII file. The file is loaded and compiled at startup.

FCT_ItemAssign

The FCT_ItemAssign module assigns bill items to events.

Dependencies

FCT_ItemAssign requires a connection to the DAT_ItemAssign module.

Must run after the FCT_Account, rating, and discounting modules and before the FCT_BillingRecord module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-80 lists the FCT_ItemAssign registry entries.

Table 81-80 FCT_ItemAssign Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Yes

DataModule

Specifies the connection to the DAT_ItemAssign module.

Yes

Sample Registry

Item Assignment
{
  ModuleName = FCT_ItemAssign
  Module
  {
    Active = True
    DataModule = ifw.DataPool.ItemAssignDataModule
  }
}

EDR Container Fields

The FCT_ItemAssign module uses the EDR container fields listed in Table 81-80:

Table 81-81 FCT_ItemAssign EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

DETAIL.ITEM_TAG

String

Read

Contains the item tag.

DETAIL.CUST_A. PRODUCT.SERVICE_USED_ITEM_POID

String

Write

Contains the item POID for the event.

DETAIL.CUST_A.INTERN_FOUND_PP_INDEX

Integer

Read

Contains the charge offer ID of the charge offer used for rating.

DETAIL.CUST_A.ACCOUNT_PARENT_ID

String

Read

Contains the customer's account number.

DETAIL.CUST_A.PRODUCT.SERVICE_ID

String

Read

Contains the ID of the charge offer.

DETAIL.UTC_TIME_OFFSET

String

Read

Contains the UTC time offset that normalizes the charging start timestamp to the UTC time zone. All validity timestamps in the BRM customer data are stored in normalized UTC time.

The format is +/- HHMM.

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the start timestamp of the event. The time zone information for this timestamp is stored in the BDR_UTC_TIME_OFFSET field.

FCT_MainRating

The FCT_MainRating module performs the main rating functionality in a pipeline. See "About Main Rating".

Dependencies

The FCT_MainRating module requires a connection to the following data modules:

This module must run after at least one of the following modules:

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-82 lists the FCT_MainRating registry entries.

Table 81-82 FCT_MainRating Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

CalendarDataModule

Specifies the connection to the DAT_Calendar module.

Yes

CurrencyDataModule

Specifies the connection to the DAT_Currency module.

No

ModelSelectorDataModule

Specifies the connection to the DAT_ModelSelector module.

Yes

PriceDataModule

Specifies the connection to the DAT_PriceModel module.

Yes

RateplanDataModule

Specifies the connection to the DAT_Rateplan module.

Yes

TimeDataModule

Specifies the connection to the DAT_TimeModel module.

Yes

Sample Registry

MainRating 
{ 
  ModuleStart = FCT_MainRating 
  Module 
  { 
    Active = True 
    RateplanDataModule = RateplanDataModule 
    CalendarDataModule = CalendarDataModule 
    TimeDataModule = TimeDataModule 
    PriceDataModule = PriceDataModule 
    CurrencyDataModule = ifw.DataPool.CurrencyDataModule
    ModelSelectorDataModule = Model selector module 
  } 
}

Semaphore File Entries

Table 81-83 lists the FCT_MainRating Semaphore file entry.

Table 81-83 FCT_MainRating Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.MainRating.Module.Active = False

EDR Container Fields

Table 81-84 lists the FCT_MainRating EDR container fields.

Table 81-84 FCT_MainRating EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

ASS_CBD

DETAIL.ASS_CBD

Block

Read

Data block for rate data.

ASS_CBD_CHARGE_PACKET

DETAIL.ASS_CBD.CP

Block

Read

Charge packet for rate data.

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp.

WHOLESALE_CHARGED_AMOUNT_VALUE

DETAIL.WHOLESALE_CHARGED_AMOUNT_VALUE

Decimal

Read

Contains the wholesale charge amount value.

ASS_CBD_RECORD_NUMBER

DETAIL.ASS_CBD.RECORD_NUMBER

Integer

Read

Contains the record number.

ASS_CBD_IMPACT_CATEGORY

DETAIL.ASS_CBD.CP.IMPACT_CATEGORY

String

Read

Contains the impact category.

RATEPLAN_CODE

DETAIL.ASS_CBD.CP.RATEPLAN_CODE

String

Read/Write

Contains the charge code.

RATEPLAN_TYPE

DETAIL.ASS_CBD.CP.RATEPLAN_TYPE

String

Write

Contains the charge type.

TIMEMODEL_CODE

DETAIL.ASS_CBD.CP.TIMEMODEL_CODE

String

Write

Contains the time model code.

TIMEZONE_CODE

DETAIL.ASS_CBD.CP.TIMEZONE_CODE

String

Write

Contains the time zone code.

DAY_CODE

DETAIL.ASS_CBD.CP.DAY_CODE

String

Write

Contains the special day code.

TIME_INTERVAL_CODE

DETAIL.ASS_CBD.CP.TIME_INTERVAL_CODE

String

Write

Contains the time interval code.

PRICEMODEL_CODE

DETAIL.ASS_CBD.CP.PRICEMODEL_CODE

String

Write

Contains the pricing code.

PRICEMODEL_TYPE

DETAIL.ASS_CBD.CP.PRICEMODEL_TYPE

String

Write

Contains the pricing type.

SERVICE_CODE_USED

DETAIL.ASS_CBD.CP.SERVICE_CODE_USED

String

Write

Contains the service code.

SERVICE_CLASS_USED

DETAIL.ASS_CBD.CP.SERVICE_CLASS_USED

String

Write

Contains the service class.

CHARGED_AMOUNT_VALUE

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE

Decimal

Write

Contains the charge amount value for the event.

CHARGED_AMOUNT_CURRENCY

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_CURRENCY

String

Write

Contains the currency amount.

CHARGED_CURRENCY_TYPE

DETAIL.ASS_CBD.CP.CHARGED_CURRENCY_TYPE

String

Write

Contains the currency type.

CHARGED_TAX_TREATMENT

DETAIL.ASS_CBD.CP.CHARGED_TAX_TREATMENT

String

Write

Contains the tax treatment.

ASS_CBD_CHARGING_START_TIMESTAMP

DETAIL.ASS_CBD.CP.CHARGING_START_TIMESTAMP

Date

Write

Contains the charging time stamp.

ROUNDED_QUANTITY_VALUE

DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_VALUE

Decimal

Write

Contains the rounded quantity value.

ROUNDED_QUANTITY_UOM

DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_UOM

String

Write

Contains the rounded quantity UoM.

USAGE_GL_ACCOUNT_CODE

DETAIL.ASS_CBD.CP.USAGE_GL_ACCOUNT_CODE

String

Write

Contains the G/L code.

REVENUE_GROUP_CODE

DETAIL.ASS_CBD.CP.REVENUE_GROUP_CODE

String

Write

Contains the revenue group.

RUMGROUP

DETAIL.ASS_CBD.CP.RUMGROUP

String

Write

Contains the RUM group.

RUM

DETAIL.ASS_CBD.CP.RUM

String

Write

Contains the RUM.

RESSOURCE

DETAIL.ASS_CBD.CP.RESOURCE

String

Write

Contains the balance element.

INTERN_DISCOUNT_MODEL

DETAIL.ASS_CBD.CP.INTERN_DISCOUNT_MODEL

Integer

Write

Contains the discount.

INTERN_RATEPLAN

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN

String

Write

Contains the internal charge.

INTERN_RATEPLAN_VERSION

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN_VERSION

Integer

Write

Contains the charge version.

INTERN_FIX_COST

DETAIL.ASS_CBD.CP.INTERN_FIX_COST

Decimal

Read

Contains the fixed cost amount.

INTERN_PRICE_MDL_STEP_INFO

DETAIL.ASS_CBD.CP.INTERN_PRICE_MDL_STEP_INFO

String

Write

Contains information about the pricing steps used to calculate the charge in the charge packet.

DETAIL.CUST_A.PRODUCT.RATEPLAN_CODE

String

Read

Contains the charge code of the charge offer to match with the charge in the charge breakdown record.

DETAIL.CUST_A.INTERN_RATING_PRODUCTS

String

Read

Contains the rating charge offer indexes. This is a comma-separated list of all rating charge offers' indexes associated with the same service and event, and their priorities.

DETAIL.CUST_A.INTERN_FOUND_PP_INDEX

String

Write

Contains the index of the highest priority rating charge offer. This is the charge offer with the highest rate priority for an event.

DETAIL.CUST_A.LEAST_COST

Integer

Read

Indicates whether to use least cost rating for an EDR. 1 turns it off; 2 turns it on.

DETAIL.CUST_A.PROMOTIONAL_SAVING

Integer

Read

Indicates whether to use promotional savings for an EDR. 1 turns it off; 2 turns it on.

DETAIL.CUST_A.PROMOTION

Integer

Read

Indicates whether to use overlay promotions for an EDR. 1 turns it off; 2 turns it on.

FCT_MainZoning

The FCT_MainZoning module performs zoning for multi-segment zoning.

Dependencies

Requires a connection to the DAT_Zone module.

This module must run after the FCT_SegZoneNoCust module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-85 lists the FCT_MainZoning registry entries.

Table 81-85 FCT_MainZoning Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

ZoneDataModule

Specifies the connection to the DAT_Zone module.

Yes

Sample Registry

MainZoning 
{ 
  ModuleName = FCT_MainZoning 
  Module 
  { 
    Active = True 
    ZoneDataModule = integRate.DataPool.ZoneDataModule 
  } 
}

Semaphore File Entries

Table 81-86 lists the FCT_MainZoning Semaphore file entries.

Table 81-86 FCT_MainZoning Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.MainZoning.Module.Active = False

EDR Container Fields

Table 81-87 lists the FCT_MainZoning EDR container fields.

Table 81-87 FCT_MainZoning EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code.

INTERN_A_NUMBER_ZONE

DETAIL.INTERN_A_NUMBER_ZONE

String

Read

Contains the zone for the A number.

INTERN_B_NUMBER_ZONE

DETAIL.INTERN_B_NUMBER_ZONE

String

Read

Contains the zone for the B number.

ASS_ZBD_ZONE_DESCRIPTION

DETAIL.ASS_ZBD.ZP.ZONE_DESCRIPTION

String

Write

Contains the zone description for displaying on invoices.

ASS_ZBD_RECORD_NUMBER

DETAIL.ASS_ZBD.RECORD_NUMBER

Integer

Read

Contains the record number.

ASS_ZBD_ZONE_RESULT_VALUE_WS

DETAIL.ASS_ZBD.ZP.ZONE_RESULT_VALUE_WS

String

Write

Contains the wholesale zone.

ASS_ZBD_ZONE_RESULT_VALUE_RT

DETAIL.ASS_ZBD.ZP.ZONE_RESULT_VALUE_RT

String

Write

Contains the retail zone.

ASS_ZBD_ZONEMODEL_CODE

DETAIL.ASS_ZBD.ZP.ZONEMODEL_CODE

String

Write

Contains the zone model code.

ASS_ZBD_INTERN_ZONE_MODEL

DETAIL.ASS_ZBD.ZP.INTERN_ZONE_MODEL

Integer

Read

Contains the zone model.

ASS_ZBD_INTERN_APN_GROUP

DETAIL.ASS_ZBD.ZP.INTERN_APN_GROUP

String

Write

Contains the APN group.

ASS_ZBD_ZONE_ENTRY_NAME

DETAIL.ASS_ZBD.ZP.ZONE_ENTRY_NAME

String

Write

Contains the destination description for this combination of service code and impact category.

FCT_NOSP

The FCT_NOSP module maps network source and destination to new values. See "Identifying the Network Operator/Service Provider".

Dependencies

Requires a connection to the DAT_NOSP module.

This module must be run before segment rating is performed.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-88 lists the FCT_NOSP registry entries.

Table 81-88 FCT_NOSP Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataModule

Specifies the connection to the DAT_NOSP module. See "DAT_NOSP".

Yes

MapGroup

Specifies the map group that the NOSP mappings belong to.

You can use this entry in a semaphore file.

Yes

Sample Registry

Zoning
{
  ModuleName = FCT_NOSP
  Module
  {
    Active = True
    DataModule = ifw.DataPool.NospData
    MapGroup = MOBILE
  }
}

Semaphore File Entries

Table 81-89 lists the FCT_NOSP Semaphore file entries.

Table 81-89 FCT_NOSP Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

MapGroup

Specifies the map group.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.NOSP.Module.Active = False

EDR Container Fields

Table 81-90 lists the FCT_NOSP EDR container fields.

Table 81-90 FCT_NOSP EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

SOURCE_NETWORK

DETAIL.SOURCE_NETWORK

String

Read/Write

Contains the source network.

DESTINATION_NETWORK

DETAIL.DESTINATION_NETWORK

String

Read/Write

Contains the destination network.

A_NUMBER

DETAIL.A_NUMBER

String

Read

Contains the A number.

FCT_NumberPortability

The FCT_NumberPortability module specifies the new network operator for an existing phone number.

Dependencies

Requires a connection to the DAT_NumberPortability module.

This module must be run before the zoning and rating modules.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-91 lists the FCT_NumberPortability registry entries.

Table 81-91 FCT_NumberPortability Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Default = False.

You can use this entry in a semaphore file.

Yes

DataModule

Specifies the connection to the DAT_NumberPortability module.

Yes

DefaultSourceNetwork

Specifies the default network operator ID of the source network. This ID is used if there is no ID present in the data retrieved from the DAT_NumberPortability module.

Yes

DefaultDestinationNetwork

Specifies the default network operator ID of the destination network. This ID is used if there is no ID present in the data retrieved from the DAT_NumberPortability module.

Yes

OverwriteNetwork

If the DefaultSourceNetwork and DefaultDestinationNetwork fields are empty, overwrites the source and destination network with the value configured in the DAT_NumberPortability module.

Default = True.

No

OverwriteNetworkType

If the SOURCE_NETWORK_TYPE and DESTINATION_NETWORK_TYPE fields are empty, overwrites the SOURCE_NETWORK_TYPE and DESTINATION_NETWORK_TYPE fields with the type of network that is populated in the source and destination network.

Default = True.

No

Sample Registry

NumberPortability 
{ 
  ModuleName = FCT_NumberPortability
  Module
  {
    Active = True
    DataModule = integrate.DataPool.NPortData
    DefaultSourceNetwork = D030
    DefaultDestinationNetwork = D017
  }
}

Semaphore File Entries

Table 81-92 lists the FCT_NumberPortability Semaphore file entry.

Table 81-92 FCT_NumberPortability Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.NumberPortability.
Module.Active = False

EDR Container Fields

Table 81-93 lists the FCT_NumberPortability EDR container fields.

Table 81-93 FCT_NumberPortability EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

A_NUMBER

DETAIL.A_NUMBER

String

Read

Specifies the event originator.

B_NUMBER

DETAIL.B_NUMBER

String

Read

Specifies the event receiver.

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Specifies the charging timestamp.

The format is:

YYYYMMDDhhmmss

IGNORE_NP

DETAIL.IGNORE_NP

Integer

Read/ Write

Specifies whether FCT_NumberPortability should look for network operator IDs for A and B number.

Default is 0 (cleared).

SOURCE_NETWORK

DETAIL.SOURCE_NETWORK

String

Write

Specifies the source network. This can either be the PLMN ID or any logical operator code.

SOURCE_NETWORK_TYPE

DETAIL.SOURCE_NETWORK_TYPE

String

Write

Specifies the source network type, for example GSM 900.

DESTINATION_NETWORK

DETAIL.DESTINATION_NETWORK

String

Write

Specifies the network to which an event is routed.

DESTINATION_NETWORK_TYPE

DETAIL.DESTINATION_NETWORK_TYPE

String

Write

Specifies the destination network type, for example GSM 900.

FCT_Opcode

The FCT_Opcode module uses the DAT_ConnectionPool module to connect to the CM and calls the appropriate opcode for the request.

Dependencies

The FCT_Opcode module requires a connection to the "DAT_ConnectionPool" module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-94 lists the FCT_Opcode registry entries.

Table 81-94 FCT_Opcode Registry Entries

Entry Description Mandatory

Active

Specifies whether the module is active or inactive

True = Active (default)

False = Inactive

Yes

Retries

Specifies the number of times to try the request on the CM

Default = 2

Yes

Logging

Logs each opcode called from the processing pipeline

Default = False

Yes

ConnectionPoolDataModule

Specifies a connection to the DAT_ConnectionPool module.

Yes

Sample Registry

EdrOpcodeCall
{
  ModuleName = FCT_Opcode
  Module
  {
    Active = True
    Retries = 2
    Logging = True
    ConnectionPoolDataModule = ifw.DataPool.CMConnectionPool.Module
  }
}

EDR Container Fields

FCT_Opcode uses the EDR container fields listed in Table 81-95:

Table 81-95 FCT_Opcode Container Fields

Alias Field NameDefault Field Name Type Access Description

OPCODE_FLAG

DETAIL.OPCODE_FLAG

Integer

Read

The flag that specifies the behavior of the opcode

OPCODE_NODE

DETAIL.OPCODE_NODE

String

Read

Name of the opcode

PCM_OP_EBUF

DETAIL.PCM_OP_EBUF

pin_ebuf_t

Read

Error buffer

FCT_PrefixDesc

The FCT_PrefixDesc module maps phone number prefixes to destination descriptions. See "Creating Call Destination Descriptions".

Dependencies

Requires a connection to the DAT_PrefixDesc module.

This module can run from anywhere.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-96 lists the FCT_PrefixDesc registry entries.

Table 81-96 FCT_PrefixDesc Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

PrefixDataModule

Specifies the connection to the DAT_PrefixDesc module.

Yes

Sample Registry

{ 
  ModuleName = FCT_PrefixDesc 
  Module 
  { 
    Active = True 
    PrefixDataModule = PrefixDescData 
  } 
}

Semaphore File Entries

Table 81-97 lists the FCT_PrefixDesc Semaphore file entry.

Table 81-97 FCT_PrefixDesc Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.PrefixDesc.Module.Active = False

EDR Container Fields

Table 81-98 lists the FCT_PrefixDesc EDR container fields.

Table 81-98 FCT_PrefixDesc EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

B_NUMBER

DETAIL.B_NUMBER

String

Read

Contains the B number.

DESCRIPTION

DETAIL.DESCRIPTION

String

Write

Contains the call destination description.

FCT_PreRating

The FCT_PreRating module calculates zones and creates impact category.

Dependencies

Requires a connection to the DAT_Rateplan and the DAT_Zone module.

This module must be run before the FCT_MainRating module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-99 lists the FCT_PreRating registry entries.

Table 81-99 FCT_PreRating Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

RateplanDataModule

Specifies the connection to the DAT_Rateplan module.

Yes

ZoneDataModule

Specifies the connection to the DAT_Zone module.

Yes

Sample Startup Registry

PreRating 
{ 
  ModuleStart = FCT_PreRating 
  Module 
  { 
    Active = True 
    RateplanDataModule = ifw.DataPool.RateplanDataModule 
    ZoneDataModule = ifw.DataPool.ZoneDataModule 
  } 
}

Semaphore File Entries

Table 81-100 lists the FCT_PreRating Semaphore file entry.

Table 81-100 FCT_PreRating Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.PreRatingZone.Module.Active = False

EDR Container Fields

Table 81-101 lists the FCT_PreRating EDR container fields.

Table 81-101 FCT_PreRating EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp.

The time stamp is used for calculating the impact category by comparing it to the dates in the VALID_FROM and VALID_TO fields in the IFW_STANDARD_ZONE database table.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the service code.

The service code is used for calculating the impact category by comparing it with the value in the SERVICECODE field in the IFW_STANDARD_ZONE database table.

The module writes the service code to the ASS_CBD_SERVICE_CODE and SERVICE_CLASS_USED fields.

INTERN_SERVICE_CLASS

DETAIL.INTERN_SERVICE_CLASS

String

Read

Contains the service class.

The module writes the service class to the ASS_CBD_SERVICE_CODE and SERVICE_CLASS_USED fields.

ASS_CBD_RECORD_NUMBER

DETAIL.ASS_CBD.RECORD_NUMBER

String

Read

Contains the charge breakdown record number.

Charge breakdown records are processed only if the record number = 0 (newly created).

ASS_CBD_SERVICE_CODE

DETAIL.ASS_CBD.SERVICE_CODE

String

Write

Contains the service code.

Set with the value of the INTERN_SERVICE_CODE field.

ASS_CBD_ZONEMODEL_CODE

DETAIL.ASS_CBD.CP.ZONEMODEL_CODE

String

Write

Contains the zone model code.

Set with the value of the INTERN_SERVICE_CLASSE field.

ASS_CBD_IMPACT_CATEGORY

DETAIL.ASS_CBD.CP.IMPACT_CATEGORY

String

Write

Contains the impact category.

Set with the zoning results by using the value from either the ZONE_WS or ZONE_RT in the IFW_STANDARD_ZONE database table, depending on charge type.

RATEPLAN_CODE

DETAIL.ASS_CBD.CP.RATEPLAN_CODE

String

Write

Contains a comma-separated list of charge codes for all rating charge offers. This list arranged by charge offer priority, with the highest priority first and the lowest priority last.

Set with the value of the CODE field in the IFW_RATEPLAN database table.

RATEPLAN_TYPE

DETAIL.ASS_CBD.CP.RATEPLAN_TYPE

String

Write

Contains the charge type.

Set with the value of the TYPE field in the IFW_RATEPLAN database table.

SERVICE_CODE_USED

DETAIL.ASS_CBD.CP.SERVICE_CODE_USED

String

Write

Contains the service code.

Set with the value from the INTERN_SERVICE_CODE field.

SERVICE_CLASS_USED

DETAIL.ASS_CBD.CP.SERVICE_CLASS_USED

String

Write

Contains the service class.

Set with the value from the INTERN_SERVICE_CLASS field.

INTERN_ORIGIN_NUM_ZONE

DETAIL.ASS_CBD.CP.INTERN_ORIGIN_NUM_ZONE

String

Read

Contains the area code for the A number.

The area code is used for calculating the impact category by comparing it to ORIGIN_AREACODE field in the IFW_STANDARD_ZONE database table.

INTERN_DESTIN_NUM_ZONE

DETAIL.ASS_CBD.CP.INTERN_DESTIN_NUM_ZONE

String

Read

Contains the area code for the B number.

The area code is used for calculating the impact category by comparing it to DESTIN_AREACODE field in the IFW_STANDARD_ZONE database table.

INTERN_RATEPLAN

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN

String

Read

Contains the charge.

Set with the value from the RATEPLAN field in the IFW_RATEPLAN database table.

INTERN_RATEPLAN_VERSION

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN_VERSION

Integer

Write

Contains the charge version.

Set with the value from the VERSION field in the IFW_RATEPLAN_VER database table.

ASS_CBD_INTERN_ZONE_MODEL

DETAIL.ASS_CBD.CP.INTERN_ZONE_MODEL

Integer

Write

Contains the zone model.

Set with the value from the ZONEMODEL field in the IFW_RATEPLAN_VER database table.

ASS_CBD_INTERN_APN_GROUP

DETAIL.ASS_CBD.CP.INTERN_APN_GROUP

String

Write

Contains the APN group.

Set with the value from the APN_GROUP field in the IFW_ZONEMODEL database table.

ASS_CBD_INTERN_GEOMODEL

DETAIL.ASS_CBD.CP.INTERN_GEOMODEL

Integer

Write

Contains the geographical model, if the MODELTYPE field in the IFW_ZONEMODEL database table is set to L.

Set with the value from the GEOMODEL field in the IFW_ZONEMODEL database table.

ASS_CBD_INTERN_RULESET

DETAIL.ASS_CBD.CP.INTERN_RULESET

String

Write

Contains the rule set, if the MODELTYPE field in the IFW_ZONEMODEL database table is set to L.

Set with the value from the RULESET field in the IFW_GEOGRAPHICAL_MODEL database table.

ASS_CBD_ZONE_DESCRIPTION

DETAIL.ASS_CBD.CP.ZONE_DESCRIPTION

String

Write

Contains the zone description for displaying on invoices.

ASS_ZBD_ZONE_ENTRY_NAME

DETAIL.ASS_ZBD.ZP.ZONE_ENTRY_NAME

String

Write

Contains the destination description for displaying on invoices.

RATE_PLAN_NAME

DETAIL.CUST_A.PRODUCT.RATEPLAN_NAME

String

Write

Contains the charge name for the purchased charge offer.

INTERN_RATING_PRODUCTS

DETAIL.CUST_A.INTERN_RATING_PRODUCTS

String

Write

Contains the indexes of the candidate charge offers that can be used for rating.

INTERN_FOUND_PP_INDEX

DETAIL.CUST_A.INTERN_FOUND_PP_INDEX

String

Write

Contains the purchased charge offer index of the charge offer or service used.

CUST_A_LEAST_COST_RATING

DETAIL.CUST_A.LEAST_COST

String

Write

Specifies if least cost rating is to be used for rating the EDR.

FCT_PreRecycle

The FCT_PreRecycle module gets the file of rejected EDRs from the reject stream output directory. The module puts the reject EDR file into the pipeline input directory for recycling. It uses the same input folder as the incoming CDR files.

See:

Registry Entries

Table 81-102 lists the FCT_PreCycle registry entries.

Table 81-102 FCT_PreCycle Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Yes

RecycleSuffix

Specifies the suffix for the file that contains the EDRs that need recycling.

The suffix is automatically appended when the file is moved from the reject directory to the input directory. If it is empty, no suffix is added.

Default = _Recy

No

RecyFileName

Specifies the file name and path for the file that contains the EDRs that need recycling.

Yes

Sample Registry

PreRecycle 
{ 
   ModuleName = FCT_PreRecycle 
   Module 
   { 
      Active = True 
      RecycleSuffix = RecycleFile 
      RecyFileName = ./recycle.dat 
   } 
}

Semaphore File Entries

When you update the registry, you must select one of the following entries listed in Table 81-103:

Table 81-103 FCT_PreRecycle Semaphore File Entries

Entry Description

Recycle

The module runs in real processing mode

You can specify a list of files to recycle. If this entry is empty, all files from the reject directory are recycled.

RecycleTest

The module runs in test mode

You can specify a list of files to test recycling with. If this entry is empty, all files from the reject directory are recycled.

Sample Semaphore File Entries

  • Recycle all files:

ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.Recycle {}
  • Recycle only specific files:

ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.Recycle.
File = ./format_a/abc.cdr 

ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.Recycle.
File = ./format_a/xyz.cdr 
  • Test recycle all files:

ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.RecycleTest {}
  • Test recycle only specific files:

ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.RecycleTest.
File = ./format_a/abc.cdr 

ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.RecycleTest.
File = ./format_a/xyz.cdr 

EDR Container Fields

Table 81-104 lists the FCT_PreRecycle EDR container fields.

Table 81-104 FCT_PreRecycle EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

INTERN_PROCESS_STATUS

DETAIL.INTERN_PROCESS_STATUS

Integer

Write

Contains the internal process status.

TRANSACTION_ID

INTERNAL.TRANSACTION_ID

Decimal

Read

Contains the transaction ID.

STREAM_NAME

INTERNAL.STREAM_NAME

String

Read

Contains the stream name.

PROCESS_STATUS

INTERNAL.PROCESS_STATUS

Integer

Write

Contains the process status.

FCT_PreSuspense

This module is used both by the standard recycling mechanism and by the Suspense Manager service integration component that you purchase separately. Both implementations are described below.

Note:

This module stores the contents of the EDR before any other modules change it. This module must take the original version of an EDR as input, so that it can be recycled after being suspended.

Standard Recycling Implementation

The BRM FCT_PreSuspense module adds suspense-related information to EDRs. It adds the DETAIL.ASS_SUSPENSE_EXT data block to the EDR if that data block does not already exist.

Suspense Manager Implementation - Adding Queryable Fields

When used with Suspense Manager, FCT_PreSuspense configures the queryable fields for EDRs suspended in a specific pipeline. You must enter the table and field names from the /suspended_usage object, as well as the corresponding EDR container fields. See "Registry Entries" for syntax and formatting information.

If no QueryableFields registry entry is present, the HEADER.QUERYABLE_FIELDS_MAPPING and DETAIL.ASS_SUSPENSE_EXT.QUERYABLE_FIELDS_MAPPING are set to empty strings.

Note:

Each table listed in the FCT_PreSuspense registry must also be configured in the RE Loader Infranet.properties file so that RE Loader can load into these tables.

This module adds queryable field mapping information to the HEADER.QUERYABLE_FIELDS_MAPPING field of the EDR.This information is passed to the Suspended Event (SE) Loader to generate control files for loading suspended usage records.

Note:

You add one set of queryable fields representing one /suspended_usage subclass per pipeline. For example, for a single pipeline that accepts /suspended_usage/telco/gsm records, you can pick queryable fields from the /suspended_usage/telco and /suspended_usage/telco/gsm subclasses. You could not pick queryable fields from /suspended_usage/telco/gprs, because it requires a separate pipeline.

FCT_PreSuspense serializes the original EDR container and stores it in DETAIL.ASS_SUSPENSE_EXT.EDR_BUF. It also stores the EDR size in DETAIL.ASS_SUSPENSE_EXT.EDR_SIZE.

When call records are being recycled, this module sets values for:

  • HEADER.BATCH_ID, based on value already set by INP_Recycle in pre-recycle pipeline. This ID is appended with information to ensure that it remains unique.

  • DETAIL.BATCH_ID with the batch ID value from the header record.

Changing the Way Batch IDs Are Set

You use the KeepExistingBatchIds registry entry to determine whether an EDR's batch ID is preserved as it is processed by the pipeline. A value of False directs the pipeline to change the batch ID; a value of True preserves it.

Set KeepExistingBatchIds to False (the default value) if the current pipeline is not part of a chain. Also set this entry to False if the current pipeline is the first pipeline in a chain of pipelines that includes the FCT_PreSuspense module.

Set this entry to True if the current pipeline is part of a chain of pipelines, and it is not the first pipeline in the chain that includes FCT_PreSuspense.

Dependencies

This module must be the first preprocessing module in a pipeline.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-105 lists the FCT_PreSuspense registry entries.

Table 81-105 FCT_PreSuspense Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

KeepExistingBatchIds

A value of True preserves the Batch ID in the detail record of each EDR in an EDR file.

A value of False sets the Batch ID of each EDR to the Batch ID contained in the header record of the batch input file.

The default is False.

No

QueryableFields

(Suspense Manager only)

Specifies which fields in which tables are queryable from the Suspense Management Center. Includes the EDR container fields that correspond to the database fields.

This entry is only useful to customers who have purchased Suspense Manager.

Format:

QueryableFields
{
  table_name_1
  {
    database_column_name_1 = edr_container_field_1
    database_column_name_2 = edr_container_field_2
  }
  table_name_2
  {
    database_column_name_3 = edr_container_field_3
    database_column_name_4 = edr_container_field_4
  }
}

If this entry is not present, this module sets HEADER.QUERYABLE_FIELDS_MAPPING and DETAIL.ASS_SUSPENSE_EXT.QUERYABLE_FIELDS to empty strings.

Yes

Sample Registry

#---------------------------
# PreSuspense FCT
#---------------------------
PreSuspense
{
  ModuleName                = FCT_PreSuspense
  Module
  {
    Active                  = True
    QueryableFields
    {
      # table name. If more than one table, use a separate block
      SUSP_USAGE_TELCO_INFO_T
      {
        # format : <database_column_name> = <edr_conatiner_field_name>
        BYTES_IN = DETAIL.VOLUME_RECEIVED
        BYTES_OUT = DETAIL.VOLUME_SENT
        CALLED_TO = DETAIL.B_NUMBER
        #CALLING_FROM = DETAIL.B_NUMBER
        CALL_DURATION = DETAIL.DURATION
        PRIMARY_MSID = DETAIL.A_NUMBER 
        SERVICE_TYPE = DETAIL.BASIC_SERVICE
        START_TIME = DETAIL.CHARGING_START_TIMESTAMP
        USAGE_TYPE = DETAIL.USAGE_TYPE
      }
      #Examples for GPRS calls
      #SUSP_USAGE_TELCO_GPRS_INFO_T
      #{
        # format : <database_column_name> = <edr_conatiner_field_name>
        #APN = DETAIL.ASS_GPRS_EXT.APN_ADDRESS
        #GGSN_ADDRESS = DETAIL.ASS_GPRS_EXT.GGSN_ADDRESS
        #NODE_ID = DETAIL.ASS_GPRS_EXT.NODE_ID
        #SECONDARY_MSID = DETAIL.ASS_GPRS_EXT.PORT_NUMBER
        #SGSN_ADDRESS = DETAIL.ASS_GPRS_EXT.SGSN_ADDRESS
      #}
      #SUSP_USAGE_TELCO_GSM_INFO_T
      #{
        #APN = DETAIL.ASS_GSMW_EXT.APN_ADDRESS
        #CELL_ID = DETAIL.ASS_GSMW_EXT.CELL_ID
        #DESTINATION_SID = DETAIL.ASS_GSMW_EXT.TERMINATING_SWITCH_IDENTIFICATION
        #DIALED_NUMBER = DETAIL.ASS_GSMW_EXT.DIALED_DIGITS
        #ORIGIN_SID = DETAIL.ASS_GSMW_EXT.ORIGINATING_SWITCH_IDENTIFICATION 
        #SECONDARY_MSID = DETAIL.ASS_GSMW_EXT.PORT_NUMBER
      #}
    }
  }
}

Semaphore File Entries

Table 81-106 lists the FCT_PreSuspense Semaphore file entry.

Table 81-106 FCT_PreSuspense Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.PreSuspense.Module.Active = False 

EDR Container Fields

Table 81-107 lists the FCT_PreSuspense EDR container fields.

Table 81-107 FCT_PreSuspense EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

QUERYABLE_FIELDS_MAPPING

HEADER.QUERYABLE_FIELDS_MAPPING

String

Write

Database column names and data types that map queryable fields. This field is used by Suspense Manager only. This is an empty string for standard recycling implementations.

PIPELINE_NAME

DETAIL.ASS_SUSPENSE_EXT.PIPELINE_NAME

String

Write

The name of the pipeline, derived from the pipeline registry.

SOURCE_FILENAME

DETAIL.ASS_SUSPENSE_EXT.SOURCE_FILENAME

String

Write

The source file name. The same as INTERNAL.STREAM_NAME.

EDR_BUF

DETAIL.ASS_SUSPENSE_EXT.EDR_BUF

String

Write

A stored representation of the EDR container with its original field values.

EDR_SIZE

DETAIL.ASS_SUSPENSE_EXT.EDR_SIZE

Integer

Write

The size of DETAIL.ASS_SUSPENSE_EXT.EDR_BUF.

QUERYABLE_FIELDS

DETAIL.ASS_SUSPENSE_EXT.QUERYABLE_FIELDS

String

Write

The queryable field values defined in the registry. This field is used by Suspense Manager only. This is an empty string for standard recycling implementations.

BATCH_ID

DETAIL.BATCH_ID

String

Write

At recycling, the value is set from HEADER.BATCH_ID.

INTERN_PROCESS_STATUS

DETAIL.INTERN_PROCESS_STATUS

Integer

Read

Indicates whether the EDR is being recycled or test recycled.

ORIGINAL_BATCH_ID

DETAIL.ORIGINAL_BATCH_ID

String

Write

Set the first time EDRs go through the pipeline (not being recycled or rerated.) Sets the value from HEADER.BATCH_ID in the header record.

BATCH_ID

HEADER.BATCH_ID

String

Read

At recycling, modifies this value to ensure that it is unique.

FCT_RateAdjust

The FCT_RateAdjust module adjusts the charge for an EDR after rating has been performed.

Dependencies

If the rate adjustment data is stored in the database, the module requires a connection to the Pipeline Manager database.

This module must run after the FCT_MainRating module to adjust the rate.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-108 lists the FCT_RateAdjust registry entries.

Table 81-108 FCT_RateAdjust Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes, if the data is stored in the database. Otherwise not used.

RateAdjustFile

Specifies file name that contains the rate adjustment data.

See "Creating a Rate Adjustment Rules File".

You can use this entry in a semaphore file.

Yes, if the data is stored in a file. Otherwise not used.

Source

Specifies where the rate adjustment data is stored:

  • File

  • Database

Yes

Sample Registry for the Database Interface

RateAdjust 
{ 
  ModuleName = FCT_RateAdjust 
  Module 
  { 
    Active = True 
    Source = Database 
    DataConnection = ifw.DataPool.DataConnection 
  } 
}

Sample Registry for the File Interface

RateAdjust 
{ 
  ModuleName = FCT_RateAdjust 
  Module 
  { 
    Active = True 
    Source = File 
    RateAdjustFile = /data/etc/discount.dat 
  } 
}

Semaphore File Entries

Table 81-109 lists the FCT_RateAdjust Semaphore file entries.

Table 81-109 FCT_RateAdjust Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

RateAdjustFile

Specifies file name that contains the rate adjustment data.

Reload

Reloads data from the database.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.RateAdjustment.Module.Active = False

EDR Container Fields

Table 81-110 lists the FCT_RateAdjust EDR container fields.

Table 81-110 FCT_RateAdjust EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

ASS_CBD

DETAIL.ASS_CBD

Block-Index

Read

Data block.

ASS_CBD_CHARGE_PACKET

DETAIL.ASS_CBD.CP

Block-Index

Read

Data block.

ASS_CBD_RECORD_NUM

DETAIL.ASS_CBD.RECORD_NUMBER

Integer

Read

Contains the record number.

USAGE_CLASS

DETAIL.USAGE_CLASS

String

Read

Contains the usage class.

USAGE_TYPE

DETAIL.USAGE_TYPE

String

Read

Contains the usage type.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code.

INTERN_SERVICE_CLASS

DETAIL.INTERN_SERVICE_CLASS

String

Read

Contains the internal service class.

BDR_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp.

DURATION

DETAIL.DURATION

Decimal

Read

Contains the duration of the event.

SOURCE_NETWORK

DETAIL.SOURCE_NETWORK

String

Read

Contains the source network.

DESTINATION_NETWORK

DETAIL.DESTINATION_NETWORK

String

Read

Contains the destination network.

INTERN_RATEPLAN

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN

String

Read

Contains the charge code.

INTERN_RATEPLAN_VERSION

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN_VERSION

Integer

Read

Contains the charge version.

ASS_CBD_IMPACT_CATEGORY

DETAIL.ASS_CBD.CP.IMPACT_CATEGORY

String

Read

Contains the impact category.

CHARGED_AMOUNT_VALUE

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE

Decimal

Read/Write

Contains the charge amount value.

Database Tables

The FCT_RateAdjust module uses the IFW_RATEADJUST table to set the rate adjustment rules.

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

FCT_Recycle

The FCT_Recycle module runs at the end of the pipeline It does either of the following:

  • When the FCT_PreRecycle module runs in test mode, the FCT_Recycle module creates a report about the processing, but does not send the EDRs to an output file.

  • When the FCT_PreRecycle module runs in recycle mode, the FCT_Recycle module sends the results to an output file, and attaches a sequence number to the output file.

See:

Dependencies

Note:

You must configure the FCT_Recycle module as the last module of all function modules in the pipeline.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-111 lists the FCT_Recycle registry entries.

Table 81-111 FCT_Recycle Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

RecycleLog

Specifies the log file parameters:

  • MessageFilePath

    Specifies the path where the log file can find the message database.

  • MessageFilePrefix

    Specifies the prefix for collecting the files from the message file path.

  • MessageFileSuffix

    Specifies the suffix for collecting the files from the message file path.

  • FilePath

    Specifies the path in which the log file is written.

  • FilePrefix

    Specifies the prefix for the log file.

  • FileSuffix

    Specifies the suffix for the log file.

Yes

Sample Registry

Recycle 
{ 
   ModuleName = FCT_Recycle 
   Module 
   { 
      Active = True 
      RecycleLog 
      { 
         MessageFilePath = .. 
         MessageFilePrefix = Framework 
         MessageFileSuffix = msg 
         FilePath = ../tmp/log01 
         FilePrefix = rej_ 
         FileSuffix = .log 
      } 
   } 
}

Semaphore File Entries

Table 81-112 lists the FCT_Recycle Semaphore file entry.

Table 81-112 FCT_Recycle Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Recycle.Module.Active = True

EDR Container Fields

Table 81-113 lists the FCT_Recycle EDR container fields.

Table 81-113 FCT_Recycle EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

STREAM_NAME

INTERNAL.STREAM_NAME

String

Read

Contains the stream name.

SEQ_CHECK

INTERNAL.SEQ_CHECK

Integer

Write

Specifies the sequence check.

SEQ_GENERATION

INTERNAL.SEQ_GENERATION

Integer

Write

Specifies the sequence generation.

OFFSET_GENERATION

INTERNAL.OFFSET_GENERATION

Integer

Write

Specifies the offset generation.

PROCESS_STATUS

INTERNAL.PROCESS_STATUS

Integer

Read

Contains the internal process status.

FCT_Reject

The FCT_Reject module analyzes the errors in an EDR and, if necessary, moves the EDR to a reject file.

See:

Dependencies

This module must run after the rating and discount modules.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-114 lists the FCT_Reject registry entries.

Table 81-114 FCT_Reject Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

CallAssemblingModule

Provides data to the FCT_CallAssembling module to ensure that assembled calls are processed completely.

See "Recycling Assembled EDRs".

No

MinErrorSeverity

Specifies to reject EDRs that have a specified severity. To allow warning and normal messages without rejecting the EDR, set this entry to 3.

Default = Not used.

See "Processing EDRs with Errors".

Yes

NotifyonReject

Specifies if other modules should be notified if an EDR is rejected.

Default = True

No

StreamMap

Specifies a list of error types mapped to output streams.

Important: A UseRejectStream entry is required to use StreamMap.

See "Specifying Multiple Reject Streams".

No

UseRejectStream

Specifies whether to use the reject output stream:

  • True. Rejected EDRs are sent to the reject stream.

  • False. Rejected EDRs are sent to the normal output stream, but flagged as discarded.Important: A StreamMap entry is required to use UseRejectStream.

See "Using a Reject Output Stream".

No

Sample Registry

Reject
{
   ModuleName = FCT_Reject
   {
         Active = True
         NotifyOnReject = True
         UseRejectStream = True
         CallAssemblingModule = ifw.Pipelines.Pipe.Functions.Standard.FunctionPool.CallAssembling
         StreamMap
               {
               error_type_1 = output_stream_1
               error_type_2 = output_stream_2
               intern = RejectStream
               logic = ReturnStream
               }
   }
}

Semaphore File Entries

Table 81-115 lists the FCT_Reject Semaphore file entry.

Table 81-115 FCT_Reject Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Rejection.Module.Active = False

Sample Output Configuration

You configure the reject stream in the registry in two places:

  • In the pipeline configuration, for example:

    Pipelines
    {
    ALL_RATE
    {
    Active   =   TRUE
    .
    .
    .
    RejectStream   =   RejectOutput
  • In the Output configuration, for example:

    # Output stream for rejected events
    RejectOutput
    {
     ModuleName = OUT_Reject
     Module
     { 
      OutputStream
      {
       ModuleName = EXT_OutFileManager
       Module
       {
        OutputPath = ./samples/wireless/data/rej
        OutputPrefix = test
        OutputSuffix = .rej
        TempPrefix   = tmp
        
        TempDataPath    = ./samples/wireless/data/rej
        TempDataPrefix  = rej.tmp.
        TempDataSuffix  = .data
        
        Replace = TRUE
        DeleteEmptyFile = TRUE 
       }
      }
     } 
    } # end of Reject

See "Configuring Output for Rejected or Duplicate EDRs".

Note:

To ensure output file integrity, specify a unique combination of OutputPath, OutputSuffix, and OutputPrefix values for each output stream defined in the registry.

EDR Container Fields

Table 81-116 lists the FCT_Reject container fields.

Table 81-116 FCT_Reject Container Fields

Field name Access Description

DISCARDING

DETAIL.DISCARDING

Read/Write

Read: This field is used to detect pre-rejected EDRs. If this field is 1, the EDR is always rejected.

Write: If this field is 0 and the EDR is rejected, the field is set to 1.

ERROR_REJECT_TYPE

DETAIL.ERROR_REJECT_TYPE

Read

Specifies the type of error in the EDR. This determines which stream the EDR is directed to.

FCT_Rounding

The FCT_Rounding module performs rounding for rating and discounting. Add this module to the pipeline after the processing module for which it is rounding.

The FCT_Rounding pipeline module converts the rounding mode in the /config/beid object into the corresponding rounding mode used by the BAS rounding method in Pipeline Manager. If you use the BAS Decimal rounding method in custom pipeline modules and iScripts, you should include the FCT_Rounding module in your pipeline. Otherwise, you will need to convert the rounding mode in the /config/beid object into the BAS rounding mode before calling the BAS rounding method.

Dependencies

Requires a connection to the DAT_Currency module.

This module must run after the FCT_RateAdjust module if you want rating results to be rounded and after FCT_Discount module if you want discount results to be rounded. FCT_Rounding must come after each module for which rounding should occur. For batch rating, it must come before the FCT_ApplyBalance module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-117 lists the FCT_Rounding registry entries.

Table 81-117 FCT_Rounding Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive:

True = Active

False = Inactive

Yes

CurrencyDataModule

Specifies the connection to the DAT_Currency module.

Yes

Mode

Specifies the process for which rounding is applied:

Rating = Round the balance impact of rating.

Taxation = Round the balance impact of taxation.

Discounting = Round the balance impact of discounting.

Yes

Sample Registry

Rounding
{
   ModuleName = FCT_Rounding
   Module
   {
      Active = TRUE
      Mode   = Rating
      CurrencyDataModule = ifw.DataPool.CurrencyDataModule
   }
}

EDR Container Fields

Table 81-118 lists the FCT_Rounding EDR container fields.

Table 81-118 FCT_Rounding EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

EVENT_TYPE

DETAIL.EVENT_TYPE

String

Read

Specifies the event type.

ASS_CBD_RECORD_NUMBER

DETAIL.ASS_CBD.RECORD_NUMBER

Integer

Read

Specifies the record number.

ASS_CBD_RECORD_TYPE

DETAIL.ASS_CBD.RECORD_TYPE

String

Read

Specifies the record type.

RESOURCE_ID

DETAIL.ASS_CBD.DP.RESOURCE_ID

Decimal

Read

Specifies the balance element ID.

CHARGED_AMOUNT_CURRENCY

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_CURRENCY

Decimal

Read

Specifies the currency of the charged amount.

CHARGED_AMOUNT_VALUE

DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE

Integer

Write

Specifies the rounded charged amount.

TAX_VALUE

DETAIL.ASS_CBD.TP.TAX_VALUE

Decimal

Write

Specifies the rounded tax value.

GRANTED_AMOUNT

DETAIL.ASS_CBD.DP.GRANTED_AMOUNT

Integer

Write

Specifies the rounded noncurrency discount amount.

RELATED_CHARGE_INFO_ID

DETAIL.ASS_CBD.TP.RELATED_CHARGE_INFO_ID

Integer

Read

Specifies the index of the corresponding charge packet for which the tax was calculated.

FCT_RSC_Map

The FCT_RSC_Map module performs rate service class (RSC) mapping.

See "About Rate-Service Class Mapping".

Dependencies

Requires a connection to the Pipeline Manager database.

This module must run before FCT_MainRating module to change the Service Code and Service Class fields of the Charge Packet. These fields are used by the main rating module to find out the rate to be applied for a particular call.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-119 lists the FCT_RSC_Map registry entries.

Table 81-119 FCT_RSC_Map Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes

DefaultRSCGroup

Specifies the default RSC group to use when the RSC group is not specified in the EDR.

Yes

Sample Registry

RSC_Mapping 
{ 
  ModuleName = FCT_RSC_Map 
  Module 
  { 
    Active = True 
    DataConnection = integrate.DataPool.DataConnection 
    DefaultRscGroup = testGroup 
  } 
}

Semaphore File Entries

Table 81-120 lists the FCT_RSC_Map Semaphore file entries.

Table 81-120 FCT_RSC_Map Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Reload

Reloads data from the database into memory.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.RateServiceClassMap.
Module.Active = False

EDR Container Fields

Table 81-121 lists the FCT_RSC_Map EDR container fields.

Table 81-121 FCT_RSC_Map EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging start time.

INTERN_SLA_RSC_GROUP

DETAIL.INTERN_SLA_RSC_GROUP

String

Read

Contains the internal RSC group.

QOS_REQUESTED

DETAIL.QOS_REQUESTED

String

Read

Contains the quality of service requested.

QOS_USED

DETAIL.QOS_USED

String

Read

Contains the quality of service used.

USAGE_TYPE

DETAIL.USAGE_TYPE

String

Read

Contains the usage type.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code.

INTERN_SERVICE_CLASS

DETAIL.INTERN_SERVICE_CLASS

String

Read

Contains the internal service class.

INTERN_USAGE_CLASS

DETAIL.INTERN_USAGE_CLASS

String

Read

Contains the internal usage class.

INTERN_RATEPLAN

DETAIL.ASS_CBD.CP.INTERN_RATEPLAN

String

Read

Contains the internal charge.

ASS_CBD_IMPACT_CATEGORY

DETAIL.ASS_CBD.CP.IMPACT_CATEGORY

String

Read

Contains the impact category.

SERVICE_CODE_USED

DETAIL.ASS_CBD.CP.SERVICE_CODE_USED

String

Write

Contains the service code used.

SERVICE_CLASS_USED

DETAIL.ASS_CBD.CP.SERVICE_CLASS_USED

String

Write

Contains the service class used.

Database Interface

FCT_RSC_Map uses the following database tables:

  • IFW_RSC_MAP. Stores the mapping rules. See "About Rate-Service Class Mapping".

  • The IFW_RSC_GROUP. Stores the RSC groups used for RSC mapping.

  • The IFW_SERVICECLASS. Stores the service class codes used when defining service codes.

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

FCT_SegZoneNoCust

The FCT_SegZoneNoCust module finds the segment using the source network information instead of using the customer information.

Dependencies

Requires a connection to the Pipeline Manager database.

This module must run before the FCT_MainZoning module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-122 lists the FCT_SegZoneNoCust registry entries.

Table 81-122 FCT_SegZoneNoCust Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes

Segments

Specifies a list of mapping rules. Each rule defines the connection between the source network and the segment.

Yes

Sample Registry

SegZoneNoCust 
{ 
  ModuleName = FCT_SegZoneNoCust 
  Module 
  { 
    Active = True 
    DataConnection = ifw.DataPool.Database 
    Segments 
    { 
       26201 = SegmentD1 
       26202 = SegmentD2 
    } 
  } 
}

Semaphore File Entries

Table 81-123 lists the FCT_SegZoneNoCust Semaphore file entries.

Table 81-123 FCT_SegZoneNoCust Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Reload

Reloads data from the database into memory.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.SegZoneNoCust.Active = False
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.SegZoneNoCust.Module.Reload { } 

EDR Container Fields

Table 81-124 lists the FCT_SegZoneNoCust EDR container fields.

Table 81-124 FCT_SegZoneNoCust EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

ASS_ZBD

DETAIL.ASS_ZBD

Block

Create

Data block.

ASS_ZBD_ZONE_PACKET

DETAIL.ASS_ZBD.ZP

Block

Create

Data block.

SOURCE_NETWORK

DETAIL.SOURCE_NETWORK

String

Read

Contains the source network.

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code.

ASS_ZBD_RECORD_TYPE

DETAIL.ASS_ZBD.RECORD_TYPE

String

Write

Contains the record type.

ASS_ZBD_SEGMENT_CODE

DETAIL.ASS_ZBD.SEGMENT_CODE

String

Write

Contains the segment code.

ASS_ZBD_SERVICE_CODE

DETAIL.ASS_ZBD.SERVICE_CODE

String

Write

Contains the resulting service code.

ASS_ZBD_INTERN_ZONE_MODEL

DETAIL.ASS_ZBD.ZP.INTERN_ZONE_MODEL

Integer

Write

Contains the zone model.

Database Tables

The FCT_SegZoneNoCust module uses the IFW_SEGZONE_LNK database table. This table stores segments used for multi-segment zoning.

FCT_ServiceCodeMap

The FCT_ServiceCodeMap module maps external service codes to internal service codes.

Dependencies

Requires a connection to the Pipeline Manager database.

Some modules require an internal service code, so this module should run near the front of a pipeline.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-125 lists the FCT_ServiceCodeMap registry entries.

Table 81-125 FCT_ServiceCodeMap Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes

MapGroup

Specifies the map group that the service code map belongs to.

You can use this entry in a semaphore file.

Yes

Sample Registry

ServiceCodeMapping 
{
  ModuleName = FCT_ServiceCodeMap
  Module 
  { 
     Active = True 
     DataConnection = integrate.DataPool.Database
     MapGroup = serviceMapGroup
  }
}

Semaphore File Entries

Table 81-126 lists the FCT_ServiceCodeMap Semaphore file entries.

Table 81-126 FCT_ServiceCodeMap Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

MapGroup

Specifies the mapping rule set.

Reload

Reloads data from the database into memory.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.ServiceCodeMap.Module.Reload {}
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.ServiceCodeMap.Module.MapGroup =
ALL_RATE 

EDR Container Fields

The FCT_ServiceCodeMap module reads data from the EDR to map the external service code to the internal service code. The module then writes the internal service code and service class to the EDR.

Table 81-127 lists the FCT_ServiceCodeMap EDR container fields.

Table 81-127 FCT_ServiceCodeMap EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

BASIC_SERVICE

DETAIL.BASIC_SERVICE

String

Read

Contains the external service code.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Write

Contains the internal service code.

INTERN_SERVICE_CLASS

DETAIL.INTERN_SERVICE_CLASS

String

Write

Contains the internal service class.

INTERN_USAGE_CLASS

DETAIL.INTERN_USAGE_CLASS

String

Read

Contains the internal usage class.

ASS_GSMW_LOCATION_AREA_INDICATOR

DETAIL.ASS_GSMW_EXT.LOCATION_AREA_INDICATOR

String

Read

Contains the GSMW extension location area.

ASS_GPRS_LOCATION_AREA_INDICATOR

DETAIL.ASS_GPRS_EXT.LOCATION_AREA_INDICATOR

String

Read

Contains the GPRS extension location area.

QOS_REQUESTED

DETAIL.QOS_REQUESTED

String

Read

Contains the quality of service requested.

QOS_USED

DETAIL.QOS_USED

String

Read

Contains the quality of service used.

BDR_RECORD_TYPE

DETAIL.RECORD_TYPE

String

Read

Contains the record type.

Database Tables

The FCT_ServiceCodeMap module uses the following database tables:

  • IFW_SERVICE_MAP. Maps external service codes to internal service codes.

  • IFW_MAP_GROUP. Stores the map groups used for service code mapping.

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

FCT_SocialNo

The FCT_SocialNo module flags social numbers for special processing. See "Setting Up Social Numbers".

Dependencies

If the social number data is stored in the database, the FCT_SocialNo module requires a connection to the Pipeline Manager database.

This module can run anywhere.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-128 lists the FCT_SocialNo registry entries.

Table 81-128 FCT_SocialNo Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

No

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes, if the data is stored in the database. Otherwise not used.

FileName

Specifies file that contains the social number data.

See "Creating a Social Number Data File".

Yes, if the data is stored in a file.

ReuseOnFailure

Specifies if the module should continue to use the old data if the Reload command fails.

If True, the old data is used. The default is False.

Yes

SocialNoMapSize

Specifies the size of the in-memory map that stores social numbers.

For a large set of social numbers to be loaded, specifying this parameter will enhance loading performance.

No

Source

Specifies where the social number data is stored:

  • File

  • Database

Yes

Sample Registry for the Database Interface

SocialNo 
{ 
  ModuleName = FCT_SocialNo 
  Module 
  { 
    ReuseOnFailure = false 
    Active = true 
    Source = database 
    DataConnection = dataPool 
  } 
}

Sample Registry for the File Interface

SocialNo 
{ 
  ModuleName = FCT_SocialNo 
  Module 
  {
    Active = True 
    ReuseOnFailure = False 
    Source = File 
    FileName = ../daten/socialno.dat 
   
}

Semaphore File Entries

Table 81-129 lists the FCT_SocialNo Semaphore file entries.

Table 81-129 FCT_SocialNo Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

FileName

Reloads data from the specified file if Source parameter is set to File.

Reload

Reloads data from the database if Source parameter is set to Database.

ReuseOnFailure

Specifies if the module should continue to use the old data if the Reload command fails.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.SocialNo.Module.Active = False

EDR Container Fields

The FCT_SocialNo module uses the following EDR container fields listed in Table 81-130 to flag social numbers for further processing.

Table 81-130 FCT_SocialNo EDR Container Fields.

Alias Field NameDefault Field Name Type Access Description

B_MODIFICATION_INDICATOR

DETAIL.B_MODIFICATION_INDICATOR

String

Read/Write

Contains the modification indicator.

B_NUMBER_ZONE

DETAIL.INTERN_B_NUMBER_ZONE

String

Read

Contains the B number.

Database Interface

The FCT_SocialNo module uses the IFW_SOCIALNUMBER database table. This table stores social numbers. See "Setting Up Social Numbers".

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

FCT_Suspense

This module is used both by the standard recycling mechanism and by the Suspense Manager service integration component that you purchase separately. Both implementations are described below.

Note:

With one exception, FCT_Suspense must be the last function module in the pipeline. This ensures that it processes the final EDR container, including overwritten field values and enrichment field values. However, if FCT_AggreGate is used, it can be after FCT_Suspense.

Standard Recycling Implementation

As part of the standard recycling mechanism, the BRM FCT_Suspense function module:

  • Routes EDRs being recycled from SuspenseCreateOutput to suspenseUpdateOutput.

  • Logs the results of test recycling (if the LogTestResults registry entry is set).

Suspense reason and subreason codes are not supported with standard recycling, and these codes are all set to O (other).

Suspense Manager Implementation

As part of Suspense Manager, this module adds suspense reason and suspense subreason codes to EDRs. The specific errors that it adds are based on the error codes assigned to the EDR by the pipeline and the mapping information stored in the /config/suspense_reason_code object. If no /config/suspense_reason_code object is present, this module sets the suspense reason to O (other).

Dependencies

Requires a connection to the BRM database.

This module must be the last one in the pipeline.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-131 lists the FCT_Suspense registry entries.

Table 81-131 FCT_Suspense Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the BRM database.

Yes

LogTestResults

For standard recycling only.

Determines whether the results of test recycling are logged. If this entry is not present, the results are not logged. If set to True, the RecycleLog entry must also be present in the FCT_Suspense registry.

Default = False

See "pin_recycle".

No

RecycleLog

Specifies the log file parameters.

Yes, when LogTestResults is set to True.

RecycleLog.MessageFilePath

Specifies the path where the log file can find the message database.

Yes, when LogTestResults is set to True.

RecycleLog.MessageFilePrefix

Specifies the prefix for collecting the files from the message file path.

Yes, when LogTestResults is set to True.

RecycleLog.MessageFileSuffix

Specifies the suffix for collecting the files from the message file path.

Yes, when LogTestResults is set to True.

RecycleLog.FilePath

Specifies the path in which the log file is written.

Yes, when LogTestResults is set to True.

RecycleLog.FilePrefix

Specifies the prefix for the log file.

Yes, when LogTestResults is set to True.

RecycleLog.FileSuffix

Specifies the suffix for the log file.

Yes, when LogTestResults is set to True.

SuspenseCreateStream

Specifies the output stream for newly suspended EDRs.

Yes

SuspenseUpdateStream

Specifies the output stream for recycled EDRs.

Yes

Sample Registry

#---------------------------
# Suspense FCT
#---------------------------
Suspense
{
  ModuleName                 = FCT_Suspense
  Module
  {
    Active                   = True
    SuspenseCreateStream     = SuspenseCreateOutput
    SuspenseUpdateStream     = SuspenseUpdateOutput
    EdrFieldMap              = DETAIL.ASS_GSMW_EXT.PORT_NUMBER
    DataConnection           = ifw.DataPool.LoginInfranet
    LogTestResults           = True
    RecycleLog 
    { 
       MessageFilePath = ..
       MessageFilePrefix = Framework 
       MessageFileSuffix = msg 
       FilePath = ../tmp/log01 
       FilePrefix = rej_ 
       FileSuffix = .log 
    }
  }
}

Semaphore File Entries

Table 81-132 lists the FCT_Suspense file entry.

Table 81-132 FCT_Suspense Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Suspense.Module.Active = False 

EDR Container Fields

Table 81-133 lists the FCT_Suspense EDR container fields.

Table 81-133 FCT_Suspense EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

ERROR_CODE

DETAIL.ASS_SUSPENSE_EXT.ERROR_CODE

String

Write

The error code for the most severe error reported by the pipeline for the EDR.

SUSPENSE_REASON

DETAIL.ASS_SUSPENSE_EXT.SUSPENSE_REASON

String

Write

The suspense reason. Mapped from the error code. Used by Suspense Manager only. This field is set to 0 for standard recycling implementations.

SUSPENSE_SUBREASON

DETAIL.ASS_SUSPENSE_EXT.SUSPENSE_SUBREASON

String

Write

The suspense subreason. Mapped from the error code. Used by Suspense Manager only. This field is set to 0 for standard recycling implementations.

EDR_BUF

DETAIL.ASS_SUSPENSE_EXT.EDR_BUF

String

Write

A stored representation of the EDR container including fields overwritten and enriched by the pipeline.

EDR_SIZE

DETAIL.ASS_SUSPENSE_EXT.EDR_SIZE

Integer

Write

The size of DETAIL.ASS_SUSPENSE_EXT.EDR_BUF.

PROCESS_STATUS

DETAIL.INTERN_PROCESS_STATUS

Integer

Read

Indicates whether the EDR is being recycled or test recycled.

SUSPENSE_STATUS

DETAIL.ASS_SUSPENSE_EXT.SUSPENSE_STATUS

Integer

Write

Indicates whether the EDR is suspended or successfully recycled.

BATCH_ID

DETAIL.BATCH_ID

String

Write

Writes the batch ID from the header record, except during recycling.

BATCH_ID

HEADER.BATCH_ID

String

Read

Written during recycling.

FCT_Timer

The FCT_Timer module sets the timer ID for an EDR and stores a copy of the EDR when the original EDR is sent to the processing pipeline.

If an EDR times out, FCT_Timer sets the timeout flag to True and sends:

  • The original EDR with a timeout flag to the exception pipeline, which is the pipeline to which the original EDR is sent when it times out.

  • The duplicate EDR to the timeout pipeline, which is the pipeline to which the duplicate EDR is sent when it times out.

If the EDR is processed within the time limit, FCT_Timer sets the timeout flag to False.

FCT_Timer also handles heartbeat and keep-alive messages by automatically resetting the timer at the interval specified in the KeepAliveInterval registry entry when there is message traffic between the CM and the Intelligent Network (IN).

Dependencies

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-134 lists the FCT_Timer registry entries.

Table 81-134 FCT_Timer Registry Entries

Entry Description Mandatory

Active

Specifies whether the module is active or inactive

True = Active (default).

False = Inactive.

Yes

Threads

Specifies the number of threads running this module.

Default = 1.

Yes

Reactors

Specifies the number of reactor objects to use.

The reactors detect timeout events and then dispatch the events to the timer handler. The recommended number of reactors is from 1 to 5.

No

TimeoutQueue

Specifies the pipeline queue to which the duplicate EDR is sent when the EDR times out.

Yes

KeepAliveInterval

Specifies the idle timeout value in milliseconds, which specifies how long to wait before sending the original EDR to the exception pipeline.

Default = 3000.

Yes

Timeout

Specifies the idle timeout value in microseconds, which specifies how long to wait before sending the duplicate EDR to the timeout pipeline.

Default = 100000.

Yes

NoOpcodeNumbers

Specifies the number of the BRM opcode that prevents duplicate EDRs from being created. When the OPCODE_NUM EDR field is set to the specified number, the module does not create a duplicate EDR for the Timeout pipeline.

Opcode numbers are defined in header (*.h) files in the BRM_home/include/ops directory. BRM_home is the directory where you installed BRM components.

No

Sample Registry

Timer 
{
  ModuleName = FCT_Timer
   Module
  { 
   Active = TRUE
   Threads = 1 
   Reactors = 3
   TimeoutQueue = ifw.IPCQueues.TimeoutQueue
   KeepAliveInterval = 3000 ### milliseconds
   Timeout = 100000 ### microseconds
   NoOpcodeNumbers = 5000, 50001
   }
}

EDR Container Fields

FCT_Timer uses the EDR container fields listed in Table 81-135:

Table 81-135 FCT_Timer EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

TIMER_ID

DETAIL.TIMER_ID

Integer

Write

ID assigned to the EDR container's timer when FCT_SetTimer schedules it. This ID is required to cancel the timer.

CURRENT_TIME

DETAIL.CURRENT_TIME

Integer

Read

Current system time

TIMEOUT_OFFSET

DETAIL.TIMEOUT_OFFSET

Integer

Write

Offset from the current system time

OPCODE_NUM

DETAIL.OPCODE_NUM

Integer

Read

Specifies the number of the BRM opcode that performs the requested action. Opcode numbers are defined in header (*.h) files in the BRM_home/include/ops directory.

TIMEOUT_FLAG

DETAIL.TIMEOUT_FLAG

Integer

Write

Specifies whether the EDR has timed out:

  • 0 is False.

  • 1 is True.

SESSION_ID

DETAIL.SESSION_ID

String

Write

ID required to cancel the timer.

MILLISEC_TIME

DETAIL.MILLISEC_TIME

Integer

Read

The latency time in milliseconds.

FCT_TriggerBill

The FCT_TriggerBill module sends EDRs to the billing-trigger output stream to trigger immediate billing for the associated accounts. It also sets a billing-trigger error code used to route the EDRs to the suspense output stream, and the Trigger_Billing recycle key used to retrieve the suspended EDRs for recycling.

Dependencies

Configure the FCT_TriggerBill module to run before the FCT_MainRating module.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-136 lists the FCT_TriggerBill registry entries.

Table 81-136 FCT_TriggerBill Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive:

True = Active

False = Inactive

Yes

TriggerBillCreateStream

Specifies the billing-trigger output stream module.

Yes

Sample Registry

TriggerBill
{
   ModuleName = FCT_TriggerBill
   Module
   {
      Active = TRUE
      TriggerBillCreateStream = TriggerBillCreateOutput
   }
}

Semaphore File Entries

Table 81-137 lists the FCT_TriggerBill Semaphore file entry.

Table 81-137 FCT_TriggerBill Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

EDR Container Fields

Table 81-138 lists the FCT_TriggerBill EDR container fields.

Table 81-138 FCT_TriggerBill EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

ACTG_NEXT_DATE

DETAIL.CUST.A.ACTG_NEXT_DATE

String

Read

The date that the current monthly cycle ends. Used to determine the accounting cycle to which the EDR belongs.

BILL_STATE

DETAIL.CUST.A.BILL_STATE

String

Read

The billing state. Possible values are:

  • PIN_ACTG_CYCLE_OPEN (unbilled)

  • PIN_ACTG_CYCLE_CLOSED (billed)

CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

String

Read

The timestamp when the call started. Used to determine the accounting cycle to which the EDR belongs.

ERROR_CODE

DETAIL.ASS_SUSPENSE_EXT.ERROR_CODE

String

Write

Specifies the billing-trigger error code. Used to send the EDR to the suspense output stream.

RECYCLE_KEY

DETAIL.ASS_SUSPENSE_EXT.RECYCLE_KEY

String

Write

The key value that identifies the EDRs suspended for pipeline-triggered billing.

Set to Trigger_Billing when BILL_STATE is unbilled and ACTG_NEXT_DATE is passed.

UTC_TIME_OFFSET

DETAIL.UTC_TIME_OFFSET

X(5)

Read

The UTC time offset.

FCT_UoM_Map

The FCT_UoM_Map module converts the unit of measurement (UoM) of an incoming EDR to a UoM needed for rating a particular service.

Dependencies

Requires a connection to the Pipeline Manager database.

Must run after the FCT_ServiceCodeMap module, and before the rating modules.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-139 lists the FCT_UoM_Map registry entries.

Table 81-139 FCT_UoM_Map Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes

Mapping

Specifies the mapping rules.

Yes

Mapping.AssCBDServiceCode

Specifies the service code field in the associated charge breakdown records that is used for the mapping.

No

Mapping.InternServiceCode

Specifies the service code field in the basic detail block that is used for the mapping.

No

Sample Registry

UoM_Map 
{ 
  ModuleName = FCT_UoM_Map 
  Module 
  { 
    Active = True 
    DataConnection = integrate.DataPool.Login 
    Mapping 
    { 
      InternServiceCode = INTERN_SERVICE_CODE 
      AssCBDServiceCode = ASS_CBD_SERVICE_CODE 
    } 
  } 
}

Semaphore File Entries

Table 81-140 lists the FCT_UoM_Map Semaphore file entries.

Table 81-140 FCT_UoM_Map Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Reload

Reloads data from the database into memory.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.UoM_Map.Module.Active = False

EDR Container Fields

Table 81-141 lists the FCT_UoM_Map EDR container fields.

Table 81-141 FCT_UoM_Map EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code.

ASS_CBD_SERVICE_CODE

DETAIL.ASS_CBD.SERVICE_CODE

String

Read

Contains the charge breakdown service code.

DETAIL.ASSOCIATED_CHARGE.CHARGE_PACKET

ASS_CBD_CHARGE_PACKET

Struct

Read/Write

Contains charge packet data.

Database Interface

FCT_UoM_Map accesses the following database tables:

  • IFW_SERVICE. This table stores data about services and associated RUMs.

  • IFW_RUMGROUP_LNK. This table defines a list of RUM/UOM pairs with the RUM group value obtained from the IFW_SERVICE table.

  • IFW_UOM_MAP. This table maps a UoM to a basic detail or to an associated charge packet.

  • IFW_UOM. This table stores the UoMs for pipeline rating.

  • IFW_ALIAS_MAP. This table stores an alias name for each RUM and UoM.

FCT_UsageClassMap

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

Dependencies

Requires a connection to the Pipeline Manager database.

The FCT_UsageClassMap module is run before the zoning and rating modules.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-142 lists the FCT_UsageClassMap registry entries.

Table 81-142 FCT_UsageClassMap Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataConnection

Specifies the connection to the Pipeline Manager database.

Yes

MapGroup

Specifies the map group.

You can use this entry in a semaphore file.

Yes

OverwriteUsageClass

Specifies if the external usage class should be overwritten by the internal one. The default is to not overwrite the external usage class; if you map usage codes, you should enable this entry.

Default = False

No

OptimizeFor

Specifies if the module is configured to optimize memory consumption as well as pipeline startup time.

Memory = Optimizes memory consumption and pipeline startup time.

No memory optimization = Does not optimize memory consumption and pipeline startup time (the default).

Note

  • Enabling this entry might have an adverse impact on the number of call detail records (CDRs) processed in a specific time interval.

  • This entry is read only at pipeline start up. Its value cannot be changed by using a semaphore.

No

Sample Registry

UsageClassMapping
{
  ModuleName = FCT_UsageClassMap
  Module
  {
    Active = True
    DataConnection = ifw.DataPool.Database
    OverwriteUsageClass = False
    MapGroup = mapGroup0
    OptimizeFor = Memory
  }
}

Semaphore File Entries

Table 81-143 lists the FCT_UsageClassMap Semaphore file entries.

Table 81-143 FCT_UsageClassMap Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

MapGroup

Specifies the mapping rule set.

Reload

Reloads data from the database into memory.

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.UsageClassMap.Module.Reload {}
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.UsageClassMap.Module.MapGroup = 
ALL_RATE 

EDR Container Fields

The FCT_UsageClassMap module adds the internal usage class to the EDR. All other fields in Table 81-144 are used for mapping the usage class.

Table 81-144 FCT_UsageClassMap EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

BDR_RECORD_TYPE

DETAIL.RECORD_TYPE

String

Read

Contains the event record type.

USAGE_CLASS

DETAIL.USAGE_CLASS

String

Read

Contains the external usage class.

USAGE_TYPE

DETAIL.USAGE_CLASS

String

Read

Contains the external usage type.

WHOLESALE_IMPACT_CATEGORY

DETAIL.WHOLESALE_IMPACT_CATEGORY

String

Read

Contains the wholesale impact category.

TARIFF_CLASS

DETAIL.TARIFF_CLASS

String

Read

Contains the tariff class.

TARIFF_SUB_CLASS

DETAIL.TARIFF_SUB_CLASS

String

Read

Contains the tariff subclass.

INTERN_USAGE_CLASS

DETAIL.INTERN_USAGE_CLASS

String

Write

Contains the internal usage class.

CONNECT_TYPE

DETAIL.CONNECT_TYPE

String

Read

Contains the connection type.

CONNECT_SUB_TYPE

DETAIL.CONNECT_SUB_TYPE

String

Read

Contains the connection subtype.

APN_ADDRESS

DETAIL.ASS_GPRS_EXT.APN_ADDRESS

String

Read

Contains the GPRS APN type.

ACTION_CODE

DETAIL.ASS_GSMW_EXT.SS_PACKET.ACTION_CODE

String

Read

Contains the GSM SS packet action code.

SS_EVENT

DETAIL.ASS_GSMW_EXT.SS_PACKET.SS_EVENT

String

Read

Contains the GSM SS packet action event.

INTERN_C_NUMBER_ZONE

DETAIL.INTERN_C_NUMBER_ZONE

String

Read

Contains the internal normalized C number.

DETAIL.ASS_GPRS_EXT

ASS_GPRS

String

Read

Contains the GPRS extension.

DETAIL.ASS_GSMW_EXT.SS_PACKET

ASS_GSMW_SS_PACKET

String

Read

Contains the GSMW SS packet.

Database Tables

The FCT_UsageClassMap module uses the following database tables:

  • The IFW_USAGECLASS_MAP table maps external supplementary service codes in the EDR to internal usage classes.

  • The IFW_USAGECLASS table stores the usage classes that can be used as a result of usage class mapping.

  • The IFW_MAP_GROUP table stores the map groups used for usage class mapping.

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

FCT_USC_Map

The FCT_USC_Map module performs usage scenario mapping.

Dependencies

This module needs a connection to the DAT_USC_Map module.

This module must run after the following:

  • FCT_UsageClassMap

  • ISC_UsageType

  • FCT_PreRating

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-145 lists the FCT_USC_Map registry entries.

Table 81-145 FCT_USC_Map Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataModule

Specifies the connection to the DAT_USC_Map data module.

Yes

DefaultUSCGroup

Specifies the USC group that contains the mapping rules. If no matching rule is found, the FCT_USC_Map module uses the rule in the default USC map group.

You can use this entry in a semaphore file.

Yes

LogZoneModelNotFoundEntries

Specifies, if set to True, that all log entries in INF_NO_USC_MAPPING_ENTRY are logged into the Stream log.

The default value is False.

No

Mode

Specifies the mode in which USC mapping is done.

The Rating mode (the default) specifies that USC mapping is done using the zone model from the charge packets. Mapping in this mode provides the impact category for charge packets.

The Zoning mode specifies that USC mapping is done using the zone model from the EDR detail block. Mapping in this mode provides impact categories for the detail block.

Using the Zoning mode requires that the DETAIL.RETAIL_IMPACT_CATEGORY and DETAIL.WHOLESALE_IMPACT_CATEGORY fields are populated.

No

Sample Registry

USC_Mapping 
{ 
  ModuleName = FCT_USC_Map 
  Module 
  { 
    Active = True 
    DefaultUSCGroup = usc_group 
    DataModule = ifw.DataPool.USCDataModule 
  } 
} 

Semaphore File Entries

Table 81-146 lists the FCT_USC_Map Semaphore file entry.

Table 81-146 FCT_USC_Map Semaphore File Entry

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

Sample Semaphore File Entry

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.UsageScenarioMap.
Module.Active = True 

ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.UsageScenarioMap.
Module. DefaultUSCGroup  =  usc_group 

EDR Container Fields

Table 81-147 lists the FCT_USC_Map EDR container fields.

Table 81-147 FCT_USC_Map EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

String

Read

Contains the charging time stamp.

INTERN_SLA_USC_GROUP

DETAIL.INTERN_SLA_USC_GROUP

String

Read

Contains the internal USC group.

USAGE_TYPE

DETAIL.USAGE_TYPE

String

Read/Write

Contains the usage type code.

This field is updated only when the Mode registry entry is set to Zoning. It is not updated when the Mode entry is set to Rating.

RETAIL_IMPACT_CATEGORY

DETAIL.RETAIL_IMPACT_CATEGORY

String

Read/Write

Contains the retail impact category.

WHOLESALE_IMPACT_CATEGORY

DETAIL.WHOLESALE_IMPACT_CATEGORY

String

Read/Write

Contains the wholesale impact category.

WHOLESALE_CHARGED_AMOUNT_VALUE

DETAIL.WHOLESALE_CHARGED_AMOUNT_VALUE

String

Read

Contains the wholesale charged amount value.

IC_DESCRIPTION

DETAIL.IC_DESCRIPTION

String

Write

Contains the zone description for displaying on invoices.

IC_DESCRIPTION

DETAIL.ASS_CBD.CP.IC_DESCRIPTION

String

Write

Contains the zone description for displaying on invoices.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code.

INTERN_SERVICE_CLASS

DETAIL.INTERN_SERVICE_CLASS

String

Read

Contains the internal service class.

DURATION

DETAIL.DURATION

String

Read

Contains the duration of the event.

INTERN_USAGE_CLASS

DETAIL.INTERN_USAGE_CLASS

String

Read

Contains the internal usage class code.

BDR_INTERN_ZONE_MODEL

DETAIL.INTERN_ZONE_MODEL

String

Read

Contains the zone model.

RATEPLAN_TYPE

DETAIL.ASS_CBD.CP.RATEPLAN_TYPE

String

Read

Contains the charge breakdown record charge type.

ASS_CBD_INTERN_ZONE_MODEL

DETAIL.ASS_CBD.CP.INTERN_ZONE_MODEL

String

Read

Contains the charge breakdown record zone model.

ASS_CBD_IMPACT_CATEGORY

DETAIL.ASS_CBD.CP.IMPACT_CATEGORY

String

Read/Write

Contains the charge breakdown record impact category.

ASS_CBD_ZONE_ENTRY_NAME

DETAIL.ASS_CBD.CP.ZONE_ENTRY_NAME

String

Read

Contains the zone name used for the charge packet.

ZONE_ENTRY_NAME

DETAIL.ZONE_ENTRY_NAME

String

Read

Contains the zone name of the event.

Database Interface

The FCT_USC_Map module uses the following database tables:

  • IFW_USC_MAP. This table stores mapping rules for usage scenario maps.

  • IFW_USC_GROUP. This table stores USC group codes used for usage scenario mapping.

  • IFW_USAGETYPE. This table stores usage type codes used for usage scenario mapping.

Note:

For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".

FCT_Zone

The FCT_Zone module computes zones when you use Pipeline Manager only for zoning.

Dependencies

The FCT_Zone module requires a connection to the DAT_Zone module.

This module must run after FCT_Account.

For more information, see "Function Module Dependencies".

Registry Entries

Table 81-148 lists the FCT_Zone registry entries.

Table 81-148 FCT_Zone Registry Entries

Entry Description Mandatory

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

You can use this entry in a semaphore file.

Yes

DataModule

Specifies the connection to the DAT_Zone module.

Yes

EdrZoneModel

Specifies the zone model which should be used for the zoning.

You can use this entry in a semaphore file.

Yes

Sample Registry

Zoning 
{ 
  ModuleName = FCT_Zone 
  Module 
  { 
    Active = True 
    DataModule = ifw.DataPool.ZoneDataModule 
    EdrZoneModel = ZM_ADD 
  } 
}

Semaphore File Entries

Table 81-149 lists the FCT_Zone Semaphore file entries.

Table 81-149 FCT_Zone Semaphore File Entries

Entry Description

Active

Specifies if the module is active or inactive.

True = Active

False = Inactive

EdrZoneModel

Specifies the zone model which should be used for the zoning.

Sample Semaphore File Entry

ifw.Pipelines.Functions.Processing.FunctionPool.Zoning.Module.EdrZoneModel = D2_FUN

EDR Container Fields

Table 81-150 lists the FCT_Zone EDR container fields.

Table 81-150 FCT_Zone EDR Container Fields

Alias Field NameDefault Field Name Type Access Description

BDR_CHARGING_START_TIMESTAMP

DETAIL.CHARGING_START_TIMESTAMP

Date

Read

Contains the charging time stamp.

RETAIL_IMPACT_CATEGORY

DETAIL.RETAIL_IMPACT_CATEGORY

String

Write

Contains the retail impact category.

WHOLESALE_IMPACT_CATEGORY

DETAIL.WHOLESALE_IMPACT_CATEGORY

String

Write

Contains the wholesale impact category.

ZONE_DESCRIPTION

DETAIL.ZONE_DESCRIPTION

String

Write

Contains the zone description for displaying on invoices.

ZONE_ENTRY_NAME

DETAIL.ZONE_ENTRY_NAME

String

Write

Contains the destination description for displaying on invoices.

INTERN_SERVICE_CODE

DETAIL.INTERN_SERVICE_CODE

String

Read

Contains the internal service code.

INTERN_A_NUMBER_ZONE

DETAIL.INTERN_A_NUMBER_ZONE

String

Read

Contains the A number.

INTERN_B_NUMBER_ZONE

DETAIL.INTERN_B_NUMBER_ZONE

String

Read

Contains the B number.

BDR_INTERN_ZONE_MODEL

DETAIL.INTERN_ZONE_MODEL

Integer

Write

Contains the resulting zone model ID.

BDR_INTERN_APN_GROUP

DETAIL.INTERN_APN_GROUP

String

Write

Contains the zone model related APN_GROUP for use by the FCT_APN_Map module.