Both the FROM user part (caller ID) and the dialed number from the TO header can be modified by the use of a simple and yet flexible mechanism described below.
The modifications can take place at different points of the request processing in both billing and routing processes which run independently from one another. This allows you to change, for example, only the dialed number before it is passed to the billing function while leaving the dialed number unchanged for routing process.
For billing you can modify the parameters when a call comes in and before it is matched with a rate from the tariff. This option is configurable in the client account Tariff rules field.
In the routing process the dialed number can be modified when the call arrives and before it is compared with the routing plan. This setting is in the client account’s Dialing rules field. Next, the dialed number can be changed in the routing plan, before passing it to the destination. And the last point is at the destination definition. You can modify the dialed number before it is send out from the softswitch to the destination endpoint.
The modifying functions are responsible for the following tasks:
- Adding characters at the beginning of the string
- Removing matching characters from the beginning of the string
- Adding characters at the end of the string
- Validating length of the string
- Replace the string sent from a client with a fixed string
The above operations can be carried sequentially in a predefined order. In the VSM you can enter a modifying function’s notation directly into the relevant input field – Routing rules or Tariff rules or you can click on the extended menu button next to the field and use the dialog window.
The dialog window allows to set following operations:
- Forward from client - is equivalent to an empty prefix field and it will forward the prefix exactly how it was received from the client.
- Always send – the modification function notation is !123 where 123 is the number you wish to send to the destination. That means the entire prefix received from the client will always be substituted with the defined value.
- Change - will create a rule as follows: "X->Y|Z" where X is the string entered in the Prefix field, Y is the string in the To field and Z is the Suffix. This means that if the prefix received from the client starts with X then replace it with Y and add Z at the end of the new string;
- Prefix - the value defined in this field will be replaced with the value set in the To field. If the prefix does not match the beginning of the dialed number, no action will be taken. To remove the first characters from the number, the To field should be empty so the prefix will be replaced with nothing - in other words, will be removed;
- To - the string which will be added at the beginning of the dialed number. When you leave the Prefix field blank the value of the To field will always be added to the dialed number.
- Add suffix - it will add the defined string at the end of the dialed number
- Required number length - allows to define a required string length, the calls with the dialed number shorter than that will be declined. The same option is available for the Caller ID (FROM) where you can set its minimal length.