| Openscape Voice V10 - SOAP Interface Documentation

Classes | Enumerations | Functions
Display Number Modification

Display Number Modification Definitions and Methods. More...

## Classes
struct | unsp__DmmQueryOptions
| DNM Query Options. More...
struct | unsp__DnmEndpoint
| DNM Endpoint. More...
struct | unsp__DnmPrefixKey
| DNM Prefix Key. More...
struct | unsp__DnmPrefixData
| DNM Prefix Data. More...
struct | unsp__DnmPrefixEntry
| DNM Prefix Entry. More...
struct | unsp__DnmPrefixList
| DNM Prefix List. More...
struct | unsp__DnmPrefixEnhancedEntry
| Enhanced DNM Prefix Entry. More...
struct | unsp__DnmPrefixEnhancedList
| Enhanced List of DNM Prefixes. More...
struct | unsp__CreateDnmPrefixRequest
| Create DNM Prefix request. More...
struct | unsp__CreateDnmPrefixResult
| Create DNM Prefix result. More...
struct | unsp__DnmPrefixModificationEntry
| DNM Prefix Modification Entry. More...
struct | unsp__DnmPrefixModificationList
| DNM Prefix Modification List. More...
struct | unsp__ModifyDnmPrefixRequest
| Modify DNM Prefix request. More...
struct | unsp__ModifyDnmPrefixResult
| Modify DNM Prefix result. More...
struct | unsp__DnmPrefixKeyList
| DNM Prefix Key List. More...
struct | unsp__DeleteDnmPrefixRequest
| Delete DNM Prefix request. More...
struct | unsp__DeleteDnmPrefixResult
| Delete DNM Prefix result. More...
struct | unsp__QueryDnmPrefixRequest
| Query DNM Prefix request. More...
struct | unsp__QueryDnmPrefixResult
| Query DNM Prefix result. More...
struct | unsp__QueryDnmPrefixListRequest
| Query DNM Prefix List request. More...
struct | unsp__QueryDnmPrefixListResult
| Query DNM Prefix List result. More...
struct | unsp__DnmDefinitionKey
| DNM Definition Key. More...
struct | unsp__DnmDefinitionData
| DNM Definition Data. More...
struct | unsp__CreateDnmDefinitionRequest
| Create DNM Definition request. More...
struct | unsp__CreateDnmDefinitionResult
| Create DNM Definition result. More...
struct | unsp__ModifyDnmDefinitionRequest
| Modify DNM Definition request. More...
struct | unsp__ModifyDnmDefinitionResult
| Modify DNM Definition result. More...
struct | unsp__DeleteDnmDefinitionList
| Delete DNM Definition List. More...
struct | unsp__DeleteDnmDefinitionRequest
| Delete DNM Definition request. More...
struct | unsp__DeleteDnmDefinitionResult
| Delete DNM Definition result. More...
struct | unsp__QueryDnmDefinitionRequest
| Query DNM Definition request. More...
struct | unsp__QueryDnmDefinitionElement
| Query DNM Definition Element. More...
struct | unsp__QueryDnmDefinitionList
| Query DNM Definition List. More...
struct | unsp__QueryDnmDefinitionResult
| Query DNM Definitions result. More...
struct | unsp__DnmModificationKey
| DNM Modification Key. More...
struct | unsp__DnmModificationData
| DNM Modification Data. More...
struct | unsp__CreateDnmModificationRequest
| Create DNM Modification request. More...
struct | unsp__CreateDnmModificationResult
| Create DNM Modification result. More...
struct | unsp__ModifyDnmModificationRequest
| Modify DNM Modification request. More...
struct | unsp__ModifyDnmModificationResult
| Modify DNM Modification result. More...
struct | unsp__DeleteDnmModificationList
| Delete DNM Modification List. More...
struct | unsp__DeleteDnmModificationRequest
| Delete DNM Modification request. More...
struct | unsp__DeleteDnmModificationResult
| Delete DNM Modification result. More...
struct | unsp__QueryDnmModificationRequest
| Query DNM Modification request. More...
struct | unsp__QueryDnmModificationElement
| Query DNM Modification Element. More...
struct | unsp__QueryDnmModificationList
| Query DNM Modification List. More...
struct | unsp__QueryDnmModificationResult
| Query DNM Modification result. More...
struct | unsp__DnmNormalizationKey
| DNM Normalization Key. More...
struct | unsp__DnmNormalizationData
| DNM Normalization Data. More...
struct | unsp__CreateDnmNormalizationRequest
| Create DNM Normalization request. More...
struct | unsp__CreateDnmNormalizationResult
| Create DNM Normalization result. More...
struct | unsp__ModifyDnmNormalizationRequest
| Modify DNM Normalization request. More...
struct | unsp__ModifyDnmNormalizationResult
| Modify DNM Normalization result. More...
struct | unsp__DeleteDnmNormalizationList
| Delete DNM Normalization List. More...
struct | unsp__DeleteDnmNormalizationRequest
| Delete DNM Normalization request. More...
struct | unsp__DeleteDnmNormalizationResult
| Delete DNM Normalization result. More...
struct | unsp__QueryDnmNormalizationRequest
| Query DNM Normalization request. More...
struct | unsp__QueryDnmNormalizationElement
| Query DNM Normalization Element. More...
struct | unsp__QueryDnmNormalizationList
| Query DNM Normalization List. More...
struct | unsp__QueryDnmNormalizationResult
| Query DNM Normalization result. More...
struct | unsp__DnmConversionKey
| DNM Conversion Key. More...
struct | unsp__DnmConversionData
| DNM Conversion Data. More...
struct | unsp__CreateDnmConversionRequest
| Create DNM Conversion request. More...
struct | unsp__CreateDnmConversionResult
| Create DNM Conversion result. More...
struct | unsp__ModifyDnmConversionRequest
| Modify DNM Conversion request. More...
struct | unsp__ModifyDnmConversionResult
| Modify DNM Conversion result. More...
struct | unsp__DeleteDnmConversionList
| Delete DNM Conversion List. More...
struct | unsp__DeleteDnmConversionRequest
| Delete DNM Conversion request. More...
struct | unsp__DeleteDnmConversionResult
| Delete DNM Conversion result. More...
struct | unsp__QueryDnmConversionRequest
| Query DNM Conversion request. More...
struct | unsp__QueryDnmConversionElement
| Query DNM Conversion element. More...
struct | unsp__QueryDnmConversionList
| Query DNM Conversion List. More...
struct | unsp__QueryDnmConversionResult
| Query DNM Conversion result. More...
struct | unsp__DnmLocalTollKey
| Local Toll Key. More...
struct | unsp__DnmLocalTollQueryFields
| Local Toll Query Fields. More...
struct | unsp__DnmLocalTollData
| Local Toll Data. More...
struct | unsp__DnmLocalTollExchangeCodesKey
| Local Toll Exchange Codes Key. More...
struct | unsp__DnmLocalTollExchangeCodesData
| Local Toll Exchange Codes Data. More...
struct | unsp__DnmLocalTollExchangeCodes
| Local Toll Exchange Codes. More...
struct | unsp__DnmLocalTollExchangeCodesList
| Local Toll Exchange Codes List. More...
struct | unsp__CreateDnmLocalTollRequest
| Create Local Toll request. More...
struct | unsp__CreateDnmLocalTollResult
| Create Local Toll result. More...
struct | unsp__ModifyDnmLocalTollRequest
| Modify Local Toll request. More...
struct | unsp__ModifyDnmLocalTollResult
| Modify Local Toll result. More...
struct | unsp__DeleteDnmLocalTollList
| Delete Local Toll List. More...
struct | unsp__DeleteDnmLocalTollRequest
| Delete Local Toll request. More...
struct | unsp__DeleteDnmLocalTollResult
| Delete Local Toll result. More...
struct | unsp__QueryDnmLocalTollRequest
| Query Local Toll request. More...
struct | unsp__QueryDnmLocalTollElement
| Query Local Toll Element. More...
struct | unsp__QueryDnmLocalTollList
| Query Local Toll List. More...
struct | unsp__QueryDnmLocalTollResult
| Query Local Toll result. More...
struct | unsp__CreateDnmLocalTollExchangeCodesRequest
| Create Local Toll Exchange Codes request. More...
struct | unsp__CreateDnmLocalTollExchangeCodesResult
| Create Local Toll Exchange Codes result. More...
struct | unsp__ModifyDnmLocalTollExchangeCodesRequest
| Modify Local Toll Exchange Codes request. More...
struct | unsp__ModifyDnmLocalTollExchangeCodesResult
| Modify Local Toll Exchange Codes result. More...
struct | unsp__DeleteDnmLocalTollExchangeCodesList
| Delete Local Toll Exchange Codes List. More...
struct | unsp__DeleteDnmLocalTollExchangeCodesRequest
| Delete Local Toll Exchange Codes request. More...
struct | unsp__DeleteDnmLocalTollExchangeCodesResult
| Delete Local Toll Exchange Codes result. More...
struct | unsp__QueryDnmLocalTollExchangeCodesRequest
| Query Local Toll Exchange Codes request. More...
struct | unsp__QueryDnmLocalTollExchangeCodesResult
| Query Local Toll Exchange Codes result. More...

## Enumerations
enum | unsp__DnmNumberPlanIndicator { DNM_NPI_Unknown = 0, DNM_NPI_Public, DNM_NPI_Private }
| Number Plan Indicator. More...
enum | unsp__DnmTon { DNM_TON_Unknown = -1, DNM_TON_None, DNM_TON_International, DNM_TON_National, DNM_TON_Subscriber, DNM_TON_L2, DNM_TON_L1, DNM_TON_L0, DNM_TON_Extension, DNM_TON_Normalized, DNM_TON_FQPN, DNM_TON_ANY }
| Type of Number. More...
enum | unsp__DnmSortType { DNM_SortType_NoSorting = -1, DNM_SortType_Weights, DNM_SortType_BgName, DNM_SortType_NpName, DNM_SortType_EpName, DNM_SortType_OrigBgNp, DNM_SortType_TermBgNpEp }
| DNM Sort Type. More...
enum | unsp__DnmNumberSource { DNM_NS_InputNumber, DNM_NS_BgDisplayNumber, DNM_NS_DefaultHomeDN }
| Number Source. More...
enum | unsp__DnmEndpointType { DNM_EpType_Unknown, DNM_EpType_ALL, DNM_EpType_ALL_PN, DNM_EpType_None, DNM_EpType_EpName }
| Endpoint Type. More...
enum | unsp__DnmDialPattern { DNM_DP_Unknown, DNM_DP_National, DNM_DP_SubscriberWithAreaCode, DNM_DP_Subscriber }
| Dial Pattern. More...

## Functions
int | unsp__CreateDnmPrefix (struct unsp__CreateDnmPrefixRequest CreateDnmPrefixRequest, struct unsp__CreateDnmPrefixResult *CreateDnmPrefixResult)
| Creates a DNM Prefix Entry.If Business Group Name is empty, meaning the 'ANY' value, the Number Plan Name should be empty as well. More...
int | unsp__ModifyDnmPrefix (struct unsp__ModifyDnmPrefixRequest ModifyDnmPrefixRequest, struct unsp__ModifyDnmPrefixResult *ModifyDnmPrefixResult)
| Modifies the specified DNM Prefix Entry. More...
int | unsp__DeleteDnmPrefix (struct unsp__DeleteDnmPrefixRequest DeleteDnmPrefixRequest, struct unsp__DeleteDnmPrefixResult *DeleteDnmPrefixResult)
| Deletes the specified DNM Prefix Entries. More...
int | unsp__QueryDnmPrefix (struct unsp__QueryDnmPrefixRequest QueryDnmPrefixRequest, struct unsp__QueryDnmPrefixResult *QueryDnmPrefixResult)
| Retrieves the list of Prefix Entries based on the filter criteria. More...
int | unsp__QueryDnmPrefixList (struct unsp__QueryDnmPrefixListRequest QueryDnmPrefixListRequest, struct unsp__QueryDnmPrefixListResult *QueryDnmPrefixListResult)
| Retrieves the list of DNM Prefixes analyzed per type of number. More...
int | unsp__CreateDnmDefinition (struct unsp__CreateDnmDefinitionRequest CreateDnmDefinitionRequest, struct unsp__CreateDnmDefinitionResult *CreateDnmDefinitionResult)
| Creates a DNM Definition. More...
int | unsp__ModifyDnmDefinition (struct unsp__ModifyDnmDefinitionRequest ModifyDnmDefinitionRequest, struct unsp__ModifyDnmDefinitionResult *ModifyDnmDefinitionResult)
| Modifies a DNM Definition. More...
int | unsp__DeleteDnmDefinition (struct unsp__DeleteDnmDefinitionRequest DeleteDnmDefinitionRequest, struct unsp__DeleteDnmDefinitionResult *DeleteDnmDefinitionResult)
| Deletes the specified DNM Definitions. More...
int | unsp__QueryDnmDefinition (struct unsp__QueryDnmDefinitionRequest QueryDnmDefinitionRequest, struct unsp__QueryDnmDefinitionResult *QueryDnmDefinitionResult)
| Retrieves the list of DNM Definitions. More...
int | unsp__CreateDnmModification (struct unsp__CreateDnmModificationRequest CreateDnmModificationRequest, struct unsp__CreateDnmModificationResult *CreateDnmModificationResult)
| Creates a DNM Modification. More...
int | unsp__ModifyDnmModification (struct unsp__ModifyDnmModificationRequest ModifyDnmModificationRequest, struct unsp__ModifyDnmModificationResult *ModifyDnmModificationResult)
| Modifies a DNM Modification. More...
int | unsp__DeleteDnmModification (struct unsp__DeleteDnmModificationRequest DeleteDnmModificationRequest, struct unsp__DeleteDnmModificationResult *DeleteDnmModificationResult)
| Deletes the specified DNM Modifications. More...
int | unsp__QueryDnmModification (struct unsp__QueryDnmModificationRequest QueryDnmModificationRequest, struct unsp__QueryDnmModificationResult *QueryDnmModificationResult)
| Retrieves the list of DNM Modifications of the specified Business Group. More...
int | unsp__CreateDnmNormalization (struct unsp__CreateDnmNormalizationRequest CreateDnmNormalizationRequest, struct unsp__CreateDnmNormalizationResult *CreateDnmNormalizationResult)
| Creates a DNM Normalization. More...
int | unsp__ModifyDnmNormalization (struct unsp__ModifyDnmNormalizationRequest ModifyDnmNormalizationRequest, struct unsp__ModifyDnmNormalizationResult *ModifyDnmNormalizationResult)
| Modifies a DNM Normalization. More...
int | unsp__DeleteDnmNormalization (struct unsp__DeleteDnmNormalizationRequest DeleteDnmNormalizationRequest, struct unsp__DeleteDnmNormalizationResult *DeleteDnmNormalizationResult)
| Deletes the specified DNM Normalizations. More...
int | unsp__QueryDnmNormalization (struct unsp__QueryDnmNormalizationRequest QueryDnmNormalizationRequest, struct unsp__QueryDnmNormalizationResult *QueryDnmNormalizationResult)
| Retrieves the list of DNM Normalizations. More...
int | unsp__CreateDnmConversion (struct unsp__CreateDnmConversionRequest CreateDnmConversionRequest, struct unsp__CreateDnmConversionResult *CreateDnmConversionResult)
| Creates a DNM Conversion. More...
int | unsp__ModifyDnmConversion (struct unsp__ModifyDnmConversionRequest ModifyDnmConversionRequest, struct unsp__ModifyDnmConversionResult *ModifyDnmConversionResult)
| Modifies a DNM Conversion. More...
int | unsp__DeleteDnmConversion (struct unsp__DeleteDnmConversionRequest DeleteDnmConversionRequest, struct unsp__DeleteDnmConversionResult *DeleteDnmConversionResult)
| Deletes the specified DNM Conversions. More...
int | unsp__QueryDnmConversion (struct unsp__QueryDnmConversionRequest QueryDnmConversionRequest, struct unsp__QueryDnmConversionResult *QueryDnmConversionResult)
| Retrieves the list of DNM Conversions. More...
int | unsp__CreateDnmLocalToll (struct unsp__CreateDnmLocalTollRequest CreateDnmLocalTollRequest, struct unsp__CreateDnmLocalTollResult *CreateDnmLocalTollResult)
| Creates a Local Toll. More...
int | unsp__ModifyDnmLocalToll (struct unsp__ModifyDnmLocalTollRequest ModifyDnmLocalTollRequest, struct unsp__ModifyDnmLocalTollResult *ModifyDnmLocalTollResult)
| Modifies a Local Toll. More...
int | unsp__DeleteDnmLocalToll (struct unsp__DeleteDnmLocalTollRequest DeleteDnmLocalTollRequest, struct unsp__DeleteDnmLocalTollResult *DeleteDnmLocalTollResult)
| Deletes the specified Local Tolls. More...
int | unsp__QueryDnmLocalToll (struct unsp__QueryDnmLocalTollRequest QueryDnmLocalTollRequest, struct unsp__QueryDnmLocalTollResult *QueryDnmLocalTollResult)
| Retrieves the list of Local Tolls. More...
int | unsp__CreateDnmLocalTollExchangeCodes (struct unsp__CreateDnmLocalTollExchangeCodesRequest CreateDnmLocalTollExchangeCodesRequest, struct unsp__CreateDnmLocalTollExchangeCodesResult *CreateDnmLocalTollExchangeCodesResult)
| Creates Exchange Codes for a Local Toll. More...
int | unsp__ModifyDnmLocalTollExchangeCodes (struct unsp__ModifyDnmLocalTollExchangeCodesRequest ModifyDnmLocalTollExchangeCodesRequest, struct unsp__ModifyDnmLocalTollExchangeCodesResult *ModifyDnmLocalTollExchangeCodesResult)
| Modifies the Exchange Codes of a Local Toll. More...
int | unsp__DeleteDnmLocalTollExchangeCodes (struct unsp__DeleteDnmLocalTollExchangeCodesRequest DeleteDnmLocalTollExchangeCodesRequest, struct unsp__DeleteDnmLocalTollExchangeCodesResult *DeleteDnmLocalTollExchangeCodesResult)
| Deletes a List of Exchange Codes from a Local Toll. More...
int | unsp__QueryDnmLocalTollExchangeCodes (struct unsp__QueryDnmLocalTollExchangeCodesRequest QueryDnmLocalTollExchangeCodesRequest, struct unsp__QueryDnmLocalTollExchangeCodesResult *QueryDnmLocalTollExchangeCodesResult)
| Queries the Exchange Codes of a Local Toll. More...

## Detailed Description

Display Number Modification Definitions and Methods.

From the end user perspective, it is useful for the called party to see a number being displayed that can be used exactly to call back the calling party (instead of prefixing the public access code, country code, etc. to the display number before calling back). In order to support the display of a dialable number, there are administrative tables for number modification.

Any existing features or future features which have the number display functionality interact with the dialable display number feature. The dialable display number feature applies only if the display number supporting tables are provisioned. If they are not provisioned, then the current display number function will be used with no modification applied. To disable the dialable display number feature, the entries in these tables need to be removed.

## DNM Prefix

This table specifies the network access codes and prefixes that are defined for a specific numbering plan, a specific business group or system wide.

This table is consulted 2 ways:

- One way is to find out the type of number for an unknown digit string. It will find the prefixes table entry with the longest digit string match on network access code (PNAC) and prefix, strip the network access code and prefix and return the stripped number together with the type of number (TON) that is defined for that network access code and prefix.
- Another way is to find the PNAC and prefix digits for a specific type of number. It will find the number prefix entry for the specified numbering plan and business group.

## DNM Definition

This table specifies the number definition entries that exist within a numbering plan, business group or even system wide.

The definitions table is populated with all the office codes that are created in the OpenScape Voice database. This includes public office codes and also office codes created for private Home DNs. It is also possible to create business group specific and even system wide definitions.

The Numbering Plan Identifier (NPI) specifies whether the definition is for a private or a public office code. Local Toll allows the administrator to specify how public numbers are defined for users of this specific definition table entry. Per default it is assumed that users that have a specific public number actually follow the basic rules that they need to dial local numbers within their own area code, national numbers within their country and international numbers elsewhere. As long as these rules apply, there's no need for a local toll entry on the public number definition. However, if these rules change, as they certainly can in the American market, then the local toll table entry specified on the number definition can be used to find out how a number received from the public network can be optimized to the national or subscriber level for the subscribers of that office code. There are 2 situations where the local toll table is mandatory:

- When a standalone private office code is created without a number conversion entry that allows the DNM library to find the accompanying public number then the local toll table entry will allow the DNM library to optimize incoming public numbers correctly for these users. E.g. if a branch office has a single access number and all branch office members have private extensions not reachable directly from the public network, then the subscribers of the branch office need to be provisioned with private numbers and the private number definition table entry needs a local toll entry to define the local and national public numbers in the context of the private number subscribers.
- When a public office code is created with subscribers that need to dial within split or overlapping area codes. This is the case in e.g. Boca Raton, FL in case the numbers presented to the subscribers need to be in the exact format as specified by the public network.

## DNM Modification

This table specifies the number modification rules that are applied for creating a dialable number. The administrator gets full flexibility on specifying very specific rules that only apply for number modification from a specific numbering plan to a specific endpoint or very general rules that apply system wide.

- Allow specifying a rule that applies to all Private Networking endpoints (ALL-PN) or to all endpoints (ALL) of a specific numbering plan, a specific business group or system wide. In order to allow ALL-PN to be specified there must be at least one Private Networking (SIP or SIP-Q) endpoint configured with the specified numbering plan, business group or system wide. In order to allow ALL to be specified there must be at least one non- subscriber endpoint configured with the specified numbering plan, business group or system wide.
- Use of a Prefix flag on a rule instead of specifying it on the output type of number field.
- Use of a Presentation Restricted flag on a rule instead of specifying it in the Number Transmission field.
- Renaming the Number Transmission field to Number Source field with 3 possible values: Input Number (formerly known as Transparent or Blocked), Default Home DN and BG Display Number.
- Use of a Default Home DN number provisioned on the specified endpoint instead of the provided input number. This only succeeds if the dialable number is created for an endpoint that has a Default Home DN number defined. This is done by selecting the Default Home DN Number Source. It will not be allowed to specify a Default Home DN rule without having either the specified endpoint or one of the private networking and/or trunking endpoints (ALL-PN/ALL) in the numbering plan with a defined Default Home DN.
- Up to 3 ANY rules (prioritized 1 to 3) can be specified that take an output type of number that is not ANY. The output type of number ANY automatically receives reserved priority number 4. It shall not be possible to enter 2 modification rules with the same number source field value that only differ on priority. E.g. an ANY (input) / INT (output) / 1 (priority) / Input Number (Number Source) rule precludes creating an ANY (input) / INT (output) / 2 (priority) or 3 (priority) / Input Number (Number Source) rule. The priorities 1 to 4 will also apply to the rules with a defined input type of number.
- Maximum optimization level that applies to a modification rule.
- Fallback rules that apply when a higher priority rule fails.

For all the following rules, Optimize Type of Number must be None and the Prefix Required flag must not be set:

- FQPN: request to modify the number to a fully qualified private number (L2, L1 or L0 number).
- EXT: request to modify the number to an extension number.
- NORMALIZED: request to return the fully qualified number for the input number. This is a fully qualified private number if the input number is a private number or a fully qualified public number if the input number is a public number.

For inter business group rules (where 2 different business group names are specified), the output type of number must be a public type of number: one of Any, International, National, Subscriber or Normalized. Inter business group rules with non-public number outputs will be skipped.

## DNM Normalization

This table specifies the entries to normalize any type of input number to a fully qualified public (international) or private (L2, L1 or L0) number.

The administrator can specify endpoint specific, numbering plan specific, business group wide and even system wide entries. The purpose of this table is to normalize the numbers received from gateways and other trunking endpoints. Therefore, most likely, the administrator will be entering endpoint specific entries in this table. This table and the local toll table are the only tables that require knowledge beyond the boundaries of the OpenScape Voice system being administered. This table contains information about the format of the presentation numbers sent by specific endpoints. Note that this table is consulted after the prefixes table has been consulted, so it usually works on defined numbers (not unknown) unless the PNAC and prefixes are not added by the gateway, at which point this table requires normalization entries for Unknown type of numbers.

This table allows specifying an Input Pattern and Type of Number used for matching the number to be normalized and then specifying a modification rule and the resulting type of number of the normalized number. The input pattern allows using wildcards and regular expressions and contains information on how to split the matching digit string in fields that can then be repeated in the modification rule.

This table is also used when a translation results in a call to a specific gateway. If the result of the translation (output of prefix access codes table) is not a fully qualified number then the Normalization table is used to try normalizing the number for presentation purposes in case the gateway does not provide a busy, alerting or connected number.

### Input Patterns

In order to limit and even hide the complexity of regular expressions, the input patterns use the following wildcard syntax for pattern elements:

ildcard | Equivalent Elemen
--- | ---
N | [2-9]
X | [0-9]
Z | 0 or more X's
Z {n,m} | Between n and m X's; n must be smaller than m.
Z{N} | Exactly n X's

Furthermore, it will not be allowed to enter patterns that would result in regular expressions that would invoke backtracking. This means that the "|" delimiter used to indicate a choice of elements in regular expressions is forbidden from use in the input patterns.

The only other pattern elements allowed are:

- [nm]: n or m with n and m any digit between 0 and 9, *, #.
- [n-m]: n through m with n and m a digit between 0 and 9. It can be combined with the previous [nm] regular expression. E.g. [04-79] means 0, 4, 5, 6, 7 or 9.
- n: a digit between 0 and 9, * or #.

Pattern elements are joined in pattern fields through the use of the '-' delimiter between 2 pattern elements. Note that the '-' is also allowed inside a pattern element's square brackets and will then not be counted as field numbers.

Pattern | Description
--- | ---
8011-Z | 8011 followed by an open-ended number of digits. Split in 2 fields: Field1 is 8011. Field2 contains the remaining digits of the matching input string.
81-Z{10} | 81 followed by a fixed length 10 digit number. Split in 2 fields: Field1 is 81. Field2 contains a 10 digit number.
00-Z{10,11} | 00 followed by a variable length 10 or 11 digit number. Split in 2 fields: Field1 is 00. Field2 contains a 10 or 11 digit number.
XXXX | A 4 digit number in a single field.

If multiple entries could apply to the same input digit string, a weighting factor attributed to the wildcards ensures that specific digits have higher weight then N, followed by X and lastly Z wildcards.

### Output Expression

An output expression is a series of elements and fields where the fields reference the matching digits of the corresponding field in the input pattern. The '-' delimiter is allowed anywhere in the output expression and is ignored in the resulting element string. The maximum length of an output expression is 64 characters.

Examples of output expressions with the previous examples would be:

Pattern | Expression | Description
--- | --- | ---
8011-Z | {2} | Return contents of field 2.
81-Z{10} | 1{2} | Return '1' followed by the contents of field 2. This would create a US international number from a prefixed national US number.
00-Z{10,11} | 32{2} | Return '32' followed by the contents of field 2. This would create a BE international number from a prefixed national BE number.
XXXX | 1561555-{1} | Return 1561555 followed by the contents of field 1 (the '-' is ignored). This would create a US international number from a 4 digit extension.

## DNM Conversion

This table specifies the number conversion entries that can be created to convert a public normalized number to a private normalized number or a private normalized number to a public normalized number. A special Auto- Reverse parameter allows the administrator to request an automatic creation of the reverse entry; i.e. if a public to private conversion is specified then setting the auto-reverse option will trigger the system to automatically create the private to public number conversion.

The administrator can specify numbering plan specific, business group wide and system wide entries. If the input type of number indicates a public number (International) then the output type of number must indicate a private number (L2, L1 or L0) and vice versa if the input type of number indicates a private number (L2, L1 or L0) then the output type of number must indicate a public number (International).

This table allows specifying an input pattern used for matching the number to be converted and then specifying an output modification rule and the resulting type of number of the converted output number. Just like the input pattern of the normalizations table, this input pattern allows the same wildcards and regular expressions to be used and contains information on how to split a matching digit string in fields that can be repeated in the output modification rule.

For each entry in the conversions table, the DNM library automatically creates an entry for matching an international public number and converting it to a fully qualified private number (FQPN) and another entry for matching an FQPN and converting it to an international public number if the auto-reverse option is used.

The same weighting as used for the DNM Normalization table ensures that the 498972231212 input pattern entry takes precedence over the less specific 4989722-31XXX entry which also matches for the given input number.

## Local Toll

This table specifies a list of local exchange codes that are local within a specified area code and country code and also includes an indication on whether the area code (AC) needs to be included as part of the Subscriber level number or not.

The following table shows some examples of numbers presented to the local toll table and how the table treats the number:

International Number | Resulting Number | Description
--- | --- | ---
International, 498972211111 | International, 498972211111 | The country codes don't match; therefore the number remains international
International, 15615551212 | National, 5615551212 | Country code 1 and area code 561 match, but 555 is not found in the local exchange code list. Therefore, the output number is a national number.
International, 15615581212 | Subscriber, 5581212 | Country code 1 and area code 561 match, and 558 is found in the local exchange code list. Therefore, the output number is a subscriber number. The area code is not part of the subscriber number because the check box Include AC is not checked.
International, 19542341111 | Subscriber, 9542341111 | Country code 1 and area code 954 match, and 234 is found in the local exchange code list. Therefore, the output number is a subscriber number. The area code is part of the subscriber number because the check box Include AC is checked.
International, 19542221111 | National, 9542221111 | Country code 1 and area code 954 match, but 222 is not found in the local exchange code list. Therefore, the output number is a national number.

The default rule for a local toll table is that all local exchange codes are local within the specified area code and country code and that the area code is not part of the local number. This rule can be specified using the single wildcard '*' for the list of matching local exchange codes.

No other wildcards or regular expressions are supported on the list of local exchange codes.

The exchange codes recorded in a local toll table must all have the same length. It will be allowed to have multiple local toll exchange codes entries with the same area code for the same local toll table. E.g. in the example above it would be allowed to enter another local exchange codes table with the area code 561.

Local Toll table entries can be assigned to entries in the definitions table with the following restrictions:

- A Local Toll table specified for a specific business group cannot be assigned to a system wide definition entry. The reason for this is that system wide definition entries can be seen by every administrator and administrators of other business groups may not have access to other business group resources.
- A Local Toll table specified for a specific business group cannot be assigned to a definition that is specific to another business group for the same reasons as above.

## Enumeration Type Documentation

## ◆ unsp__DnmDialPattern

enum unsp__DnmDialPattern

Dial Pattern.

Enumerator
DNM_DP_Unknown | Unknown.
DNM_DP_National | National.
DNM_DP_SubscriberWithAreaCode | Subscriber with Area Code.
DNM_DP_Subscriber | Subscriber.

## ◆ unsp__DnmEndpointType

enum unsp__DnmEndpointType

Endpoint Type.

Enumerator
DNM_EpType_Unknown | Unknown.
DNM_EpType_ALL | All.
DNM_EpType_ALL_PN | All PN.
DNM_EpType_None | None.
DNM_EpType_EpName | Endpoint Name.

## ◆ unsp__DnmNumberPlanIndicator

enum unsp__DnmNumberPlanIndicator

Number Plan Indicator.

Enumerator
DNM_NPI_Unknown | Unknown.
DNM_NPI_Public | Public.
DNM_NPI_Private | Private.

## ◆ unsp__DnmNumberSource

enum unsp__DnmNumberSource

Number Source.

Enumerator
DNM_NS_InputNumber | Input Number.
DNM_NS_BgDisplayNumber | Business Group Display Number.
DNM_NS_DefaultHomeDN | Default Home DN.

## ◆ unsp__DnmSortType

enum unsp__DnmSortType

DNM Sort Type.

Enumerator
DNM_SortType_NoSorting | No Sorting.
DNM_SortType_Weights | Sort by Weights.
DNM_SortType_BgName | Sort by Business Group Name.
DNM_SortType_NpName | Sort by Number Plan Name.
DNM_SortType_EpName | Sort by Endpoint Name.
DNM_SortType_OrigBgNp | Sort by Originating BG/NP.
DNM_SortType_TermBgNpEp | Sort by Terminating NP/EP.

## ◆ unsp__DnmTon

enum unsp__DnmTon

Type of Number.

Enumerator
DNM_TON_Unknown | Unknown.
DNM_TON_None | None.
DNM_TON_International | International.
DNM_TON_National | National.
DNM_TON_Subscriber | Subscriber.
DNM_TON_L2 | L2.
DNM_TON_L1 | L1.
DNM_TON_L0 | L0.
DNM_TON_Extension | Extension.
DNM_TON_Normalized | Normalized.
DNM_TON_FQPN | Fully Qualified Private Number.
DNM_TON_ANY | Any.

## Function Documentation

## ◆ unsp__CreateDnmConversion()

unsp__CreateDnmConversion | ( | struct unsp__CreateDnmConversionRequest | CreateDnmConversionRequest,
|  | struct unsp__CreateDnmConversionResult * | CreateDnmConversionResult
| ) |  |

Creates a DNM Conversion.

Parameters

  CreateDnmConversionRequest | API request
  CreateDnmConversionResult | API result MP2 command: CDNMCONVERSION [Attributes]

## ◆ unsp__CreateDnmDefinition()

unsp__CreateDnmDefinition | ( | struct unsp__CreateDnmDefinitionRequest | CreateDnmDefinitionRequest,
|  | struct unsp__CreateDnmDefinitionResult * | CreateDnmDefinitionResult
| ) |  |

Creates a DNM Definition.

Parameters

  CreateDnmDefinitionRequest | API request
  CreateDnmDefinitionResult | API result MP2 command: CDNMDEFINITION [Attributes]

## ◆ unsp__CreateDnmLocalToll()

unsp__CreateDnmLocalToll | ( | struct unsp__CreateDnmLocalTollRequest | CreateDnmLocalTollRequest,
|  | struct unsp__CreateDnmLocalTollResult * | CreateDnmLocalTollResult
| ) |  |

Creates a Local Toll.

Parameters

  CreateDnmLocalTollRequest | API request
  CreateDnmLocalTollResult | API result MP2 command: CDNMLOCALTOLL [Attributes]

## ◆ unsp__CreateDnmLocalTollExchangeCodes()

unsp__CreateDnmLocalTollExchangeCodes | ( | struct unsp__CreateDnmLocalTollExchangeCodesRequest | CreateDnmLocalTollExchangeCodesRequest,
|  | struct unsp__CreateDnmLocalTollExchangeCodesResult * | CreateDnmLocalTollExchangeCodesResult
| ) |  |

Creates Exchange Codes for a Local Toll.

Parameters

  CreateDnmLocalTollExchangeCodesRequest | API request
  CreateDnmLocalTollExchangeCodesResult | API result MP2 command: CDNMLOCALTOLLEXCODES [Attributes]

## ◆ unsp__CreateDnmModification()

unsp__CreateDnmModification | ( | struct unsp__CreateDnmModificationRequest | CreateDnmModificationRequest,
|  | struct unsp__CreateDnmModificationResult * | CreateDnmModificationResult
| ) |  |

Creates a DNM Modification.

Parameters

  CreateDnmModificationRequest | API request
  CreateDnmModificationResult | API result MP2 command: CDNMMODIFICATION [Attributes]

## ◆ unsp__CreateDnmNormalization()

unsp__CreateDnmNormalization | ( | struct unsp__CreateDnmNormalizationRequest | CreateDnmNormalizationRequest,
|  | struct unsp__CreateDnmNormalizationResult * | CreateDnmNormalizationResult
| ) |  |

Creates a DNM Normalization.

Parameters

  CreateDnmNormalizationRequest | API request
  CreateDnmNormalizationResult | API result MP2 command: CDNMNORMALIZATION [Attributes]

## ◆ unsp__CreateDnmPrefix()

unsp__CreateDnmPrefix | ( | struct unsp__CreateDnmPrefixRequest | CreateDnmPrefixRequest,
|  | struct unsp__CreateDnmPrefixResult * | CreateDnmPrefixResult
| ) |  |

Creates a DNM Prefix Entry.If Business Group Name is empty, meaning the 'ANY' value, the Number Plan Name should be empty as well.

Validation of a new DNM Prefix entry will ensure that all NPI/TON combinations in the list of data objects are unique.

Parameters

  CreateDnmPrefixRequest | API request
  CreateDnmPrefixResult | API result MP2 command: CDNMPREFIX [Attributes]

## ◆ unsp__DeleteDnmConversion()

unsp__DeleteDnmConversion | ( | struct unsp__DeleteDnmConversionRequest | DeleteDnmConversionRequest,
|  | struct unsp__DeleteDnmConversionResult * | DeleteDnmConversionResult
| ) |  |

Deletes the specified DNM Conversions.

Parameters

  DeleteDnmConversionRequest | API request
  DeleteDnmConversionResult | API result MP2 command: DDNMCONVERSION [Attributes]

## ◆ unsp__DeleteDnmDefinition()

unsp__DeleteDnmDefinition | ( | struct unsp__DeleteDnmDefinitionRequest | DeleteDnmDefinitionRequest,
|  | struct unsp__DeleteDnmDefinitionResult * | DeleteDnmDefinitionResult
| ) |  |

Deletes the specified DNM Definitions.

Parameters

  DeleteDnmDefinitionRequest | API request
  DeleteDnmDefinitionResult | API result MP2 command: DDNMDEFINITION [Attributes]

## ◆ unsp__DeleteDnmLocalToll()

unsp__DeleteDnmLocalToll | ( | struct unsp__DeleteDnmLocalTollRequest | DeleteDnmLocalTollRequest,
|  | struct unsp__DeleteDnmLocalTollResult * | DeleteDnmLocalTollResult
| ) |  |

Deletes the specified Local Tolls.

In case of an error, the exact entry for which the error was raised will be returned along with the error. Rollback of the entire operation is supported in case of an error through a flag present in the request.

Parameters

  DeleteDnmLocalTollRequest | API request
  DeleteDnmLocalTollResult | API result MP2 command: DDNMLOCALTOLL [Attributes]

## ◆ unsp__DeleteDnmLocalTollExchangeCodes()

unsp__DeleteDnmLocalTollExchangeCodes | ( | struct unsp__DeleteDnmLocalTollExchangeCodesRequest | DeleteDnmLocalTollExchangeCodesRequest,
|  | struct unsp__DeleteDnmLocalTollExchangeCodesResult * | DeleteDnmLocalTollExchangeCodesResult
| ) |  |

Deletes a List of Exchange Codes from a Local Toll.

Parameters

  DeleteDnmLocalTollExchangeCodesRequest | API request
  DeleteDnmLocalTollExchangeCodesResult | API result MP2 command: DDNMLOCALTOLLEXCODES [Attributes]

## ◆ unsp__DeleteDnmModification()

unsp__DeleteDnmModification | ( | struct unsp__DeleteDnmModificationRequest | DeleteDnmModificationRequest,
|  | struct unsp__DeleteDnmModificationResult * | DeleteDnmModificationResult
| ) |  |

Deletes the specified DNM Modifications.

Parameters

  DeleteDnmModificationRequest | API request
  DeleteDnmModificationResult | API result MP2 command: DDNMMODIFICATION [Attributes]

## ◆ unsp__DeleteDnmNormalization()

unsp__DeleteDnmNormalization | ( | struct unsp__DeleteDnmNormalizationRequest | DeleteDnmNormalizationRequest,
|  | struct unsp__DeleteDnmNormalizationResult * | DeleteDnmNormalizationResult
| ) |  |

Deletes the specified DNM Normalizations.

In case of an error, the exact entry(ies) for which the error was raised will be returned along with the error. Rollback of the entire operation is supported through a flag present in the request.

Parameters

  DeleteDnmNormalizationRequest | API request
  DeleteDnmNormalizationResult | API result MP2 command: DDNMNORMALIZATION [Attributes]

## ◆ unsp__DeleteDnmPrefix()

unsp__DeleteDnmPrefix | ( | struct unsp__DeleteDnmPrefixRequest | DeleteDnmPrefixRequest,
|  | struct unsp__DeleteDnmPrefixResult * | DeleteDnmPrefixResult
| ) |  |

Deletes the specified DNM Prefix Entries.

Parameters

  DeleteDnmPrefixRequest | API request
  DeleteDnmPrefixResult | API result MP2 command: DDNMPREFIX [Attributes]

## ◆ unsp__ModifyDnmConversion()

unsp__ModifyDnmConversion | ( | struct unsp__ModifyDnmConversionRequest | ModifyDnmConversionRequest,
|  | struct unsp__ModifyDnmConversionResult * | ModifyDnmConversionResult
| ) |  |

Modifies a DNM Conversion.

Parameters

  ModifyDnmConversionRequest | API request
  ModifyDnmConversionResult | API result MP2 command: UDNMCONVERSION [Attributes]

## ◆ unsp__ModifyDnmDefinition()

unsp__ModifyDnmDefinition | ( | struct unsp__ModifyDnmDefinitionRequest | ModifyDnmDefinitionRequest,
|  | struct unsp__ModifyDnmDefinitionResult * | ModifyDnmDefinitionResult
| ) |  |

Modifies a DNM Definition.

Parameters

  ModifyDnmDefinitionRequest | API request
  ModifyDnmDefinitionResult | API result MP2 command: UDNMDEFINITION [Attributes]

## ◆ unsp__ModifyDnmLocalToll()

unsp__ModifyDnmLocalToll | ( | struct unsp__ModifyDnmLocalTollRequest | ModifyDnmLocalTollRequest,
|  | struct unsp__ModifyDnmLocalTollResult * | ModifyDnmLocalTollResult
| ) |  |

Modifies a Local Toll.

Parameters

  ModifyDnmLocalTollRequest | API request
  ModifyDnmLocalTollResult | API result MP2 command: UDNMLOCALTOLL [Attributes]

## ◆ unsp__ModifyDnmLocalTollExchangeCodes()

unsp__ModifyDnmLocalTollExchangeCodes | ( | struct unsp__ModifyDnmLocalTollExchangeCodesRequest | ModifyDnmLocalTollExchangeCodesRequest,
|  | struct unsp__ModifyDnmLocalTollExchangeCodesResult * | ModifyDnmLocalTollExchangeCodesResult
| ) |  |

Modifies the Exchange Codes of a Local Toll.

Parameters

  ModifyDnmLocalTollExchangeCodesRequest | API request
  ModifyDnmLocalTollExchangeCodesResult | API result MP2 command: UDNMLOCALTOLLEXCODES [Attributes]

## ◆ unsp__ModifyDnmModification()

unsp__ModifyDnmModification | ( | struct unsp__ModifyDnmModificationRequest | ModifyDnmModificationRequest,
|  | struct unsp__ModifyDnmModificationResult * | ModifyDnmModificationResult
| ) |  |

Modifies a DNM Modification.

Parameters

  ModifyDnmModificationRequest | API request
  ModifyDnmModificationResult | API result MP2 command: UDNMMODIFICATION [Attributes]

## ◆ unsp__ModifyDnmNormalization()

unsp__ModifyDnmNormalization | ( | struct unsp__ModifyDnmNormalizationRequest | ModifyDnmNormalizationRequest,
|  | struct unsp__ModifyDnmNormalizationResult * | ModifyDnmNormalizationResult
| ) |  |

Modifies a DNM Normalization.

Parameters

  ModifyDnmNormalizationRequest | API request
  ModifyDnmNormalizationResult | API result MP2 command: UDNMNORMALIZATION [Attributes]

## ◆ unsp__ModifyDnmPrefix()

unsp__ModifyDnmPrefix | ( | struct unsp__ModifyDnmPrefixRequest | ModifyDnmPrefixRequest,
|  | struct unsp__ModifyDnmPrefixResult * | ModifyDnmPrefixResult
| ) |  |

Modifies the specified DNM Prefix Entry.

The interface supports a series of validations similar to the ones performed during the unsp__CreateDnmPrefix() method.

Parameters

  ModifyDnmPrefixRequest | API request
  ModifyDnmPrefixResult | API result MP2 command: UDNMPREFIX [Attributes]

## ◆ unsp__QueryDnmConversion()

unsp__QueryDnmConversion | ( | struct unsp__QueryDnmConversionRequest | QueryDnmConversionRequest,
|  | struct unsp__QueryDnmConversionResult * | QueryDnmConversionResult
| ) |  |

Retrieves the list of DNM Conversions.

Filtering on Business Group Name and/or Number Plan Name is supported.

Parameters

  QueryDnmConversionRequest | API request
  QueryDnmConversionResult | API result

## ◆ unsp__QueryDnmDefinition()

unsp__QueryDnmDefinition | ( | struct unsp__QueryDnmDefinitionRequest | QueryDnmDefinitionRequest,
|  | struct unsp__QueryDnmDefinitionResult * | QueryDnmDefinitionResult
| ) |  |

Retrieves the list of DNM Definitions.

A Business Group Name and/or a Number Plan name must be provided.

Sorting is performed by NDAL Weight / by Business Group / by Number Plan.

Parameters

  QueryDnmDefinitionRequest | API request
  QueryDnmDefinitionResult | API result

## ◆ unsp__QueryDnmLocalToll()

unsp__QueryDnmLocalToll | ( | struct unsp__QueryDnmLocalTollRequest | QueryDnmLocalTollRequest,
|  | struct unsp__QueryDnmLocalTollResult * | QueryDnmLocalTollResult
| ) |  |

Retrieves the list of Local Tolls.

Supports filtering on Business Group Name.

Parameters

  QueryDnmLocalTollRequest | API request
  QueryDnmLocalTollResult | API result

## ◆ unsp__QueryDnmLocalTollExchangeCodes()

unsp__QueryDnmLocalTollExchangeCodes | ( | struct unsp__QueryDnmLocalTollExchangeCodesRequest | QueryDnmLocalTollExchangeCodesRequest,
|  | struct unsp__QueryDnmLocalTollExchangeCodesResult * | QueryDnmLocalTollExchangeCodesResult
| ) |  |

Queries the Exchange Codes of a Local Toll.

Parameters

  QueryDnmLocalTollExchangeCodesRequest | API request
  QueryDnmLocalTollExchangeCodesResult | API result

## ◆ unsp__QueryDnmModification()

unsp__QueryDnmModification | ( | struct unsp__QueryDnmModificationRequest | QueryDnmModificationRequest,
|  | struct unsp__QueryDnmModificationResult * | QueryDnmModificationResult
| ) |  |

Retrieves the list of DNM Modifications of the specified Business Group.

Supports Sorting by NDAL Weight / by Originating BG -NP / by Terminating BG - NP - EP.

Parameters

  QueryDnmModificationRequest | API request
  QueryDnmModificationResult | API result

## ◆ unsp__QueryDnmNormalization()

unsp__QueryDnmNormalization | ( | struct unsp__QueryDnmNormalizationRequest | QueryDnmNormalizationRequest,
|  | struct unsp__QueryDnmNormalizationResult * | QueryDnmNormalizationResult
| ) |  |

Retrieves the list of DNM Normalizations.

Parameters

  QueryDnmNormalizationRequest | API request
  QueryDnmNormalizationResult | API result

## ◆ unsp__QueryDnmPrefix()

unsp__QueryDnmPrefix | ( | struct unsp__QueryDnmPrefixRequest | QueryDnmPrefixRequest,
|  | struct unsp__QueryDnmPrefixResult * | QueryDnmPrefixResult
| ) |  |

Retrieves the list of Prefix Entries based on the filter criteria.

A Business Group Name and/or a Number Plan name must be provided.

Sorting is performed by NDAL Weight / by Business Group / by Number Plan.

Parameters

  QueryDnmPrefixRequest | API request
  QueryDnmPrefixResult | API result

## ◆ unsp__QueryDnmPrefixList()

unsp__QueryDnmPrefixList | ( | struct unsp__QueryDnmPrefixListRequest | QueryDnmPrefixListRequest,
|  | struct unsp__QueryDnmPrefixListResult * | QueryDnmPrefixListResult
| ) |  |

Retrieves the list of DNM Prefixes analyzed per type of number.

Parameters

  QueryDnmPrefixListRequest | API request
  QueryDnmPrefixListResult | API result