Menu Close

Introduction

G-NetReport is an Android app for unattended measurements of wireless network. The app measures the serving and neighbor cells parameters and does ping, upload/download and voice call tests. The measurements are buffered, sent online and recorded in a database. The app is remotely controllable via SMS. It allows building cost efficient measurement fleet of phones that send measurements in real time to your database where you can do a postprocessing and visualization in order to monitor network quality

How to use: G-NetReport is very easy to use. Just start the app and it starts to measure and send data to the server. The measurements are available instantly on the server.

    G-NetReport features:
• Supported technologies: LTE/UMTS/GSM/CDMA/EVDO
• Logs mobile network measurements and events
• Sends log data to online database
• Test sequence including:
– Data test (Ping, Upload, Download)
– Voice calls
– SMS
• Auto indoor mode for measurements in tunnels and areas with bad GPS coverage
• SMS/Internet controllable

Here is a video demonstration of G-NetReport

Explore measurements here: http://www.gyokovsolutions.com/G-NetReport/G-NetReport.php
Download sample database records here: http://www.gyokovsolutions.com/downloads/G-NetReport/gnetreport_samples.xlsx

Measurements

Measurement availability depends on the phone. Check here – http://www.gyokovsolutions.com/survey/surveyresults.php
For serving cell the following parameters are measured:
– 2G – RXLEVEL, RXQUAL, CELLID, LAC
– 3G – RSCP, ECNO, CELLID, PSC, RNC, LAC
– 4G – RSRP, RSRQ, SNR, eNodeBID, CELLID, PCI
– 5G – RSRP, RSRQ, SNR, gNodeBID, CELLID, PCI

For neighbor cells the following parameters are measured:
– 2G – RXLEVEL, CELLID, LAC
– 3G – RSCP, PSC
– 4G – RSRP, PCI
– 5G – RSRP, PCI

Settings

TEST SEQUENCE

The app is capable of performing repetitive test sequence which includes ping, data upload/download and voice calls.

– Ping – include PING in test sequence
– Ping URL – the URL for ping test. The format is like www.xxxxxxxxxxxxxx.com or 10.100.1.101
– Upload – include UPLOAD in data sequence
– Upload URL – the URL for upload test. The format should start with http:// and is like http://www.xxxxxxxxxxx.com.
– Download – include DOWNLOAD in data sequence
– Download URL – the URL for ping test. The format should start with http:// and is like http://www.xxxxxxxxxxx.com/downloadedfile.mp3. It is recommended to set bigger file in order to achieve bigger download speed.
– Data test pause – pause after data test
– Multithread – when checked multiple simultaneous connections will be used for upload and download in Data Test and Data Sequence. Using several threads increases the bitrates.
– Number of threads – the number of threads to be used ([Multithread] should be checked). Set number of simultaneous threads more than 1 and less or equal to number of phone CPU.
– Voice call – include voice calls in test sequence
– Number of Calls – number of calls to be made
– Call Duration – duration of a single call
– Pause Between Calls – pause between the calls
– Start calls only on – allows starting of calls only on specific technology (2G, 3G, 4G) – useful for example when you want to test 3G coverage only. If the call has been handovered to 2G the sequence will wait until 3G is reselected again and then will continue
– SMS test – include SMS in test sequence
– Number of SMS – numbers of SMS that are sent
– SMS recipient – MSISDN of recipient to whom the SMSs are sent
– SMS text – text of SMS message
– Pause between SMS – pause (seconds) between SMS messages
– Test pause – pause (seconds) between test sequences

SMS CONTROL

The app can be controlled with SMS via sending commands and setting changes. Read section for remote control for more details.
– Authorized senders – phone numbers of people authorized to control the app via SMS
– Start reporting code – SMS content for starting reporting
– End reporting code – SMS content for stop reporting
– Start data test code – SMS content for starting data test
– Stop data test code – SMS content for stop data test
– Restart the app code – SMS content for restaring the app
– Info code – SMS content for requesting phone to send via SMS immediately his current measurements information. When the phone receives this code it replies with SMS with its current measurements.

INTERNET CONTROL

The app can be controlled over internet via sending commands and setting changes. Read section for remote control for more details.

AUTO INDOOR

AUTO INDOOR mode allows auto filling of measurement points when the GPS fix is not available like in tunnels or on places with bad GPS reception.
When GPS fix is lost the measurements are collected in a buffer and when the GPS fix is back again the missing measurements are filled on a straight line connecting the point of loss and regaining GPS fix.

– Auto Indoor Mode – Switches Auto Indoor mode On/Off
– Buffer Size – Max number of measurement samples in buffer during Indoor mode
– Auto Indoor Accuracy threshold – when GPS accuracy is bigger than this value GPS fix is considered not valid and Auto Indoor mode is started
– Auto Indoor Time threshold – when last GPS fix was more seconds ago than this value – the GPS fix is considered not valid and Auto Indoor mode is started

LOG

– Sampling interval – the interval between measurements in milliseconds – default is 1000ms
– Add measurements on every sample – when set ON on every sampling interval new measurements will be added to the measurements buffer. This will increase the number of measurements. When this is set OFF new measurements are added only on location change, cell change or every 5 minutes if nothing happens.

OTHER

– Auto Start – when ON the app will auto start on phone boot
– Reporting interval – time between reports sent to online database
– Report no coverage – whether the app should report measurements where there is no network coverage
– Show events – when ON the app will show screen messages for events like handovers, reselections, calls etc.
– Show report events – when ON the app will show screen messages when the phone reports measurements to database
– Distance interval – distance between points where measurements are taken and send to database
– Enable dual SIM – when ON the app will send measurements for both SIM cards (depends on the phone)

Menu

  • Add Measurement – adds current measurement to measurement buffer and sends the buffered measurements to database.
  • Send Report – sends measurements from the buffer to online database.
  • Settings – open Settings page.
  • G-NetReport – opens G-NetReport webpage for exploring the measurements.
  • Exit – exits the app.

Database

timestamp – time of the measurement
lon – longitude of measurement
lat – latitude of measurement
speed – speed at the time of measurement in km/h
operatorname – name of the operator
mcc – MCC of the operator
mnc – MNC of the operator
node – RNCID on 3G, eNodeBID on 4G
cellid – CELLID of serving cell
lac – LAC of serving cell
network_type- current technology – 2G, 3G, 4G
qual – RxQual on 2G, ECNO on 3G, RSRQ on 4G
snr – SNR (4G only)
cqi – CQI (4G only)
lterssi – RSSI
psc – PSC on 3G, PCI on 4G
dl_bitrate – current downlink bitrate at the time of measurement
ul_bitrate – current uplink bitrate at the time of measurement
nlac1-6 – Neighbor LAC
ncellid1-6 – Neighbor CELLID on 2G, PSC on 3G, PCI on 4G
nrxlev1-6 – Neighbor level in dBm
event – event info (handovers, reselections etc.) accuracy – GPS/Network accuracy of location
locationsource – G for GPS, N for Network accuracy
altitude – altitude
conntype – Mobile or WiFi
conninfo – WiFi SSID when on WiFi
avgping – average ping result from data sequence
minping – min ping result from data sequence
maxping – max ping result from data sequence
stdevping – standard deviation for ping statistic from data sequence
pingloss – ping loss in percents
testdlbitrate – average downlink bitrate from data sequence
testulbitrate – average uplink bitrate from data sequence
network_typenum – current network mode
msisdn – MSISDN of the phone
imsi – IMSI of the phone
imei – IMEI of the phone
ctime – time of import of measurement in database

Remote Control

The app supports internet and SMS remote control for sending commands for setting changes and actions. SMS remote control is supportd only by customized G-NetReport lite client versions. G-NetReport Pro does not support SMS remote control cause sending SMS is not allowed for Playstore apps.

INTERNET REMOTE CONTOL

Internet control allows remote control of the app via internet. You can send commands for settings change and actions. The commands are sent from server in the confirmation report to phone when phone measurement are received. The app reads new settings, applies them and sends confirmation report to server with changed values in “comment” column of the database.


Here is the format that server sends to phone in confirmation report to change settings.


<SETTINGS>
settingkey1:value1
settingkey2:value2
settingkey3:value3
</SETTINGS>

For actions the format is:

<ACTIONS>
ACTION1
ACTION2
</ACTIONS>

Possible actions are:
– END_LOG
– START_DATASEQUENCE
– END_DATASEQUENCE
– START_VOICESEQUENCE
– END_VOICESEQUENCE
– START_MIXEDSEQUENCE
– END_MIXEDSEQUENCE
– RESTART
– EXIT

Here is an example how to modify your insert_measurement.php file in order to send settings and actions to phone:

In php script for inserting measurements in database after echo ‘1’;
add the following:

echo ‘<br>’;
echo ‘<SETTINGS>’;
echo ‘<br>’;
echo ‘reportinginterval:20’;
echo ‘<br>’;
echo ‘distanceinterval:10’;
echo ‘<br>’;
echo ‘</SETTINGS>’;
echo ‘<br>’;

echo ‘<ACTIONS>’;
echo ‘<br>’;
echo ‘START_DATASEQUENCE’;
echo ‘<br>’;
echo ‘START_VOICESEQUENCE’;
echo ‘<br>’;
echo ‘</ACTIONS>’;
echo ‘<br>’
;

Also if you want the phone to report all its current settings add this line in php file:
echo ‘<REPORT_SETTINGS>’;

On receiving <REPORT_SETTINGS> command the phone will send all its settings in “comment” column of database. Make sure the column allows enough symbols.

Optionally you can use “if” clause to send commands to speciphic phones likeif you want commands to be sent to specific IMSI:
if( $imsi==’123456789′){
echo ‘<br>’;
echo ‘<SETTINGS>’;
…….
}

You can get the settings keys from this Excel file – https://www.gyokovsolutions.com/downloads/scripts/remotecontrolsettings_demo.xlsx

Internet remote control organization

It is good to split the internet remote control script from script for inserting record in database in order not to interupt measurement reporting to database. It can be done in this way:
Add in insert.php script references to 2 files.

First is control_all.txt file where will be the commands for all mobiles. The commands here will be sent to all mobiles

The other is control_specific.php where commands will be sent to specific phone or define conditions based on any of the measurement parameters. Like send to mobiles in specific cell, or send commands only during specified time interval etc…

Then only these two files will be modified and database inserting of measurements won’t be interupted.

Here is how to do it:

  1. In your insert php script after the
    echo “1”;

add this:

//———-start of script———–

echo ”;

try{
if(file_exists(“control_all.txt”)){
$controlall = file_get_contents(“control_all.txt”);
echo $controlall ;
}
} catch (Exception $e) {}

try{
if(file_exists(“control_specific.php”)){
include(“control_specific.php”);
}
} catch (Exception $e) {}

echo ”;

//———end of script————

Then if these files exists they will be added to server response

  1. Upload to server example files control_all.txt and control_specific.php. Here you can download the files – http://www.gyokovsolutions.com/downloads/scripts/remotecontrol.rar
    Upload them in same folder as inset.php script. Then when mobile reports then server will send to mobile command for all mobiles and commands for specific mobiles if the conditions are satisfied.

SMS REMOTE CONTROL

Due to change of policy of Playstore the apps can not use SMS so SMS remote control is no longer supported. You can use internet remote control only.
SMS control allows remote control of the app via SMS. The sender of SMS can be controlled via ‘Authorized Senders’ setting. The app returns confirmation to the sender via SMS.
– SMS control – allows SMS control (requires restart of the app)
– Authorized senders – phone numbers of people authorized to control the app via SMS
– Start logging code – SMS content for starting logging
– End logging code – SMS content for stop logging
– Start data sequence code – SMS content for starting data sequence
– Stop data sequence code – SMS content for stop data sequence
– Start voice sequence code – SMS content for starting voice sequence
– Stop voice sequence code – SMS content for stop voice sequence
– Start SMS sequence code – SMS content for starting SMS sequence
– Stop SMS sequence code – SMS content for stop data SMS
– Info code – SMS content for requesting phone to send via SMS immediately his current measurements information. When the phone receives this code it replies with SMS with its current measurements.
– Restart the app code – SMS content for restarting app.

Changing app settings with SMS:
You can change app settings via SMS. In order to do this sent SMS with specific text describing the settings changes. Here is the SMS format
<SETTINGS>
settingkey1:value1
settingkey2:value2
settingkey3:value3
</SETTINGS>

Here is an example of SMS content:

<SETTINGS>
reportinginterval:59
distanceinterval:14
pause_test:60
</SETTINGS>

You can get the settings keys from this Excel file – https://www.gyokovsolutions.com/downloads/scripts/remotecontrolsettings_demo.xlsx


Contacts

For customized solutions contact:
email: info@gyokovsolutions.com