Normalisation and Denormalisation
Overview
Normalisation and denormalisation rules may be defined for any N2SCP application. These rules
exist within the config
block, e.g.:
<?xml version="1.0" encoding="utf-8"?>
<n2svcd>
...
<applications>
...
<application name="<application name>" module="DsgScpApp">
...
<config>
...
<normalisation>
<!-- Normalisation rules -->
</normalisation>
<denormalisation>
<!-- Denormalisation rules -->
</denormalisation>
</config>
</application>
...
</application>
...
</n2svcd>
Configuration Details
Within each block, normalisation rules may be configured within specific sub-sections:
Attribute | Type | Description |
---|---|---|
.normalisation
|
Object |
Container for called and called party number normalisation rules for inbound InitialDP messages.
|
.called_party
|
Array |
Array of normalisation rules for InitialDP .calledPartyNumber from Digits and NoA to digits-only.
|
.rule
|
Object | Provisions a called party normalisation rule. |
.called_party_bcd
|
Array |
Array of normalisation rules for InitialDP .calledPartyBCDNumber from Digits and NoA to digits-only.
|
.rule
|
Object | Provisions a called party BCD normalisation rule. |
.calling_party
|
Array |
Array of normalisation rules for InitialDP .callingPartyNumber from Digits and NoA to digits-only.
|
.rule
|
Object | Provisions a calling party normalisation rule. |
.denormalisation
|
Object |
Container for called and called party number denormalisation rules for outbound Connect .
|
.called_party
|
Array |
Array of denormalisation rules for translating from digits-only to Digits and NoA. Applies to
destinationRoutingAddress and originalCalledPartyID in Connect message.
|
.rule
|
Object | Provisions a called party denormalisation rule. |
.calling_party
|
Array |
Array of denormalisation rules for translating from digits-only to Digits and NoA. Applies to
callingPartyNumber /genericNumber and redirectingPartyID in
Connect messages and assistingSSPIPRoutingAddress in
EstablishTemporaryConnection messages.
|
.rule
|
Object | Provisions a calling party denormalisation rule. |
Normalisation Rule
Each Normalisation Rule defines a rule for the normalisation of an inbound
number. For each inbound InitialDP
the relevant normalisation
list is traversed until a matching rule is found. That rule is then applied and no other
rule will apply. The following inbound numbers are normalised:
InitialDP
.calledPartyNumber
(called_party
normalisation rules)InitialDP
.calledPartyBCDNumber
(called_party_bcd
normalisation rules)InitialDP
.callingPartyNumber
(calling_party
normalisation rules)InitialDP
.redirectingPartyID
(calling_party
normalisation rules)InitialDP
.originalCalledPartyID
(called_party
normalisation rules)
Each rule
Object in the config
.normalisation
.called_party
and
config
.normalisation
.calling_party
Array lists has the following structure.
Attribute | Type | Description |
---|---|---|
leading
|
Hex Digits |
A prefix match string containing zero or more characters. An empty string matches all digits.
The match is case-insensitive. For called_party_bcd rules, the permitted characters are [0-9][a-c] , * ,
and # .For all other rules, the permitted characters are [0-9][a-f] .A rule matches if leading , noa , originating , forwarding , and
terminating all match.
(Default = empty string).
|
noa
|
0 -127
|
A numeric Nature of Address (NoA) to match against the input address. Note that the values for this parameter
may differ for called_party_bcd rules, as described in
Nature of Address and Type of Number, although the
configuration parameter is still named noa .A rule matches if leading , noa , originating , forwarding , and
terminating all match.
(Default = 2 for calling_party and called_party ).(Default = 0 for called_party_bcd ).
|
originating
|
Boolean |
Whether this rule applies for originating
calls. (Default = true ).
|
forwarding
|
Boolean |
Whether this rule applies for forwarding
calls. (Default = true ).
|
terminating
|
Boolean |
Whether this rule applies for terminating
calls. (Default = true ).
|
min_len
|
Integer |
The minimum length of the digit string which this rule will match. (Default = same as the length of leading ).
|
max_len
|
Integer |
The maximum length of the digit string which this rule will match. (Default = no maximum length, match all digit strings). |
trim
|
Integer |
The number of leading digits to trim when normalising. (Default = 0 , do not trim).
|
prepend
|
Hex Digits |
The digit string to prepend (after trimming) when normalising. None or more characters from [0-9][a-f] .For the called_party_bcd rules the permitted characters are [0-9][a-c] plus * and # .(Default = do not prepend). |
Denormalisation Rule
Each Denormalisation Rule defines a rule for the denormalisation of an
outbound calling or calling number. For each outbound Connect
the relevant denormalisation
list is traversed until a matching rule is found. That rule is applied. No other
rule will apply. The following outbound addresses are denormalised (when not taken directly from InitialDP
fields):
EstablishTemporaryConnection
.assistingSSPIPRoutingAddress
(called_party
denormalisation rules)Connect
.destinationRoutingAddress
(called_party
denormalisation rules)Connect
.originalCalledPartyID
(called_party
denormalisation rules)Connect
.redirectingPartyID
(calling_party
denormalisation rules)Connect
.callingPartyNumber
(calling_party
denormalisation rules)
Note that the originalCalledPartyID
, redirectingPartyID
, and callingPartyNumber
fields are
not always present in the outbound Connect
. These are present only when expressly requested by
the service logic.
Each rule
Object in the config
.denormalisation
.called_party
and
config
.denormalisation
.calling_party
Array lists has the following structure.
Attribute | Type | Description |
---|---|---|
leading
|
Hex Digits |
[Required] A prefix match string containing none or more characters from [0-9][a-f] .An empty string matches all digits. The match is case-insensitive. A rule matches if leading matches.
|
originating
|
Boolean |
Whether this rule applies for originating
calls. (Default = true ).
|
forwarding
|
Boolean |
Whether this rule applies for forwarding
calls. (Default = true ).
|
terminating
|
Boolean |
Whether this rule applies for terminating
calls. (Default = true ).
|
min_len
|
Integer |
The minimum length of the digit string which this rule will match. (Default = same as the length of leading ).
|
max_len
|
Integer |
The maximum length of the digit string which this rule will match. (Default = no maximum length, match all digit strings). |
noa
|
0 -127
|
A numeric Nature of Address (NoA) to set for the output address. This is always a
Nature of Address value. (Default = 2 ).
|
trim
|
Integer |
The number of leading digits to trim when denormalising. (Default = 0 , do not trim).
|
prepend
|
Hex Digits |
The digit string to prepend (after trimming) when denormalising. (Default = do not prepend). |
Nature of Address and Type of Number
The values for noa
differ between the called_party_bcd
and other normalisation/denormalisation rules.
Type of Number
When defining the noa
value for called_party_bcd
rules, the values align to Type of Number, as set out in
ETSI TS 124 008 / 3GPP 24.008. The most commonly-used values for this enumeration are:
Type of Number | Description |
---|---|
0 | Unknown |
1 | International |
2 | National |
3 | Network |
4 | Subscriber |
Nature of Address
For calling_party
and called_party
rules, the noa
values align to Nature of Address, as defined in
ITU-T Rec. Q.763. The most commonly-used values for this enumeration are:
Nature of Address | Description |
---|---|
1 | Subscriber |
2 | Unknown |
3 | National |
4 | International |
5 | Network |