To remain competitive in the market, wireless operators must ensure that their subscribers can enjoy roaming services. Roaming service charges are higher than domestic ones; therefore, online charging is crucial for saving subscribers from overspending. PortaBilling supports online charging for roaming data, voice calls and SMS services.
Billing for roaming data
To bill for roaming data usage, PortaBilling selects a tariff rate based on the MCC-MNC codes that identify the subscriber’s visited network. Please read more in the LTE service provisioning and charging section.
Billing for roaming voice calls and SMS
To bill for roaming voice calls and SMS, PortaBilling uses the identification of both the visited network and the roaming zone to match the tariff in the product and produce the charges.
All networks are grouped into roaming zones. Each roaming zone has its own rates for outgoing and incoming calls and SMSs defined in tariffs.
Every network has an application server that processes calls. There is also the SMSC to process SMSs. The E.164 numbers of these servers are used to identify the network, map it to the roaming zone and then select the corresponding roaming tariff.
The charging algorithm is this:
When a user makes/receives a call from their home network, PortaBilling uses the “home” tariffs with domestic rates to charge them.
For roaming calls, PortaBilling:
- identifies the roaming zone based on the application server’s E.164 number;
- selects the corresponding roaming tariff, and
- charges the user for outgoing calls based on the destination number. Incoming calls are charged the same price, determined by roaming zone.
SMSs are processed in the same way. The difference is that PortaBilling uses the serving SMSC’s E.164 number to identify the roaming zone.
Mapping of roaming zones
PortaBilling uses the “Roaming Zones” destination group set to identify roaming zones. Every destination group within the set corresponds to a roaming zone and includes corresponding prefixes. The home network is excluded from the destination group set.
Workflow for voice calls
Your product rating list must include these usage charges records:
- all roaming tariffs with the OUTGOING. <destination_group_name> and INCOMING. <destination_group_name> access codes.
- “home” tariffs with the default OUTGOING and INCOMING access codes.
When a user makes a call, PortaBilling receives the Diameter Ro request from the mobile core. This request contains the Application-ProvidedCalled-Party-Address AVP (attribute-value pair) with the application server’s E.164 number. PortaBilling uses this number to look up the longest prefix match in the “Roaming Zones” destination group set. The destination group name where the match is found serves to formulate the access code as either OUTGOING.<destination_group_name> or INCOMING.<destination_group_name> and match the tariff in the product rating list. If no match is found, then this is a call within the home network. PortaBilling charges such calls using the default OUTGOING and INCOMING access codes. Usage scenario Let’s say you are the MVNO in the UK. Your host MNO has roaming agreements with T-Mobile Polska in Poland and Sprint in the USA. TMobile Polska belongs to roaming zone 1, Sprint – to roaming zone 2. Your administrator creates the Roaming Zones destination group set. It includes:
- A destination group Zone1 with a 48602 prefix in it;
- A destination group Zone2 with a 1913 prefix in it.
Your pricing is:
|From||Home country, GBP||Zone1, GBP||Zone2, GBP|
|Home country, GBP||0.10||0.30||0.70|
|Incoming calls while roaming, GBP||0||0.45||0.75|
John Doe is your subscriber. He travels to Poland and makes a 5-minute call to the USA while there.
PortaBilling receives the Diameter Ro request with 486025552237 stored in the Application-Provided-Called-Party-Address AVP. PortaBilling looks up this number among the prefixes in the Roaming Zones destination group set and finds the match in destination group “Zone1.” PortaBilling uses this name to match the usage charges record with the OUTGOING.Zone1 access code in John’s product and John is therefore charged GBP6.20 (GBP1.20 * 5).
While still in Poland, John receives an incoming call. PortaBilling performs the same destination lookup and finds the Zone1 destination group. PortaBilling matches the usage charges record using the INCOMING.Zone1 access code and charges John GBP 0.45/min.
Workflow for SMS
PortaBilling receives the Diameter Ro request where the serving SMSC’s E.164 number is stored in the Originator-SCCP-Address AVP. PortaBilling uses this number to look up the longest prefix match among the destination groups in the “Roaming Zones” destination group set. The destination group serves to identify the user’s roaming zone. This destination group name matches the access code defined for the usage charges record in the product configuration. Thus, PortaBilling uses this name to select the roaming tariff and charge the subscriber. If no match is found, then this is an SMS sent from the home network. PortaBilling charges for this SMS using the default SMPP access code.
Let’s say that John Doe from Canada travels to the UK. He is connected to Vodafone UK. Vodafone UK belongs to roaming zone 2 where SMSs to Canada cost $0.03. The “Roaming Zones” destination group set in PortaBilling contains the destination group “Zone2” which includes 44385 prefix. John sends an SMS to his wife in Canada. PortaBilling receives the Diameter Ro request with the number 443855551555 in the OriginatorSCCP-Address AVP. PortaBilling finds the longest match for 443855551555 in the destination group “Zone2.” PortaBilling searches for the usage charges record with the Zone2 access code in John’s product configuration and selects the corresponding roaming tariff. As a result, John is charged $0.03 for an SMS.
With this functionality, the benefits for mobile subscribers include:
- the ability to use services regardless of their location;
- a clear view of one’s own expenses and therefore, better control.
Wireless operators, in their turn, benefit from being able to:
- deliver mobile services to subscribers in both their home network and when they visit other countries;
- reduce the risk of revenue loss by charging subscribers in real time; and
- configure roaming charges in a single place and in a userfriendly fashion.
Online charging for calls based on the roaming country’s rates is tested with the Pharos CIG, and available out of the box. Billing for roaming SMSs is supported with Pharos CIG. Submit your request to email@example.com to perform interoperability tests with your equipment.
Implementation specifics for roaming calls and SMS billing:
- Online charging for roaming calls and SMSs is enabled via a special module for Diameter. To enable it, enter the roamingzone=Porta::Extra::RoamingAccessCode string in the Custom.LoadModules option on the Configuration server
- You must create the destination group set with the name “Roaming Zones” in PortaBilling. This is to identify the user’s roaming zone and consequently, select a roaming tariff.
- Access codes in product rating lists must correspond to the destination group names in the “Roaming Zones” destination group set.
- PortaBilling charges only for outgoing SMSs.
- The user is charged for sending SMSs, regardless of whether the SMS is delivered or not.