This chapter demonstrates how to rate calls depending on which charging zone the call is made from/to. This kind of rating is popular in countries such as Australia, Turkey and Brazil.
A call between two subscribers who are both located in the same or adjoining charging zones is regarded as a local call. A special rate is applied to such calls.
All other calls within the country that are not defined as local are regarded as standard calls with a normal rate applied to them.
Let’s consider the following example:
- A country (Turkey in our example) is subdivided into charging zones that reflect the subscribers’ geographic locations.
- A special rate is applied for calls made within the same charging zone or between two adjoining charging zones.
- The price for calls between remote charging zones is defined as usual by tariff rates.
- The charging zone is determined by the subscriber’s phone number (Account ID for the caller).
Checklist
Use this checklist to check off the operations you have completed while performing the system setup according to the instructions in this chapter. Please be sure to perform all of the operations in the order designated (all of the boxes should be checked), otherwise, the service will not work.
Operation | Done |
General configuration (Customer) | |
Enable the feature on the configuration server web interface | |
Populate the Domain_Rating table with information about charging zones | |
Rating configuration | |
Create a destination group set | |
Create destination groups that represent your charging zones | |
Assign prefixes to these destination groups | |
Add special rates to customer tariffs | |
Enable the feature on the Configuration server web interface
Go to the Configurations tab on the configuration server, clone the effective configuration and open the cloned one.
- Select BillingEngine from the Configuration tree, then select the FeatureModules group and enable the DGChargingZones and DomainRating features.
- Select the DGSetChargingZones group and check the DGSetName (the value Charging Zones will be used later on for the destination group set name) and MatchSrcDomainBy (the Calling Party ID option is set) parameters.
- Specify phone prefixes for which the special rating can be applied in the NumberPattern parameter. For example, Turkey’s country code is 90, so the value will be num('90%').
Note that the special rate will be applied only to calls with a Turkish CLI and CLD.
- Click the Save button and then the
Verify button.
- Verify the new configuration and click the
Check/Apply button. Note that the RADIUS service will need to be restarted, so consider applying the configuration during an off-peak time.
Populate the domain_rating table with information about charging zones
The Domain_Rating table has the following columns:
- i_domain_rating – the unique ID of the database record (1, 2, 3, etc.);
- i_env – the unique ID of the billing environment in which you will configure the special rating;
- src_rev_domain – a charging zone to match the CLI numbers (a destination group with the same name will be created in PortaBilling);
- dst_rev_domain – a charging zone to match the CLD numbers (a destination group with the same name will be created in PortaBilling);
- rate_match_code – the special rate pattern applied for local calls. PortaBilling uses special rates from the customer’s tariff according to it:
- VOICELOCAL – a rate for this special destination covers calls within adjoining charging zones
- VOICELOCALL – a rate for this special destination covers calls within one charging zone
Thus, specify VOICE\LOCAL\L for each separate charging zone and specify VOICE\LOCAL\ for all combinations (going both directions, for example tur.Istanbul, tur.Ankara and tur.Ankara, tur.Istanbul) of adjoining charging zones.
- rate_match_prio – this parameter is reserved for future use; always specify D here.
Insert all charging zones and combinations of adjoining charging zones into the table using a MySQL query like this:
INSERT INTO Domain_Rating (i_domain_rating,i_env,src_rev_domain,dst_rev_domain,rate_match_code,rate_match_prio) VALUES(1,1,'tur.Ankara','tur.Ankara',"VOICE\\LOCAL\\L",'D');
Note the following charging zone name characteristics:
- charging zone names can only contain alphabetical characters (a-z and A-Z), numeric characters (0-9), the minus sign (-) and a period (.). If a name has spaces you can use the minus sign instead (e.g., São Paulo can be added as Sao-Paulo);
- a period is used to separate domain levels;
- domain levels are written in reversed order (e.g., tur.Ankara, au.Aberfoyle, etc.).
Please contact PortaOne support if you need help with this step.
Eventually you will have a table populated like the one in the following example:
i_domain_rating | i_env | src_rev_domain | dst_rev_domain | rate_match_code | rate_match_prio |
1 | 1 | tur.Ankara | tur.Ankara | VOICE\LOCAL\L | D |
2 | 1 | tur.Ankara | tur.Istanbul | VOICE\LOCAL\ | D |
3 | 1 | tur.Ankara | tur.Antalya | VOICE\LOCAL\ | D |
4 | 1 | tur.Istanbul | tur. Istanbul | VOICE\LOCAL\L | D |
5 | 1 | tur.Istanbul | tur.Ankara | VOICE\LOCAL\ | D |
6 | 1 | tur.Antalya | tur.Ankara | VOICE\LOCAL\ | D |
Create a destination group set
A destination group set contains all charging zones with their specific phone prefixes.
- On the navigation menu on the left, select Service catalog, Rate codes and click Destination group sets.
- On the Create destination group set panel, fill in the following destination group set details:
- Name – type in a descriptive name for the destination group set (e.g., Charging Zones);
- Type – select Regular here.
- Click the Save button to save the changes.
Create destination groups that represent your charging zones
Create one destination group per charging zone. Specify the names as in the Domain_Rating table above.
- After saving a destination group set, the Destination group page opens.
- On the Create destination group panel, type in the destination group name and a short description.
- Click the Save button to save the destination group.
- Repeat steps 2-3 to create more destination groups within this destination group set.
Assign prefixes to the destination group
Assuming that you have already defined all the required prefixes in the Destinations section, you now just need to allocate them to destination groups so that PortaBilling will know exactly which prefixes belong to which destination group (therefore charging zone). In our example, 90312 will be added for Ankara, 90212 and 90216 for Istanbul, etc. Please refer to the Assign prefixes to the destination group section of the Creating a service with discount plans handbook for detailed instructions about how to assign prefixes to destination groups.
Add special rates to customer tariffs
For those tariffs that require local rates add rate codes with the destinations VOICELOCAL (applied to calls within adjoining charging zones) and VOICELOCALL (applied to calls within one charging zone). The last one can be skipped if both types of local calls have the same rate.
Use the associated account number instead of account ID (optional)
Sometimes a subscriber’s Account ID doesn’t reflect their actual phone number. In this case you can use the account’s Associated Number field to specify either the subscriber’s actual phone number or even the charging zone, directly.
To select the subscriber’s phone number or charging zone from the Associated Number field perform the following adjustments to the above manual:
- Enable the use of the Associated Number field on the configuration server web interface:
- Go to the Configurations tab on the configuration server, clone the effective configuration and open the cloned one.
- Select Associated Number from the MatchSrcDomainBy parameter.
- Apply the new configuration. Note that the RADIUS service will need to be restarted, so consider applying the configuration during an off-peak time.
- Fill in the Associated Number field on subscribers’ accounts in PortaBilling.
Either specify the subscriber’s phone number or the charging zone name in the LOC=<name> format (e.g., LOC=tur.Ankara). In the latter case, PortaBilling will use the charging zone name as src_rev_domain and skip the prefix lookup in destination groups.
Make a test call
Now make a test call within the same charging zone or from one charging zone to an adjoining one. Make sure that a special rate is used to charge for this call.
In addition, note that this feature can be configured to work in conjunction with the Local number portability feature. Please contact PortaOne support if you need both features to work simultaneously.