Number Manipulation

From Kolmisoft Wiki
Revision as of 09:15, 25 June 2008 by Mindaugas (talk | contribs)
Jump to navigationJump to search

Localization

Main idea of Localization: No matter how user dials number (destination) when localized it should be in e.164 format.

Localization has nothing in common with numbers you send to providers. It operates with numbers received from caller.


Rule Ordering

Rules for Localization and for Provider Rules are ordered in following order:

  • By the length of Cut field in specific Location
  • By the length of Cut field in Global Location

That means that Global location rules are applied to every device. But they have lower priority over some specific Location. That means - if device belongs to some Location X, then rules in Location X are grouped by longest Cut first. If none of the rules can be applied from Location X, then rules in Location Global are grouped by longest Cut and checked if possible to apply one of those.

When one rule is applied - no more rules will be applied after that.


Example 1 - Italy

Client has such situation:

My customers are mainly in Italy. To call to Italy they are not gonna put 0039 country code, 
while they do put 00 and country code when the want to call other countries. 
Then, on the other side, my provider aspect numbers to Italy without 0039 country code, 
while to other countries they do aspect it before the called number.

NOTES:

To handle such situation such actions should be taken:

  • Location 'Italy' should be created
  • All devices from Italy should be assigned to this Location
  • Rules in Location Italy:
    • Name: 'Local Italy', Cut: (empty), Add: 39, Min: 10, Max: 10
    • Name: 'International', Cut: 00, Add: (empty), Min: 14, Max: 14
  • Provider Rules for Provider through which call will be terminated:
    • Name: 'Local Italy', Cut: '39', Add: (empty), Min: 12, Max: 12
    • Name: 'International', Cut: (empty), Add: 00, Min: 12, Max: 12