Вы находитесь на странице: 1из 5


Field Test on iPhone and RSSI analysis of carriers based on drive testing

Ashar Salman 10060027, Hammad Ur Rehman 10060009, CMPE 571 Mobile Networks

Abstract—Our project, which we have developed as a course project for the Mobile Networks, focuses on having a custom, end user enabled, embedded, and easy to use field test method. The main idea is to enable users to use our system, do some drive testing in area of interest and have the results immediately. Based on the results users can decide which network is good for their needs. Moreover network test engineers can also use it as a cheap alternative for having quick results on area of interest.

Index Terms—Field test, iPhone GSM modem, RSSI analysis



T he main idea of this project is to get the tower information (cell-id, signal strength, neighboring cell etc)

along with the user info (GPS location, timestamp) and store it in locally on the mobile, and then use this data for analysis.

What we have accomplished in this project is an iPhone app capable of

a) Gathering tower info

b) Accessing user location

c) Parsing and storing in local DB

d) Analysis on stored data

e) Map view for graphical visualization

The project has great potential to be used as bases for other projects, which will get cleared later.


A. Why iPhone

Our choice to use iPhone has many reasons, mainly of which was our experience with the platform. Other are it has built in GSM Modem and GPS module, both are the vital part of our project. Moreover its easy to carry during drive testing, has built in battery and display to view results as soon as they are available. And the last one, we already had an iPhone.

Manuscript received May 30, 2011. This work was done as a semester project for Mobile Networks at Lahore University of Management Sciences (LUMS).

A. S. Author is a MS student of Lahore University of Management

Sciences, Lahore, Pakistan. He is also working as an iPhone developer at

MWM tech Pakistan. (Phone: 92345-4291757; e-mail:


H. R. Author is also a MS student at Lahore University of Management

Sciences. (e-mail: 10060009@lums.edu.pk).

But there were some limitations too, biggest of which was that GSM modem can only be accessed in jail broken devices.

B. GSM Modem

The tower information we were looking for can be accessed using most GSM modems by sending appropriate AT command. Bellow is a sample AT command and its response;





dtx_used:True, drx_used:False,

SFRLC:45, RSR: 2, RC: 5, LM:0

GSM Serving Cell:

B:"G", Arfcn:


58, Rssi: 36, C1:27, C2:27, Bsic:03, MA:0,

GSM Neighboring Cell:

Ci:ffff, B:"G", Arfcn: 55, Rssi: 33, C1:24, Bsic:04

Ci:6aad, B:"G", Arfcn: 50, Rssi: 26, C1:-1, Bsic:ff

Ci:5a1f, B:"G", Arfcn: 51, Rssi: 25, C1:-1, Bsic:ff

Ci:9116, B:"G", Arfcn: 52, Rssi: 24, C1:-1, Bsic:ff

Ci:ffff, B:"G", Arfcn: 59, Rssi: 24, C1:-1, Bsic:ff

Ci:ffff, B:"G", Arfcn: 61, Rssi: 23, C1:14, Bsic:04

UMTS Neighboring Cell:


Process:CO, MMs: 4, MMSs:16, MSC:G, T:0000










Process:PS, MMs: 9, MMSs: 5, LUS:1, T:0008, L:0, GS:1,


R:0, attach_reject_cause:0, rau_rej_cause:0, act_rej_cause:0

Cell change counters:

CRT: 2, IRCR: 0


Coding Scheme:

dl_sc:, ul_sc:

amr_acs:0, amr_cod_ul:0 amr_cod_dl:0 amr_c_i:0

MCC:410, MNC: 3

Serving PLMN:

MCC:410, MNC: 3, LAC:57705, CI:699c, RAC: 1, AcT:3


C. Interpreting the meaning of some of parameters

The response includes a lot of terms, which were new to us, so our first step was to extract the meaning of as many values as we could. But unfortunately the GSM modem used in iPhone is proprietary and no documentation is available. We had to look in different documentations that have somewhat similar response to this. We ended up having 80 percent of the values decoded, but to be honest out of that 80 percent we only actually understand about 25 percent values. But it was necessary to decode them even if we don’t understand them to have a working parser. The interpretation is not given here for limited space but can be viewed in the source code “readinginfo.h”

D. Parsing

The GSM result is parsed into value object which is passed to any part of the program which is waiting for it. A good point about the app is that is used the Model View Controller (MVC) model. Which means additional modules can be added later as they needed without disturbing the rest of the code.

E. Storing in local DB

The parsed response is then saved in the local DB. We have used SQLight DB in iPhone as it is available to every app by default. The choice of having a proper data base over simple filing is that we can use the results for analysis purposes just by writing a SQL query. Moreover SQL is fast even for hindered of thousands results.



A. Serving cell information

The first screen provides the information about the current serving cell. The information includes RSSI, number of neighbor cells, data access technology and user location.

of neighbor cells, data access technology and user location. Fig. 1. Showing the current serving cell

Fig. 1. Showing the current serving cell info with user locations


B. Neighboring cell info

Neighbor cell info screen shows at most six adjacent cells, along with the cell-id, Base station identity code (Bsic), Absolute radio frequency channel number (Arfcn), RSSI and frequency band type.

channel number (Arfcn), RSSI and frequency band type. Fig. 2. Current neighboring cell along with important

Fig. 2. Current neighboring cell along with important information

C. Summery view

The summery or analysis view shows the maximum, minimum and mean RSSI based on the currently available results. The view gets updated on each new value. It also shows the average neighbors and data access technology (AcT) used.

the average neighbors and data access technology (AcT) used. F i g . 3 . A

Fig. 3. Analysis per telecom.



The map view is most useful view of the app. It shows the results graphically. Every circle represents a reading. The color of the circle corresponds to a particular MNC. And the intensity of the color represents the RSSI value of that reading. Map view can be used to find at a glance areas with weak reception.

Map View

used to find at a glance areas with weak reception. Map View Fig. 4. Map views

Fig. 4. Map views graphically shows all reading. Further detail of a particular reading can be views by clicking on it. As shown in the figure, a Zong reading is shown with cell-id and RSSI.



We have used our app to compare thee local cellular service providers based on the received signal strength. These are Ufone (MNC = 3), Zong (MNC = 4) and telenor (MNC = 6). This section will highlight some of our findings.


Ufone and telenor operates in 900MHz band while Zong uses 1800MHz band.

GSM band

in 900MHz band while Zong uses 1800MHz band. GSM band Fig. 5. GSM band usage. B.

Fig. 5. GSM band usage.


RSSI is the major measure of our result, as most of users are concerned with the received signal strength. Lesser RSSI implies poor reception. Results are show in the Fig 2. Zong has poor signal strength while in some areas while Telenor has very good coverage in some areas. As a whole, Ufone has best mean.

coverage in some areas. As a whole, Ufone has best mean. Fig. 6. RSSI analysis shows

Fig. 6.

RSSI analysis shows maximum, minimum and mean values per


C. Average neighbor

All three service Provider had six neighboring cell in every reading. This shows the area has overall good coverage.

D. Data Access Technology AcT used

Both Zong and telenor use AcT 4, which corresponds to EGPRS_EPCR. While Ufone uses AcT 3, which maps to EGPRS_PCR. We tried to understand this difference but couldn’t find any valid reference.



A. Indoor GPS

Since every reading is saved with a GPS coordinate, we can use this information to triangulate the tower info to find the corresponding estimated user location. The more thoroughly a area is covered more would be the accuracy of the result. Fist we need to find out the BTS location. We can do that by averaging every value for which the particular BTS is serving call. Then we can use up to six cells to estimate the user location. Using the individual RSSI we can estimate the user’s distance from the BTS. And further using the neighboring cell data we can find out which side of the BTS user is located. This method is successfully used in the industry as low powered an indoor GPS. Even handset with out a GPS can find their approximate location. A central database would be required for the fully functioning of the idea. Every reading should be stored and shared globally. The system would work better if area has large readings.

B. Tracking iPhone

If every reading is shared with global server we can easily track the sending device. The plus point is that device doesn’t has to send the GPS every time, Since we had the mapping of cell-ids to GPS coordinates, we can use this method to track the device poor GPS reception.

C. Super SIM

If user wants to thoroughly investigate the area to chose

which network operator has best coverage in his area, there is


concept of super SIM, which combined multiple SIMs. But


requires approval from telecom authority and a SIM writer.

We got the approval but SIM writer was not available.


Currently we are using local DB on the client side. But to make the system more useful we have plans to store every useful reading on the server side. We will be needing a spatial DB with GIS support. The data would be transferred to shared server on regular bases. User can access the data from web interface. System could be used to find and track the lost mobiles.



There are some limitations with our project. First of all only jail broken device can install this app. As the GSM modem is not available in non jail broken devices, it won’t work on those. The second is we are using only GSM data at the moment, no UMTS. Because we don’t have coverage of 3G in our area, we were unable to parse the corresponding response. The app works only if in foreground, if moved to background it would pause. This is the platform limitation but can be avoided to make the core part of the app to run as demon in the background. The app is not intelligent enough to save battery power by

skipping the same reading on same location.



The project was successful in a sense that it allows users to rate their area based on the RSSI. The app developed can be easily used to install, drive test, and view the result on user comfort. With some limitations we see our work to be very useful for end users and network engineers. The source code is available online [6] under GPL license, to further encourage the development on the topic.


GSM- Global System for mobile communication RSSI- Received signal strength indicator GIS- Geological information system MNC- Mobile network code MCC- Mobile country code BTS- Base transceiver system UMTS- Universal Mobile Telecommunications System AcT- Access Technology (for data) GPS- Global positioning system Bsic- Base station identity code Arcfn- Absolute radio frequency channel


We are thankful to our instructor, Ijaz Naqvi, for project idea, continuous guidelines and insight of the topic.



John B, Minor, “Litigators Guide to Simplified Cellular Carrier Cell Site

Working Range Estimation Issues,”




“Replace Operator with balance” GSM modem eaxample, Available:




Baseband commands, available:



[4] Telit_HE863-Family_AT_Reference_Guide_r1.pdf, pp. 183-186, SW Release 11.00.XY0 for HE863 80377ST10083a Rev.1 - 2011-02-25


Teltonika_AT_command_ref.pdf, pp 69-72, AT Command Manual.


Source code, http://code.google.com/p/iphone-field-test/

A. Salman born at Lahore 86. Author has earned his BS Computer Engineering degree from National University of Computer and Emerging Sciences, NUCES FAST, Lahre in 2008. He is currently pursuing his MS Computer Engineering degree from Lahore University of Management Sciences, Lahre. He is interested in embedded system and networks. Part of his work includes software development for embedded system.