...
Date: | Author: | Version: | Changes: | Completed | Ext. | Int. | Is in Core |
---|---|---|---|---|---|---|---|
13 November 2023 | CMI | 1.0 | Doc created | No | |||
24 January 2024 | CMI | 1.1 | Updated parameter list to include NPSYSTEM.DISABLE_CHECK_BLOCK_NOT_PAID (otherwise only referenced in the section about ValidateNpExport) | Yes |
Terms and definitions:
Terms/definitions: | Meaning: |
---|---|
TBD | To be determined |
N/A | Not applicable |
ANBES | An NRDB Message Type meaning: cancellation of order (code 122) |
GODK | An NRDB Message Type meaning: confirmation on order (code 111) |
KABES | An NRDB Message Type meaning: receipt for order cancellation (code 141) |
FBES | An NRDB Message Type meaning: error message (code 125) |
FEND | An NRDB Message Type (Code 127, the meaning is not provided in the NRDB documentation) |
FERD | An NRDB Message Type meaning: porting complete (code 115) |
Purpose of Document
Release 6.0 Overview: NRDB Number Porting Features and Configuration Details
This document provides an overview of features introduced in Release 6.0 of the NRDB Number Porting project, as well as providing details of any required configuration.
...
checkAnumber checks if the number that requested outported is allowed to be outported and if it is not it sets different reject code to the RSP depending on the reason. The logic of this method should be handled using workflow actions instead. The logic for cancelling existing export flows has been moved to a new action, com.CDRator.billing.np.no.action.CancelNpExport (see details below.) The customer validation logic has been moved to a new action, com.CDRator.billing.np.no.action.ValidateNpExport (see details below.)
anbesHasBeenReceived
This method checks if an NRDBMessageType of code 122 (ANBES) has been received for the current np export flow. It has been replaced by a new action, com.CDRator.billing.np.no.action.HasReceivedNRDBMessageOfType (see details below.)
sendGodk
Creates a NRDBMessageType of the type NP_GODK unless an NP_ANBES has been received in which we then redirects the flow to send a NP_KABES. The logic for handling NP_ANBES and NP_KABES should be relegated to the workflow itself. The creation of the NP_GODK message should be handled by the new action com.CDRator.billing.np.no.action.CreateNRDBMessageTypeObject (see details below.)
sendFbes
Creates a NRDBMessageType of the type NP_FBES unless an NP_ANBES has been received in which we then redirects the flow to send a NP_KABES. The logic for handling NP_ANBES and NP_KABES should be relegated to the workflow itself. The creation of the NP_GODK message should be handled by the new action com.CDRator.billing.np.no.action.CreateNRDBMessageTypeObject (see details below.)
sendFend
Creates a NRDBMessageType of the type NP_FEND unless an NP_ANBES has been received in which we then redirects the flow to send a NP_KABES. The logic for handling NP_ANBES and NP_KABES should be relegated to the workflow itself. The creation of the NP_GODK message should be handled by the new action com.CDRator.billing.np.no.action.CreateNRDBMessageTypeObject (see details below.)
sendKabes
Creates a NRDBMessageType of the type NP_KABES. This logic has been replaced by the new action com.CDRator.billing.np.no.action.CreateNRDBMessageTypeObject (see details below.)
sendFerd
Creates a NRDBMessageType of the type NP_FERD. This logic has been replaced by the new action com.CDRator.billing.np.no.action.CreateNRDBMessageTypeObject (see details below.)
terminateExportProcess
Cancels the export process and reactivates the service, subscription etc. This logic has been replaced by a new action, com.CDRator.billing.np.no.action.CancelNpExport (see details below.)
startTerminatingProcess
Sets the status of the Export flow to completed and starts the termination process on the subscription. Should use existing action com.cdrator.main.subscription.action.TerminateSubscription to terminate the subscription, and new action com.CDRator.billing.np.no.action.CompleteNpExport (see details below) to complete the export flow.
...
This action creates a new NRDBMessageType object based on the provided code. The action currently support NRDB Message Types of codes 111Out (GODK), 115OUT (FERD), 125Out (FBES), 127Out (FEND) and 141Out (KABES) as needed by the Export process. This logic should be expanded as necessary.
When creating an NrdbMessageType object of type NRDBMessageType111Out, it will check if the subscription has the SECRET_NUMBER option assigned. If this option is found, the COORDINATE_PORTING column on the NRDB_MESSAGE_TYPE table is set to 2. The SECRET_NUMBER option is found by option key which has a default value of “SECRET_NUMBER“ but can be configured in parameter value NPSYSTEM.SECRET_NUMBER_OPTION_KEY.
full name | properties | execution arguments | result |
---|---|---|---|
com.CDRator.billing.np.no.action.CreateNRDBMessageTypeObject | messageType | NpExportFlowNO | NRDBMessageType |
...
The NRDB Number Porting project has been updated with a new way of handling Status, that is more aligned with core status handling: com.CDRator.billing.np.no.status.StatusNRDBMessageType. All relevant classes have been updated to use this status type. Note that StatusNRDBMessageType requires these Status IDs to be configured in the STATUS table. A script to install these statuses has been included below, as well as committed to the rator-np-no-nrdb project.
The provided status ids are:
...
0
...
...
1
...
HANDLED
...
2
...
ERROR
...
3
...
REMOVED
...
4
...
OUTPORT
...
9
...
RETRY_ERROR
Configuration
Parameter values
Parameter | Parameter type | Description |
---|---|---|
NPSYSTEM.MIN_EXPORT_DATE_FBES | N | Minimum days to receive a BEST |
NPSYSTEM.MIN_EXPORT_DATE_FEND | N | Minimum days to receive ENDR |
NPSYSTEM.SECRET_NUMBER_OPTION_KEY | S | The option key of the secret number option |
NPSYSTEM.DISABLE_CHECK_BLOCK_NOT_PAID | S | Controls whether the NpExport validation should reject the export flow if the service is in status 230. If this value is not configured, or the value is configured to 'N', the service status will be validated. Otherwise this validation step is skipped. |
Status Types
Code Block | ||
---|---|---|
| ||
--insert status types INSERT INTO STATUS_TYPES (ID, NAME, DESCRIPTION, CODE) VALUES (202311090630000001,'NRDB Message Type','Status type for nrdb message types','NRDB_MESSAGE_TYPE'); --insert status INSERT INTO STATUS (ID, TYPE_ID, ACTIVE, STAT, DESCRIPTION, PARENT_ID) VALUES (0, 202311090630000001, 1, 'UNHANDLED', 'Unhandled', NULL); INSERT INTO STATUS (ID, TYPE_ID, ACTIVE, STAT, DESCRIPTION, PARENT_ID) VALUES (1, 202311090630000001, 1, 'HANDLED', 'Handled', NULL); INSERT INTO STATUS (ID, TYPE_ID, ACTIVE, STAT, DESCRIPTION, PARENT_ID) VALUES (2, 202311090630000001, 1, 'ERROR', 'Error', NULL); INSERT INTO STATUS (ID, TYPE_ID, ACTIVE, STAT, DESCRIPTION, PARENT_ID) VALUES (3, 202311090630000001, 1, 'REMOVED', 'Removed', NULL); INSERT INTO STATUS (ID, TYPE_ID, ACTIVE, STAT, DESCRIPTION, PARENT_ID) VALUES (4, 202311090630000001, 1, 'OUTPORT', 'Outport', NULL); INSERT INTO STATUS (ID, TYPE_ID, ACTIVE, STAT, DESCRIPTION, PARENT_ID) VALUES (9, 202311090630000001, 1, 'RETRY_ERROR', 'Retry error', NULL); |
References
...