6 The Number Inventory API

The Number Inventory API was created to more efficiently handle the administration of telephone numbers and inventory items in Oracle Communications MetaSolv Solution. Operations are provided in the WDINI.IDL that provide the following functionality:

  • Export Number Inventory

  • Generate User ID

  • Generate User Password

  • Import Number Inventory

  • Pre-assign Telephone Numbers

  • Remove Inventory Association

  • Update Number Inventory Provisioning

  • Validate Password

The following operations provide lookup and export functionality:

  • exportAccessTelephoneNumbers

  • exportInventoryItem

  • exportInventoryItemAssociation

  • exportInventoryItems

  • exportInventoryRelationTypes

  • exportInventoryStatus

  • exportInventorySubTypes

  • exportInventoryTypes

  • exportTelephoneNumbers

  • exportTopLevelDomains

The following operations provide import functionality:

  • importInventoryAssociation

  • importNewInventoryItem

  • importUpdatedInventoryItem

The WDINI.IDL file contains structures to support a flexible query. Fields on which you can specify search criteria include:

  • Inventory Type Code

  • Inventory Subtype Code

  • Inventory Status Code

  • Network Area City

  • Network Area State

  • Identify Text

  • Identify Text Suffix.

Number Inventory API Interfaces

Figure 6-1 shows the relationship of the interfaces in the Number Inventory API.

Figure 6-1 Number Inventory API Session Interfaces

Description of Figure 6-1 follows
Description of ''Figure 6-1 Number Inventory API Session Interfaces''

WDIManager Interface

Table 6-1 describes the operations in the WDIManager interface of the WDINI.IDL file.

Table 6-1 Number Inventory WDIManager Operations

Operation Description

startNumberInventorySession

Obtains the object reference of the NumberInventory Session

destroyNumberInventorySession

Terminates the NumberInventorySession

startTransaction

commit

rollback

destroyTransaction

Terminates the Transaction

startSignal

eventOccurred

eventTerminated

eventInProgress

eventCompleted

eventErrored

destroySignal

Terminates the Signal

startInSignal

eventInProgress

eventCompleted

eventErrored

destroyInSignal

Terminates the Insignal


NumberInventorySession Interface Operations

Table 6-2 lists the operations and their notification operations in the NumberInventorySession.

Table 6-2 NumberInventorySession Interface Operations

Operation WDINotification

exportNumberInventory

exportNumberInventorySucceeded

exportNumberInventoryFailed

importNumberInventory

importNumberInventorySucceeded

importNumberInventoryFailed

generateUserId

generateUserIdSucceeded

generateUserIdFailed

generateUserPassword

generateUserPasswordSucceeded

generateUserPasswordFailed

validatePassword

validatePasswordSucceeded

validatePasswordFailed

updateNumberInventoryProvisioning

updateNumberInventoryProvisioningSucceeded

updateNumberInventoryProvisioningFailed

exportTopLevelDomains

exportTopLevelDomainsSucceeded

exportFailed

exportInventoryTypes

exportInventoryTypesSucceeded

exportFailed

exportInventorySubTypes

exportInventorysubTypesSucceeded

exportFailed

exportInventoryStatus

exportInventoryStatusSucceeded

exportFailed

exportInventoryRelationTypes

exportInventoryRelationTypesSucceeded

exportFailed

exportInventoryItem

exportInventoryItemSucceeded

exportFailed

exportInventoryItems

This operation uses the same succeeded operation as exportInventoryItem

exportInventoryItemSucceeded

exportFailed

exportInventoryItemAssociation

exportInventoryRelationSucceeded

exportFailed

importNewInventoryItem

importInventoryItemSucceeded

importFailed

importUpdatedInventoryItem

importInventoryItemSucceeded

importFailed

importInventoryAssociation

importInventoryAssociationSucceeded

importInventoryAssociationFailed

removeInventoryAssociation

removeInventoryAssociationSucceeded

removeInventoryAssociationFailed

exportTelephoneNumbers

exportTelephoneNumbersSucceeded

exportTelephoneNumbersFailed *

* The operation returns a failed notification and WDIError structure with an error when no data is found for a certain criteria.

preAssignTelephoneNumber

preAssignTelephoneNumberSucceeded

preAssignTelephoneNumberFailed

exportAccessTelephoneNumbers

exportAccessTelephoneNumbersSucceeded

exportAccessTelephoneNumbersFailed


Process Flow

The section that follows contains a sample process flow for unsolicited messages. Use the sample flow as a template when you develop your own process flows.

Unsolicited Messages

When the message is initiated by the third party (unsolicited), MetaSolv Solution plays the role of the server, and the third-party application plays the role of the client. Unsolicited messages are processed asynchronously, meaning a callback mechanism is used to report back the results of an operation invoked by the third-party application.

Sample Unsolicited Process Flow for Importing a Customer

The overall process flow for importing a customer is as follows:

  1. The third-party application binds to the MetaSolv Solution Application Server to get a WDIRoot object reference.

  2. The third-party application invokes the startNumberInventorySession operation of the WDIManager interface to get a NumberInventorySession object reference.

  3. The third-party application invokes the connect operation of the WDIRoot interface, which yields a WDIManager object reference.

  4. The third-party application invokes the startTransaction operation of the WDIRoot interface to get a WDITransaction object reference.

  5. The third-party application instantiates a WDINotification object.

  6. The third-party application invokes the importNewCustomer operation on the NumberInventorySession interface, providing WDITransaction, WDINotification, and NumberInventory CustomerAccount objects.

  7. The MetaSolv Solution Application Server processes the invoked operation of the NumberInventory Session and invokes the appropriate callback operation on the input WDINotification. In this example, the operations are NumberInventoryExportSucceeded or NumberInventoryExportFailed for exporting, and NumberInventoryImportSucceeded or NumberInventoryImportFailed for imports.

  8. If the NumberInventoryImportSucceeded operation is invoked, the third-party application invokes the commit operation of the WDITransaction interface. If the NumberInventoryExportFailed operation is invoked, a WDIError sequence describing the error is returned to the third-party application. The third-party application then performs the appropriate error handling routine. In the case of an import failing, the third-party application should rollback the transaction.

  9. The third-party application invokes the destroyNumberInventorySession operation of the WDIManager interface.

  10. The third-party application invokes the destroyTransaction operation on the WDIManager interface.

  11. The third-party application invokes the disconnect operation of the WDIRoot interface.

Import Notifications

When the import of a new object succeeds, the document number is populated with the ID of the new record.

Number Inventory API Date Handling

To indicate that a date should be considered null, send 0 for the day, 0 for the month, and 0 for the year. If you supply a year that is less than four digits, 1900 is added to the value to determine the year. If four digits are provided, it is assumed that this is the exact year.

For example, if you provide 1/1/99, It is interpreted as January 1, 1999. If you provide 1/1/101, it is interpreted as January 1, 2001. If you provide 1/1/1, it is interpreted as January 1, 1901. If you provide 1/1/2001, it is interpreted as January 1, 2001.