M4 Source Transformation

From Kolmisoft Wiki
Jump to navigationJump to search

Source Transformation rules

Source Transformation rules are used to manipulate the Source (CallerID) number (cut prefix, add prefix). The only number part of CallerID will be changed. Rules can be set in Termination Points or Origination Points Source Transformation input field. There are 3 different Source Transformation rules:

1. Add prefix

To add something to every number, just enter what to add.

2. Cut prefix

To cut something from a number, write - (minus) character and then what to cut. For example, -00 will cut 00 from the beginning of the number (only if the number starts with 00).

3. Replace prefix

To cut something from the number and add something else (replace), write - (minus) character followed by what to cut, then + (plus) character and what to add. For example, -00+8 will cut 00 from the beginning of the number and add the digit 8 in front (00 will be replaced by 8).



Multiple rules

It is possible to define multiple Source Transformation rules in one single line. It is done by separating rules with | character:

-A+B|-C+D|-X|Z

Rules are checked in the order they are written and the first matching rule will be applied. If one rule is applied, then other rules will be skipped. This means that some rules do not make sense, for example, 00|-6+370 rule will always add 00 in front of the number and the second rule will be skipped.

The number of rules is limited only by the length of the input field (255 characters).



Examples

Incoming Source Number Source Transformation Outgoing Source number Comment
+86123456789 -\+ 86123456789 cut + in front of number
86123456789 00 0086123456789 simple rule just adds 00 in front of number
003706123456789 -00 3706123456789 if the number starts with digits 00, then cut them
003706123456789 or +3706123456789 -\+|-00 3706123456789 cut + or 00 in front of number
86123456789 -8+370 3706123456789 cut number 8 and add 370. If the number does not start with 8, then nothing will be added
03706123456789 -00+370|-0 3706123456789 Source Transformation contains multiple rules but the first rule is skipped because the number starts with 0 and not 00. The second rule is applied and 0 is cut from the number
3706123456789 -00+370|-0|+ +3706123456789 Source Transformation contains multiple rules but the first and second rules are skipped. The last rule simply adds + to the number
86123456789 -8+370|00 3706123456789 Source Transformation contains multiple rules but the first rule is applied and other rules are skipped
86123456789 -8+\+370 +3706123456789 if the number starts with the digit 8, then cut it and add +370. Note that + is escaped by using \ character



Regexp Rules

Number transformation can also be done using Regexp. More information: M4 Regexp Examples




See also