5 Implementing Suspense Handling for the ECE Cartridge Pack

This chapter describes how to implement the Oracle Communications Offline Mediation Controller suspense handling for the Oracle Communications Offline Mediation Controller Oracle Communications Elastic Charging Engine (ECE) Cartridge Pack.

Before reading this chapter, you should be familiar with:

  • Oracle Communications Billing and Revenue Management (BRM) suspense handling and the BRM suspense components outlined in "Integrating Offline Mediation Controller with BRM".

  • Offline Mediation Controller cartridge concepts and Node Programming Language (NPL).

  • The Offline Mediation Controller ECE Cartridge Pack. For more information, see Offline Mediation Controller Elastic Charging Engine Cartridge Pack User Guide.

About the Cartridges Used for Suspense Handling with the ECE Cartridge Pack

The following cartridges are used to implement Offline Mediation Controller suspense handling with the ECE cartridge pack:

  • ECE Distribution Cartridge (DC).

    The ECE DC receives the CDR input stream, which includes the ECE response record from Oracle Communications Billing and Revenue Management Elastic Charging Engine, and checks for CDR errors. If an error is detected, it is sent to a suspense directory. For more information, see "About the ECE Distribution Cartridge and Suspense Handling".

    For more information on the ECE DC, see Offline Mediation Controller Elastic Charging Engine Cartridge Pack User Guide.

  • Network Accounting Record (NAR) Collection Cartridge (CC).

    The NAR CC reads the suspended CDR input stream, error code, cartridge name, cartridge category, and (if the CDR is recycled) the suspense ID, from the suspense directory. The output is made available for the Suspense DC. For more information, see "About the Network Accounting Record Collection Cartridge and Suspense Handling".

  • Suspense Distribution Cartridge (DC).

    The Suspense DC receives suspended CDRs and generates Create or Update files in a format that is understood by Suspended Event (SE) Loader, which is a component of BRM. For more information on how to create and configure the Suspense DC, see "About the Suspense Distribution Cartridge".

  • Recycle AQ Job Collection Cartridge (CC).

    The Recycle AQ Job CC receives and parses the job ID message of the recycle request of suspended CDRs that are submitted for reprocessing from Suspense Management Center or the pin_recycle utility, which are components of BRM. For more information on how to create and configure the Recycle AQ Job CC, see "About the Recycle AQ Job Collection Cartridge".

  • Recycle Enhancement Processor Cartridge (EP).

    The Recycle EP uses the job ID message from the Recycle AQ Job CC to restore the recycled CDR for reprocessing by the ECE DC. For more information on how to create and configure the Recycle EP, see "About the Recycle Enhancement Processor Cartridge".

Suspense Handling Flow for the ECE Cartridge Pack

The following steps describe the Offline Mediation Controller suspense handling flow for the ECE cartridge pack:

  1. The CDR input stream enters the ECE DC node, where:

    • If no errors are detected, the ECE DC creates usage requests based on the input stream, which are submitted to ECE for rating.

    • If an error is detected, the CDR input stream, error code, cartridge name, cartridge category, and (if the CDR is recycled) the suspense ID are written to a suspended CDR file in the OMC_Home/suspense/node_ID directory, where OMC_Home is the directory in which Offline Mediation Controller is installed, and node_ID is the name of the ECE DC node that suspended the CDR.

  2. The NAR CC node receives the suspended CDR file from the suspense directory and its output is made available for the Suspense DC node.

  3. The Suspense DC node receives the suspended CDRs and generates Create or Update files in a format that is understood by SE Loader.

  4. The Create or Update files are received by the SE Loader application, which is used to load suspended events into /suspended_usage objects in the BRM database.

  5. The suspended CDR, which is in a suspended state, is fixed, submitted for recycling, and its status updated to Recycling in Suspense Management Center. For more information on the Suspense Management Center statuses, see the BRM documentation.

  6. The recycle request is sent to the Oracle AQ queue, by Suspense Management Center or the pin_recycle utility, which is a component of BRM.

  7. The Recycle AQ Job CC node receives and parses the job ID message of the recycle request.

  8. The Recycle EP node uses the job ID message from the Recycle AQ Job CC node to restore the recycled CDR for reprocessing in the ECE DC node.

  9. The ECE DC node reprocesses the recycled CDR, where:

    • If no more errors are detected:

      1. The recycled CDR is distributed to ECE for rating.

      2. The recycled CDR goes back to the Suspense DC node, which changes the status to a succeeded state, and generates an Update file for the SE Loader.

    • If more errors are detected:

      1. The recycled CDR is sent back to the suspense directory.

      2. The NAR CC node receives the recycled CDR file from the suspense directory and its output is made available for the Suspense DC node.

      3. The Suspense DC node receives the recycled CDR, which changes the status to a suspended state and generates an Update file for the SE Loader.

      The recycled CDR continues through the Offline Mediation Controller suspense handling flow, until either it is removed (Written off) by Suspense Management Center, or it is successful (Succeeded).

Figure 5-1 shows the Offline Mediation Controller suspense handling flow for the ECE cartridge pack.

Figure 5-1 ECE Cartridge Pack Suspense Handling Flow

Description of Figure 5-1 follows
Description of "Figure 5-1 ECE Cartridge Pack Suspense Handling Flow"

About the ECE Distribution Cartridge and Suspense Handling

The ECE DC receives the CDR input stream and reports CDR errors using the Offline Mediation Controller error codes. If an error is detected the suspended CDR is sent to the suspense directory.

Offline Mediation Controller error codes can be found in the OMC_Home/config/nodemgr/ocomc_errorcodes.xml file, where OMC_Home is the directory in which Offline Mediation Controller is installed. For more information, see "About Offline Mediation Controller Error Codes".

For more information on how to configure the ECE DC node to detect errors, see "Configuring Cartridges to Detect and Suspend Failed CDRs".

Creating an ECE DC Node for Suspense Handling

To create an ECE DC node for suspense handling:

  1. Log on to Administration Client.

    The Node Hosts & Nodes (logical view) screen appears.

  2. In the Mediation Hosts table, select a host on which to create an ECE DC node.

  3. In the Nodes on Mediation Host section, click New.

    The Create a Node dialog box appears.

  4. Select the Wireless service solution option and click Next.

  5. Select Distribution Cartridge (DC) and click Next.

  6. Select OCECE and click Finish.

    The New Node dialog box appears.

  7. In the Name field, enter a name for the node.

  8. From the Rule File list, select a rule file that matches your input data and apply changes where applicable.

  9. In the Node Configuration section, select each tab and configure your nodes settings.

    For more information on the ECE DC node tabs and their fields, see Offline Mediation Controller Elastic Charging Engine Cartridge Pack User Guide.

  10. Click Save, which saves the node.

Configuring the ECE DC Node Configuration Tabs for Suspense Handling

The ECE DC node contains the following tabs to configure for suspense handling:

Configuring Suspense Settings for the ECE DC Node

To configure suspense settings for the ECE DC node:

  1. Verify the node is open.

  2. In the Node Configuration section, click the OCECE Configuration tab.

  3. In the Max records per suspense file field, enter the number of records that can be added to the suspended CDR file before the file is closed. When the file contains the maximum number of records, it is moved into the OMC_Home/suspense/node_ID directory for suspense handling.

  4. Select the Output bad records as NAR check box to generate suspended CDRs in NAR format.

  5. Click Save.

About the Network Accounting Record Collection Cartridge and Suspense Handling

The NAR CC reads the suspended CDR input stream, error code, cartridge name, cartridge category, and (if the CDR is recycled) the suspense ID from the suspense directory. The output is made available for the Suspense DC.

Creating a NAR CC Node for Suspense Handling

To create a NAR CC node for suspense handling:

  1. Log on to Administration Client.

    The Node Hosts & Nodes (logical view) screen appears.

  2. In the Mediation Hosts table, select a host on which to create a NAR CC node.

  3. In the Nodes on Mediation Host section, click New.

    The Create a Node dialog box appears.

  4. Select the Cartridge Kit service solution option and click Next.

  5. Select Collection Cartridge (CC) and click Next.

  6. Select Network Accounting Record Collection Cartridge and click Finish.

    The New Node dialog box appears.

  7. In the Name field, enter a name for the node.

  8. From the Rule File list, select one of the following node programming language (NPL) rule files that matches your input data and apply changes where applicable:

    • For an NPL rule file that reads ECE DC suspended records for ASCII CDRs, select ECEDC suspended ascii NAR input.

    • For an NPL rule file that reads ECE DC suspended records for IMS CDRs, select ECEDC suspended IMS NAR input.

    • For an NPL rule file that reads ECE DC suspended records for SGSN CDRs, select ECEDC suspended SGSN NAR input.

    • For specific business requirements, select New.

    For more information on the NPL rule file mappings for the NAR CC node, see "NPL Rule File Mappings for the NAR CC Node".

  9. In the Node Configuration section, select each tab and configure your node's settings.

  10. Click Save, which saves the node.

Configuring the NAR CC Node Configuration Tabs for Suspense Handling

The NAR CC node contains the following tabs to configure for suspense handling:

Configuring Suspended CDR Location Settings for the NAR CC Node

To configure suspended CDR location settings for the NAR CC node:

  1. Verify the node is open.

  2. In the Node Configuration section, click the File Location tab.

  3. Select the Files are pushed to this node option, which enables the data protocol to push data to the NAR CC node.

  4. In the File Parse Delay field, enter the time in seconds, minutes, or hours that the node waits before checking for new files to process.

  5. In the Local Directory field, enter the path and name of the directory that contains the suspended CDR file as follows, OMC_Home/suspense/node_ID.

  6. In the Local File suffix field, enter .archive, which is the suffix name used for suspense handling.

  7. Select one of the following options:

    • To keep CDR files after processing, select Keep Track of Processed Files?.

    • To delete CDR files after processing, select Delete Files After Processing?.

  8. Click Save.

NPL Rule File Mappings for the NAR CC Node

The NAR CC node uses the NPL rule file primarily to map the input stream, error code, cartridge name, cartridge category, and (if the CDR is recycled) the suspense ID to the output stream.

For specific business requirements other rules can be set. For more information about NPL rule files, see Offline Mediation Controller Cartridge Development Kit NPL Reference Guide.

Java hooks for suspense handling allow you to call Java methods from the NPL rule file. For more information on the Java hooks available for suspense handling, see "Working with Suspense Java Hooks in NPL". For more information on using Java hooks with NPL rule files, see the discussion on Java hooks in Offline Mediation Controller Cartridge Development Kit NPL Reference Guide.

About Offline Mediation Controller Error Codes

You incorporate error codes for CDR errors that you want to detect into your node. Error codes are mapped to suspense reasons and subreasons in the Create and Update output files by the Suspense DC. You can search for suspended event CDRs and batch CDR files using the error, reason and subreason codes in Suspense Management Center.

The Offline Mediation Controller error codes are specific to Offline Mediation Controller and inform Suspense Manager, which is a component of BRM, that the suspended CDR comes from Offline Mediation Controller. The Offline Mediation Controller error codes are stored in the OMC_Home/config/nodemgr/ocomc_errorcodes.xml file.

For more information, see "Determining Your CDR Errors and Error Codes".

Configuring New Offline Mediation Controller Error Codes for Suspended CDRs

To configure new Offline Mediation Controller error codes for suspended CDRs:

  1. Stop Node Manager.

  2. Go to the OMC_Home/config/nodemgr directory, where OMC_Home is the directory in which Offline Mediation Controller is installed.

  3. Open the ocomc_errorcodes.xml file in a text editor.

  4. Add suspended error codes according to your specific business requirements by using the following XML format:

    <OCOMCErrorCodes>
    <error id="1">
    <code>60001</code>
    <message>CANCEL_NOT_ALLOWED</message>
    <ReasonCode>13</ReasonCode>
    <SubReasonCode>0</SubReasonCode>
    </error>
    </OCOMCErrorCodes>
      
    
  5. Save and close the file.

  6. Restart Node Manager.

Important:

Any new Offline Mediation Controller error codes must be:
  1. Added in the BRM_Home/sys/data/config/pin_suspense_reason_code and the BRM_Home/sys/msgs/suspense_reason_code/suspense_reason_code.en_US files.

  2. Loaded into the BRM database using the load_pin_suspense_reason_code and load_localized_strings utilities, which are components of BRM.

For more information, see the discussion on changing reasons and subreasons in the BRM documentation.

Working with the Offline Mediation Controller Error Code API

The OCOMCErrorCode Java API is used to access the errors defined in the ocomc_errorcodes.xml file. The following methods can be used:

  • OCOMCErrorCode.get(String errorMsg), this method will return the error code associated with the error message.

  • public static synchronized OCOMCError getError(String errorMessage), this method will return an instance of the OCOMCError object, which contains all the fields associated with the error.

Note:

You do not need to create an instance of the OCOMCErrorCode class. Node Manager will add the class when it has been restarted.