4 Creating and Configuring the Suspense and Recycle Cartridges

This chapter describes how to create and configure Oracle Communications Offline Mediation Controller suspense and recycle cartridges for suspense handling of call detail records (CDRs).

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).

About the Suspense and Recycle Cartridges

Offline Mediation Controller suspense handling is used for failed event or batch CDRs, where:

  • An event action processes individual CDRs.

  • A batch action processes a file that contains a collection of CDRs.

The following cartridges are used for both event and batch suspense handling:

  • Suspense Distribution Cartridge (DC).

    The Suspense DC receives suspended CDRs or information on suspended batch CDR files, and generates Create and Update files in a format that is understood by Suspended Event (SE) Loader, or Suspended Batch (SB) Loader, which are components 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 the suspended event or batch 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 or the resubmitted batch CDR for reprocessing or resubmission in Offline Mediation Controller. For more information on how to create and configure the Recycle EP, see "About the Recycle Enhancement Processor Cartridge".

About the Suspense Distribution Cartridge

The Suspense DC does the following for event suspended CDRs:

  1. Receives the suspended CDR input stream, error code, cartridge name, cartridge category, and (if the CDR is recycled) the suspense ID.

    Where:

    • suspended CDR input streams refers to the CDR input sent to the node that detected the error.

    • error code refers to the DETAIL:ASS_SUSPENSE_EXT:ERROR_CODE field.

    • cartridge name refers to the DETAIL:ASS_SUSPENSE_EXT:PIPELINE_NAME field.

    • cartridge category refers to the DETAIL:ASS_SUSPENSE_EXT:PIPELINE_CATEGORY field.

    • suspense ID refers to DETAIL:ASS_SUSPENSE_EXT:SUSPENSE_ID field.

    For a full list of Offline Mediation Controller suspense fields, see "Suspense Fields".

  2. Serializes the suspended CDR with event data record (EDR) field mapping where applicable, into XML format.

    Note:

    When EDR field mapping is configured, serialization reduces the length of the EDR fields by replacing the EDR name with an ID. For more information on EDR field mapping, see "Integrating EDR Field Mapping".
  3. Maps reason and subreason codes, which are based on error codes.

  4. Generates Create (new suspended CDR) or Update (recycled suspended CDR) files in a format that is understood by SE Loader. For a full list of the Create and Update record type fields, see "Suspense DC Event Output".

    The format of the Create file consists of four record types:

    • 010 record type, which contains information such as, the CDR's record number, sender, and the time of creation.

    • 020 record type, which contains information such as, the suspense reason code, suspense subreason code, error code, cartridge name and cartridge category.

    • 030 record type, which contains the suspended CDR in a specialized BRM XML format, which is used by Suspense Management Center to correct and recycle the suspended CDR.

    • 040 record type, which contains the values of queryable fields. For more information on queryable fields, see "About Queryable Fields".

    The format of the Update file consists of two record types:

    • 010 record type, which contains information such as, the time of creation and the event type.

    • 020 record type, which contains information such as, the suspense reason code, suspense subreason code, error code, suspense ID, and status.

For more information on batch suspense handling by the Suspense DC, see "About the Suspense DC for Batch Mode".

Creating a Suspense Distribution Cartridge Node

To create a Suspense DC node:

  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 the Suspense DC node.

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

    The Create a Node dialog box appears.

  4. Select Cartridge Kit and click Next.

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

  6. Select Suspense Distribution 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 a NPL rule file that contains no field mapping and that can be used as a template, select Generic.

    • For a NPL rule file that contains ASCII and EDR field mapping, select ASCIIEdr.

    • For a NPL rule file that contains ASN and EDR field mapping, select ASNEdr.

    • For a NPL rule file that contains IMS input to output and selected IMS and EDR field mapping, select IMS.

    • For a NPL rule file that contains IMS and EDR field mapping, select IMSEdr.

    • For specific business requirements, select New.

    For instructions on how to configure a NPL rule file for the Suspense DC node, see "Configuring the NPL Rule File for the Suspense DC Node".

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

    For more information on the Suspense DC node tabs and their fields, see "About the Suspense DC Node Configuration Tabs".

  10. Click Save, which saves the node.

About the Suspense DC Node Configuration Tabs

The Suspense DC node contains the following tabs:

Configuring General Information Settings for the Suspense DC Node

To configure general information settings for the Suspense DC node:

  1. Verify the node is open.

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

  3. From the Debug list, select the level of debugging detail for the node's log file as follows:

    • To generate all Critical, Major, Minor, Warning, Informational, and Trace logs, select OFF.

    • To generate all Critical, Major, Minor, Warning, Informational, Trace logs, and if a Java exception occurs, generates a Java Stack Trace for the exception object, select ON.

  4. In the Max Log File Size field, enter the maximum size, in bytes, for the log file. The minimum value is 50000 bytes and the maximum value is 2 gigabytes.

    This field allows you to control the size of the log file, before the node closes the file and opens a new one.

  5. If you require the statistics reporting feature, select the Enable Statistics check box.

  6. If you require bulk reading and writing of network accounting record (NAR) files, select the Enable bulk read/write check box.

    The bulk reading and writing function:

    • Reads and stores each intermediate NAR file as a whole into memory for processing by the respective node.

    • Writes the NAR output file as a whole into memory, until either the maximum number of NARs for a file is reached or the idle write time has expired, before writing the output data to a cache file.

  7. In the Read Timer field, enter the amount of time, in seconds, that the node waits before checking for incoming data. The minimum value is 1 and the maximum value is 3600.

  8. If you require the node to backup each processed NAR file, select the Backup NAR Files check box.

    Offline Mediation Controller keeps the NAR files in the backup directory for the period of time you specify in the NAR File Retention Period field.

  9. In the NAR File Retention Period field, enter the number of days to retain the backup NAR files.

  10. If you require the node to monitor the input stream of records and trigger an alarm if there is no input for the set interval specified in the Interval field, select the Input Stream Monitoring check box.

    The node will clear the alarm when it begins to receive records again.

  11. In the Interval field, enter a time, in days, hours, or minutes that the node waits for new records before the node raises an alarm.

  12. Click Save.

Configuring the Create File Output Settings for the Suspense DC Node

To configure the Create file output settings for the Suspense DC node:

  1. Verify the node is open.

  2. In the Node Configuration section, click the Create File Output tab.

  3. In the Output Directory field, enter the directory name where Offline Mediation Controller stores the Create files produced by the Suspense DC node.

  4. In the File Name field, enter the prefix for the Create output file.

  5. In the Current File Extension field, enter the file extension of the preprocessed file.

  6. In the Processed File Extension field, enter the file extension of the processed file.

  7. From the Output Push Time Unit list:

    • To close the file when the size reaches the number of records entered in the Max Records Per File field, select NONE.

    • To close the file after an amount of time, select a time unit.

  8. In the Output Push Time Period field, enter the duration of time, that the node waits before closing a file and creating a new file.

    The time unit you selected in the Output Push Time Unit list dictates the minimum and maximum values. For example, if you selected minutes, the minimum is 1 and the maximum is 60.

  9. In the Max Records Per File field, enter the maximum number of records that can be entered into an output file before it is closed. The minimum value is 1 and the maximum value is 200000.

  10. Click Save.

Configuring the Update File Output Settings for the Suspense DC Node

To configure the Update file output settings for the Suspense DC node:

  1. Verify the node is open.

  2. In the Node Configuration section, click the Update File Output tab.

  3. In the Output Directory field, enter the directory name where Offline Mediation Controller stores the Update files produced by the Suspense DC node.

  4. In the File Name field, enter the prefix for the Update output file.

  5. In the Current File Extension field, enter the file extension of the preprocessed file.

  6. In the Processed File Extension field, enter the file extension of the processed file.

  7. From the Output Push Time Unit list:

    • To close the file when the size reaches the number of records entered in the Max Records Per File field, select NONE.

    • To close the file after an amount of time, select a time unit.

  8. In the Output Push Time Period field, enter the duration of time, that the node waits before closing a file and creating a new file.

    The time unit you selected in the Output Push Time Unit list dictates the minimum and maximum values. For example, if you selected minutes, the minimum is 1 and the maximum is 60.

  9. In the Max Records Per File field, enter the maximum number of records that can be entered into an updated output file before it is closed. The minimum value is 1 and the maximum value is 200000.

  10. Click Save.

Configuring JDBC Settings for the Suspense DC Node

To configure JDBC settings for the Suspense DC node:

  1. Verify the node is open.

  2. In the Node Configuration section, click the Database Info tab.

  3. In the Batch Size field, enter the number of records to retrieve from the Oracle database for each read operation.

  4. In the User field, enter a valid username for accessing the Oracle database.

  5. In the Password field, enter the password for the username.

  6. In the Verify Password field, re-enter the password used in the Password field, which verifies that the password value was entered correctly.

  7. In the Host field, enter the Oracle database server host name or IP address.

  8. In the Port field, enter the listener port number used to communicate with the database server. The number must be a positive integer.

  9. In the SID field, enter the system ID for the database server.

  10. Click Save.

Configuring Batch and Event Settings for the Suspense DC Node

To configure batch and event settings for the Suspense DC node:

  1. Verify the node is open.

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

  3. In the Default Source Node field, enter a designated name for the cartridge that suspended the CDR. If the Suspense DC node cannot find the name of the cartridge in the suspended CDR, this name is used.

  4. In the Default Category field, enter a designated category name. This can be the name for a group of cartridges that suspend CDRs. If the Suspense DC node cannot find a category name in the suspended CDR, this name is used.

  5. If your Suspense DC node is configured for suspended batch records, select the Suspended Batch Mode check box. For more information on suspended batch records, see "Working with Suspense Handling in Batch Mode".

  6. (Optional) In the EDR Field Mapping Name field, enter a valid EDR field mapping name. The value refers to the EDR_FIELD_MAPPING_T.NAME. For more information on EDR field mapping and locating the EDR field mapping name, see "About EDR Field Mapping".

  7. If your Suspense DC node is configured for suspended event records, in the Create Event Type field, enter the storable class name for the suspended CDR.

  8. If your Suspense DC node is configured for suspended event records, in the Update Event Type field, enter the storable class name for the recycled CDR.

  9. If your Suspense DC node is configured for suspended batch records, in the Storable Class field, enter the storable class name for the suspended batch CDR.

  10. Click Save.

Configuring the NPL Rule File for the Suspense DC Node

The Suspense DC node uses the NPL rule file primarily to set the configuration values for JDBC and queryable tables, and to map the fields for the queryable tables.

To configure the NPL rule file for the Suspense DC node:

  1. Verify the node is open.

  2. From the Rule File list, select one of the sample NPL rule files, or select New.

    For a list of sample NPL rule files available, see "Creating a Suspense Distribution Cartridge Node".

  3. Click Edit.

    The NPL Editor dialog box appears.

  4. Enter a configuration clause and configuration values to set JDBC and your queryable tables:

    Config {
    JDBCDriver "JDBC_Driver";
    JDBCUrl "JDBC_URL";
    QueryableTables "Table_name1,Table_name2,..";
    }
      
    

    where:

    • JDBC_Driver, defines the JDBC driver.

    • JDBC_URL, defines the JDBC URL and includes the JDBC host, port and SID tokens, whose values are configured in the Database Info configuration tab of the Suspense DC node.

    • Table_name is a list of tables (separated by a comma) that contain the columns for queryable fields. These tables must exist in the BRM database.

    For example:

    Config {
    JDBCDriver "oracle.jdbc.driver.OracleDriver";
    JDBCUrl "jdbc:oracle:thin:@%DBHOST%:%DBPORT%:%DBSID%";
    QueryableTables "SUSP_USAGE_TELCO_INFO_T,SUSP_USAGE_TELCO_GSM_INFO_T";
    }
      
    
  5. Enter an Expose for clause and mapping for the queryable table fields:

    Expose for Table_name {
      out.CDR_field_name "Column_name";
    }
      
    

    where:

    • Table_name is the name of a table that you provided in the QueryableTables configuration clause.

    • CDR_field_name is the name of a CDR field, which must be declared in the NPL rule file.

    • Column_name is the name of a column that must exist in the Table_name table.

      For example:

      Expose for SUSP_USAGE_TELCO_INFO_T{
        out.DETAIL:VOLUME_RECEIVED "BYTES_IN";
        out.DETAIL:VOLUME_SENT "BYTES_OUT";
        out.DETAIL:B_NUMBER "CALLED_TO";
        out.DETAIL:A_NUMBER "CALLING_FROM";
        out.DETAIL:DURATION "CALL_DURATION";
        out.DETAIL:A_NUMBER "PRIMARY_MSID";
        out.DETAIL:BASIC_SERVICE "SERVICE_TYPE";
        out.DETAIL:CHARGING_START_TIMESTAMP "START_TIME";
        out.DETAIL:USAGE_TYPE "USAGE_TYPE";
      }
        
      

      For more information on queryable fields, see "About Queryable Fields".

  6. According to your business requirements, continue to apply edits to the NPL rule file.

  7. When you have finished making changes, from the File menu, select Save.

    The Save As... dialog box appears.

  8. In the Display Name field, enter a new GUI display name for the NPL rule file.

  9. In the Rules File Name field, enter a new NPL rule file name.

  10. Click Save.

  11. To close the NPL Editor dialog box, from the File menu, select Exit.

  12. From the Rule File list, verify your NPL rule file is in the list, and select it.

  13. Click Save.

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 Queryable Fields

A queryable field corresponds to a column in an existing table in the BRM database. Suspense Management Center allows you to:

  • Search for suspended CDRs based on values in queryable fields and displays those values in your search results.

  • Analyze and correct queryable fields in suspended CDRs.

For more information on queryable fields, see the discussion on selecting a list of queryable EDR fields in the BRM documentation.

Once you have decided on what queryable fields to use in your implementation, in the Suspense DC NPL rule file, set the configuration values and map the queryable fields for your queryable tables. For more information, see "Configuring the NPL Rule File for the Suspense DC Node".

The output mapping for queryable fields are in the record type 010 of the Create output file. For more information, see "Suspense DC Event Output".

The Create format consists of a list of editable table names and corresponding column names as follows:

Table_name{Column_name:Data_type;Column_name:Data_type;....}
Table_name{Column_name:Data_type;....}
   

where:

  • Table_name is the name of a table that must exist in the BRM database.

  • Column_name is the name of a column that must exist in the Table_name table.

  • Data_type is determined by the EDR field mapping for the CDR field. If EDR field mapping is not used then the CDR field type is used.

For example:

SUSP_USAGE_TELCO_GSM_INFO_T{CELL_ID:STRING;DESTINATION_SID:STRING;
DIALED_NUMBER:STRING;ORIGIN_SID:STRING;SECONDARY_MSID:STRING}
SUSP_USAGE_TELCO_INFO_T{BYTES_IN:DECIMAL;BYTES_OUT:DECIMAL;CALLED_TO:STRING;
CALLING_FROM:STRING;CALL_DURATION:DECIMAL;PRIMARY_MSID:STRING;
SERVICE_TYPE:STRING;START_TIME:DATE;USAGE_TYPE:STRING}
  

For more information on queryable fields, see the BRM documentation.

About EDR Field Mapping

Note:

Oracle recommends EDR field mapping if you use Suspense Manager.

In Offline Mediation Controller, the NPL rules for a cartridge allows values from the fields in the input stream to be assigned to the fields in the output stream, which are sent to the downstream cartridges or external medium for processing.

The Suspense DC node serializes the CDR based on the output field names from the NPL mapping. Shorter designations may be used in place of the output field names by using EDR field mapping, which reduces the length of field names by replacing the field name with an ID. Whatever mapping is defined in the Suspense DC node, the reverse is required for the Recycle EP node.

The EDR Field Mapping Name field in the Mode tab of the Suspense DC node, refers to the database EDR_FIELD_MAPPING_T.NAME and the EDR field mapping is stored in the EDR_FLD_MAP_BUF_T table. Both tables are installed during a BRM installation or when you run the load_edr_field_mapping utility. Before using EDR field mapping, verify that these tables exists.

An EDR field mapping XML file is loaded into the database during installation of Suspense Manager. You use the load_edr_field_mapping utility, a BRM component, to add or modify existing EDR field names and load new versions of the EDR field mapping XML file.

For more information on the load_edr_field_mapping utility and EDR field mapping, see "Integrating EDR Field Mapping" and the BRM documentation.

About the Recycle AQ Job Collection Cartridge

The Recycle AQ Job CC does the following:

  1. Polls and checks the Oracle AQ queue for recycle request notifications.

  2. Retrieves the job ID message information contained within the Oracle AQ event message.

  3. Parses the job ID message.

  4. Outputs the job ID message.

For more information on batch suspense handling by the Recycle AQ Job CC, see "About the Recycle AQ Job CC for Batch Mode".

For more information on working with the Oracle AQ queue message processing, see the discussion on the account synchronization DM in the BRM documentation.

Creating a Recycle AQ Job Collection Cartridge Node

To create a Recycle AQ Job CC node:

  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 the Recycle AQ Job CC node.

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

    The Create a Node dialog box appears.

  4. Select Cartridge Kit and click Next.

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

  6. Select Recycle AQ Job 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 the RecycleAQJob rule file.

    For instructions on how to configure a NPL rule file for the Recycle AQ Job CC node, see "Configuring the NPL Rule File for the Recycle AQ Job CC Node".

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

    For more information on the Recycle AQ Job CC node tabs and their fields, see "About the Recycle AQ Job CC Node Configuration Tabs".

  10. Click Save, which saves the node.

About the Recycle AQ Job CC Node Configuration Tabs

The Recycle AQ Job CC node contains the following tabs:

Configuring General Information Settings for the Recycle AQ Job CC Node

To configure general information settings for the Recycle AQ Job CC node:

  1. Verify the node is open.

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

  3. From the Debug list, select the level of debugging detail for the node's log file as follows:

    • To generate all Critical, Major, Minor, Warning, Informational, and Trace logs, select OFF.

    • To generate all Critical, Major, Minor, Warning, Informational, Trace logs, and if a Java exception occurs, generates a Java Stack Trace for the exception object, select ON.

  4. In the Max Log File Size field, enter the maximum size, in bytes, for the log file. The minimum value is 50000 and the maximum value is 2 gigabytes.

    This field, allows you to control the size of the log file, before the node closes the file and opens a new one.

  5. If you require the statistics reporting feature, select the Enable Statistics check box.

  6. If you require bulk reading and writing of NAR files, select the Enable bulk read/write check box.

    The bulk reading and writing function:

    • Reads and stores each intermediate NAR file as a whole into memory for processing by the respective node.

    • Writes the NAR output file as a whole into memory, until either the maximum number of NARs for a file is reached or the idle write time has expired, before writing the output data to a cache file.

  7. In the NARs Per File field, enter the maximum number of NARs you require in an output file. The minimum value is 1 and the maximum value is 10000.

  8. In the Idle Write Time field, enter the number of seconds the node waits before transferring the NAR file to the input directory of the destination node, whether or not it has reached its maximum size. The minimum value is 1 and the maximum value is 3600.

  9. Click Save.

Configuring JDBC Settings for the Recycle AQ Job CC Node

To configure JDBC settings for the Recycle AQ Job CC node:

  1. Verify the node is open.

  2. In the Node Configuration section, click the Database Info tab.

  3. In the Batch Size field, enter the number of records to retrieve from the Oracle database for each read operation.

  4. In the User field, enter a valid username for accessing the Oracle database.

  5. In the Password field, enter the password for the username.

  6. In the Verify Password field, re-enter the password used in the Password field, which verifies that the password value was entered correctly.

  7. In the Host field, enter the Oracle database server host name or IP address.

  8. In the Port field, enter the listener port number used to communicate with the database server. The number must be a positive integer.

  9. In the SID field, enter the system ID for the database server.

  10. Click Save.

Configuring Dequeuing Settings for the Recycle AQ Job CC Node

To configure dequeuing settings for the Recycle AQ Job CC node:

  1. Verify the node is open.

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

  3. In the Queue field, enter the name of the queue, from which the Recycle AQ Job CC node dequeues the job ID message. For more information on Oracle AQ queues see "About Oracle AQ Messaging for Suspense Handling" and the BRM documentation.

  4. In the Event field, enter the name of the event that is used to dequeue messages as follows:

    • For suspended event CDRs, enter RecycleRequest.

    • For suspended batch CDRs, enter ResubmitBatchRequest.

  5. If you require polling of the dequeue operation, select the Enable Polling option. By default, the enqueue notification starts the dequeue operation of the message if it matches the configured event entered in the Event field.

  6. In the Polling Interval field, enter the time, in days, hours, or minutes, that the node waits before checking for the message to dequeue.

  7. Click Save.

Configuring the NPL Rule File for the Recycle AQ Job CC Node

The Recycle AQ Job CC node uses the NPL rule file primarily to set the configuration values for JDBC.

To configure the NPL rule file for the Recycle AQ Job CC node:

  1. Verify the node is open.

  2. From the Rule File list, select New.

    For a list of sample NPL rule files available, see "Creating a Recycle AQ Job Collection Cartridge Node".

  3. Click Edit.

    The NPL Editor dialog box appears.

  4. Enter a configuration clause and configuration values to set JDBC:

    Config {
    JDBCDriver "JDBC_Driver";
    JDBCUrl "JDBC_URL";
    }
      
    

    where:

    • JDBC_Driver, defines the JDBC driver.

    • JDBC_URL, defines the JDBC URL and includes the JDBC host, port and SID tokens, whose values are configured in the Database Info configuration tab of the Recycle AQ Job CC node.

    For example:

    Config {
    JDBCDriver "oracle.jdbc.driver.OracleDriver";
    JDBCUrl "jdbc:oracle:thin:@%DBHOST%:%DBPORT%:%DBSID%";
    }
      
    
  5. According to your business requirements, continue to apply edits to the NPL rule file.

  6. When you have finished making changes, from the File menu, select Save.

    The Save As... dialog box appears.

  7. In the Display Name field, enter a new GUI display name for the NPL rule file.

  8. In the Rules File Name field, enter a new NPL rule file name.

  9. Click Save.

  10. To close the NPL Editor dialog box, from the File menu, select Exit.

  11. From the Rule File list, verify your NPL rule file is in the list, and select it.

  12. Click Save.

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 the Recycle Enhancement Processor Cartridge

The Recycle EP does the following for event suspended CDRs:

  1. Retrieves the recycled CDR based on the SQL statements stored in the detail SQL and header SQL files.

  2. De-serializes the BRM XML for recycled CDRs with EDR field mapping, where applicable.

  3. Applies edit changes to the restored CDR.

For more information on batch suspense handling by the Recycled EP, see "About the Recycle EP for Batch Mode".

Creating a Recycle Enhancement Processor Cartridge Node

To create a Recycle EP node:

  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 the Recycle EP node.

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

    The Create Node dialog box appears.

  4. Select Cartridge Kit and click Next.

  5. Select Enhancement Processor (EP) and click Next.

  6. Select Recycle EP 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 NPL rule files that matches your input data and apply changes where applicable:

    • For a NPL rule file that contains no field mapping and that can be used as a template, select Generic.

    • For a NPL rule file that contains ASCII and EDR reverse mapping, select ASCIIEdr.

    • For a NPL rule file that contains ASN and EDR reverse mapping, select ASNEdr.

    • For a NPL rule file that contains the restored IMS and selected IMS and EDR reverse mapping, select IMS.

    • For a NPL rule file that contains IMS and EDR reverse mapping, select IMSEdr.

    • For a NPL rule file to restore batch CDR files, select Batch.

    • For specific business requirements, select New

    For instructions on how to configure a NPL rule file for the Recycle EP node, see "Configuring the NPL Rule File for the Recycle EP Node".

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

    For more information on the Recycle EP node tabs and their fields, see "About the Recycle Enhancement Processor Cartridge Node Configuration Tabs".

  10. Click Save, which saves the node.

About the Recycle Enhancement Processor Cartridge Node Configuration Tabs

The Recycle EP node contains the following tabs:

Configuring General Information Settings for the Recycle EP Node

To configure general information settings for the Recycle EP node:

  1. Verify the node is open.

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

  3. From the Debug list, select the level of debugging detail for the node's log file as follows:

    • To generate all Critical, Major, Minor, Warning, Informational, and Trace logs, select OFF.

    • To generate all Critical, Major, Minor, Warning, Informational, Trace logs, and if a Java exception occurs, generates a Java Stack Trace for the exception object, select ON.

  4. In the Max Log File Size field, enter the maximum size, in bytes, for the log file. The minimum value is 50000 and the maximum value is 2 gigabytes.

    This field, allows you to control the size of the log file, before the node closes the file and opens a new one.

  5. If you require the statistics reporting feature, select the Enable Statistics check box.

  6. If you require bulk reading and writing of NAR files, select the Enable bulk read/write check box.

    The bulk reading and writing function:

    • Reads and stores each intermediate NAR file as a whole into memory for processing by the respective node.

    • Writes the NAR output file as a whole into memory, until either the maximum number of NARs for a file is reached or the idle write time has expired, before writing the output data to a cache file.

  7. In the Read Timer field, enter the amount of time, in seconds, that the node waits before checking for incoming data. The minimum value is 1 and the maximum value is 3600.

  8. In the NARs Per File field, enter the maximum number of NARs you require in an output file. The minimum value is 1 and the maximum value is 10000.

  9. In the Idle Write Time field, enter the number of seconds the node waits before transferring the NAR file to the input directory of the destination node, whether or not it has reached its maximum size. The minimum value is 1 and the maximum value is 3600.

  10. If you require the node to backup each processed NAR file, select the Backup NAR Files check box.

    Offline Mediation Controller keeps the NAR files in the backup directory for the period of time you specify in the NAR File Retention Period field.

  11. In the NAR File Retention Period field, enter the number of days to retain the backup NAR files.

  12. If you require the node to monitor the input stream of records and trigger an alarm if there is no input for the set interval specified in the Interval field, select the Input Stream Monitoring check box.

    The node will clear the alarm when it begins to receive records again.

  13. In the Interval field, enter a time, in days, hours, or minutes that the node waits for new records before the node raises an alarm.

  14. Click Save.

Configuring JDBC Settings for the Recycle EP Node

To configure JDBC settings for the Recycle EP node:

  1. Verify the node is open.

  2. In the Node Configuration section, click the Database Info tab.

  3. In the Batch Size field, enter the number of records to retrieve from the Oracle database for each read operation.

  4. In the User field, enter a valid username for accessing the Oracle database.

  5. In the Password field, enter the password for the username.

  6. In the Verify Password field, re-enter the password used in the Password field, which verifies that the password value was entered correctly.

  7. In the Host field, enter the Oracle database server host name or IP address.

  8. In the Port field, enter the listener port number used to communicate with the database server. The number must be a positive integer.

  9. In the SID field, enter the system ID for the database server.

  10. Click Save.

Configuring SQL Settings for the Recycle EP Node

To configure SQL settings for the Recycle EP node:

  1. Verify the node is open.

  2. In the Node Configuration section, click the SQL Files tab.

  3. (Optional) In the Category field, enter the category name. This can be the ID name for a group of cartridges. This name is used to retrieve recycled CDRs.

  4. (Optional) In the SQL Header File field, enter the full path and filename to the SQL header file. For more information, see "Working with SQL Files to Restore a Recycled CDR".

  5. In the SQL Detail File field, enter the full path and filename to the SQL detail file. For more information, see "Working with SQL Files to Restore a Recycled CDR".

  6. Click Save.

Configuring the NPL Rule File for the Recycle EP Node

The Recycle EP node uses the NPL rule file primarily to set the configuration values for JDBC.

To configure the NPL rule file for the Recycle EP Node:

  1. Verify the node is open.

  2. From the Rule File list, select one of the sample NPL rule files, or select New.

    For a list of sample NPL rule files available, see "Creating a Recycle Enhancement Processor Cartridge Node".

  3. Click Edit.

    The NPL Editor dialog box appears.

  4. Enter a configuration clause and configuration values to set JDBC:

    Config {
    JDBCDriver "JDBC_Driver";
    JDBCUrl "JDBC_URL";
    }
      
    

    where:

    • JDBC_Driver, defines the JDBC driver.

    • JDBC_URL, defines the JDBC URL and includes the JDBC host, port and SID tokens, whose values are configured in the Database Info configuration tab of the Recycle EP node.

    For example:

    Config {
    JDBCDriver "oracle.jdbc.driver.OracleDriver";
    JDBCUrl "jdbc:oracle:thin:@%DBHOST%:%DBPORT%:%DBSID%";
    }
      
    
  5. According to your business requirements, continue to apply edits to the NPL rule file.

  6. When you have finished making changes, from the File menu, select Save.

    The Save As... dialog box appears.

  7. In the Display Name field, enter a new GUI display name for the NPL rule file.

  8. In the Rules File Name field, enter a new NPL rule file name.

  9. Click Save.

  10. To close the NPL Editor dialog box, from the File menu, select Exit.

  11. From the Rule File list, verify your NPL rule file is in the list, and select it.

  12. Click Save.

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.

Working with SQL Files to Restore a Recycled CDR

The Recycle EP node restores the recycled CDRs based on structured query language (SQL) statements.Two types of SQL statements are used by the Recycle EP node:

  • Detail SQL, which is required.

  • Header SQL, which is optional.

The following sample SQL statement files are provided with the Recycle EP jar file:

  • To retrieve serialized suspended CDRs in ASCII format, use the RecycleDetail.sql file.

  • To retrieve serialized suspended CDRs in EDR, use the RecycleEdr.sql file.

  • To retrieve serialized suspended CDRs in IMS format, which includes selected EDR common fields, use the RecycleIMS.sql file.

  • To retrieve header information, use the RecycleHeader.sql file, which is a generic SQL statement.

    The data from the Header SQL is set in every recycled CDR retrieved by the detail SQL statement.

Installing the Sample Detail and Header SQL Files

To install the sample detail and header SQL files:

  1. Go to OMC_Home/web/htdocs directory, where OMC_Home is the directory in which Offline Mediation Controller is installed.

  2. Extract the SQL files from the jar file by running the following command:

    jar xvf Recycle.jar sql/RecycleDetail.sql sql/RecycleEdr.sql sql/RecyleIMS.sql sql/RecycleHeader.sql
       
    

    The SQL files are placed in an sql directory.

Updating and Applying a Sample SQL File in the Recycle EP Node

To update and apply a sample SQL file in the Recycle EP node:

  1. Choose one of the sample SQL statement files that best represents the format of the CDR before suspension and update according to your business requirements. For more information, see "SQL Statement Examples".

    For more information on configuring SQL statements, see the SQL documentation.

    Note:

    The following variables may be used in the SQL statement:
    • ${RECYCLE_JOB_ID}, which is replaced by the job ID message sent by the AQ listener.

    • ${PIPELINE_CATEGORY}, which is replaced by the name entered into the Category field in the SQL configuration tab of the Recycle EP node. A NULL value is given if the Category field is left blank.

  2. In the SQL Header File and SQL Detail File fields in the SQL Files tab of the Recycle EP node, enter the full path and filename to the SQL header and SQL detail files. For more information, see "Configuring SQL Settings for the Recycle EP Node".

For more information on working with SQL statements, see the SQL documentation.

SQL Statement Examples

The following example shows a detail SQL statement without editable fields:

SELECT   b.poid_id0, b.pipeline_name, r.recycle_mode, '', b.batch_id, 
         b.suspended_from_batch_id, b.recycle_key, e.edr_buf
FROM     suspended_usage_t b,
         susp_usage_edr_buf e, 
         susp_usage_recycle_t r 
WHERE    b.poid_id0 = e.obj_id0
  AND    b.recycle_obj_id0 = r.obj_id0 
  AND    b.recycle_obj_id0 = ${RECYCLE_JOB_ID} 
  AND    NVL(b.pipeline_category,'NULL') = ${PIPELINE_CATEGORY} 
ORDER BY b.poid_id0
  

The following example shows a detail SQL statement with editable fields:

SELECT  a.poid_id0, a.pipeline_name, a.recycle_mode, a.override_reasons,
        a.batch_id, a.suspended_from_batch_id, a.recycle_key, a.edr_buf,
        a.editable_flds
FROM
 ( SELECT b.poid_id0 , b.pipeline_name, r.recycle_mode,
          r.override_reasons,b.batch_id, b.suspended_from_batch_id, 
          b.recycle_key, e.edr_buf,
          'CalledId='|| t.calling_from|| CHR (9)||
          'calling_number='||t.called_to|| CHR (9)||
          'duration='|| t.call_duration|| CHR (9)||
          'start_time='|| t.start_time|| CHR (9)||
          'product_type='|| t.usage_type|| CHR (9)||
          'requestedInputVolume='|| t.bytes_in|| CHR (9)||
          'requestedOutputVolume='|| t.bytes_out|| CHR (9)||
          'cell_id='|| g.cell_id as editable_flds
FROM      suspended_usage_t b,
          susp_usage_telco_info_t t,
          susp_usage_telco_gsm_info_t g,
          susp_usage_edr_buf e,
          susp_usage_recycle_t r
WHERE     b.poid_id0 = t.obj_id0
     AND  b.poid_id0 = e.obj_id0
     AND  b.recycle_obj_id0 = r.obj_id0
     AND  b.poid_id0 = g.obj_id0
     AND  b.recycle_obj_id0 = ${RECYCLE_JOB_ID}
     AND  NVL(b.pipeline_category,'NULL') = ${PIPELINE_CATEGORY}) a
ORDER BY a.poid_id0
  

Working with Suspense Handling in Batch Mode

Offline Mediation Controller supports batch suspense handling for suspended and resubmitted batch CDR files.

The following cartridges are used for batch suspense handling:

  • Suspense DC.

    The Suspense DC receives information on the suspended batch CDR file and generates Update and Create files in a format that is understood by Suspended Batch (SB) Loader.

  • Recycle AQ Job CC.

    The Recycle AQ Job CC receives and parses the job ID message for the suspended batch that was resubmitted from Suspense Management Center or the pin_recycle utility.

  • Recycle EP.

    The Recycle EP uses the job ID message from the Recycle AQ Job CC to retrieve the resubmitted batch CDR file information and to return the suspended batch CDR file, from the error directory, back to the input stream of the batch-file-based CC for reprocessing in Offline Mediation Controller.

About the Suspense DC for Batch Mode

After receiving the suspended batch CDR file information from the batch-file-based CC node the Suspense DC does the following for suspended batch CDR files:

  1. Maps the suspense reason code, which is based on the error code.

  2. Generates Create (suspended batch) or Update (resubmitted batch) files in a format that are understood by SB Loader. For a full list of the Create and Update record type fields, see "Suspense DC Batch Output".

    The format of the Create file consists of two record types:

    • 010 record type, which contains information on the storable class.

    • 020 record type, which contains information such as, the suspense reason code (based on the error code), error code, cartridge name and cartridge category.

    The format of the Update file consists of two record types:

    • 010 record type, which contains information on the storable class.

    • 030 record type, which contains information on the batch CDR file name, cartridge name, suspense reason (based on the error code), error code, and suspense status.

Creating a Suspense DC Node for Batch Mode

To create a Suspense DC node for batch mode, follow the steps outlined in "Creating a Suspense Distribution Cartridge Node".

Configuring the Suspense DC Node Configuration Tabs for Batch Mode

The Suspense DC node contains the following tab to configure specifically for batch mode:

For the General, Create File Output, Update File Output and Database Info tabs, follow the steps outlined in:

Configuring Batch Mode Settings for the Suspense DC Node

To configure batch mode settings for the Suspense DC node:

  1. Verify the node is open.

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

  3. In the Default Source Node field, enter a designated name for the cartridge that suspended the batch CDR file. If the Suspense DC node cannot find the name of the cartridge that suspended the batch CDR file, in the information on the suspended batch CDR file, this name is used.

  4. In the Default Category field, enter a designated category name. This can be the name for a group of cartridges that suspend CDRs. If the Suspense DC node cannot find a category name in the information on the suspended batch CDR file, this name is used.

  5. Select the Suspended Batch Mode check box.

  6. In the Storable Class field, enter the storable class name for the suspended batch CDR file.

  7. Click Save.

Configuring the Suspense DC Node NPL Rule File for Batch Mode

For batch mode, the Suspense DC node uses the NPL rule file primarily to set the configuration values for JDBC.

To configure the NPL rule file for the Recycle EP node:

  1. Verify the node is open.

  2. From the Rule File list, select one of the sample NPL rule files, or select New.

    For a list of sample NPL rule files available, see "Creating a Suspense Distribution Cartridge Node".

  3. Click Edit.

    The NPL Editor dialog box appears.

  4. Enter a configuration clause and configuration values to set JDBC:

    Config {
    JDBCDriver "JDBC_Driver";
    JDBCUrl "JDBC_URL";
    }
      
    

    where:

    • JDBC_Driver, defines the JDBC driver.

    • JDBC_URL, defines the JDBC URL and includes the JDBC host, port and SID tokens, whose values are configured in the Database Info configuration tab of the Suspense DC node.

    For example:

    Config {
    JDBCDriver "oracle.jdbc.driver.OracleDriver";
    JDBCUrl "jdbc:oracle:thin:@%DBHOST%:%DBPORT%:%DBSID%";
    }
      
    
  5. According to your business requirements, continue to apply edits to the NPL rule file.

  6. When you have finished making changes, from the File menu, select Save.

    The Save As... dialog box appears.

  7. In the Display Name field, enter a new GUI display name for the NPL rule file.

  8. In the Rules File Name field, enter a new NPL rule file name.

  9. Click Save.

  10. To close the NPL Editor dialog box, from the File menu, select Exit.

  11. From the Rule File list, verify your NPL rule file is in the list, and select it.

  12. Click Save.

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 the Recycle AQ Job CC for Batch Mode

The Recycle AQ job CC does the following:

  1. Polls and checks the Oracle AQ queue for recycle request notifications.

  2. Retrieves the job ID message information contained within the Oracle AQ event message.

  3. Parses the job ID message.

  4. Outputs the job ID message.

Creating a Recycle AQ Job CC Node for Batch Mode

To create a Recycle AQ Job CC node for batch mode, follow the steps outlined in "Creating a Recycle AQ Job Collection Cartridge Node".

Configuring the Recycle AQ Job CC Node Configuration Tabs for Batch Mode

The Recycle AQ Job CC node contains the following tab to configure specifically for batch mode:

For the General and Database Info tabs, follow the steps outlined in:

Configuring Batch Dequeuing Settings for the Recycle AQ Job CC Node

To configure batch dequeuing settings for the Recycle AQ Job CC node:

  1. Verify the node is open.

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

  3. In the Queue field, enter the name of the queue, from which the Recycle AQ Job CC node dequeues the job ID message. For more information on Oracle AQ queues see "About Oracle AQ Messaging for Suspense Handling" and the BRM documentation.

  4. In the Event field, enter ResubmitBatchRequest, which is used to dequeue suspended batch messages.

  5. If you require polling of the dequeue operation, select the Enable Polling option. By default, the enqueue notification starts the dequeue operation of the message if it matches the configured event entered in the Event field.

  6. In the Polling Interval field, enter the time, in days, hours, or minutes, that the node waits before checking for the message to dequeue.

  7. Click Save.

Configuring the Recycle AQ Job CC NPL Rule File for Batch Mode

For batch mode, the Recycle AQ Job CC node uses the NPL rule file primarily to set the configuration values for JDBC.

To configure the NPL rule file for the Recycle AQ Job CC node:

  1. Verify the node is open.

  2. From the Rule File list, select New.

    For a list of sample NPL rule files available, see "Creating a Recycle AQ Job Collection Cartridge Node".

  3. Click Edit.

    The NPL Editor dialog box appears.

  4. Enter a configuration clause and configuration values to set JDBC:

    Config {
    JDBCDriver "JDBC_Driver";
    JDBCUrl "JDBC_URL";
    }
      
    

    where:

    • JDBC_Driver, defines the JDBC driver.

    • JDBC_URL, defines the JDBC URL and includes the JDBC host, port and SID tokens, whose values are configured in the Database Info configuration tab of the Recycle AQ Job CC node.

    For example:

    Config {
    JDBCDriver "oracle.jdbc.driver.OracleDriver";
    JDBCUrl "jdbc:oracle:thin:@%DBHOST%:%DBPORT%:%DBSID%";
    }
      
    
  5. According to your business requirements, continue to apply edits to the NPL rule file.

  6. When you have finished making changes, from the File menu, select Save.

    The Save As... dialog box appears.

  7. In the Display Name field, enter a new GUI display name for the NPL rule file.

  8. In the Rules File Name field, enter a new NPL rule file name.

  9. Click Save.

  10. To close the NPL Editor dialog box, from the File menu, select Exit.

  11. From the Rule File list, verify your NPL rule file is in the list, and select it.

  12. Click Save.

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 the Recycle EP for Batch Mode

The Recycle EP node does the following for batch mode:

  1. Retrieves the resubmitted batch CDR file information based on the job ID message.

  2. Moves the suspended batch CDR file from the error directory back to the input stream of the batch-file-based CC in the node chain, based on actions configured in the Recycle EP node's NPL rule file.

Creating a Recycle EP Node for Batch Mode

To create a Recycle EP node for batch mode, follow the steps outlined in"Creating a Recycle Enhancement Processor Cartridge Node".

Configuring the Recycle EP Node Configuration Tabs for Batch Mode

The Recycle EP node does not contain specific batch mode settings. For the General, Database Info and SQL Files tabs, follow the steps outlined in:

Configuring the Recycle EP NPL Rule File for Batch Mode

For batch mode, the Recycle EP node uses the NPL primarily to set the configuration values for JDBC and to move the suspended batch CDR file back to the input stream of the batch-file-based CC in your node chain.

To configure the NPL rule file for the Recycle EP node:

  1. Verify the node is open.

  2. From the Rule File list, select one of the sample NPL rule files, or select New.

    For a list of sample NPL rule files available, see "Creating a Recycle Enhancement Processor Cartridge Node".

  3. Click Edit.

    The NPL Editor dialog box appears.

  4. Enter a configuration clause and configuration values to set JDBC:

    Config {
    JDBCDriver "JDBC_Driver";
    JDBCUrl "JDBC_URL";
    }
      
    

    where:

    • JDBC_Driver, defines the JDBC driver.

    • JDBC_URL, defines the JDBC URL and includes the JDBC host, port and SID tokens, whose values are configured in the Database Info configuration tab of the Recycle EP node.

    For example:

    Config {
    JDBCDriver "oracle.jdbc.driver.OracleDriver";
    JDBCUrl "jdbc:oracle:thin:@%DBHOST%:%DBPORT%:%DBSID%";
    }
      
    
  5. Configure the NPL rule file to move the suspended batch CDR file from the error directory to the input stream of the batch-file-based CC in your node chain.

    For example:

    1. The input record variable fields include the following fields:

      // input data
      InputRec {
         Long   DETAIL:ASS_SUSPENSE_EXT:SUSPENSE_ID;
         String DETAIL:ASS_SUSPENSE_EXT:SOURCE_FILENAME;
         String DETAIL:ASS_SUSPENSE_EXT:ERROR_FILENAME;
         String DETAIL:ASS_SUSPENSE_EXT:ERROR_PATH;
         String DETAIL:ASS_SUSPENSE_EXT:PIPELINE_NAME;
         String HEADER:TAP_PROCESSING_INFO;
         String DETAIL:ASS_SUSPENSE_EXT:OVERRIDE_REASONS;
      } in;
        
      

      where:

      • The DETAIL:ASS_SUSPENSE_EXT:ERROR_FILENAME field, is the name of the batch CDR file.

      • The DETAIL:ASS_SUSPENSE_EXT:ERROR_PATH field, is the path to the error directory.

      • The DETAIL:ASS_SUSPENSE_EXT:PIPELINE_NAME field, is the name of the cartridge that detected the error and suspended the batch CDR file.

    2. Declare and initialize the local variables:

         // local variables
         String pipelineName;
         String pipelineCategory;
         String sourceFileName;
         String sourceDir;
         String errorDir;
         String sourcePrefix;
         String sourceSuffix;
         String targetPrefix;
         String targetSuffix;
         Integer count;
        
         pipelineName=in.DETAIL:ASS_SUSPENSE_EXT:PIPELINE_NAME;
         pipelineCategory="Wireless";
         sourceFileName=in.DETAIL:ASS_SUSPENSE_EXT:SOURCE_FILENAME;
         sourceDir="batch/repo";
         errorDir="batch/error";
         sourcePrefix="err_";
         sourceSuffix="bad";
         targetPrefix="test_";
         targetSuffix="edr";
         
      
    3. Move the batch CDR file from the error directory to the input directory of the batch-file-based CC. The following example uses the Java hook move to move files. For more information on the move java hook method, see "move".

      //move files from error directory to input directory
      count=SuspHandler.move(sourceDir, sourcePrefix, sourceSuffix,
                             errorDir, targetPrefix, targetSuffix);
      logInfo("moved from "+sourceDir+"("+sourcePrefix+","+sourceSuffix+") to 
              "+errorDir+"("+targetPrefix+","+targetSuffix+").
                              result="+int2str(count));
         
      

    For an NPL example of the CC node that suspended the batch CDR file, which this Recycle EP example restores, see "Batch CDR File Error NPL Example".

  6. According to your business requirements, continue to apply edits to the NPL rule file.

  7. When you have finished making changes, from the File menu, select Save.

    The Save As... dialog box appears.

  8. In the Display Name field, enter a new GUI display name for the NPL rule file.

  9. In the Rules File Name field, enter a new NPL rule file name.

  10. Click Save.

  11. To close the NPL Editor dialog box, from the File menu, select Exit.

  12. From the Rule File list, verify your NPL rule file is in the list, and select it.

  13. Click Save.

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.