Wednesday, April 25, 2012

Getting more out of data roaming traffic

To stimulate usage while abroad, operators are offering aggressive roaming retail tariffs to their subscribers which are supported by negotiated IOT from partners. Because of flat rate retail tariff for a country and little margins, it is more important than ever to keep the steering effective to keep the costs under control.

Especially for data which has relatively higher IOT, the difference between the negotiated and regular IOT could be so high that even a small percentage of traffic loss to an unpreferred partner may mess all the business of your “ aggressive retail campaign”.

To achieve this, operators are working hard to tune their steering systems or support network based steering systems with SIM-based steering systems. As the loss of traffic to unpreferred partner is more serious for data traffic because of high difference of IOT for data, we need more than tuning the existing steering solutions.

Steering systems should be aware of data-heavy or data-only terminals and handle them with different settings, different preferred operator or in a more aggressive way. While the data-only terminals can be detected easily (no UpdateLocation but only GPRS UpdateLocation messages) by network-based steering systems, it is not possible for them to detect smart phones as not all the partners can send the IMEI information in the registration messages. This leads to using operator databases for subscriber - terminal type mapping which can let you know who is using a smartphone.

The definition for smartphone can be slightly different for everyone. From the data traffic perspective, we're more likely to be interested in the recent generation of smartphones with big screens and easy to use interfaces boosting data usage.

The ability to know which outbound roamer is using a smartphone may not be enough alone itself, as not all smartphone users are data-hungry subscribers. Checking their local and roaming usage history could be priceless to detect data-heavy roamers which we want to steer to our partners with negotiated data IOT.

Informa predicts that revenues from mobile data roaming will increase by a massive 246% between 2010 and 2015. With the growing trend of regulating roaming business more strictly, operators are working on data roaming business more to be able to compensate the losses.

Sunday, April 22, 2012

Drawing GSM cells on Google Maps

The GSM (radio) network is built on cells, which are served by base stations (BTS). A cell site may have multiple sectors, created by seperate antennas serving to separate angles from the same tower.

Potential real coverage of a cell

The coverage area of a cell is not certain as shown here in the figure. It can be quite chaotic and may even be built of separate "islands" of coverage, just because of geographical conditions and buildings around. The coverage area of the cell can be mathematically modeled taking the environment into consideration or better tried to be measured on the field to have the exact coverage information.

For the simplicity, each sector of a cell site can be considered as a slice of pie with the center as the tower and some depth which it can reach farmost. Theoretically the depth of a cell is 35km (6-bits time advance value), but in the cities the depth is much less. The depth of the cell can be calculated or verified by the calls made from farmost distance to the tower.

From time to time I needed to draw simplified pie-representation of GSM cells on Google Maps to be able to visualize the cell. Each cell can be identified by LAC and CID of the cell and can be described by coordinates of the tower, the start and stop angles and depth of the cell.

With my limited Javascript knowledge, I developed a quick and dirty class which can represent and draw a GSM cell on the map.

Defining cells you wanna draw as below, you can easily draw them on the map.


Adding the midpoint calculation to the class, you can show information on the cell too.



Another important function I needed was marking a time advance (TA) area, as it is used by CGI+TA based positioning method. In this method the location of the subscriber is estimated as an arc. Each TA slot is around 550 meters (for 2G). Below is a fictional cell with 2km depth.


You can see the working example and check the javascript code here. Once you populate all your cells in the module cells.js, you can play with them on the map.

Related post: converting Cell ID to coordinates