Normalisation and Denormalisation

Overview

Normalisation and denormalisation rules may be defined for any N2SIP application. These rules exist within the config block, e.g.:

<?xml version="1.0" encoding="utf-8"?>
<n2svcd>
  ...
  <applications>
    ...
    <application name="<application name>" module="LhoSipApp">
      ...
      <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 calling and called party number normalisation rules for inbound INVITE messages.
.called_party Array Array of normalisation rules for INVITE.called_party from Digits to normalised Digits.
.rule Object Provisions a called party normalisation rule.
.calling_party Array Array of normalisation rules for INVITE.calling_party from Digits to normalised Digits.
.rule Object Provisions a calling party normalisation rule.
.denormalisation Object Container for called and called party number denormalisation rules for outbound INVITE.
.called_party Array Array of denormalisation rules for translating Digits. Applies to called_party in an outbound INVITE message.
.rule Object Provisions a called party denormalisation rule.
.calling_party Array Array of denormalisation rules for translating Digits. Applies to calling_party in an outbound INVITE message.
.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 INVITE 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:

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 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. (Default = empty string).
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].
(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 INVITE the relevant denormalisation list is traversed until a matching rule is found. That rule is applied. No other rule will apply. The following outbound digits are denormalised (when not taken directly from INVITE fields):

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.
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 denormalising.
(Default = 0, do not trim).
prepend Hex Digits The digit string to prepend (after trimming) when denormalising.
(Default = do not prepend).