Much of the underlying information in the database is managed by the Oracle Communications MetaSolv Solution Infrastructure subsystem.
Specific operations for exporting lists of information from the database are provided by the Infrastructure API. These lists of information include:
Structured formats and structured format components
Geographic areas and types
Code categories and code category values, including languages
Network locations
Additional operations are provided and used to manage end-user and network location information. See "NetworkLocationSubSession" for more information.
The CORBA server name used by the Infrastructure API is INFRASTRUCTURESERVER.
This section describes the implementation concepts for the Infrastructure API.
This section describes the operational differences between the Infrastructure subsystem and the API.
Unlike the Infrastructure subsytem in MetaSolv Solution, the Infrastructure API does not allow for calculation of the Latitude and Longitude fields if data is entered in the Vertical and Horizontal fields of the associateLocationRelationships operation. Validation also does not occur if data is entered into the Latitude and Longitude fields.
The Infrastructure API does not support the Switch Network Area field selection in the queryNetworkLocations_V2 operation.
If there is only one switch network area in the Switch Network Area field, the Switch Network Area field is defaulted to it. If there are more than one switch network areas in the Switch Network Area field, the first switch network area listed in the database, populates that field.
To understand the information made available through the Infrastructure API, you must understand certain key concepts used in MetaSolv Solution. In particular, you should understand how MetaSolv Solution uses these kinds of information:
Code categories and code category values
Geographic areas and types
Network locations
Structured formats and structured format components
Customized attributes (CAs) - CAs are what MetaSolv Solution users use to add an attribute (or property, or value) to a building block. They offer a way to add company-specific information to MetaSolv Solution. They are custom because your company's unique business processes and technological practices dictate how CAs are used. Several CAs are included in the data that comes with MetaSolv Solution, and those CAs are immediately available for association to building blocks. MetaSolv Solution users can also create new CAs.
Building blocks are the only parts of the software with which CAs can be associated. Templates, elements, connections, and connection allocations are the four building block types from which MetaSolv Solution users can select building blocks for association with a CA. Building block types are predefined and unchangeable.
These IDL files are used in the Infrastructure API:
WDIInfrastructure.idl
WDIInfrastructureTypes.idl
WDINetworkLocation.idl
WDINetworkLocationTypes.idl
WDINetworkLocationTypes_v2.idl
WDI.idl
WDIUtil.idl
Figure 4-1 shows the relationship of the interfaces within the Infrastructure API.
Table 4-1 lists the operations available in the WDIManager interface of the WDIInfrastructure.idl file.
Table 4-1 WDIManager Interface Operations in the Infrastructure API
Operation | Description |
---|---|
startInfrastructureSession |
Obtains the object reference of the InfrastructureSession |
destroyInfrastructureSession |
Terminates the InfrastructureSession |
startTransaction |
commit rollback |
destroyTransaction |
Terminates the transaction |
startNetworkLocationSubSession |
Returns the NetworkLocationSubSession |
destroyNetworkLocationSubsession |
Destroys the NetworkLocationSubsession |
Note:
See "WDIManager Interface" for more information on the WDIManager interface.Table 4-2 lists the operations that comprise the InfrastructureSession in the WDIInfrastructure.idl file.
Table 4-2 Infrastructure API InfrastructureSession Interface Operations
Operation | WDIInfrastructure::WDINotification Operations |
---|---|
getMaximumReturnedRows |
Implemented by caller to return maximum number of records for Infrastructure API server to return for certain queries (0 = no limit). |
getStructureTypes |
getStructureTypesSucceeded operationFailed |
getStructureFormatsGivenType |
getStructureFormatsGivenTypeSucceeded operationFailed |
getStructureFormatsGivenTypeAndArea |
getStructureFormatsGivenTypeAndAreaSucceeded operationFailed |
getComponentsGivenStructureFormat |
getComponentsGivenStructureFormatSucceeded operationFailed |
getValidValuesGivenStructureFormat Component |
getValidValuesGivenStructureFormatComponent Succeeded operationFailed |
getGeoAreaTypes |
getGeoAreaTypesSucceeded operationFailed |
getGeoAreaTypesGivenCountry |
getGeoAreaTypesGivenCountrySucceeded operationFailed |
getGeoAreasGivenType |
getGeoAreasGivenTypeSucceeded operationFailed |
getGeoAreasGivenTypeAndCountry |
getGeoAreasGivenTypeAndCountrySucceeded operationFailed |
getRelatedGeoAreasGivenAreaAndType |
getRelatedGeoAreasGivenAreaAndTypeSucceeded operationFailed |
getLanguages |
getLanguagesSucceeded operationFailed |
getCodeCategories |
getCodeCategoriesSucceeded operationFailed |
getCodeCategoryValues |
getCodeCategoryValuesSucceeded operationFailed |
queryConditionCode |
queryConditionCodeSucceeded operationFailed |
getConditionCode |
getConditionCodeSucceeded operationFailed |
getNetworkAreasGivenLocation |
getNetworkAreasGivenLocationSucceeded operationFailed |
startNetworkLocationSubSession |
Obtains the object reference of the NetworkLocationSubSession |
destroyNetworkLocationSubSession |
Terminates the NetworkLocationSubSession |
getCaUsageSetInfoFromServiceItem |
getCaUsageSetInfoFromServiceItemSucceeded operationFailed |
getCaUsageSetInfoFromTemplate |
getCaUsageSetInfoFromTemplateSucceeded operationFailed |
getCaUsageSetInfoFromElement |
getCaUsageSetInfoFromElementSucceeded operationFailed |
getCaUsageSetInfoFromConnector |
getCaUsageSetInfoFromConnectorSucceeded operationFailed |
getMultipleCaUsageSetInfo |
getMultipleCaUsageSetInfoSucceeded operationFailed |
This section describes the operations defined in the WDIInfrastructure.IDL file.
queryConditionCode
Retrieves a list of condition codes that can be added to a mounting position or a port address. Criteria for the search is passed in the ConditionCode structure. See the ConditionCode structure in WDIInfrastructureTypes.idl for rules concerning the criteria. A WDITransaction object is intentionally not passed for this operation and assumes responsibility for transaction management.
getStructureTypes
Retrieves a list of all structure types in the database.
getStructureFormatsGivenType
Retrieves a list of active structure formats bound by the input structure type.
getStructureFormatsGivenTypeAndArea
Retrieves a list of active structure formats bound by the input structure type for a given input geographic area identifier.
getComponentsGivenStructureFormat
Retrieves a list of active structured format components based on the input active structured format.
getValidValuesGivenStructureFormatComponent
Retrieves a list of active valid values based on the input structured format component identifier.
getGeoAreaTypes
Retrieves a list of all geographic area types in the database.
getGeoAreaTypesGivenCountry
Retrieves a list of geographic area types used by the input country name.
getGeoAreasGivenType
Retrieves a list of the active geographic areas bound by the input geographic area type.
getGeoAreasGivenTypeAndCountry
Retrieves a list of the active geographic areas used by the input country name and bound by the input geographic area type.
getRelatedGeoAreasGivenAreaAndType
Retrieves a list of the active geographic areas related to the input geographic area and bound by the input geographic area type.
getLanguages
Retrieves a list of all languages in the database.
getCodeCategories
Retrieves a list of code categories bound by the input language code.
getCodeCategoryValues
Retrieves a list of code category values bound by the input code category number and language code. Only values with an effective from date on or before the current date, and values with a populated effective to date after the current date are returned. A null value is not returned.
getConditionCode
Retrieves the condition code, description, and warning type for a given condition code. The conditionCode parameter is required, and must contain a valid condition code, or an error is returned. This operation is intentionally not passed a WDITransaction object and assumes responsibility for transaction management.
getNetworkAreasGivenLocation
Retrieves network areas based on the location ID passed in.
getNetworkAreasGivenLocation
Retrieves network areas based on the location ID passed in.
getCAUsageSetInfoFromServiceItem
Retrieves CA usages based on the service item id passed in.
getCAUsageSetInfoFromTemplate
Retrieves CA usages based on the template id passed in.
getCAUsageSetInfoFromElement
Retrieves CA usages based on the element type passed in.
getCAUsageSetInfoFromConnector
Retrieves CA usages based on the connector id passed in.
getMultipleCaUsageSetInfo
Retrieves CA usages for multiple items passed in.
Export Customized Attribute Process Point IDs
The export customized attribute (CA) operations require you to enter a value for the process point ID. The following list describes the various process points in the application where CAs may be exported or rendered for display or update.
Table 4-3 lists the process point IDs.
Export Customize Attribute Operation | Process Point ID | Description |
---|---|---|
Activation |
60 |
Used during connection design change to request CAs for Connections. |
Billing API |
71 |
Used by the Billing API to request CAs. |
Change Connection Design |
60 |
Used during connection design change to request CAs for Connections. |
Connection Design History |
62 |
Used during connection design to display CAs for Connections history. |
Disconnect Connection Design |
61 |
Used during connection design for disconnect to request CAs for Connections. |
GLR-Network Design Properties |
58 |
Used by the GLR to show properties for a Connection. |
Network Design - New |
55 |
Used by Network Design to request CAs for a Network System or Network Element. |
New Connection Design |
59 |
Used during connection design to request CAs for New Connections. |
Ordering - Change |
51 |
Used by the Optimized Dialog to request CAs for a Change Order for an existing Network System, Network Element, or Connection. |
Ordering - Disconnect |
52 |
Used by the Optimized Dialog to request CAs for a Change Order for a disconnect of a Network System, Network Element, or Connection. |
Ordering - New |
50 |
Used by the Optimized Dialog to request CAs for a New Network System, New Network Element, or New Connection. |
processPointId is an input for several Infrastructure export methods:
//getCaUsageSetInfoFromServiceItem- Retrieves ca usages based on the service item //id passed in. void getCaUsageSetInfoFromServiceItem( in MetaSolv::CORBA::WDI::WDITransaction aWDITransaction, in WDINotification aWDINotification, in long serviceItemId, in long processPointId, in long referenceNumber) raises(MetaSolv::CORBA::WDI::WDIExcp); //getCaUsageSetInfoFromTemplate- Retrieves ca usages based on the template //id passed in. void getCaUsageSetInfoFromTemplate( in MetaSolv::CORBA::WDI::WDITransaction aWDITransaction, in WDINotification aWDINotification, in long templateId, in long processPointId, in long referenceNumber) raises(MetaSolv::CORBA::WDI::WDIExcp); //getCaUsageSetInfoFromElement- Retrieves ca usages based on the element name //passed in. void getCaUsageSetInfoFromElement( in MetaSolv::CORBA::WDI::WDITransaction aWDITransaction, in WDINotification aWDINotification, in string elementType, in long processPointId, in long referenceNumber) raises(MetaSolv::CORBA::WDI::WDIExcp); //getCaUsageSetInfoFromConnector- Retrieves ca usages based on the connector id //passed in. void getCaUsageSetInfoFromConnector( in MetaSolv::CORBA::WDI::WDITransaction aWDITransaction, in WDINotification aWDINotification, in long connectorId, in long processPointId, in long referenceNumber) raises(MetaSolv::CORBA::WDI::WDIExcp); //getMultpleCaUsageSetInfo- Retrieves ca usages for multiple items passed in. void getMultipleCaUsageSetInfo( in MetaSolv::CORBA::WDI::WDITransaction aWDITransaction, in WDINotification aWDINotification, in MetaSolv::CORBA::WDIInfrastructureTypes::CaInputItemSeqitems, in long processPointId, in long referenceNumber) raises(MetaSolv::CORBA::WDI::WDIExcp);
The NetworkLocationSubSession is a subsession in the Infrastructure API that manages network location database transactions in the Infrastructure subsystem.
The NetworkLocationSubSession includes the following functionality described in detail in later sections:
Associate and disassociate location relationships with a network location
Associate and disassociate network areas from an end-user location
Associate and disassociate tandem types from a network location
Disassociate Secondary LSO's from an end-user location.
Query, create, update and delete end-user locations
Query, create, update and delete network locations
Query network areas
The NetworkLocationSubSession interacts solely with the Infrastructure server which is responsible for commit and rollback functionality. The WDITransaction parameter is not a part of any operation used within this API. Prior operations that used the WDITransaction parameter are deprecated and replaced with new versioned operations.
Table 4-4 lists the operations in the NetworkLocationSubSession of the WDINetworkLocation.IDL file.
Table 4-4 Network Location Operations
Operation | WDINotifications |
---|---|
queryNetworkLocations This operation has been deprecated from the WDIEquipment.IDL and is replaced by queryNetworkLocations_V2 |
networkLocationQuerySucceeded - Deprecated networkLocationQueryFailed - Deprecated |
getNetworkLocation This operation has been deprecated from the WDIEquipment.IDL and is replaced by getLocation |
networkLocationGetSucceeded - Deprecated networkLocationGetFailed - Deprecated |
queryNetworkLocations_V2 |
queryNetworkLocationsSucceeded_v2 (replaces networkLocationQuerySucceeded) operationFailed (replaces networkLocationQueryFailed) |
queryEnduserLocations |
queryEnduserLocationSucceeded operationFailed |
queryNetworkAreas |
queryNetworkAreaSucceeded operationFailed |
getLocation |
getLocationSucceeded (replaces networkLocationGetSucceeded) operationFailed (replaces networkLocationGetFailed) |
createLocation |
createLocationSucceeded operationFailed |
updateLocation |
updateLocationSucceeded operationFailed |
deleteLocation |
deleteLocationSucceeded operationFailed |
getServingOfficeTypes |
getServingOfficeTypesSucceeded operationFailed |
getCentralOfficeExchangeAreas |
getCentralOfficeExchangeAreasSucceeded operationFailed |
getNetworkLocationCategories |
getNetworkLocationCategoriesSucceeded operationFailed |
getNetworkLocationTypes |
getNetworkLocationTypesSucceeded operationFailed |
getNetworkLocationRelationshipTypes |
getNetworkLocationRelationshipTypesSucceeded operationFailed |
getTandemTrafficCodes |
getTandemTrafficCodesSucceeded operationFailed |
getLocationCodeFormats |
getLocationCodeFormatsSucceeded operationFailed |
getTandemServices |
getTandemServicesSucceeded operationFailed |
getBuildingLocations |
getBuildingLocationsSucceeded operationFailed |
getAssociatedNetworkAreas |
getAssociatedNetworkAreasSucceeded operationFailed |
getAvailableNetworkAreas |
getAvailableNetworkAreasSucceeded operationFailed |
getTelephoneNumberSwitchLocations |
getTelephoneNumberSwitchLocationsSucceeded operationFailed |
getDataSwitchLocations |
getDataSwitchLocationsSucceeded operationFailed |
getTandemLocations |
getTandemLocationsSucceeded operationFailed |
getIncorporatedCodes |
getIncorporatedCodesSucceeded operationFailed |
getMultipleAddressPatterns |
getMultipleAddressPatternsSucceeded operationFailed |
associateLocationRelationships |
associateLocationRelationshipsSucceeded operationFailed |
unassociateLocationRelationships |
unassociateLocationRelationshipsSucceeded operationFailed |
associateTandemTypes |
associateTandemTypesSucceeded operationFailed |
unassociateTandemTypes |
unassociateTandemTypesSucceeded operationFailed |
associateNetworkAreas |
associateNetworkAreasSucceeded operationFailed |
unassociateNetworkAreas |
unassociateNetworkAreasSucceeded operationFailed |
unassociateSecondaryLSOs |
unassociateSecondaryLSOsSucceeded operationFailed |
This section describes the operations defined in the WDINetworkLocation.IDL file.
queryNetwork Locations (Deprecated from the WDIEquipment.IDL)
Requests and returns all network locations that match specific criteria.
queryNetworkLocations_V2
Requests and returns network locations for specific criteria, limiting the number of records returned.
queryEnduserLocations
Requests and returns end-user locations based on specific criteria.
queryNetworkAreas
Requests and returns network areas based on specific criteria.
getNetworkLocation (Deprecated from the WDIEquipment.IDL)
Retrieves a specific network location based on its network location ID.
getLocation
Retrieves an existing network or end-user location, or end-user location with network location alias.
getServingOfficeTypes
Retrieves servicing office types used with network location.
getCentralOfficeExchangeAreas
Retrieves central office exchange area values for use with network location.
getNetworkLocationCategories
Retrieves network location category values.
getNetworkLocationTypes
Retrieves types of network locations.
getNetworkLocationsRelationshipTypes
Retrieves types of network location relationships for use with network locations.
getTandemTrafficCodes
Retrieves tandem traffic code values used with network locations.
getTandemServices
Retrieves tandem service values used in network locations.
getBuildingLocations
Retrieves location codes for locations that are in buildings.
getAssociatedNetworkAreas
Retrieves network area associated with a particular end-user location.
getAvailableNetworkAreas
Retrieves available network areas that can be associated with a particular end-user location. This parameter is optional when creating an end-user location. This operation requires that a TN switch is associated with the end-user location.
getTelephoneNumberSwitchLocations
Retrieves location codes for telephone number switches used in end-user locations.
The client application must specify a partial value that the API uses to filter values and return location codes meeting this criteria. The telephoneNumberSwitchLocation operation is optional when creating an end-user location. The user must specify at least a partial value for the search. An end-user location can be created without a TN switch.
getLocationCodeFormats
Retrieves location code formats for network locations.
getDataSwitchLocations
Retrieves location codes for data switches used in end-user locations.
The client application must specify a partial value that the API uses to filter values and return location codes for data switches meeting this criteria. The getDataSwitchLocations operation is operational when creating an end-user location. You must specify at least a partial value for the search. An end-user location can be created without the getDataSwitchLocations operation.
getTandemLocations
Retrieves location code values for tandem locations for network locations.
getIncorporatedCodes
Retrieves incorporated codes (inside incorporated area, outside incorporated area, and none) used to create a new end-user location.
getMultipleAddressPatterns
Retrieves patterns (odd, even, or both) for a range of end-user locations. The user provides the start and end range, and indicate if those within the range are odd numbered, even numbered, or both.
createLocation
Creates a new network, end-user location, or end-user location with network location alias and store it on the database.
updateLocation
Applies updates to a network, end-user location, or end-user location with network location alias in the database.
deleteLocation
Removes a network or end-user location from the database. If the location is an end-user location with a network location alias, the user can choose to delete both the network and end-user location entries, delete just the end-user location entry, or delete the network location alias.
Note:
When network location type is B for an end-user location with a network location code alias, the user can delete just the alias, delete just the end-user, or delete both the end-user and network location entries.associateLocationRelationships
Associates location relationships to a network location.
associateTandemTypes
Associates tandem types to a network location.
associateNetworkAreas
Associates network areas with a new or existing end-user location. Association of network areas to an end-user location can occur at the time the location is created. However, this class provides a more direct path for this association process so that existing end-user locations can have the association done without having to go through the update process. It assumes that a telephone number (TN) switch is specified for this end-user location. A TN switch must be set for the end-user location or an error will occur.
unassociateLocationRelationships
Removes location relationships from a network location.
unassociateTandemTypes
Removes tandem types from a network location.
unassociateNetworkAreas
Removes network area associations from an end-user location. The switch network area will not be removed or disassociated through this process.
unassociateSecondaryLSOs
This operation unassociates secondary local servicing offices associated with an end-user location. Since end-user location is a type of network location, address and related formatting are identical to that of network location.
This section contains sample process flows for each type of signal: solicited and unsolicited. Use the sample flow as a template for developing your own process flows.
A solicited message is a message initiated by the MetaSolv Solution API servers. The Infrastructure API does not support solicited messages at this time.
An unsolicited message is a message initiated by the third-party software. The Infrastructure API plays the role of the server, and a third-party application plays the role of the client with the exception of the callback processing.
The overall process flow for exporting infrastructure information is as follows:
The third-party application binds to the MetaSolv Solution Application Server to get a WDIRoot object reference.
The third-party application invokes the connect operation of the WDIRoot interface, which yields a WDIManager object reference.
The third-party application invokes the startTransaction operation of the WDIRoot interface to get a WDITransaction object reference and starts a database transaction.
The third-party application invokes the startInfrastructureSession operation of the WDIManager interface to get an InfrastructureSession object reference.
The third-party application instantiates a third-party implementation of a WDINotification object.
The third-party application invokes the desired operation of the InfrastructureSession object, passing the WDINotification object.
The Infrastructure server either returns the requested data structure asynchronously via invocation of the appropriate Succeeded operation of the WDINotification object, or returns exception information via invocation of the operationFailed operation of the WDINotification object.
The third-party application invokes the destroyInfrastructureSession operation of the WDIManager interface.
The third-party application invokes the destroyTransaction operation of the WDIManager interface.
The third-party application invokes the disconnect operation of the WDIRoot interface.