Você está na página 1de 67

PocketOptimizer

Software
for

Quality Analysis in Mobile Radio Networks

User's Manual
Version 1.1.1.32 for Windows Mobile and Windows-32, 26.Jan.2011

Copyright 2005-2011 by Ingo Zettl, ingo.zettl@aon.at

Chapter

Introduction

This manual tries to give an introduction to the functionality and the features of the
PocketOptimizer software. You should read this manual carefully if you are not familiar with the
tool. If youre already comfortable with the functionalities and the workflows, you might need the
technical documentation in chapters 4 and 5.

1.1 What is PocketOptimizer


PocketOptimizer is a high performance, easy to use software measurement system for quality
analysis in packet switched mobile radio networks.
Important features of PocketOptimizer:
PocketOptimizer is available for Win32 and Pocket PC platforms.
o PocketOptimizer on Win32 platforms (Windows 2k/XP/03/Vista) comprises an industry
standard measurement system with extensive computing power for high performance
measurements.
o PocketOptimizer on Pocket PC platforms provides a smart measurement system with fast
cold boot time and without interfering software such as automatic upgrades, firewalls or
anti virus software for high precision measurements.
Support for the most important TCP/IP application protocols such as HTTP, FTP, ICMP. In
addition, support for real time UDP stream analysis is provided in conjunction with a suitable
traffic generator (such as the NDFA server).
Detailed real time measurements and real time statistics provide extensive performance
information.
A large number of user parameters allow simulation of almost every test case.
Interactive measurements for user defined quality analysis and execution of pre-defined jobs
for long term performance monitoring.
Integrated RAS support to manage establishment and shutdown of dial up network
connections.
Automatic calculation of standard KPIs and integrated reporting via industry standards such as
HTTP and XML. The XML tickets are compatible with the QTS system and can directly be stored
in a database with this system.
Synchronization of configuration files from a user defined standard HTTP server.
Integrated support of NMEA GPS receivers for drive test measurements.
Automatic lookup of test point coordinates from GPS coordinates if required.
Command line interface for semi-automated or unattended operation.
Automatic determination of mobile status such as cell id, signal level, operator

1.2 Field of application


Main field of application is interactive performance analysis in mobile packet switched radio
networks. Important key performance indicators such as round trip time and throughput for
different protocols can be tested and interactively analyzed.

PocketOptimizer 1.1.1.32 26.Jan.2011

Introduction

1.3 Revision History


v1.1.1.32 - 26.Jan.2011
support for soft stop in parallel tasks (parameter Soft-Stop: true)
v1.1.1.31 - 05.Nov.2010
new metric m.5022: socket connect time
bugfix in HTTP UL metrics
v1.1.1.29 - 16.Sep.2010
support for Windows Vista and 7 improved
v1.1.1.27 - 09.Jul.2010
support for Huawei NDIS API (prefix HwNd)
new parameters RAS-APN and RAS-DefAPN
support for HTTP POST
support for parallel tasks
new metric m.5021: DNS lookup time
v1.1.1.26 - 02.Feb.2010
workarounds for new TShark bugs in Wireshark 1.2.6 package
v1.1.1.25 - 23.Jan.2010
registration check in AT command handler changed to require stable reg. for some seconds
v1.1.1.24 - 07.Jan.2010
improvement in network registration handling for some older mobiles
v1.1.1.23 - 20.Dec.2009
additional HTTP error information (number of bytes)
v1.1.1.18 - 11.Dec.2009
support for modem and RAS connections
v1.1.1.5 .. 1.1.1.17
PO/LE test versions
v1.1.1.3 - 26.Apr.2009
support for peak throughput
v1.1.1.2 - 20.Apr.2009
bugfix in ICMP measurement: unhandled exception if no ICMP message received
v1.1.1.0 - 18.Apr.2009
improvements in registration mechanism
v1.1.0.4 - 31.Mar.2009
various improvements in metrics
support for metric remapping and extension output
v1.1.0.3 - 18.Mar.2009
added version info to tickets and /forcereg, /checkreg output
v1.1.0.2 - 11.Mar.2009
bugfix in ICMP measurement: unhandled exception if no ICMP packet received
v1.1.0.1 - 08.Mar.2009
added /nousermetrics argument
v1.1.0.0 - 22.Feb.2009
support for registration server
job file extension changed to .po-job to distinguish from MS scheduler jobs
PocketOptimizer for .Net 2.0 available
support for partial ticket files (XML tickets are written to file system after every task)
new XML ticket fields exec_id, task_id, mf_id
informational metrics changed from 100 to 300
ICMP metrics changed from 1000 to 2000
UDP metrics changed from 2000 to 2100
v1.0.7.0 - 21.Aug.2008
added sniffer support for WM6
changed useTShark to useAnalyzer parameter
added extended log files for every scenario ID
master log file is created even if /masterlog argument is not specified
v1.0.6.0 - 26.Jun.2008
new text metric 128: systype (UMTS/GSM)
support for RIL (Radio Interface Layer) on Windows Mobile to query mobile parameters
PocketOptimizer 1.1.1.32 26.Jan.2011

Introduction

v1.0.5.2 - 24.Jun.2008
new text metric 127: sysinfo (output of AT^SYSINFO command)
improved HTTP href parsing
removed unit 'dBm' from signal level (text metric 123)
v1.0.5.1 - 28.May.2008
added host name in HTTP GET
added common metrics for RAS connections
fixed byte counters in sniffer analysis
v1.0.5.0 - 02.Apr.2008
changed delays from sec to ms in front end
changed device ID for Windows Mobile 6
v1.0.4.0 - 20.Jan.2008
bugfix: cmd_autoclose didn't work
v1.0.3.0 - 14.Nov.2007
Sniffer support for Win32: Microsoft's NetCap is supported to record the traffic during
measurements
decoder support for Win32: TShark.exe is supported to decode netcap/ethereal capture file
during measurements
new KPIs for TCP sessions: an integrated TCP stream analyzer decodes the capture files and
calculates important performance indicators
reporting/synchronization has been moved to a separate window
v1.0.2.4 - 14.Oct.2007
additional garbage collections during measurement
v1.0.2.3 - 03.Oct.2007
added parameter Report-Oldfiles to global job section to transmit pending reports
v1.0.2.2 - 25.Sep.2007
added parameter Ras-Wait to RAS section (additional delay before RAS)
added command line arguments for Win32 edition
v1.0.2.1 - 16.Sept.2007
added periodic garbage collection during ICMP measurements to prevent resource outage due
to problems in .NET framework 1.1
v1.0.2.0 - 05.Sept.2007
added unit information to XML tickets
changed UDP throuput KPI in XML tickets from byte/s to bit/s
added exclusion of packets from ICMP statistics (parameter Ping-DontAverage)
added 10 sec throughput average for HTTP and FTP and RTT average for ICMP in real time
status
added minimum RTT for FTP measurements to log files
changed FTP result user-data-rate to session-data-rate in log files
added FTP measurement timeout (parameter Ftp-Meas-To)
added mobile status information to log files and XML tickets (Win32 only)
better loop information during job execution
improvements in timeout handling for serial connections
v1.0.1.3 - 29.Oct.2006
Increased timeout from FTP '226 Transfer complete' until sending ABOR to 10 seconds
added new text metrics 104 (IP address) and 105 (job measurement time)
fixed job issue: global parameter Pause was not used up to v1.0.1.2
v1.0.1.2 - 12.Oct.2006
Modifications in GPS support for Pocket PC
fixed RAS connection issues: don't force RAS disconnection for successive iterations
v1.0.1.0 - 4.Oct.2006
added GPS support
changed reporting of RAS parameters and added new text metrics
v1.0.0.8 - 13.June.2006
changed UDP measurement algorithm
changed FTP thread start to fix asynchronous received issues
v1.0.0.7 - 5.May.2006
improvements in algorithms and log files for UDP measurement
added socket buffer of 512 kB for UDP measurements
fixed access violations in UDP measurement timer routine
PocketOptimizer 1.1.1.32 26.Jan.2011

Introduction

v1.0.0.6 - 4.May.2006
close HTTP sockets with keep-alive
v1.0.0.5 - 2.May.2006
support for HTTP connection keep-alive
v1.0.0.4 - 10.Apr.2006
fixed FTP roundtrip time calculation
added follow http image checkbox and Http-Follow parameter
v1.0.0.3 - 26.Feb.2006
changed KPI523 from byte/s to bit/s
occasional access violations in RAS setup fixed
v1.0.0.2 - 26.Nov.2005
Mobilkom Austria maintenance release
support for Pocket PCs without unique id
some minor fixes and improvements
v1.0.0.0 - 21.Nov.2005
Mobilkom Austria final release
v0.0.3.0 - 18.Nov.2005
Mobilkom Austria final acceptance pre-release
v0.0.2.8 - 14.Nov.2005
Mobilkom Austria pre-release

1.4 Known limitations


PocketOptimizer Win32 edition does not work with Kerio Personal Firewall with gateway mode
enabled. There seems to be a problem with the .Net framework and KPF, please deactivate
gateway mode when running PocketOptimizer.

1.5 This manual


This manual covers all important aspects of PocketOptimizer.
Users manual
Chapter 2 describes the installation and configuration
Chapter 3 contains the operation manual
Administrators manual
Chapter 4 contains the administration manual
Chapter 5 contains the technical reference

PocketOptimizer 1.1.1.32 26.Jan.2011

Introduction

Chapter

Installation
This chapter covers the installation of PocketOptimizer on Windows Mobile and Windows 32
platforms.

2.1 System requirements


2.1.1 System requirements for PocketOptimizer Mobile Edition

Pocket PC with ARM processor or compatible


min. 128 MB RAM
min. 64 MB flash memory to store log files
Windows Pocket PC 2002 or Mobile 2003 (including 2003 SE)
.Net Framework 1.1 or .Net Framework 2.0 (depending on PocketOptimizer Version)
fully functional RAS configuration

2.1.2 System requirements for PocketOptimizer Win32 Edition


Industry compatible personal computer (minimum requirements depending on your operating
system)
min. 512 MB RAM
sufficient hard disk space to store log files (100 MB recommended)
Windows 2000 (SP4), XP (SP1 or SP2), Windows 2003 or Vista
.Net Framework 1.1
fully functional RAS configuration

2.2 Removing previous installations


It is not required to remove existing versions of PocketOptimizer prior to the installation of a new
version. Nevertheless it is possible to remove the software, the uninstall routine will only remove
program and helper files, the log and configuration files will not be touched. Thus you will not
loose your configuration data when uninstalling PocketOptimizer.

2.2.1 Removing PocketOptimizer Mobile Edition


The procedure described in this section will be suitable for most versions of Microsoft Windows
Mobile though there may be slight variations.
How to remove PocketOptimizer Mobile Edition
Open Windows Settings. You will find it in the Windows Mobile Start Menu/Settings.
Navigate to the sheet System and open Remove Programs.
Select the item PocketOptimizer and press the Button Remove.
PocketOptimizer will be removed from your system.
Please consult the documentation for Microsoft Windows Mobile Edition if you require more
detailed information.

PocketOptimizer 1.1.1.32 26.Jan.2011

Installation

2.2.2 Removing PocketOptimizer Win32 Edition


The procedure described in this section will be suitable for most versions of Microsoft Windows
though there may be slight variations.
How to remove PocketOptimizer Win32 Edition
Open the Windows Control Panel. You will find it in the Windows Start Menu.
Open the Control Panel Application Software.
Select the Item PocketOptimizer and press the Button Add/Remove.
PocketOptimizer will be removed from your system.
Please consult the documentation for Microsoft Windows if you require more detailed information.

2.3 Installing PocketOptimizer


PocketOptimizer is delivered as a .Net setup package (PocketOptimizer-PPC-ARM-x.x.x.x.cab) for
Windows Mobile Editions and as a solid setup program (PocketOptimizer-Win32-Setup-x.x.x.x.exe)
for Windows 32-bit. All you need to do is to run this setup file to start the installation and let the
installation process guide you through setup.

2.3.1 Installing PocketOptimizer Mobile Edition


PocketOptimizer Mobile Edition is delivered as a .Net setup package contained in a native Win32
setup program. The Package includes all required files and scripting information where the files are
to be installed.
How to install PocketOptimizer Mobile Edition with ActiveSync Application Manager
The easiest way to install PocketOptimizer is to use the setup application and let it run the CE
application manager.
Run PocketOptimizer-PPC-ARM-x.x.x.x.exe to start setup.
When prompted to, select Install with the CE Application Manager.
You should use the standard directory (one of application manager's sub directories).
When prompted by the application manager, answer yes to start setup.
Wait until setup has finished and follow the instructions.
How to install PocketOptimizer Mobile Edition manually
Alternatively it is possible to use the .cab file to install PocketOptimizer.
Run PocketOptimizer-PPC-ARM-x.x.x.x.exe to start setup.
When prompted to, select Extract the .cab file for manual installation.
Use any directory you like to extract the .cab file.
Copy the setup package (PocketOptimizer-PPC-ARM-x.x.x.x.cab) to any location on your Pocket
PC.
Open the Windows File Explorer or any other file manager and locate the .cab file.
Click on the .cab file to start setup.
When prompted, answer yes to start setup.
Wait until setup has finished and follow the instructions.
PocketOptimizer will be installed to the application directory, the location will usually be something
like \Program files\PocketOptimizer.

2.3.2 Installing PocketOptimizer Win32 Edition


PocketOptimizer Win32 Edition is delivered as a solid setup program.
How to install PocketOptimizer Win32 Edition
Run PocketOptimizer-Win32-Setup-x.x.x.x.exe to start setup.
Select the desired destination path for PocketOptimizer and let setup do the installation.
Use the PocketOptimizer icon in the start menu to start the application.
If you do not change the default target directory, the installation directory will be something like

C:\Program files\PocketOptimizer.

PocketOptimizer 1.1.1.32 26.Jan.2011

Installation

2.3.3 Additional Installation information


Usually no configuration file will exist in the destination directory, please run PocketOptimizer
at least once to create the configuration files before editing them (see section 2.5 for details).
Using the setup package is the most convenient way to install PocketOptimizer, alternatively it
is possible to copy the entire installation directory from another machine. PocketOptimizer will
then be fully functional, but some additional features (start menu entry and help file
registration) will be missing.

2.4 Registering PocketOptimizer


It is required to register PocketOptimizer for your machine prior to using it. Registration is required
to ensure all instances of PocketOptimizer are assigned unique Agent-Ids and to prevent license
misuse.
Different registration schemes are possible depending on the licensed package:
For non-branded licenses, a license request as to be submitted to the software vendor. You will
then be provided the registration data to unlock PocketOptimizer.
For branded licenses, a special license utility is available for your license administrator. This
utility can be used to create the unlock key. Please refer to section 4.1 in the Administrators
manual for detailed information.
Registration basics
PocketOptimizer automatically calculates a Machine Id from your machines unique data.
This Machine Id has to be submitted to your license server or administrator.
The sales representative or license administrator will assign an Agent Id and generate the
Unlocking Code for your combination of Machine Id and Agent Id.
After entering Agent-Id and Unlocking Code your copy of PocketOptimizer is functional.

2.4.1 Getting the Machine Id


The Machine Id will automatically be calculated by PocketOptimizer every time it is executed. It is
derived form your machines internal data and is unique for every machine. The Machine-Id can be
viewed any time by opening the Registration tab in the main window.

You have to pass the Machine Id either to a license server or to your license administrator. Please
refer to the next chapters for details.

2.4.2 Automatic registration with license server


Hit the button Register... in the main window to open the registration window.

PocketOptimizer 1.1.1.32 26.Jan.2011

Installation

Entering user information and submitting a license request

To submit or create a registration request, use the function Send a registration request and click
Proceed.
Enter your company name and address, user name and e-mail address. An information e-mail will
be sent to this address when the registration server's database has been updated to provide you
with unlocking data.
Click Proceed to move to the request sheet. This sheet provides some additional input fields that
might or might not be applicable for you:
License: Select Purchased or Evaluation of you have already purchased a license or are
requesting an evaluation license.
Request: This field influences how the registration server will process your request:
o Extend active registration ... This is the default value. If an unlock item is existing in the
license server's database, you will immediately provided with the unlocking data. Otherwise
the data is forwarded to a sales representative or license administrator.
o Manually check my request ... In this case the server does not provide you with unlocking
data automatically, instead your request is always forwarded to sales representative or
license administrator. Use this function if you changed input fields or need a different
license type.
o Unlock code does not work ... This case is similar to the previous one, but the request is
forwarded to our support team.
Vendor: Enter your vendor code if you purchased the software from a reseller. Otherwise leave
the field empty.
Offer No: Enter your software vendor's offer number if you have received different offers with
different software features. Leave the field empty if you only have one offer or are requesting
an evaluation license.
Agent Id: If you want to use a special agent id (e.g. if you want to re-use an Id), enter it here.
Agent Pool: If your company uses different pools of agent Ids (e.g. for different departments),
you can enter the required pool name here.
Message: Use this field to provide a message to your sales representative or license
administrator.
Please ensure your machine is connected to the internet and use the button Send requ. to submit
the request to the license server. If an existing unlock item is found in the database, you will
immediately provided with the unlock data, otherwise you will be informed that the request will be
processed. Usually the unlock information should be available within 15..30 minutes. If required
close PocketOptimizer while waiting for the unlock data, your input will be saved for further use.
If it is not possible to send the data directly, use the button Save... to save the license request to a
file and send this file to your sales representative or license administrator via e-mail.
Fetching the unlock data
You will be sent an e-mail when your registration has been processed.
To fetch the license data from the server, simply submit the license request again without
changing any information on the Licensee sheet. Please ensure that you use the request Extend
active registration, otherwise the server will not provide the unlock data.
PocketOptimizer 1.1.1.32 26.Jan.2011

Installation

If unlock data is available on the server, the unlocking data is automatically inserted into the input
fields.
Check the option I accept the license terms if you agree to the license terms and use the button
Register to save the registration information.

2.4.3 Manual registration with license server


If automatic submission to a license server is not possible, follow the steps as described in the
previous chapter to enter the required information.
Use the button Save... to save the request into a file and submit this file to your sales
representative or license administrator.
You will be provided the unlock data via an e-mail, please save the unlock data into a file and use
the button Load... on the Registration sheet to load the file. After accepting the license terms, you
will be able to register the application.

2.4.4 Manual registration with license utility (branded versions only)


This registration procedure is only available with branded versions that are associated with a
customer and thus do not require the extended unlock information.
Please note that manual registration will only work with special unlock codes and with branded
versions only.
Getting the Machine Id
Copy the Machine Id to the clipboard and pass it to your license administrator.
Entering the Unlock code
Usually you will receive Agent Id and Unlock Code per e-mail. Use the button Register... to open
the registration wizard. Choose Enter registration information to change to the registration sheet.
You only need to enter the last two input fields Agent Id and Unlock. Accept the license terms and
use the button Register to register the application.

2.5 Setting up the configuration


PocketOptimizer uses three different configuration files to store the applications configuration
data.
machine.cfg contains machine specific data (directory, registration and sniffer configuration)
system.cfg contains system data, this file contains the measurement parameters and is usually
synchronized from a server. Users shouldnt edit this file manually as the changes will be lost
when synchronizing the configuration from a server.
user.cfg contains the users measurement configuration. The file is usually maintained by
PocketOptimizers profile manager, alternatively changes can be made manually.
The configuration files are either delivered automatically by the setup package or created by
PocketOptimizer when run for the first time. Usually you will not be required to maintain these
configuration files manually, possible exceptions are:
If you have to specify a different server for synchronization you have to edit system.cfg.
If you want to specify different directories for the log files you have to edit machine.cfg.
PocketOptimizer 1.1.1.32 26.Jan.2011

Installation

To set up the sniffer configuration, you have to modify machine.cfg.


For Pocket PC its recommended to use the freeware tool TotalCommander instead of Windows file
explorer as this tool allows to directly open the files with Notepad while file explorer will raise an
error due to missing file associations.

2.5.1 Configuration file format


The configuration files are using a format similar to Windows .ini files. The default syntax for
parameters is <param>: <value(s)>, leading and trailing white spaces will be dropped, unknown
parameters are ignored. Use semicolons (;) to denote comments. Parameters including leading or
trailing white spaces or semicolons need to be quoted with double quotes (").

2.5.2 Setting up a different server for synchronization


The synchronization server is defined in the system configuration file in the section [System].
Locate the identifier Update-Url and enter the proper server and path.
[System]
Update-Url:

http://www.i-qos.com/config/po/demo

Alternatively it is possible to directly enter the URL before starting the synchronization.

2.5.3 Setting up directories


Several directories can be configured in the machine configuration file in the section [Directories].
The different directories are:
Log-Path: contains the log files generated by PocketOptimizer. Its up to the user to delete
outdated log files.
Job-Path: contains the job files fetched from the server. You will need to copy the files
manually or run job synchronization after changing this value.
Report-Path: contains the report files not yet sent to the reporting server. These files can be
sent manually via the reporting function.
Archive-Path: contains report files already sent or manually moved to the archive folder. Its up
to the user to delete outdated report files.
Sniffer-Path: contains the packet sniffer's output and the decoded sniffer files. It's up to the
user to delete outdated sniffer files.
[Directories]
Log-Path:
Job-Path:
Report-Path:
Archive-Path:
Sniffer-Path:

logs
jobs
reports
archive
sniffer

To change the directories, overwrite the corresponding values. When starting with a backslash, the
directories are absolute (e.g. \CF Card\logs) other directories are relative to the installation
directory.

2.5.4 GPS configuration


The tab sheet GPS configuration can be used to configure and check the GPS settings.
The parameter GPS port is used to specify the serial port for the GPS receiver. Both physical and
virtual COM ports are supported in the form <port>:<parameters>. Physical ports are usually
specified in the form com<n>:<baud rate>,<parity>,<bits>,<stopbits>, e.g. com1:9600,n,8,1.
Virtual com ports (e.g. for Bluetooth receivers usually do not require parameters, it might be
required to specify them in the form \\.\com<n>, e.g. \\.\com25.
The parameter GPS operation mode is used to specify when the GPS connection has to be used:
GPS off: the GPS connection will not be used during measurements. It is possible to open the
connection with the Start button, but it will be disconnected prior to measurements.
GPS before job: The GPS connection is opened before executing to the measurement job. As
soon as valid GPS coordinates are available or after a timeout, the GPS connection is closed
and the measurement is started. This mode can be used if simultaneous connections of mobile
terminal and GPS receiver are not possible or if measurement results shall not be influenced by
the GPS background thread. The GPS location will be stored once in the log files and reported
in the measurement ticket.
PocketOptimizer 1.1.1.32 26.Jan.2011

10

Installation

GPS before RAS: The GPS connection is opened prior to the establishment of a RAS
connection. This mode is similar to the previous mode, the GPS location will be stored once in
the log files and reported in the measurement ticket.
GPS continuous: The GPS connection is opened during the measurement. The GPS location will
be stored for every record in the log files and reported in the measurement ticket.
The button Start can be used to start the GPS background thread or re-start it with new
parameters.

The control GPS status shows GPS information for diagnostic purposes.
the first line displays the current status (either GPS data valid or some error information)
the second line displays the GPS UTC time, latitude, longitude and the number of satellites.
the next three lines contain the last three GPS messages from the receiver.
The main GPS status is displayed in the upper right corner of the GPS and the User data tab
sheets.
A green GPS symbol means that GPS data is valid.
A yellow GPS symbol indicates that GPS data is received but not valid.
A red GPS symbol shows that no GPS data is received or the connection could not be
established.
GPS issues on Pocket PC
This section describes some special issues for Bluetooth GPS receivers on Windows Mobile 2003.
These issues have been noticed with this particular edition of Windows CE but can occur on other
versions, too.
The main problem on this platform is that only one serial port for outgoing serial connections is
available and this port is not directly mapped to a device. The port can be determined in the
Bluetooth configuration as shown below. If the application connects to the virtual serial port,
Windows CE blocks this call and prompts the user to select the device as shown in the second
screenshot. The background GPS thread is blocked in this situation and PocketOptimizer cannot be
terminated. After selecting a device, Windows tries to connect to the device (blocking the GPS
thread). On success the port is opened and the background thread will continue execution.
Otherwise an error message as shown in the third screenshot is displayed (again blocking the
background thread).

PocketOptimizer 1.1.1.32 26.Jan.2011

11

Installation

If another window or PocketOptimizer is moved to the foreground it might happen that one of the
Bluetooth windows is not visible but still blocks the GPS background thread.
In order to use Bluetooth GPS receivers you will have to
manually select the GPS receiver if Windows prompts you.
manually acknowledge Bluetooth error messages.
If you experience problems with the GPS background thread please
check if background windows are requiring user input.
try to manually connect to the GPS receiver with the Bluetooth manager.
try to disable Bluetooth.

2.5.5 Sniffer configuration


Currently the following packet sniffers are supported by PocketOptimizer:
Microsoft NetCap is supported by the Win32 edition.
CEMyNetwork Wireless 1.0 from Epiphan Consulting, Inc. is supported by the Pocket PC
edition.
Please see section 5.4.7 in the Administrator's manual for details or contact your system
administrator to provide the required configuration settings.

PocketOptimizer 1.1.1.32 26.Jan.2011

12

Installation

Chapter

Operations Manual
This section describes how to use PocketOptimizer.

3.1 PocketOptimizers main window


Before starting any measurement, additional description data can be entered and the RAS
connection has to be selected.

3.1.1 User data and RAS configuration

The first four edit controls are for informational purposes and for reporting only. The information is
stored in the log files and in XML reports but not required by PocketOptimizer.
User name is stored in the log files and reported as text metric (Id 301) in the XML report.
Location is stored in the log files and reported as text metric (Id 302) in the XML report.
Alternatively the location can be derived from GPS coordinates (see the /autolocation command
line argument).
Cell ID is stored in the log files and reported as text metric (Id 303) in the XML report
The list of operators is fetched from the system configuration file. The selected value is stored
in the log files and reported as text metric 300 in the XML report. Alternatively it can be
derived from the mobile's MSISDN (see the /autooperator command line argument).
Use the combo box to select the RAS connection to be used or select <none> if you want to use a
LAN or a user managed RAS connection.
The combo box will contain Huawei NDIS connections in the Win32 edition if the API dll ndisapi.dll
is installed into the application directory (i.e. into the same directory as PocketOptimizer.exe). For
legal reasons the file cannot be delivered in the setup package.

3.1.2 Main menu functions


PocketOptimizer offers four different interactive measurements and pre-defined job measurements.

PocketOptimizer 1.1.1.32 26.Jan.2011

13

Operations Manual

The interactive measurements can be accessed via the main menu entry Interactive.
HTTP measurements support downloads from standard HTTP servers.
FTP measurements allow download and upload measurements from/to standard FTP servers.
ICMP measurements allow Ping measurements to any machine answering Ping requests.
UDP measurements can be used for UDP stream analysis with a special UDP data generator
(NDFA server).
Job measurements can be accessed via the main menu entry Jobs.
The menu item Jobs contains the functions to execute pre-defined measurement jobs.
The menu item Sync and Reporting contains functions for synchronizing the configuration and
jobs from a central server, and to transmit pending reports.
Online help can be accessed in all screens with the menu entry Help.
The menu item Exit terminates the application.

3.2 Interactive measurements


Interactive measurements can be parameterized by the user with one or two GUI sheets. In
contrast, job measurements are controlled by job files and no additional configuration is possible.

3.2.1 HTTP measurements


HTTP measurements allow downloading any file from a HTTP server featuring integrated real time
performance measurements. If the downloaded file is of content type text/html, embedded
images (specified by <img src> tags) will be additionally downloaded with a user defined number
of concurrent TCP connections. The HTTP client does not support frames or cascaded style sheets
etc, it is designed to provide high quality real time measurement data and does only simplified
HTTP parsing. Thus it might be required to provide special, simplified HTTP files for testing instead
of accessing live web sites.
HTTP Configuration
This tab sheet allows modification of the HTTP measurement's main parameters.

Use the profile combo box to select a pre-defined profile either from the system or the user
configuration file to load the profile's values.
o The ellipsis button (...) opens the profile manager. Use this function to save your settings
to a user defined profile and to manage your profiles.
Use the custom URL text field to enter a custom URL or use the ellipsis button (...) to view a
history of URLs.
Uncheck the checkbox follow image tags to deactivate the download of embedded image files.
Specify the maximum number of TCP connections for HTML downloads. This parameter will
only be used for text/html files containing images (<img src> tags) if follow image tags is
enabled.
A number of repetitions and the pause between those repetitions can be specified with loops
and delay.
The checkbox act/deact RAS connection in every loop specifies if the RAS connection will be
closed and re-opened in every loop iteration or if the same RAS connection will be used for all
measurements.
PocketOptimizer 1.1.1.32 26.Jan.2011

14

Operations Manual

The checkbox logfile has to be checked if the measurement's log file is to be saved in the log
file directory.
The checkbox sniffer activates a third party packet sniffer.
Hit the button Start to start the measurement or proceed to the next tab sheet to configure
advanced parameters.
HTTP Advanced parameters
This tab sheet contains some advanced HTTP measurement parameters.
The checkbox use prelod URL has to be checked if a preload URL has to be downloaded prior
to the measurement. The preload URL will be loaded once after a RAS connection has been
established and
can be used to initialize a web based accelerator or to acquire a high rate radio access bearer.
Specify the desired custom preload URL in the text edit control or hit the ellipsis button (...) to
pick one of the recent URLs.
An additional post preload delay can be specified if required. The system will be idle for the
specified time after a preload URL has been fetched before starting the measurement.

Navigate back to the tab sheet Config after the data has been configured to start the
measurement.
HTTP Status
This tab sheet will display the HTTP measurement's status and main results during the
measurement.

The current loop iteration and the status information are displayed on top.
The field bytes received displays the number of bytes successfully received including both
HTTP headers and payload (i.e. TCP payload not including TCP and IP headers).
The average throughput is calculated from the first to the last receive time stamp and can thus
be slightly higher than the real throughput.
The first RTT is calculated from the transmission of the HTTP request to the reception of the
HTTP server's response.
The graph control displays the estimated throughput per one second interval. Usually the
display scale is in kByte/s=1000Byte/s, it can be switched to kbit/s=1000bit/s by setting the
parameter GraphModeKBit: True in the user configuration file's [GUI] section.
PocketOptimizer 1.1.1.32 26.Jan.2011

15

Operations Manual

Hit the Cancel button to cancel any active measurement.


HTTP Log
The log sheet contains the measurement's log. Major events and their time stamps are displayed in
the log window for informational and diagnostic purposes.
HTTP Results
The results sheet contains the measurement's detailed results. A list of throughput values per one
second interval can be viewed during the measurement by hitting the Update button or is
automatically updated at the end of the measurement. This allows to view the data even if it is not
automatically saved to a log file.

3.2.2 FTP measurements


FTP measurements allow downloading or uploading a file from or to an FTP server featuring
integrated real time performance measurements. Both active and passive transfer mode is
supported.
FTP Configuration
This tab sheet allows to modify the FTP measurement's main parameters.

Use the profile combo box to select a pre-defined profile either from the system or the user
configuration file to load the profile's values.
o The ellipsis button (...) opens the profile manager. Use this function to save your settings
to a user defined profile and to manage your profiles.
Use the custom URL text field to enter a custom URL or use the ellipsis button (...) to view a
history of URLs.
Note: If the URL specifies a directory (i.e. ends with a slash), the agent Id will automatically be
used as the filename to avoid problems due to simultaneous uploads of several users.
Alternatively the placeholder %agent% will be replaced by the agent id.
Specify the direction with the Get and Put radio buttons.
The download data size will be specified by the data file, the data size for uploads can be
specified with the data size control.
Check passive mode if you want to use FTP passive mode.
A number of repetitions and the pause between those repetitions can be specified with loops
and delay.
The checkbox act/deact RAS connection in every loop specifies if the RAS connection will be
closed and re-opened in every loop iteration or if the same RAS connection will be used for all
measurements.
The checkbox logfile has to be checked if the measurement's log file is to be saved in the log
file directory.
The checkbox sniffer activates a third party packet sniffer.
Hit the button Start to start the measurement.

PocketOptimizer 1.1.1.32 26.Jan.2011

16

Operations Manual

FTP Status
This tab sheet will display the FTP measurement's status and main results during the
measurement.

The current loop iteration and the status information are displayed on top.
The field bytes sent/received displays the number of bytes successfully sent or received on the
data connection (TCP payload not including control connection).
The average throughput is calculated from the first to the last receive timestamp and can thus
be slightly higher than the real throughput.
The first RTT is calculated from the transmission of the FTP USER request to the reception of
the FTP server's control connection response.
The graph control displays the estimated throughput per one second interval. Usually the
display scale is in kByte/s=1000Byte/s, it can be switched to kbit/s=1000bit/s by setting the
parameter GraphModeKBit: True in the user configuration file's [GUI] section.
Hit the Cancel button to cancel any active measurement.
FTP Log
The log sheet contains the measurement's log. Major events and their time stamps are displayed in
the log window for informational and diagnostic purposes.
FTP Results
The results sheet contains the measurement's detailed results. A list of throughput values per one
second interval can be viewed during the measurement by hitting the Update button or is
automatically updated at the end of the measurement. This allows to view the data even if it is not
automatically saved to a log file.

3.2.3 ICMP measurements


ICMP measurements allow the evaluation of ICMP/Ping round trip times and packet loss using user
defined payloads and transmission timing with real time data analysis.
ICMP Configuration
This tab sheet allows to modify the ICMP measurement's main parameters.

PocketOptimizer 1.1.1.32 26.Jan.2011

17

Operations Manual

Use the profile combo box to select a pre-defined profile either from the system or the user
configuration file to load the profile's values.
o The ellipsis button (...) opens the profile manager. Use this function to save your settings
to a user defined profile and to manage your profiles.
Use the host text field to enter a custom host or IP address or use the ellipsis button (...) to
view a history of hosts.
Specify the number of packets per block with the corresponding edit control. See the
description of the block parameter below, usually you will use one block.
If you specify Unix mode packets will be transmitted with a constant time increment as
specified with the advance parameter (adv ms). In default (Windows) mode, a packet will be
transmitted either after a timeout (to ms) or adv ms after the reception of a packet as specified
with the advance parameter.
The ICMP payload size will directly influence the ICMP and IP packet sizes:
ICMP packet size: ICMP payload size + 8 bytes ICMP header
IP packet size: ICMP packet size + 20 bytes IP header
The receive timeout is specified with the parameter to (ms).
In Unix mode a packet is always transmitted after adv ms, thus the timeout value is only
relevant for the last (lost) packets. In Windows mode a packet is only transmitted after the
reception of a packet or
after a timeout.
The timing advance is specified with the adv (ms) parameter.
In Unix mode this is the time increment from transmission to transmission, in Windows mode it
specifies the time increment from packet reception to next transmission.
In addition to the loops, it is possible to specify a number of blocks to be transmitted. Every
block includes the specified number of packets succeeded by an idle time as specified with
pause. The RAS connection is not disconnected between blocks.
The checkbox act/deact RAS connection in every loop specifies if the RAS connection will be
closed and re-opened in every loop iteration or if the same RAS connection will be used for all
measurements.
The checkbox logfile has to be checked if the measurement's log file is to be saved in the log
directory.
The checkbox sniffer activates a third party packet sniffer.
Hit the button Start to start the measurement.
ICMP Status
This tab sheet will display the ICMP measurement's status and main results during the
measurement.

The current loop iteration and the status information are displayed on top.
Block/seq no displays the current block number (starting with 1) and the current sequence
number (starting with 1 in the first block). The sequence value displayed at the and of a loop
iteration is thus
the # of packets transmitted (packets x blocks).
The Average RTT is calculated on a per block basis.
The number of Packets lost is counted per loop as the sequence number is. If all packets are
lost, this value will thus be equal to the sequence number.
The graph control displays the round trip time on a per packet basis, a green bar is used to
show activity (response has not been received but timeout has not expired, yet), a red bar
indicates packet loss (timeout for the packet has expired).
PocketOptimizer 1.1.1.32 26.Jan.2011

18

Operations Manual

Hit the Cancel button to cancel any active measurement.


ICMP Log
The log sheet contains the measurement's log. Major events and their time stamps are displayed in
the log window for informational and diagnostic purposes.
ICMP Results
The results sheet contains the measurement's detailed results. A list of tx and rx time stamps and
roundtrip time values (or LOST in case of a packet loss) can be viewed during the measurement by
hitting the Update button or is automatically updated at the end of the measurement. This allows
to view the data even if it is not automatically saved to a log file.

3.2.4 UDP measurements


UDP measurements allow the analysis of UDP traffic streams with defined uplink and downlink data
rates. The remote endpoint for UDP measurements has to be a traffic generator server supporting
PocketOptimizers traffic generator protocol. Currently this is NDFA server 0.40 and above.
The log files created by PocketOptimizer can be opened with NDFA client for further analysis.
UDP Configuration
This tab sheet allows modification of the UDP measurement's main parameters.

Use the profile combo box to select a pre-defined profile either from the system or the user
configuration file to load the profile's values.
o The ellipsis button (...) opens the profile manager. Use this function to save your settings
to a user defined profile and to manage your profiles.
Specify uplink and downlink packet size (UDP payload) in the UDP packet size edit controls.
UDP packet size: UDP payload size + 8 bytes UDP header
IP packet size: UDP packet size + 20 bytes IP header
Uplink and downlink packet rates can be specified in UDP packet rate.
Specify the measurement duration in seconds. Packets will be transmitted in both directions
until the required data has been committed by the remote side or a timeout has occurred.
A number of repetitions and the pause between those repetitions can be specified with loops
and delay.
The checkbox act/deact RAS connection in every loop specifies if the RAS connection will be
closed and re-opened in every loop iteration or if the same RAS connection will be used for all
measurements.
The checkbox logfile has to be checked if the measurement's log file is to be saved in the log
file directory.
The checkbox sniffer is available on Pocket PC only and activates a third party packet sniffer.
Note: As there are no GUI controls for the server, username and password, be sure to specify
proper values in either the [UdpDefaults] section or in the profile you're using.
Hit the button Start to start the measurement.

PocketOptimizer 1.1.1.32 26.Jan.2011

19

Operations Manual

UDP Status
This tab sheet will display the UDP measurement's status and main results during the
measurement.

The current loop iteration and the status information are displayed on top.
dl (kbit/s) and ul (kbit/s) show average uplink and downlink data rates calculated from the first
to the last received packet.
dl jtr (ms) and ul jtr (ms) show average effective jitter.
dl loss and ul loss display the total number of packets lost.
The graph control displays the estimated data rates per one second interval in
kByte/s=1000Byte/s, it can be switched to kbit/s=1000bit/s by setting the parameter
GraphModeKBit: True in the user configuration file's [GUI] section. In addition red bars are used
to display the number of lost packets per interval (25% height .. 1 packet lost, 50% .. 2
packets lost, 75% .. 3 packets lost, 100% .. 4 or more packets lost).
Hit the Cancel button to cancel any active measurement.
UDP Log
The log sheet contains the measurement's log. Major events and their time stamps are displayed in
the log window for informational and diagnostic purposes.
UDP Result
The results sheet contains the measurement's detailed results. A detailed list of statistics per on
second interval can be viewed during the measurement by hitting the Update button or is
automatically updated at the end of the measurement. This allows to view the data even if it is not
automatically saved to a log file.

3.2.5 Profile manager


The profile manager can be used to save user defined parameter sets (i.e. profiles) to the user
configuration file.

Simply enter a new name in the edit control (to create a new profile) or select an existing name
from the list box (to overwrite an existing profile) and hit the Save as button. In addition, existing
profiles can be deleted with the Delete button after specifying their name.
PocketOptimizer 1.1.1.32 26.Jan.2011

20

Operations Manual

3.3 Job measurements


Jobs are pre-defined scripts containing one or more measurement tasks to be executed
subsequently with one or more loop iterations. Jobs are contained in text files in the jobs directory.

3.3.1 Running Jobs


Specify a job file to be executed by selecting it in the combo box. Some additional information
contained in the job file will be displayed to give more detailed information.

Hit the Start button to start the job. During execution the status information sheet will display
progress information as well as a graphical overview.

After the measurement is completed, an XML report file is generated. Depending on the
specification in the job file this XML ticket can either be stored in a local directory or sent to a
server. If transmission is not possible, the file will be kept in the local directory for later
submission.

3.3.2 Creating jobs


Job files are similar to the interactive measurement's task files. Thus you can copy the task's
settings from the configuration manager into a job file. Alternatively it is possible to copy a task's
section from the system or user config file. Please refer to the corresponding section in the
Administrator's manual for details.

3.4 Synchronization and reporting


This form contains the following functions:
Synchronization is used to load the system configuration as well as the job files from a predefined server.
Reporting allows to transmit pending result files to a server.

PocketOptimizer 1.1.1.32 26.Jan.2011

21

Operations Manual

3.4.1 Synchronization
Simply hit the button Sync to reload the system configuration file (including the system task
profiles) and the job files from the measurement server. PocketOptimizer will prompt if to open a
RAS connection and load the required files.
If the default synchronization URL is not usable, it is possible to adjust it as required.

Please note that the synchronization URL is stored in the system configuration file and is
automatically updated by the synchronization process. The new value will be used when
PocketOptimizer is started the next time.

3.4.2 Reporting
The reporting functionality can be used to submit XML tickets to the ticket receiver, i.e. a HTTP
server accepting HTTP POST requests.
Depending on your job files, reports can either be automatically submitted to the HTTP server or
will have to be transferred manually. In the second case or if transmission is not possible in the
first case, the XML report files will be placed in PocketOptimizer's report directory. They can then
be sent manually or moved to the archive folder.
Note: It's up to the user to remove old report files from the archive folder.

Hit the Refresh button to load a list of files ready for transmission, the Select button can be used
to toggle the
selection in addition to manual file selection by checking or un-checking single items in the list.
Hit the Report button to submit the files to the server or the Archive button to move the files to the
archive folder.

PocketOptimizer 1.1.1.32 26.Jan.2011

22

Operations Manual

Chapter

Administrators Manual
This section contains information for the system and license administrator and is not intended for end
users.

4.1 PocketOptimizer Registration Utility


The registration utility is a software application that generates PocketOptimizers unlock codes. This
application is only available if you purchased a perpetual, branded company license for an unlimited
number of installations.
The workflow for unlocking PocketOptimizer is described in section 2.4, the main steps are:
The user submits the machine id to the license administrator.
The license administrator chooses a new agent id and generates the unlocking code.
The user enters the unlocking code.

License Generator operation instructions


Enter the users machine id or hit the button Load file to load the data from the users reginfo.txt
file.
Enter the users agent id or assign a new agent id. You should use unique agent ids to ensure
proper reporting operation.
Hit the button Calculate to generate to unlocking code.
Copy the applications output into the clipboard or save it to a file with the Save file button.

PocketOptimizer 1.1.1.32 26.Jan.2011

23

Administrators Manual

4.2 Synchronization server reference


A standard HTTP server can be used to synchronize the system configuration file and the job files to
PocketOptimizer installations.
The server is configured in the system configuration file, thus it is possible to change the server with
the synchronization function or by installing a new system configuration file.

4.2.1 HTTP server requirements


The HTTP server has to contain at least two public accessible files:
A file named system.cfg will replace the existing configuration file. Please ensure this file is a valid
system configuration file.
A file named jobs.cfg has to contain a list of job files. The job files can reside in the same
directory or in a sub directory.
If Update-URL in the system configuration file is http://www.i-qos.com/config/po/demo, the URLs
fetched will be
http://www.i-qos.com/config/po/demo/system.cfg and
http://www.i-qos.com/config/po/demo/jobs.cfg.

4.2.2 Job configuration requirements


The job configuration file is a text file that has to follow the format <job file> <version>\r\n.
job file is the jobs file name on the HTTP server. If no path is specified, the file has to reside in
the directory specified by Update-URL, otherwise a sub directory of this path can be used.
If the job file name includes blanks, it has to be quoted by double quotes (").
version is the job files version as specified with the parameter Version in the jobfile itself. If the
job file does not exist in PocketOptimizers local job directory or the version is not equal, the job
file will be updated.
You can specify the keyword delete instead of version to delete the file from PocketOptimizers
local job directory.
Any white space except for cr/lf can be used as separator between job file and version.
Any combination of cr/lf can be used to separate different job files.
Note: The version in the job file will not be updated during the download, thus its up to the user to
ensure these versions are identical to gain synchronization performance by not loading those files
already up to date. On the other hand, it is possible to force downloading all files by entering a
version not identical to the jobs file version.
A sample job configuration file is
jobs/test-http.job
jobs/test-ftp.job
jobs/test1.job

0.0.1
force
delete

Note: force is not a special keyword, its simply a version different to the version in the job file to
force update.
For the Update-URL specified above, the URLs fetched will be
http://www.i-qos.com/config/po/demo/jobs/test-http.job
http://www.i-qos.com/config/po/demo/jobs/test-ftp.job

4.3 Reporting server reference


Measurement reports are available for job file execution only and are XML files as described in section
5.3. The job files are transferred via a standard HTTP POST request to the server specified in the
system configuration file. The server can be a HTTP server with a suitable CGI script or a special ticket
receiver that will directly insert the measurement data into a database.
A sample http request is
POST / HTTP/1.0<CRLF>
Content-length: 638<CRLF>
<CRLF>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?><CRLF>
<ticket version="2.0"><CRLF>
<instance>pocketopt</instance><CRLF>
<scenario id="113"><CRLF>
<mtime>2005-11-13T01:33:43+01:00</mtime><CRLF>
PocketOptimizer 1.1.1.32 26.Jan.2011

24

Administrators Manual

<agent id="101">PocketOptimizer</agent><CRLF>
<duration>10.222</duration><CRLF>
<comment>loop 1, block 2, loop 1 (icmp)</comment><CRLF>
<qi>10</qi><CRLF>
<rating>1</rating><CRLF>
<metrics><CRLF>
<metric id="1001" comment="1001-ping-tx-count">20</metric><CRLF>
<metric id="1002" comment="1002-ping-lost">0</metric><CRLF>
<metric id="1003" comment="1003-ping-avg-rtt">0.183</metric><CRLF>
<metric id="100" comment="operator">23201</metric>
<text id="101" comment="user">your user name</text>
<text id="102" comment="location">your location</text>
<text id="103" comment="cell-id">your cell id</text>
<text id="104" comment="IP-addrs">128.130.6.7</text>
<text id="105" comment="jobtime">2006-11-13T01:33:42+01:00</text>
</metrics><CRLF>
</scenario><CRLF>
</ticket><CRLF>

PocketOptimizer 1.1.1.32 26.Jan.2011

25

Administrators Manual

Chapter

Technical Reference
This chapter includes PocketOptimizer's technical specifications.

5.1 Configuration file reference


The configuration files described here have to be placed in the installation directory, i.e. the directory
where PocketOptimizer.exe resides. Use a standard text editor to edit those files if required.
For Pocket PC its recommended to use the freeware tool TotalCommander instead of Windows file
explorer as this tool allows to directly open the files with Notepad while file explorer will raise an error
due to missing file associations.

5.1.1 System configuration file


This section describes the system configuration files format. The file is named system.cfg and is
placed in PocketOptimizers installation directory.
Note: The system configuration file should only be modified by the administrator as the file is
automatically synchronized from the configuration server.
Note: The easiest way to create sections in the system configuration file is to enter the required
parameters in an interactive measurement, save the data to a user defined profile and copy the
corresponding section from the user configuration file to the system configuration file with a text
editor.
5.1.1.1 Sample system configuration file
[System]
Report-Url:
Update-Url:

http://qts.i-qos.com:8808/
http://www.i-qos.com/config/po/demo

[HttpProfile]
Name:
i-qos.com 10kB
;Loop-Count:
1
; ... loop iterations
;Loop-Pause:
1000
; (ms) pause between and after last repetition
;Ras-Dial:
No
; (No|Auto|Forced|Iterated)
;Ras-Hangup:
No
; (No|Yes)
Http-Url:
http://www.i-qos.com/test/test01-00010kB.bin
;Http-Follow:
Yes
; follow img src tags in html files
;Http-FollowMulti:
Yes
; load img src tags multiple even if same URL
;Http-Threads:
1
; parallel threads for html files
;Http-KeepAlive:
Yes
; use keepalive
;Http-UsePreload:
Yes
; (No|Yes) ... use preload url
;Http-PreloadUrl:
http://www.i-qos.com/test/test01-00010kB.bin
;Http-PreloadDelay: 2000
; (ms) ... delay after preload
;Http-Connect-To:
60000
; (ms) ... socket connect timeout
;Http-Recv-To:
60000
; (ms) ... socket rx timeout
;Http-Send-To:
60000
; (ms) ... socket tx timeout
;Http-Master-To:
180000
; (ms) ... total timeout
[HttpProfile]
Name:
Http-Url:

i-qos.com 100kB
http://www.i-qos.com/test/test01-00100kB.bin

[HttpProfile]
Name:

i-qos.com 1MB

PocketOptimizer 1.1.1.32 26.Jan.2011

26

Technical Reference

Http-Url:

http://www.i-qos.com/test/test02-001MB.bin

[HttpProfile]
Name:
Http-Url:

i-qos.com 10MB
http://www.i-qos.com/test/test02-010MB.bin

[HttpProfile]
Name:
Http-Url:
Http-Threads:

i-qos.com 100x1kB
http://www.i-qos.com/test/test-100x1kB.html
10

[HttpProfile]
Name:
Http-Url:
Http-Threads:

i-qos.com 100x10kB
http://www.i-qos.com/test/test-100x10kB.html
10

[HttpProfile]
Name:
Http-Url:

GD main
http://gd.tuwien.ac.at/

[FtpProfile]
Name:
i-qos.com 10kB DL
;Loop-Count:
1
; ... loop iterations
;Loop-Pause:
1000
; (ms) ... pause between loops
;Ras-Dial:
No
; (No|Auto|Forced|Iterated)
;Ras-Hangup.
No
; (No|Yes)
Ftp-Url:
ftp://www.i-qos.com/test/test01-00010kB.bin
Ftp-User:
FTPTest
; user if required
Ftp-Pass:
iFTP17q
; password if required
;Ftp-Direction:
Get
; (Get|Put) ... direction
;Ftp-Passive:
Yes
; (No|Yes) ... use pasv mode
;Ftp-DataSize:
1024
; ... bytes (for upload only)
;Ftp-Connect-To:
60000
; (ms) ... socket connect timeout
;Ftp-Recv-To:
60000
; (ms) ... socket rx timeout
;Ftp-Send-To:
60000
; (ms) ... socket tx timeout
;Ftp-Noop-To:
30000
; (ms) ... timeout to send Noop command
;Ftp-Master-To:
180000
; (ms) ... total timeout
;Ftp-Meas-To:
60000
; (ms) ... stop measurement after timeout
;Ftp-BlockSize:
2048
; receive/transmit block size 
(large enough for DL, small enough for UL)
[FtpProfile]
Name:
Ftp-Url:
Ftp-User:
Ftp-Pass:

i-qos.com 100kB DL
ftp://www.i-qos.com/test/test01-00010kB.bin
FTPTest
; user if required
iFTP17q
; password if required

[FtpProfile]
Name:
Ftp-Url:
Ftp-User:
Ftp-Pass:

i-qos.com 1MB DL
ftp://www.i-qos.com/test/test02-001MB.bin
FTPTest
; user if required
iFTP17q
; password if required

[FtpProfile]
Name:
Ftp-Url:
Ftp-User:
Ftp-Pass:

i-qos.com 10MB DL
ftp://www.i-qos.com/test/test02-010MB.bin
FTPTest
; user if required
iFTP17q
; password if required

[FtpProfile]
Name:
i-qos.com 10kB UL
Ftp-Url:
ftp://www.i-qos.com/test/Upload/test-ul-10kB-%agent%.bin
FTP-User:
FTPTest
FTP-Pass:
iFTP17q
FTP-DataSize:
10240
FTP-Direction:
Put
Ftp-BlockSize:
1420
; receive/transmit block size 
 (large enough for DL, small enough for UL)
; for 1464 MTU size we use 
1464-20(TCP)-20(IP)-4=1420 bytes to avoid IP fragementation
[FtpProfile]
Name:
Ftp-Url:
FTP-User:
FTP-Pass:
FTP-DataSize:
FTP-Direction:
Ftp-BlockSize:

i-qos.com 100kB UL
ftp://www.i-qos.com/test/Upload/test-ul-100kB-%agent%.bin
FTPTest
iFTP17q
102400
Put
1420

PocketOptimizer 1.1.1.32 26.Jan.2011

27

Technical Reference

[FtpProfile]
Name:
Ftp-Url:
FTP-User:
FTP-Pass:
FTP-DataSize:
FTP-Direction:
Ftp-BlockSize:

i-qos.com 1MB UL
ftp://www.i-qos.com/test/Upload/test-ul-1MB-%agent%.bin
FTPTest
iFTP17q
1048576
Put
1420

[FtpProfile]
Name:
Ftp-Url:
Ftp-User:
Ftp-Pass:

GD welcome (small)
ftp://gd.tuwien.ac.at/welcome.txt
anonymous
; user if required
me@here.com
; password if required

[PingProfile]
Name:
;Loop-Count:
;Loop-Pause:
;Ras-Dial:
;Ras-Hangup.
Ping-Addr:
Ping-Count:
Ping-Size:
Ping-Unix:
Ping-Advance:
Ping-Timeout:
Ping-Blocks:
Ping-Delay:
;Ping-DontAverage:

i-qos.com (win)
1
1000
No
No
www.i-qos.com
20
0
No
1000
4000
1
5000
0

[PingProfile]
Name:
Ping-Addr:
Ping-Count:
Ping-Size:
Ping-Unix:
Ping-Advance:
Ping-Timeout:
Ping-Blocks:
Ping-Delay:

i-qos.com (unix)
www.i-qos.com
20
0
True
1000
5000
1
5000

[PingProfile]
Name:
Ping-Addr:
Ping-Count:
Ping-Size:
Ping-Unix:
Ping-Advance:
Ping-Timeout:
Ping-Blocks:
Ping-Delay:

i-qos.com (unix fast)


www.i-qos.com
20
0
True
200
5000
1
5000

[UdpProfile]
Name:
;Loop-Count:
;Loop-Pause:
;Ras-Dial:
;Ras-Hangup.
Udp-DL-Size:
Udp-UL-Size:
Udp-DL-Rate:
Udp-UL-Rate:

Udp-Duration:
Udp-Server:
Udp-User:
Udp-Pass:

; ... loop iterations


; (ms) ... pause between loops
; (No|Auto|Forced|Iterated)
; (No|Yes)
; host name or IP address
; packets per block
; additional payload bytes
; (No|Yes) ... unix mode
; (ms) ... tx advance
; (ms) ... rx timeout
; ... # of blocks
; (ms) ... pause between blocks
; ... # of packets excluded from averaging

i-qos.com (2x12.8/16kbit/s)
1
; ... loop iterations
1000
; (ms) ... pause between loops
No
; (No|Auto|Forced|Iterated)
No
; (No|Yes)
160
; (bytes) ... DL UDP payload size
160
; (bytes) ... UL UDP payload size
10
; (pkts/sec) ... DL packet rate
10
; (pkts/sec) ... UL packet rate
; 10/s * 160 * 8 = 12800 bit/s (UP payload)
; 10/s * (160 + 40) * 8 = 16000 bit/s (IP total)
20
; (sec) ... measureent duration
www.i-qos.com:8888 ; ... server name or IP address
demo
; ... server user name
ndfademo
; ... server password

[HttpDefaults]
[FtpDefaults]
Ftp-User:
Ftp-Pass:

anonymous
me@here.com

[PingDefaults]
[UdpDefaults]
PocketOptimizer 1.1.1.32 26.Jan.2011

28

Technical Reference

[RasDefaults]
;Ras-DontClose:
;Ras-Timeout:
;Ras-User:
;Ras-Password:
;Ras-Retries:
[Operators]
;Operator01:
;Operator02:
;Operator03:
;Operator04:
;Operator05:
;Operator06:
;IMSI01:
;InitStr01:

Yes
60000

;
;
;
;
;

(No|Yes) ... don't close RAS after measurment


(ms) ... ras dial timeout
... RAS user name
... RAS password
... # of retries

23201=A1
23203=T-Mobile AT
23205=Orange AT
23207=T-Mobile TR AT
23210=H3G AT
23211=A1 Bob
23201
"at+cgdcont=1,""IP"",""A1.net"""

5.1.1.2 Allowed sections in the system configuration file


The system configuration file may contain the following sections:
[System]
[Help]
[HttpProfile]
[HttpDefaults]
[FtpProfile]
[FtpDefaults]
[PingProfile]
[PingDefaults]
[UdpProfile]
[UdpDefaults]
[RasDefaults]
[Operators]

only once
only once
any number
only once
any number
only once
any number
only once
any number
only once
only once
only once

5.1.1.3 Detailed parameter description for the system configuration file


Section [System]
The configuration file may include one [System] section.
Known parameters in system config [System]
Report-Url:

[http://]<host>[:<port>]/[<path>]

(string, optional)

Specifies the URL for delivering XML reports. The server has to be a HTTP server or a ticket receiver
accepting HTTP POST requests to the specified URL.
Update-Url:

[http://]<host>[:<port>]/[<path>]

(string, optional)

Specifies the URL for getting the configuration files. The server has to be a HTTP server accepting
HTTP GET requests, the specified path has to include the system configuration file (system.cfg) and
a job configuration file (jobs.cfg). Job files can be stored in the same path or in subfolders of the
specified path.
Section [Help]
The configuration file may include a single [Help] section.
Known parameters in system config [Help]
Content:

<file>

(string, optional)

Specifies an alternate help file name. The file will be opened with a shell execute, all file types
supported by windows can be used.
Section [HttpProfile]
The configuration file may include any number of [HttpProfile] sections, every section creates one
entry in the HTTP profile selection combo box.
Parameters not specified in this section will be loaded from the [HttpDefaults] section in the user
configuration file for individual measurements. If not defined there, they will be loaded from the
[HttpDefaults] section in the system configuration file. HTTP tasks in job files will only be expanded by
the [HttpDefaults] section in the system configuration file.
Please refer to section 5.2.4.1 for a list of known parameters.

PocketOptimizer 1.1.1.32 26.Jan.2011

29

Technical Reference

Section [HttpDefaults]
The configuration file may include one [HttpDefaults] section. Values not specified in the [HttpProfile]
section are first searched in the user configuration files [HttpDefaults] section (interactive
measurements only), then in the system configuration files [HttpDefaults] section.
Known parameters in system config [HttpDefaults]
Http-Url:
Http-Threads:
Http-KeepAlive:
Http-UsePreload:
Http-PreloadUrl:
Http-PreloadDelay:
Http-Connect-To:
Http-Recv-To:
Http-Send-To:
Http-Master-To:

[http://]<host>[:port]/[<path>]
<threads>
(No|Yes)
(No|Yes)
[http://]<host>[:port]/[<path>]
<ms>
<ms>
<ms>
<ms>
<ms>

(string)
(integer, optional, default:1)
(bool, optional, default:Yes)
(bool, optional, default:No)
(string, optional)
(integer, optional,
def:2000)
(integer, optional, def:60000)
(integer, optional, def:60000)
(integer, optional, def:60000)
(integer, optional, def:180000)

Section [FtpProfile]
The configuration file may include any number of [FtpProfile] sections, every section creates one entry
in the FTP profile selection combo box.
Parameters not specified in this section will be loaded from the [FtpDefaults] section in the user
configuration file for individual measurements. If not defined there, they will be loaded from the
[FtpDefaults] section in the system configuration file. FTP tasks in job files will only be expanded by
[FtpDefaults] section in the system configuration file.
Please refer to section 5.2.4.2 for a list of known parameters.
Section [FtpDefaults]
The configuration file may include one [FtpDefaults] section. Values not specified in the [FtpProfile]
section are first searched in the user configuration files [FtpDefaults] section (interactive
measurements only), then in the system configuration files [FtpDefaults] section.
Known parameters in system config [FtpDefaults]
Ftp-Url:
Ftp-User:
Ftp-Pass:
Ftp-Direction:
Ftp-Passive:
Ftp-DataSize:
Ftp-Connect-To:
Ftp-Recv-To:
Ftp-Send-To:
Ftp-Noop-To:
Ftp-Master-To:
Ftp-Meas-to:

[http://]<host>[:port]/[<path>]
<user>
<password>
(Get|Put)
(Yes|No)
<bytes>
<ms>
<ms>
<ms>
<ms>
<ms>
<ms>

(string)
(string, optional)
(string, optional)
(list, optional, default:Get)
(bool, optional, default:Yes)
(integer, mandatory for upload)
(integer, optional, def:60000)
(integer, optional, def:60000)
(integer, optional, def:60000)
(integer, optional, def:30000)
(integer, optional, def:180000)
(integer, optional, def:none)

Section [PingProfile]
The configuration file may include any number of [PingProfile] sections, every section creates one
entry in the ICMP profile selection combo box.
Parameters not specified in this section will be loaded from the [PingDefaults] section in the user
configuration file for individual measurements. If not defined there, they will be loaded from the
[PingDefaults] section in the system configuration file. ICMP tasks in job files will only be expanded by
[PingDefaults] section in the system configuration file.
Please refer to section 5.2.4.3 for a list of known parameters.
Section [PingDefaults]
The configuration file may include one [PingDefaults] section. Values not specified in the [PingProfile]
section are first searched in the user configuration files [PingDefaults] section (interactive
measurements only), then in the system configuration files [PingDefaults] section.
Known parameters in system config [PingDefaults]
Ping-Addr:
Ping-Count:
Ping-Size:
Ping-Unix:
Ping-Advance:
Ping-Timeout:
Ping-Blocks:
Ping-Delay:

<host>
<number>
<bytes>
(True|False)
<ms>
<ms>
<number>
<ms>

PocketOptimizer 1.1.1.32 26.Jan.2011

(string)
(integer, optional, default:10)
(integer, optional, default:0)
(bool, optional, default:False)
(integer, optional, def:1000)
(integer, optional, def:5000)
(integer, optional, def:1)
(integer, optional, def:1000)

30

Technical Reference

Ping-DontAverage:

<number>

(integer, optional, def:0)

Section [UdpProfile]
The configuration file may include any number of [UdpProfile] sections, every section creates one
entry in the UDP profile selection combo box.
Parameters not specified in this section will be loaded from the [UdpDefaults] section in the user
configuration file for individual measurements. If not defined there, they will be loaded from the
[UdpDefaults] section in the system configuration file. UDP tasks in job files will only be expanded by
[UdpDefaults] section in the system configuration file.
Please refer to section 5.2.4.4 for a list of known parameters.
Section [UdpDefaults]
The configuration file may include one [UdpDefaults] section. Values not specified in the [UdpProfile]
section are first searched in the user configuration files [UdpDefaults] section (interactive
measurements only), then in the system configuration files [UdpDefaults] section.
Known parameters in system config [UdpDefaults]
Udp-Server:
Udp-User:
Udp-Pass:
Udp-DL-Size:
Udp-UL-Size:
Udp-DL-Rate:
Udp-UL-Rate:
Udp-Duration:
Udp-Connect-To:
Udp-Recv-To:
Udp-Send-To:
Udp-Master-To:

<host>:<port>
<user>
<password>
<bytes>
<bytes>
<pkts/sec>
<pkts/sec>
<seconds>
<ms>
<ms>
<ms>
<ms>

(string, mandatory)
(string, optional)
(string, optional)
(integer, optional, default:64)
(integer, optional, default:64)
(float, optional, default:10)
(float, optional, default:10)
(float, optional, default:30)
(integer, optional, def:60000)
(integer, optional, def:60000)
(integer, optional, def:60000)
(integer, optional, def:180000)

Section [RasDefaults]
The configuration file may include one [RasDefaults] section. Values are automatically loaded from the
user configuration file (interactive measurements) or the system configuration file for interactive and
job measurements.
Please refer to section 5.2.4.5 for a list of known parameters. Please note that [RasDefaults] cannot
contain the parameter RAS-Entry as it is provided by the GUI.
Section [Operators]
Specifies the operators that can be selected in the user data screen.
Known parameters in system config [Operators]
Operator<nn>:

<id>[=description]

(string, optional)

Specifies the operator id and an optional description. The selected operator id is reported as metric
100.
Default:

<number>

(integer, optional)

Specifies the default operator id, if not specified, the first operator is used.
IMSI<nn>:

<number>[,<number>...]

(integer, optional)

Specifies the IMSI start characters for operator n. Multiple values can be separated by commas. The
starting characters are required for the /autooperator and /autoinitstr command line arguments.
InitStr<nn>:

<text>

(string, optional)

Specifies the modem init string for operator n. The modem init string is required for the
/autooperator command line argument.

5.1.2 User configuration file


The user configuration file is similar to the system configuration file. Some additional sections are
contained in this file to store the users input.
5.1.2.1 Sample user configuration file
[User]
Username:
Location:
CellId:
RasEntry:

your user name


your location
your cell id
A1.net bluetooth

PocketOptimizer 1.1.1.32 26.Jan.2011

31

Technical Reference

[GUI]
;DecimalSeparator:
;GraphModeKBit:

.
Yes

; No/Yes ... graph in kBit/s instead of kB/s

[FtpHistory]
FtpUrl:

ftp://194.48.139.238/gprs/200KB

[PingHistory]
PingAddr:
PingAddr.0:

www.tuwien.ac.at
www.a1.net

[HttpHistory]
HttpUrl:
HttpUrl.0:

http://gd.tuwien.ac.at/
http://194.48.139.238/merlin/PocketOptimizer/120mal1KB.htm

[PingProfile]
Name:
Loop-Count:
Loop-Pause:
Ras-Dial:
Ping-Addr:
Ping-Count:
Ping-Size:
Ping-Unix:
Ping-Advance:
Ping-Timeout:
Ping-Blocks:
Ping-Delay:

dial
1
3000
Auto
www.tuwien.ac.at
9999
0
True
5000
4000
1
5000

5.1.2.2 Allowed sections in the user configuration file


The user configuration is similar to the system configuration file but does not contain the [System]
section. Some additional sections contain the users input, the file may contain the following sections:
[User]
[GUI]
[HttpHistory]
[FtpHistory]
[PingHistory]
[HttpProfile]
[HttpDefaults]
[FtpProfile]
[FtpDefaults]
[PingProfile]
[PingDefaults]
[UdpProfile]
[UdpDefaults]
[RasDefaults]

only once
only once
only once
only once
only once
any number
only once
any number
only once
any number
only once
any number
only once
only once

5.1.2.3 Detailed parameter description for the user configuration file


Please refer to the definition of the system configuration files parameters in section 5.1.1.3 for the
measurement profile sections. The other sections are described below.
Note: The user configuration file is maintained by PocketOptimizer, usually it is not required to
modify the configuration file manually except for the parameters in the [GUI] section.
Section [User]
This section contains the users input and is automatically maintained.
Known parameters in user config [User]
UserName:

<informative user name>

(string, optional)

Stores the user name to be dumped to the log files.


Location:

<informative location>

(string, optional)

Stores the location to be dumped to the log files.


CellId:

<informative cell id>

(string, optional)

Stores the cell id to be dumped to the log files.


RasEntry:

<RAS entry to be used>

(string, optional)

Stores the RAS connection to be used for interactive and job measurements.
Section [GUI]
This section contains additional configuration parameters and is not maintained by PocketOptimizer

PocketOptimizer 1.1.1.32 26.Jan.2011

32

Technical Reference

Known parameters in user config [GUI]


DecimalSeparator:

<character>

(char, optional)

Specifies the decimal separator for log file output. The default value is the systems decimal
separator, for some tasks it may be more convenient to use the dot (.) as decimal separator.
GraphModeKBit:

(Yes|No)

(bool, optional, default:No)

Specifies that the graph control is to be scaled in kbit/s instead of kByte/s.


Section [HttpHistory]
The section contains the custom HTTP URL history. The last 10 values are stored to improve GUI
usability.
Known parameters in user config [HttpHistory]
HttpUrl:
HttpUrl.n:
HttpPreloadUrl:
HttpPreloadUrl.n:

<url>
<url>
<url>
<url>

(string)
(string)
(string)
(string)

Section [FtpHistory]
The section contains the custom FTP URL history. The last 10 values are stored to improve GUI
usability.
Known parameters in user config [FtpHistory]
FtpUrl:
FtpUrl.n:

<url>
<url>

(string)
(string)

Section [PingHistory]
The section contains the ping host history. The last 10 values are stored to improve GUI usability.
Known parameters in user config [PingHistory]
PingAddr:
PingAddr.n:

<url>
<url>

(string)
(string)

Sections [HttpProfile], [HttpDefaults]


Please refer to section 5.2.4.1 for a list of known parameters.
Sections [FtpProfile], [FtpDefaults]
Please refer to section 5.2.4.2 for a list of known parameters.
Sections [PingProfile], [PingDefaults]
Please refer to section 5.2.4.3 for a list of known parameters.
Sections [UdpProfile], [UdpDefaults]
Please refer to section 5.2.4.4 for a list of known parameters.
Section [RasDefaults]
Please refer to section 5.2.4.5 for a list of known parameters.

5.1.3 Machine configuration file


The machine configuration file contains information associated to the individual machine. You should
not copy this file from one machine to another unless you make sure all the parameters are valid.
5.1.3.1 Sample machine configuration file
[Directories]
Log-Path:
Job-Path:
Report-Path:
Archive-Path:

logs
jobs
reports
archive

[Registration]
AgentId:
UnlockCode:

102
B516-E7C5-B619-8ECA-6A1B

[Sniffer]
;ExeName:
;CaptureTo-Folder:
;CaptureTo-Type:
;CaptureTo-Location:
;DumpFile-Path:

"\Programme\CEMyNetwork Wireless1.0\cemynetworkw.exe"
SnifferFiles
Ethereal, tcpdump (*.cap)
"CF Karte"
"\CF Karte\SnifferFiles\"

PocketOptimizer 1.1.1.32 26.Jan.2011

33

Technical Reference

;DumpFile-Ext:
;DontTerminate:
[TShark]
;ExeName:

.cap
True
D:\Software\Wireshark\TShark.exe

5.1.3.2 Allowed sections in the machine configuration file


The machine configuration file may contain the following sections:
[Directories]
[Registration]
[Sniffer]
[TShark]
[RIL]

only
only
only
only
only

once
once
once
once (Win32 only)
once (Pocket PC only)

5.1.3.3 Detailed parameter description for machine configuration file


Section [Directories]
This section contains the directories for storing job, log and report files. Directories can be relative to
the installation directory (i.e. the executables directory) or absolute and are created at program start
if not existing.
Known parameters in machine config [Directories]
Log-Path:

<path>

(string, optional, def:logs)

Specifies the path containing the log files.


Job-Path:

<path>

(string, optional, def:jobs)

Specifies the path containing job files. The job files synchronized from the server will be placed
there.
Report-Path:

<path>

(string, optional, def:reports)

Specifies the path for report files that have not been reported to a server.
Archive-Path:

<path>

(string, optional, def:archive)

Specifies the path for the report file archive.


Sniffer-Path:

<path>

(string, optional, def:sniffer

Specifies the path for sniffer files.


Section [Registration]
This section contains the registration data entered by the user or loaded from the registration data
file. The data is usually maintained by PocketOptimizer.
Known parameters in machine config [Registration]
AgentId:

<agent-id>

(integer, mandatory)

Stores the agent id as assigned by the license administrator.


UnlockCode:

<code>

(string, mandatory)

Stores the unlocking code assigned by the license administrator.


Section [Sniffer]
This section contains the packet sniffer configuration parameters, see section 5.5.3 and 5.6.2 for
details.
Known parameters in machine config [Sniffer]
ExeName:
CaptureTo-Folder:
CaptureTo-Location:
CaptureTo-Type:
DumpFile-Path:
DumpFile-Ext:
DontTerminate:
SnifferParams:
InterfaceName-LAN:
InterfaceName-RAS:

<file name>
<dialog folder>
<dialog file format>
<dialog folder type>
<sniffer folder>
<file extension>
(True|False)
<params>
<interface>
<interface>

(string, optional)
(string, optional, PPC only)
(string, optional, PPC only)
(string, optional, PPC only)
(string, optional, PPC only)
(string, optional)
(bool, optional, PPC only)
(string, optional, Win32 only)
(string, optional, Win32 only)
(string, optional, Win32 only)

Section [TShark]
This section is only available for the Win32 edition and stores the configuration for the TShark
executable. TShark is used to decode the sniffer files, not for capturing. Please see section 5.6.2 for
details.
Known parameters in machine config [TShark]

PocketOptimizer 1.1.1.32 26.Jan.2011

34

Technical Reference

ExeName:

<file name>

(string, optional)

Section [RIL]
This section is only available for the Pocket PC edition and stores the configuration for the Radio
Interface Layer. This interface allows querying the radio status similar to AT commands. RIL is only
available on Smart Phones (not on Pocket PC without builtin GSM/UMTS phone) and can provide the
text metrics 120..128. It has been tested with HTC TyTN II devices.
Known parameters in machine config [RIL]
Ril-Enable:

<True|False>

(bool, optional, default:True)

Use this parameter to disable RIL if required. RIL availability is checked automatically by
PocketOptimizer and usage of RIL functions is disabled if RIL or modem is not available, thus setting
Ril-Enable to false should not be required in most cases.
Ril-RasNameNN:

<ras name>

(string, optional, PPC only)

The parameters Ril-RasName00 .. Ril-RasName19 can be used to specify the RAS connections using
RIL devices. The default configuration is Ril-RasName00: * meaning that all RAS connections use the
device associated with RIL.
If you are using both Bluetooth connections (e.g. RAS name UMTS-GPRS-BT, cannot be queried
with RIL) and builtin modem connections (e.g. RAS name UMTS-GPRS-INT, associated with RIL),
the configuration can be Ril-RasName00: UMTS-GPRS-INT. In this case only the RAS connection
UMTS-GPRS-INT will be analyzed with RIL, for all other connections RIL will not be used.

5.1.4 Registration info file


This file is automatically generated by PocketOptimizer and contains the current configuration data.
The file can be used to submit the machine id to the license administrator and to back up your license
data.
Sample file
[PocketRegister]
User:
test user
Machine-Id:
A209E0BB-F7877594
Agent-Id:
Unlocking-Code:

5.1.5 Registration data file


This file is used to submit the license information from the license manager to the users. The file is no
longer used after loading the data as the registration information is stored in the machine
configuration file and can be deleted.
Sample file
[PocketRegister]
User:
test user
Machine-Id:
30351601-4165-7159-F800-0050BF7A6822
Agent-Id:
101
Unlocking-Code: 2c9e-c68c-d759-dd3f-8ef7

5.1.6 Location data file


A location file is required, if the command line argument /autolocation is used. The location file has to
be named locations.csv and needs to be located in the application directory.
The file has to be separated with semicolons (;), decimal separator is a dot (.). The column format is
<name>;<gps-lon>;<gps-lat>.
A sample data file is
1;9.7;47.25
2;9.7;47.5

5.2 Job file reference


Job files are text files including a sequence of tasks to be executed. A number of main loop iterations
can be specified, i.e. the total sequence of tasks can be executed several time. Additionally each task
can include a number of private iterations.

PocketOptimizer 1.1.1.32 26.Jan.2011

35

Technical Reference

5.2.1 Sample job file


[Global]
Description:
Version:
Iterations:
Pause:
Reporting:
Report-System:
WriteLogFile:

Test job 1 (HTTP + ICMP)


0.0.1
; version for synchronization
1
; # of main loop iterations
3000
; pause in ms
File
; Off/File/Http
pocketopt
; system for XML reporting
yes
; save log files to log directory

[RAS]
;RAS-Timeout:
60
; RAS connection timeout
;RAS-Retries:
3
; # of RAS retries
; possible tasks are HTTP, FTP, ICMP, UDP, Parallel, RAS_REPORT, RAS-CONNECT and RAS-HANGUP
[TASK]
Task-Type:
Scenario-Id:

RAS-Connect
110

[TASK]
Task-Type:
Task-Comment:
Scenario-Id:
Loop-Count:
Http-Url:

HTTP
; task type
100k HTTP download ; comment displayed in status
113
; scenario for XML reporting
2
; # of task iterations
http://194.48.139.238/merlin/HTTP_Files/100KB.dl

[TASK]
Task-Type:
Task-Comment:
Scenario-Id:
Loop-Count:
Ping-Addr:
Ping-Count:
Ping-Size:
Ping-Unix:
Ping-Advance:
Ping-Timeout:
Ping-Blocks:
Ping-Delay:

ICMP
2x10 Pings
114
2
www.mobilkom.at
10
0
True
1000
5000
2
2000

;
;
;
;
;
;
;
;
;
;
;
;

[TASK]
Task-Type:

RAS-Hangup

; task type

; task type
; scenario for XML reporting (RAS KPIs)

task type
comment displayed in status
scenario for XML reporting
# of task iterations
host name or IP address
# of pings per block
payload size in bytes
windows/unix mode
increment in ms
timeout in ms
# of blocks
delay between blocks in ms

The sample job will execute the tasks as shown below:


RAS-Connect
(loop 1, task 1)
HTTP download (loop 1, task 2, loop 1)
HTTP download (loop 1, task 2, loop 2)
PING
(loop 1, task 3, loop 1)
PING
(loop 1, task 3, loop 2)
RAS-Hangup
(loop 1, task 4)
RAS-Connect
(loop 2, task 1)
HTTP download (loop 2, task 2, loop 1)
HTTP download (loop 2, task 2, loop 2)
PING
(loop 2, task 3, loop 1)
PING
(loop 2, task 3, loop 2)
RAS-Hangup
(loop 2, task 4)

5.2.2 Allowed sections in the job file


The job file may contain the following sections:
[Global]
[RAS]
[Task]

only once
only once
any number

5.2.3 Detailed parameter description for the job file


Section [Global]
This section contains global job parameters.

PocketOptimizer 1.1.1.32 26.Jan.2011

36

Technical Reference

Known parameters in job [Global]


Description:

<text>

(string, optional)

The description will be displayed when selecting a job. Enter any comment you find useful.
Iterations:

<loop count>

(integer, optional, default:1)

Specifies the number of main iterations.


Pause:

<ms>

(integer, optional, default:0)

Specifies the pause after each task in ms. Only used if the task's Loop-Pause is not specified.
Reporting:

(Off|File|Http)

(list, optional, default:Off)

Specifies the reporting system.


o If set to File, the XML report will be saved to a file in the report directory.
o If set to Http, the XML report will be saved to a file, if submission via HTTP is successful, the
file will automatically be moved to the archive directory.
Report-System:

<system>

(string, optional)

Specifies the value to be used in the XML ticket's system tag. If using a ticket receiver for reporting,
this has to be one of the ticket receiver's system, i.e. database names.
WriteLogFile:

(Yes|No)

(bool, optional, default:No)

Specifies if log files shall be generated.


UseSniffer:

(Yes|No)

(bool, optional, default:No)

Specifies if the packet sniffer is to be used (only if a sniffer is supported for the platform).
UseTShark:

(Yes|No)

(bool, optional, default:No)

Specifies if TShark is used to decode the sniffer files for TCP connections and generate additional
KPIs.
Report-OldFiles:

<count>

(integer, optional)

Specifies the number of report files to be submitted after job execution. If the value is greater than
zero, the specified number of report files from the folder reports will be submitted to a ticket
receiver if the reporting mode is http.
Section [RAS]
This section can include additional RAS parameters, please refer section 5.2.4.5 for a detailed
specification.
Known parameters in job [RAS]
RAS-User:
RAS-Password:
RAS-APN:
RAS-DefUser:
RAS-DefPassword:
RAS-DefAPN:
RAS-DontClose:
RAS-Timeout:
RAS-Retries:
RAS-ModemInfo-Enable:
RAS-ModemInfo-Timeout:

<user>
<password>
<apn>
<user>
<password>
<apn>
(Yes|No)
<ms>
<number>
(Yes|No)
<ms>

(string, optional)
(string, optional)
(string, optional)
(string, optional)
(string, optional)
(string, optional)
(bool, optional, default:No)
(integer, optional, def:60000)
(integer, optional, default:3)
(bool, optional, default:Yes)
(integer, optional, def:30000)

Section [Task]
This section contains the individual task definitions. Refer to section 5.2.4 for the task's parameters.
Known parameters in job [Task]
Task-Type:

(HTTP|FTP|ICMP|UDP|Parallel|RAS-Connect|RAS-Hangup|AT-Command

The description will be displayed in the status window to provide additional information to the user.
You should include information allowing the user to estimate the task's runtime (e.g. # of bytes to
be transferred or # of pings to be sent).
Task-Comment:

<text>

(string, optional)

The description will be displayed in the status window to provide additional information to the user.
You should include information allowing the user to estimate the task's runtime (e.g. # of bytes to
be transferred or # of pings to be sent).
Scenario-Id:

<integer>

(integer, optional)

The scenario id is the unique key for XML reporting. Thus you should assign a different scenario id
to every task you're using. Otherwise it will not easily be possible to distinguish different

PocketOptimizer 1.1.1.32 26.Jan.2011

37

Technical Reference

measurements in the reported data. For example you shouldn't assign the same scenario id to
100kB and 1000kB downloads as some of the KPIs will be very different for those tasks.
Parallel:

(No|Yes)

(bool, optional, default:No)

Defines if a task shall be executed in parallel with other tasks. Parallel tasks have to be preceded by
a special task with task type Parallel. All tasks following this parallel task with attribute parallel=true
will be executed in parallel. Please note that RAS tasks and RAS operations are not possible in
parallel tasks.
The following example demonstrates how to use parallel tasks:
[Task]
Task-Type:

Parallel

[Task]
Task-Type:
Parallel:
Http-Url:

HTTP
true
http://www.i-qos.com/test/test02-010MB.bin

[Task]
Task-Type:
Parallel:
Http-Url:
Http-Method:

HTTP
true
http://www.i-qos.com/uploader/test01.bin
post

Additional known parameters depend on the task type, please refer to section 5.2.4 for the parameter
specification for the individual measurement tasks.

5.2.4 Task parameters


This chapter describes known parameters for different task types. The parameters can be contained in
job files, i.e. [Task] sections
configuration files, i.e. [<task>Profile], [<task>Defaults]
5.2.4.1 Parameters for HTTP tasks
This section describes known parameters for HTTP tasks.
Known parameters for HTTP tasks
Name:

<profile_name>

(string)

Specifies the profile name to be displayed in the profile selection combo box. The name should be
unique to allow the user to identify the HTTP profile.
Loop-Count:

<count>

(integer, optional, default:1)

Specifies the total number of loop iterations for this task (GUI parameter loops).
Loop-Pause:

<ms>

(integer, optional)

Specifies the pause between loop iterations (GUI parameter loop delay).
Ras-Dial:

(No|Auto|Forced|Iterated)

(list, optional. default:Auto)

Specifies the RAS connection mode (GUI parameter act/deact RAS conn..), possible values are:
No
... The RAS connection will not be established, even if it is not active
Auto
... The RAS connection will only be established if not already active.
Forced
... The RAS connection will be disconnected if active and then re-connected in the
first loop iteration. Subsequent loop iterations will use Auto behavior, i.e. the
RAS connection will be re-used if possible, a new connection will be established
if the existing connection got lost.
Iterated
... The RAS connection will be disconnected if active and then re-connected in
every loop iteration.
Interactive measurements support Auto and Iterated only, depending on the checkbox act/deact
RAS conn. in every loop. All values are supported in job execution, default mode is No.
Ras-Hangup:

(No|Yes)

(bool, optional, default:No)

Specifies the RAS hang up mode (no GUI parameter available), possible values are:
No
... The RAS connection will not be closed.
Yes
... The RAS connection will be closed in every loop iteration.
This parameter is not used in interactive measurements (RAS-Dial is used instead). The parameter
is supported in job execution, default mode is No.

PocketOptimizer 1.1.1.32 26.Jan.2011

38

Technical Reference

Note: In addition to these RAS parameters, the parameters in the [RasDefaults] sections are used.
Usually the RAS connection will be closed after a measurement, this behavior can be overruled by
setting Ras-DontClose: True in [RasDefaults].
Ras-Wait:

<ms>

(integer, optional)

Specifies an additional delay in ms before a RAS connection is established.


Http-Url:

[http://]<host>[:port]/[<path>]

(string)

The HTTP URL used for download, HTTP protocol specifier and port can be omitted, the default port
is 80 (GUI parameter custom-URL). If the content type returned by the server is text/html,
embedded images identified by img src tags will be fetched, too.
Http-Follow:

<No|Yes>

(bool, optional, default:Yes)

Specifies if embedded images are to be loaded (context type text/html only).


Http-Threads:

<threads>

(integer, optional, default:1)

Specifies the number of threads used for parallel downloads of embedded images (GUI parameter
max. # of parallel TCP connections)
Http-KeepAlive:

(No|Yes)

(bool, optional, default:Yes)

Specifies if HTTP connection keep-alive is to be used.


Http-UsePreload:

(No|Yes)

(bool, optional, default:No)

Specifies if a preload URL has to be loaded prior to the measurement (GUI parameter use preload
URL).
Http-PreloadUrl:

[http://]<host>[:port]/[<path>]

(string, optional)

Specifies the preload URL similar to Http-Url (GUI parameter custom preload URL).
Http-PreloadDelay:

<ms>

(integer, optional, def:2000)

Specifies an additional delay after loading the preload URL (GUI parameter post preload delay).
Http-Connect-To:

<ms>

(integer, optional, def:60000)

Specifies the timeout interval for establishing the TCP socket connection.
Http-Recv-To:

<ms>

(integer, optional, def:60000)

Specifies the timeout interval for TCP socket read operations.


Http-Send-To:

<ms>

(integer, optional, def:60000)

Specifies the timeout interval for TCP socket write operations.


Http-Master-To:

<ms>

(integer, optional, def:180000)

Specifies the overall timeout for the entire HTTP operation (applied individually for the preload URL
and every main URL loop iteration).
Http-MaxSize:

<bytes>

(integer, optional, def:8MB)

Defines the maximum allowed size for the HTTP payload returned by the server. Sizes exceeding
the allowed maximum will be rejected to prevent denial of service attacks.
Http-Method:

(GET|POST)

(string, optional, def:GET)

Specifies the HTTP request type. Default is GET, alternatively it is possible to send data to the
server if the POST method is specified. Please note that the data size has to be specified in this
case.
Http-DataSize:

<bytes>

(integer, optional, def:0)

Specifies the data size in bytes for HTTP POST requests. The parameter is not used in case of get
requests.
Http-BlockSize:

<bytes>

(int, optional, default:~1400)

Block size for HTTP reception and transmission on windows socket level. The block size should be a
tradeoff between measurement accuracy (small blocks) and good performance (large blocks).
Optimum performance can be achieved if the block size is chosen to generate IP packets of the
specified MTU size. If for example the MTU size is 1464 bytes, the optimum buffer size is 1424 bytes
(1464 - 20 bytes IP header - 20 bytes TCP header). Good measurement quality requires small
blocks, e.g. for GPRS with 100 kbit/s 15 kB/s with throughput accuracy of 10 %, the buffer size
should be approximately 1500 bytes.
DontUseDefaults:

<bool>

(bool, optional, default:false)

Do not use parameters in [HttpDefaults] sections.


5.2.4.2 Parameters for FTP tasks
This section describes known parameters for FTP tasks.
PocketOptimizer 1.1.1.32 26.Jan.2011

39

Technical Reference

Known parameters for FTP tasks


Name:

<profile_name>

(string)

Specifies the profile name to be displayed in the profile selection combo box. The name should be
unique to allow the user to identify the FTP profile.
Loop-Count:

<count>

(integer, optional, default:1)

Specifies the total number of loop iterations for this task (GUI parameter loops).
Loop-Pause:

<ms>

(integer, optional)

Specifies the pause between loop iterations (GUI parameter loop delay).
Ras-Dial:

(No|Auto|Forced|Iterated)

(list, optional. default:Auto)

Specifies the RAS connection mode (GUI parameter act/deact RAS conn..), possible values are:
No
... The RAS connection will not be established, even if it is not active
Auto
... The RAS connection will only be established if not already active.
Forced
... The RAS connection will be disconnected if active and then re-connected in the
first loop iteration. Subsequent loop iterations will use Auto behavior, i.e. the
RAS connection will be re-used if possible, a new connection will be established
if the existing connection got lost.
Iterated
... The RAS connection will be disconnected if active and then re-connected in
every loop iteration.
Interactive measurements support Auto and Iterated only, depending on the checkbox act/deact
RAS conn. in every loop. All values are supported in job execution, default mode is No.
Ras-Hangup:

(No|Yes)

(bool, optional, default:No)

Specifies the RAS hang up mode (no GUI parameter available), possible values are:
No
... The RAS connection will not be closed.
Yes
... The RAS connection will be closed in every loop iteration.
This parameter is not used in interactive measurements (RAS-Dial is used instead). The parameter
is supported in job execution, default mode is No.
Note: In addition to these RAS parameters, the parameters in the [RasDefaults] sections are used.
Usually the RAS connection will be closed after a measurement, this behavior can be overruled by
setting Ras-DontClose: True in [RasDefaults].
Ras-Wait:

<ms>

(integer, optional)

Specifies an additional delay in ms before a RAS connection is established.


Ftp-Url:

[ftp://]<host>[:port]/[<path>]

(string)

Specifies the URL for the FTP transfer (GUI parameter custom URL). If nofile name is given (i.e. the
URL ends with a slash), the agent id is used as the file name, otherwise the placeholder %agent% will
be replaced by the agent id.
Ftp-User:

<user>

(string, optional)

The user name can be specified if required (no GUI parameter available).
Ftp-Pass:

<password>

(string, optional)

Specifies the FTP password if required (no GUI parameter available).


Ftp-Direction:

(Get|Put)

(list, optional, default:Get)

Specifies the FTP direction (GUI parameter direction).


Ftp-Passive:

(Yes|No)

(bool, optional, default:Yes)

Specifies if passive mode is to be used (GUI parameter passive mode).


Ftp-DataSize:

<bytes>

(integer, mandatory for upload)

Specifies the upload data size in bytes (GUI parameter data size).
Ftp-Connect-To:

<ms>

(integer, optional, def:60000)

Specifies the timeout interval for establishing the TCP socket connection.
Ftp-Recv-To:

<ms>

(integer, optional, def:60000)

Specifies the timeout interval for TCP socket read operations.


Ftp-Send-To:

<ms>

(integer, optional, def:60000)

Specifies the timeout interval for TCP socket write operations.


PocketOptimizer 1.1.1.32 26.Jan.2011

40

Technical Reference

Ftp-Noop-To:

<ms>

(integer, optional, def:30000)

Specifies the timeout interval until NOOP commands are transmitted on the control connection.
Ftp-Master-To:

<ms>

(integer, optional, def:180000)

Specifies the overall timeout for the entire operation (applied individually for every loop iteration).
Ftp-Meas-To:

<ms>

(integer, optional, def:none)

Specifies the measurement timeout for the download operation. Even if not all bytes have been
transferred when reaching this timeout, the measurement is gracefully terminated. Use this option
to achieve constant measurement duration regardless of the current transfer speed.
Ftp-BlockSize:

<bytes>

(int, optional, default:~1400)

Block size for FTP reception and transmission on windows socket level. The block size should be a
tradeoff between measurement accuracy (small blocks) and good performance (large blocks).
Optimum performance can be achieved if the block size is chosen to generate IP packets of the
specified MTU size. If for example the MTU size is 1464 bytes, the optimum buffer size is 1424 bytes
(1464 - 20 bytes IP header - 20 bytes TCP header). Good measurement quality requires small
blocks, e.g. for GPRS with 100 kbit/s 15 kB/s with throughput accuracy of 10 %, the buffer size
should be approximately 1500 bytes.
DontUseDefaults:

<bool>

(bool, optional, default:false)

Do not use parameters in [FtpDefaults] sections.


5.2.4.3 Parameters for PING tasks
This section describes known parameters for PING tasks.
Known parameters for PING tasks
Name:

<profile_name>

(string)

Specifies the profile name to be displayed in the profile selection combo box. The name should be
unique to allow the user to identify the ICMP profile.
Loop-Count:

<count>

(integer, optional, default:1)

Specifies the total number of loop iterations for this task (GUI parameter loops).
Loop-Pause:

<ms>

(integer, optional)

Specifies the pause between loop iterations (GUI parameter loop delay).
Ras-Dial:

(No|Auto|Forced|Iterated)

(list, optional. default:Auto)

Specifies the RAS connection mode (GUI parameter act/deact RAS conn..), possible values are:
No
... The RAS connection will not be established, even if it is not active
Auto
... The RAS connection will only be established if not already active.
Forced
... The RAS connection will be disconnected if active and then re-connected in the
first loop iteration. Subsequent loop iterations will use Auto behavior, i.e. the
RAS connection will be re-used if possible, a new connection will be established
if the existing connection got lost.
Iterated
... The RAS connection will be disconnected if active and then re-connected in
every loop iteration.
Interactive measurements support Auto and Iterated only, depending on the checkbox act/deact
RAS conn. in every loop. All values are supported in job execution, default mode is No.
Ras-Hangup:

(No|Yes)

(bool, optional, default:No)

Specifies the RAS hang up mode (no GUI parameter available), possible values are:
No
... The RAS connection will not be closed.
Yes
... The RAS connection will be closed in every loop iteration.
This parameter is not used in interactive measurements (RAS-Dial is used instead). The parameter
is supported in job execution, default mode is No.
Note: In addition to these RAS parameters, the parameters in the [RasDefaults] sections are used.
Usually the RAS connection will be closed after a measurement, this behavior can be overruled by
setting Ras-DontClose: True in [RasDefaults].
Ras-Wait:

<ms>

(integer, optional)

Specifies an additional delay in ms before a RAS connection is established.


Ping-Addr:

<host>

(string, mandatory)

Specifies the host the packet should be sent to (GUI parameter host). Please be sure the specified
host will respond to ICMP ping requests.

PocketOptimizer 1.1.1.32 26.Jan.2011

41

Technical Reference

Note: Some personal firewalls dont accept ping packets with 0 bytes payload, use some payload
bytes if you experience this problem.
Ping-Count:

<number>

(integer, optional, default:10)

Specifies the number of packets to be transmitted per block (GUI parameter packets).
Ping-Size:

<bytes>

(integer, optional, default:0)

Specifies the payload size in bytes (GUI parameter payload) and will directly influence the ICMP and
IP packet sizes:
ICMP packet size: ICMP payload size + 8 bytes ICMP header
IP packet size:
ICMP packet size + 20 bytes IP header
Ping-Unix:

(True|False)

(bool, optional, default:False)

Specifies if windows or unix mode is to be used (GUI parameter unix mode). If you specify Unix
mode packets will be transmitted with a constant time increment as specified with the advance
parameter
(Ping-Advance). In default (Windows) mode, a packet will be transmitted either after
a timeout (Ping-Timeout) or after the reception of a packet as specified with the advance parameter
(Ping-Advance).
Ping-Advance:

<ms>

(integer, optional, def:1000)

Specifies the timing advance parameter (GUI parameter adv). In Unix mode this is the time
increment from transmission to transmission, in Windows mode it specifies the time increment from
packet reception to the
next transmission.
Ping-Timeout:

<ms>

(integer, optional, def:5000)

Specifies the receive timeout parameter (GUI parameter to). In Unix mode a packet is always
transmitted after Ping-Advance ms, thus the timeout value is only relevant for the last (lost)
packets, in Windows mode a packet is transmitted Ping-Advance ms after the reception of a packet
or after a timeout.
Ping-Blocks:

<number>

(integer, optional, default:1)

In addition to the loop iterations, it is possible to specify a number of block iterations (GUI
parameter blocks). Every block includes the specified number of packets succeeded by an idle time
as specified with Ping-Delay. The RAS connection is not disconnected between blocks.
Ping-Delay:

<ms>

(integer, optional, def:1000)

Specifies the pause between ping blocks (GUI parameter pause).


Ping-DontAverage:

<number>

(integer, optional, def:0)

Specifies the number of packets not to be included in average RTT calculation. If Ping-Count is 10
and Ping-DontAverage is 4, only the last 6 packets are included in the average.
DontUseDefaults:

<bool>

(bool, optional, default:false)

Do not use parameters in [PingDefaults] sections.


5.2.4.4 Parameters for UDP tasks
This section describes known parameters for UDP tasks.
Known parameters for UDP tasks
Name:

<profile_name>

(string)

Specifies the profile name to be displayed in the profile selection combo box. The name should be
unique to allow the user to identify the UDP profile.
Loop-Count:

<count>

(integer, optional, default:1)

Specifies the total number of loop iterations for this task (GUI parameter loops).
Loop-Pause:

<ms>

(integer, optional)

Specifies the pause between loop iterations (GUI parameter loop delay).
Ras-Dial:

(No|Auto|Forced|Iterated)

(list, optional. default:Auto)

Specifies the RAS connection mode (GUI parameter act/deact RAS conn..), possible values are:
No
... The RAS connection will not be established, even if it is not active
Auto
... The RAS connection will only be established if not already active.
Forced
... The RAS connection will be disconnected if active and then re-connected in the
first loop iteration. Subsequent loop iterations will use Auto behavior, i.e. the
RAS connection will be re-used if possible, a new connection will be established
if the existing connection got lost.
Iterated
... The RAS connection will be disconnected if active and then re-connected in
every loop iteration.
PocketOptimizer 1.1.1.32 26.Jan.2011

42

Technical Reference

Interactive measurements support Auto and Iterated only, depending on the checkbox act/deact
RAS conn. in every loop. All values are supported in job execution, default mode is No.
Ras-Hangup:

(No|Yes)

(bool, optional, default:No)

Specifies the RAS hang up mode (no GUI parameter available), possible values are:
No
... The RAS connection will not be closed.
Yes
... The RAS connection will be closed in every loop iteration.
This parameter is not used in interactive measurements (RAS-Dial is used instead). The parameter
is supported in job execution, default mode is No.
Note: In addition to these RAS parameters, the parameters in the [RasDefaults] sections are used.
Usually the RAS connection will be closed after a measurement, this behavior can be overruled by
setting Ras-DontClose: True in [RasDefaults].
Ras-Wait:

<ms>

(integer, optional)

Specifies an additional delay in ms before a RAS connection is established.


Udp-Server:

<host>:<port>

(string, mandatory)

Specifies the traffic server and TCP port to be used (no GUI parameter available). The remote
endpoint for UDP measurements has to be a traffic generator server supporting PocketOptimizer's
traffic generator protocol, currently this is NDFA server 0.40 and above.
Udp-User:

<user>

(string, optional)

Specifies the user name for the traffic generator server (no GUI parameter available).
Udp-Pass:

<password>

(string, optional)

Specifies the password for the traffic generator server (no GUI parameter available).
Udp-DL-Size:

<bytes>

(integer, optional, default:64)

Specifies the downlink packet size (GUI parameter DL size).


Udp-UL-Size:

<bytes>

(integer, optional, default:64)

Specifies the uplink packet size (GUI parameter UL size).


Udp-DL-Rate:

<pkts/sec>

(float, optional, default:10)

Specifies the downlink packet rate (GUI parameter DL rate).


Udp-UL-Rate:

<pkts/sec>

(float, optional, default:10)

Specifies the uplink packet rate (GUI parameter UL rate).


Udp-Duration:

<seconds>

(float, optional, default:30)

Specifies the measurement duration (GUI parameter duration).


Udp-Connect-To:

<ms>

(integer, optional, def:60000)

Specifies the timeout interval for establishing the TCP control socket connection.
Udp-Recv-To:

<ms>

(integer, optional, def:60000)

Specifies the timeout interval for socket read operations.


Udp-Send-To:

<ms>

(integer, optional, def:60000)

Specifies the timeout interval for socket write operations.


Udp-Master-To:

<ms>

(integer, optional, def:180000)

Specifies the overall timeout for the entire operation (applied individually for every loop iteration).
DontUseDefaults:

<bool>

(bool, optional, default:false)

Do not use parameters in [UdpDefaults] sections.


5.2.4.5 Parameters for RAS tasks
This chapter defines parameters available for RAS tasks.
Known parameters for RAS tasks
RAS-Enry:

RAS:<entry>|HwNd:<device>

(string, internal)

The parameter RAS-Entry is an internal parameter that is not available in job or configuration files.
It is automatically provided by the GUI an contains the selected connection.
RAS-User:

<user>

(string, optional)

Specifies the RAS user name. If user name and password are empty, the RAS entrys user is used.
RAS-Password:

<password>

(string, optional)

Specifies the RAS password. If user name and password are empty, the RAS entrys password is
used.

PocketOptimizer 1.1.1.32 26.Jan.2011

43

Technical Reference

RAS-APN:

<apn>

(string, optional)

Specifies the APN if required by the internet connection. The parameter is not used for RAS
connections but is required for Huawei NDIS connections.
RAS-DefUser:

<user>

(string, optional)

Specifies the default RAS user name. This user name is only used if RAS-User is empty and the RAS
entry does not contain a user name and a password.
RAS-DefPassword:

<password>

(string, optional)

Specifies the default RAS password. This password is only is only used if RAS-Password is empty
and the RAS entry does not contain a user name and a password.
RAS-DefAPN:

<apn>

(string, optional)

Specifies the default APN if required by the internet connection. The parameter is used if RAS-APN is
empty.
RAS-DontClose:

(Yes|No)

(bool, optional, default:No)

Specifies if the RAS connection is to be kept open after an individual measurement or a job
execution. The default behavior is to close any connection established by PocketOptimizer
RAS-Timeout:

<ms>

(integer, optional, def:60000)

Specifies the timeout for establishing a RAS connection in milliseconds.


RAS-Retries:

<number>

(integer, optional, default:3)

Specifies the # of retries if a connection attempt failed.


RAS-NoDial:

(Yes|No)

(bool, internal)

This parameter is not available in job and configuration files. It is set to true if the command line
argument /norasdial is specified.
RAS-ModemInfo-Enable: (Yes|NO)

(bool, optional, default:yes)

Specifies if the modem and network registration shall be queried (with AT commands or RIL).
RAS-ModemInfo-Timeout: <ms>

(integer, optional, def:30000)

Specifies the timeout for querying modem/network information in milliseconds.


5.2.4.6 Parameters for AT-Command tasks
This chapter describes parameters for AT-Command tasks.
Known parameters for AT-Command tasks
RAS-Enry:

RAS:<entry>|HwNd:<device>

(string, internal)

The parameter RAS-Entry is an internal parameter that is not available in job or configuration files.
It is automatically provided by the GUI and contains the selected connection.
AT-Command-<nn>:

<AT command>

(string, optional)

Contains commands to be executed, e.g. AT-Command-00, AT-Command-01...


AT-Command-TO:

<ms>

(integer, optional, def:5000)

Timeout for a single AT command in milliseconds.


AT-Retries:

<count>

(integer, optional, def:3)

Retries for the entire sequence of AT commands.


AT-Continue:

(Yes|No)

(bool, optional, def:true)

Defines if the sequence of AT commands shall be continued if an error occurs. Otherwise the
sequence is interrupted and restarted at the first command.
AT-Master-To:

<ms>

(integer, optional, def:30000)

Total timeout for the task in milliseconds.


AT-Registration-TO: <ms>

(integer, otpioanl, def:0)

Timeout to wait for network registration. If the value is set to 0, no registration check is executed.
Otherwise the modem is given the specified time to achieve network registration.
5.2.4.7 Parameters for parallel tasks
Parallel tasks only support a minimum parameter set.
Known parameters in for parallel tasks
Name:

<profile_name>

(string)

Specifies the profile name to be displayed in the profile selection combo box. The name should be
unique to allow the user to identify the HTTP profile.

PocketOptimizer 1.1.1.32 26.Jan.2011

44

Technical Reference

Loop-Count:

<count>

(integer, optional, default:1)

Specifies the total number of loop iterations for this task (GUI parameter loops).
Loop-Pause:

<ms>

(integer, optional)

Specifies the pause between loop iterations (GUI parameter loop delay).
Soft-Stop:

<true/false/yes/no>

(bool, optional)

If this parameter is set to true, all parallel tasks are soft stopped as soon as the first parallel task
ends. Soft stop is similar to the measurement timeout, i.e. the task is assumed successful even if
not all bytes have been transferred. This feature can be used in parallel up/downloads to ensure the
entire measurement is parallel. Soft stop is supported by FTP tasks only.

5.3 Command line reference


The Win32 edition supports several command line arguments to improve PocketOptimizer's usability
for measurement campaigns.
Command line arguments
/ras:<ras-name>

Force use of the specified RAS connection, the value overrides the previous input on the tab sheet
user data. An error is generated if the connection does not exist.
/job:<job-name>

Force use of the specified job. The argument has to be the job's file name without path and
extension and overrides the job selection in the job form. An error is generated if the job does not
exist.
/initstr:<modem init string>

Force the specified modem init string. This function is only available if /ras is used. The value
overrides the modem settings for the RAS connection's modem in the registry before establishing
the connection. Write access to SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E96D-E32511CE-BFC1-08002BE10318} is required.
/masterlog:<file>

Write master log output to the specified file. The absolute file name should be given.
One line per task is appended to the master log file to check job execution. It is recommended to
use WinTail or a similar application to watch the output of the master log file during or after a
measurement.
/needgps

Force GPS coordinates. An error will be generated if GPS coordinates are not available after a 30
second timeout.
/needlocation

Force input of a location in the tab sheet user data. If the argument is specified, a previous location
is cleared and the user is forced to enter a location before starting a job. Alternatively the location
can be fetched from a configuration file if /autolocation is specified.
/needoperator

Force input of an operator in the tab sheet user data. If the argument is specified, a previous
operator is cleared and the user is forced to enter an operator before starting a job. Alternatively
the location can be queried from the RAS connection's associated modem if /autooperator is
specified.
/clearlocation

Clear the content of the location in the tab sheet user data (automatically done if /autolocation is
specified).
/clearoperator

Clear the content of the operator in the tab sheet user data (automatically done if /autooperator is
specified).
/autoinitstr

Force modem initialization string for current operator. This function is only available if /ras is
specified. PocketOptimizer will try to query the mobile's IMSI and determine the associated
operator. If the mobile is associated a modem init string, it will be forced for the RAS connection's
mobile (see /initstr).
Please refer to chapter 5.1.2.3, section [Operators] for details on operator configuration.

PocketOptimizer 1.1.1.32 26.Jan.2011

45

Technical Reference

/autooperator

Enable automatic operator detection. This function is only available if /ras is specified.
PocketOptimizer will try to query the mobile's IMSI and determine the associated operator. An error
will be generated if the operator cannot be determined.
Please refer to section chapter 5.1.2.3, section [Operators] for details on operator configuration.
/autolocation

Enable automatic location determination. PocketOptimizer matches the GPS coordinates to the
coordinates in the file coordinates.csv and selects the proper location. An error will be generated if
the operator cannot be determined.
Please refer to section 5.1.6 for details on location configuration.
/autorun

Automatically execute the job specified in the /job argument. PocketOptimizer will automatically
terminate after the job has finished.
/silent

Prevent modal error messages for unattended operation. If the argument is not specified, a
message box will indicate errors due to command line arguments and block the application until the
user acknowledges it. If the argument is specified, no message box will be displayed, the error will
only be written to the master log file. This avoids blocking unattended operation in measurement
scripts.

5.4 KPI and report reference


This section describes the KPIs automatically calculated when running job measurements.

5.4.1 Global RAS KPIs


This chapter describes RAS KPIs that are globally calculated for the entire job.
5.4.1.1 KPI definition for global RAS measurements
Metric 1000: RAS Activation Failure Ratio (PI520c)
trigger points:
timeout:
calculation:

same as in Metric 1003


defined in job file
# unsuccessful attempts (PDPC) / # total attempts (PDPC)

Metric 1001: RAS Activation Count (PI520x)


trigger points:
timeout:
calculation:

same as in Metric 1003


not required
# total attempts (PDPC)

trigger points:
timeout:
calculation:

same as in Metric 1003


not required
# total attempts (PDPC) - 1

Metric 1002: RAS Retry Count

Metric 1003: Last RAS Activation Time (PI521b)


start trigger:
stop trigger:
calculation:

request for RAS connection


successful establishment of RAS connection
t(stop trigger) t(start trigger) t(PDPC Accept) - t(PCPC Request)

Metric 1004: Total RAS Activation Count


start trigger:
stop trigger:
calculation:

request for RAS connection


successful establishment of RAS connection
sum t(stop trigger) t(start trigger) for all attempts

5.4.1.2 Report/KPI transmission for RAS measurements


ticket/scenario/metrics/metric.id=1000
ticket/scenario/metrics/metric.id=1001
ticket/scenario/metrics/metric.id=1002
ticket/scenario/metrics/metric.id=1003
ticket/scenario/metrics/metric.id=1004

m.1000,
m.1001,
m.1002,
m.1003,
m.1004,

PDPC Activation Failure


PDPC Activation Count
PDPC Retry Count
last PDPC Activation Time
total PDPC Activation Time

[1]
[1]
[1]
[seconds]
[seconds]

5.4.1.3 Sample job segment for RAS measurements


Note: The parameter Scenario-Id has to be specified in a RAS-Connect task to enable reporting of
RAS KPIs.
...
[TASK]
Task-Type:
Scenario-Id:

RAS-Connect
110

PocketOptimizer 1.1.1.32 26.Jan.2011

46

Technical Reference

...

5.4.1.4 Sample report file for global RAS measurements


<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<ticket version="2.0">
<instance>qtstest</instance>
...
<scenario id="110">
<mtime>2006-09-30T00:12:03+02:00</mtime>
<agent id="102">PocketOptimizer</agent>
<metric id="1000" comment="ras-fail-ratio">0.000</metric>
<metric id="1001" comment="ras-total-cnt">1</metric>
<metric id="1002" comment="ras-retry-cnt">0</metric>
<metric id="1003" comment="ras-act-time" unit="ras-act-time">3.672</metric>
<metric id="1004" comment="ras-act-time-total" unit="ras-act-time-total">3.672</metric>
</scenario>
</ticket>

5.4.2 Common Metrics and Texts for all measurements


This chapter describes the KPIs that are calculated for all tasks in measurement jobs.
5.4.2.1 Metric and text definition for all measurements
Metric 300: Operator id
calculation:

the operator id selected in the User data tab sheet

calculation:

the user entered in the User data tab sheet

Text 301: User name


Text 302: Location
calculation:

the location entered in the User data tab sheet

calculation:

the cell id entered in the User data tab sheet

Text 303: Cell Id

Text 304: IP address(es)


calculation:

the client's IP addresses

calculation:

the local time in XML format when the job was started

Text 305: Job measurement time


Text 306: Machine name
calculation:

the windows machine name

calculation:

the windows logon user name

Text 307: User name

5.4.2.2 Text definition for all measurements (mobile status for Win32 only)
These texts are only available for the Win32 platform. On the Pocket PC platform it is currently not
supported to access the mobile directly, thus the information is not available and the tests are not
created.
Text 120: IMSI
calculation:

AT+CIMI sent to mobile or RIL_GetUserIdentity used

calculation:

AT+CGSN sent to mobile or RIL_GetEquipmentInfo used

Text 121: IMEI

Text 123: Signal power in mobile (e.g. -105)


calculation:

AT+CSQ sent to mobile or RIL_GetSignalQuality used

calculation:

AT+COPS sent to mobile or RIL_GetCellTowerInfo used

calculation:

AT+CREG sent to mobile or RIL_GetCellTowerInfo (not all mobiles support extended network info)

Text 124: MCC and MNC (e.g. 232-01)

Text 125: LAC (location area code) in hex format


Text 126: CI (cell id) in hex format
calculation:

AT+CREG sent to mobile or RIL_GetCellTowerInfo (not all mobiles support extended network info)

calculation:

AT^SYSINFO sent to mobile (not all mobiles support extended network registration info),
not available with RIL

Text 127: SysInfo (e.g. 2,3,0,5,1,,4)


Text 128: SysType (e.g. UMTS)

calculation:
AT^SYSINFO decoded or RIL_GetCurrentSystemType used
possible values: AT. AMPS, CDMA, GSM, HDR, UMTS, GPS, NONE, N/A
RIL: IS95A, IS95B, CDMA, GSM, GPRS, EDGE, EVDO, EVDV, UMTS, HSPA, NONE, N/A

Text 129: CGI


calculation:

cell global identifier CCC-NNN-LLLLL-IIIII, e.g. 232-001-17003-30900

PocketOptimizer 1.1.1.32 26.Jan.2011

47

Technical Reference

5.4.2.3 Report/KPI transmission for all measurements


ticket/scenario/metrics/metric.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=
ticket/scenario/metrics/text.id=

300
301
302
303
304
305
120
121
123
124
125
126
127
128
129

Operator Id
User name
Location
Cell Id
IP Address(es)
Job time
IMSI
IMEI
signal level
MCC-MNC
LAC
CI
SysInfo
SysType
CGI

[1]

5.4.2.4 Sample job file for common metrics and texts


N/A

5.4.2.5 Sample report file for common metrics and texts


<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<ticket version="2.0">
<instance>pocketopt</instance>
<scenario id="111">
<mtime>2005-11-13T01:23:28+01:00</mtime>
<agent id="101">PocketOptimizer</agent>
...
<metrics>
...
<metric id="300" comment="operator">23201</metric>
<text id="301" comment="user">your user name</text>
<text id="302" comment="location">your location</text>
<text id="303" comment="cell-id">your cell id</text>
<text id="304" comment="IP-addrs">128.130.6.7</text>
<text id="305" comment="jobtime">2005-11-13T01:23:28+01:00</text>
<text id="306" comment="machine">CURSA</text>
<text id="307" comment="username">test</text>
<text id="120" comment="imsi">232014520069421</text>
<text id="121" comment="imei">359298010236203</text>
<text id="124" comment="mcc_mnc">232-01</text>
<text id="125" comment="creg_lac">426B</text>
<text id="126" comment="creg_ci">278B4</text>
<text id="127" comment="sysinfo">2,3,0,5,1,,4</text>
<text id="128" comment="systype">UMTS</text>
<text id="129" comment="cgi">232-001-17003-30900</text>
</metrics>
</scenario>
</ticket>

5.4.3 KPIs for HTTP measurements


This chapter describes the KPIs that are calculated for HTTP tasks in measurement jobs.
5.4.3.1 KPI definition for HTTP measurements
KPI520: Service Non Accessibility
calculation:

1 - (1-PI520c)(1-PI520d)

KPI521: Service Access Time


calculation:

PI521b + PI521c

trigger points:
timeout:
calculation:

as in PI523a
defined in job file
# incomplete transfers (timeout) / # total transfers

calculation:

TCP data bytes including HTTP header / PI523a . 8 bits/byte

KPI522: Data Transfer Cut-off Ratio

KPI523: Mean User Data Rate


KPI524: Session Failure Ratio
calculation:

1 (1-PI520d)(1-KPI522)

calculation:

PI521c + PI523a

KPI525: Session Time

PI520d: IP Service Access Failure Ratio


start trigger:
stop trigger:

initiation of socket connect() to HTTP server


reception of first socket data byte (HTTP 200 OK)

PocketOptimizer 1.1.1.32 26.Jan.2011

48

Technical Reference

calculation:

# unsuccessful attempts (SVC) / # total attempts (SVC)

PI521c: IP Service Access Time


trigger points:
calculation:

same as in PI520d
t(stop trigger) t(start trigger) = t(first response) - t(first request)

PI523a: Data Transfer Time


start trigger:
stop trigger:
calculation:

reception of first socket data byte (HTTP 200 OK)


reception of last socket data byte
t(stop trigger) - t(start trigger) = t(last rx packet) t(first rx packet)

start trigger:
stop trigger:
calculation:

same PI523a
same PI523a
please refer to chapter 5.4.8.1

Metric 5012: Peak Throughput (2s)

Metric 5021: DNS lookup time


start trigger:
stop trigger:
calculation:

before DNS lookup (i.e. gethostbyname() API call)


after DNS lookup (i.e. gethostbyname() API call)
t(stop trigger) t(start trigger)

start trigger:
stop trigger:
calculation:

before TCP connect (i.e. connect() API call, i.e. before TCP SYN packet)
after TCP lookup (i.e. connect() API call, i.e. after TCP SYN/ACK response)
t(stop trigger) t(start trigger)

Metric 5022: TCP connect time

Note: Time consumption and data transferred for fetching preload-URLs will not be considered in KPI
calculation.
Note: In addition to the HTTP KPIs described here, TCP KPIs can be generated if the NetCap sniffer
and TShark decoding is used (Win32 only).
5.4.3.2 Report/KPI transmission for HTTP measurements
ticket/scenario/qi:
ticket/scenario/rating:
ticket/scenario/metrics/metric.id=5204
ticket/scenario/metrics/metric.id=5213
ticket/scenario/metrics/metric.id=5200
ticket/scenario/metrics/metric.id=5210
ticket/scenario/metrics/metric.id=5220
ticket/scenario/metrics/metric.id=5231
ticket/scenario/metrics/metric.id=5230
ticket/scenario/metrics/metric.id=5239
ticket/scenario/metrics/metric.id=5240
ticket/scenario/metrics/metric.id=5250
ticket/scenario/metrics/metric.id=5012

10 on success, 0 otherwise
always 1
PI520d, IP Service Access Failure Ratio
PI521c, IP Service Access Time
KPI520, Service Non Accessibility
KPI521, Service Access Time
KPI522, Data Transfer Cut-off Ratio
PI523a, Data Transfer Time
KPI523, Mean User Data Rate,
PI523x, Data Byte Count
KPI524, Session Failure Ratio
KPI525, Session Time
M.5012, Peak Throughput (2s)

5.4.3.3 Sample job file for HTTP measurements


[Global]
Description:
Version:
Iterations:
Reporting:
Report-System:
WriteLogFile:

Test job HTTP


0.0.1
1
File ; Off/File/Http
pocketopt
yes

[TASK]
Task-Type:

RAS-Connect

[TASK]
Task-Type:
Task-Comment:
Scenario-Id:
Loop-Count:
Http-Url:

HTTP
100kB HTTP download
111
1
http://194.48.139.238/merlin/HTTP_Files/100KB.dl

[TASK]
Task-Type:

RAS-Hangup

5.4.3.4 Sample report file for HTTP measurements


<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<ticket version="2.0">
<instance>pocketopt</instance>
<scenario id="111">
<mtime>2005-11-13T01:23:28+01:00</mtime>
<agent id="101">PocketOptimizer</agent>
<location id="" type="WGS84">
<longitude>48.22765</longitude>
<latitude>16.39849</latitude>
PocketOptimizer 1.1.1.32 26.Jan.2011

49

Technical Reference

[1]
[1]
[1]
[seconds]
[1]
[seconds]
[1]
[seconds]
[bit/s]
[bytes]
[1]
[seconds]
[bit/s]

</location>
<duration>7.076</duration>
<comment>loop 1, block 2, loop 1 (http)</comment>
<qi>10</qi>
<rating>1</rating>
<metrics>
<metric id="5204" comment="520d-ipsvc-acc-fail-ratio" unit="">0</metric>
<metric id="5213" comment="521c-ipsvc-acc-time" unit="sec">0.784</metric>
<metric id="5200" comment="520-svc-non-acc-ratio" unit="">0</metric>
<metric id="5210" comment="521-svc-acc-time" unit="sec">0.784</metric>
<metric id="5220" comment="522-data-xfer-cutoff-ratio" unit="">0</metric>
<metric id="5231" comment="523a-data-xfer-time" unit="sec">6.174</metric>
<metric id="5230" comment="523-mean-data-rate" unit="bit/s">16630.0</metric>
<metric id="5239" comment="523x-data-bytes" unit="bytes">102674</metric>
<metric id="5240" comment="524-session-fail-ratio" unit="">0</metric>
<metric id="5250" comment="525-session-time" unit="sec">6.958</metric>
<metric id="5012" comment="peak_thput_2s" unit="bit/s">18234.0</metric>
<metric id="300" comment="operator">23201</metric>
<text id="301" comment="user">your user name</text>
<text id="302" comment="location">your location</text>
<text id="303" comment="cell-id">your cell id</text>
<text id="304" comment="IP-addrs">128.130.6.7</text>
<text id="305" comment="jobtime">2005-11-13T01:23:28+01:00</text>
<text id="120" comment="imsi">232014520069332</text>
<text id="121" comment="imei">356936000650783,NZ2A5BP032</text>
<text id="123" comment="signal_dbm">-105 dBm</text>
<text id="124" comment="mcc_mnc">232-01</text>
<text id="125" comment="creg_lac">0002</text>
<text id="126" comment="creg_ci">5803</text>
</metrics>
</scenario>
</ticket>

5.4.4 KPIs for FTP measurements


This chapter describes the KPIs that are calculated for FTP tasks in measurement jobs.
5.4.4.1 KPI definition for FTP measurements
KPI520: Service Non Accessibility
calculation:

1 - (1-PI520c)(1-PI520d)

calculation:

PI521b + PI521c

KPI521: Service Access Time

KPI522: Data Transfer Cut-off Ratio


trigger points:
timeout:
calculation:

as in PI523a
defined in job file
# incomplete transfers (timeout) / # total transfers

calculation:

data file size / PI523a 8 bits/byte

KPI523: Mean User Data Rate [bits/s]


KPI524: Session Failure Ratio
calculation:

1 (1-PI520d)(1-KPI522)

calculation:

PI521c + PI523a

start trigger DL:


stop trigger DL:
start trigger UL:
stop trigger UL:
calculation:

initiation of socket connect() to FTP server (control connection)


reception of first socket data byte (data connection)
initiation of socket connect() to FTP server (control connection)
transmission of first socket data byte (data connection)
# unsuccessful attempts (SVC) / # total attempts (SVC)

KPI525: Session Time [s]

PI520d: IP Service Access Failure Ratio

PI521c: IP Service Access Time [s]


trigger points:
calculation:

same as in PI520d
t(stop trigger) t(start trigger) = t(first response) - t(first request)

PI523a: Data Transfer Time [s]


start trigger DL:
stop trigger DL:
start trigger UL:
stop trigger UL:
calculation:

reception of first socket data byte (data connection)


reception of last socket data byte (data connection)
transmission of first socket data byte (data connection)
socket tx buffer empty and successfully transmitted (data connection)
t(stop trigger) - t(start trigger) = t(last rx packet) t(first rx packet)

start trigger:
stop trigger:
calculation:

same PI523a
same PI523a
please refer to chapter 5.4.8.1

start trigger:

before DNS lookup (i.e. gethostbyname() API call)

Metric 5012: Peak Throughput (2s)

Metric 5021: DNS lookup time


PocketOptimizer 1.1.1.32 26.Jan.2011

50

Technical Reference

stop trigger:
calculation:

after DNS lookup (i.e. gethostbyname() API call)


t(stop trigger) t(start trigger)

start trigger:
stop trigger:
calculation:

before TCP connect (i.e. connect() API call, i.e. before TCP SYN packet)
after TCP lookup (i.e. connect() API call, i.e. after TCP SYN/ACK response)
t(stop trigger) t(start trigger)

Metric 5022: TCP connect time

Note: In addition to the FTP KPIs described here, TCP KPIs can be generated if the NetCap sniffer
and TShark decoding is used (Win32 only).
5.4.4.2 Report/KPI transmission for FTP measurements
ticket/scenario/qi:
ticket/scenario/rating:
ticket/scenario/metrics/metric.id=5204
ticket/scenario/metrics/metric.id=5213
ticket/scenario/metrics/metric.id=5200
ticket/scenario/metrics/metric.id=5210
ticket/scenario/metrics/metric.id=5220
ticket/scenario/metrics/metric.id=5231
ticket/scenario/metrics/metric.id=5230
ticket/scenario/metrics/metric.id=5239
ticket/scenario/metrics/metric.id=5240
ticket/scenario/metrics/metric.id=5250
ticket/scenario/metrics/metric.id=5012

10 on success, 0 otherwise
always 1
PI520d, IP Service Access Failure Ratio
PI521c, IP Service Access Time
KPI520, Service Non Accessibility
KPI521, Service Access Time
KPI522, Data Transfer Cut-off Ratio
PI523a, Data Transfer Time
KPI523, Mean User Data Rate
PI523x, Data Byte Count
KPI524, Session Failure Ratio
KPI525, Session Time
M.5012, Peak Throughput (2s)

[1]
[1]
[1]
[seconds]
[1]
[seconds]
[1]
[seconds]
[bit/s]
[bytes]
[1]
[seconds]
[bit/s]

5.4.4.3 Sample job file for FTP measurements


[Global]
Description:
Version:
Iterations:
Reporting:
Report-System:
WriteLogFile:

Test job HTTP


0.0.1
1
File ; Off/File/Http
pocketopt
yes

[TASK]
Task-Type:

RAS-Connect

[TASK]
Task-Type:
Task-Comment:
Scenario-Id:
Loop-Count:
Ftp-Url:
Ftp-DataSize:
Ftp-Direction:
Ftp-User:
Ftp-Pass:

FTP
100kB FTP upload
112
1
ftp://merlin.mobilkom.at/upload.txt
102400
Put
user
pass

[TASK]
Task-Type:

RAS-Hangup

5.4.4.4 Sample report file for FTP measurements


<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<ticket version="2.0">
<instance>pocketopt</instance>
<scenario id="112">
<mtime>2005-11-13T01:31:20+01:00</mtime>
<agent id="101">PocketOptimizer</agent>
<location id="" type="WGS84">
<longitude>48.22765</longitude>
<latitude>16.39849</latitude>
</location>
<duration>47.070</duration>
<comment>loop 1, block 2, loop 1 (ftp)</comment>
<qi>10</qi>
<rating>1</rating>
<metrics>
<metric id="5204" comment="520d-ipsvc-acc-fail-ratio" unit="">0</metric>
<metric id="5213" comment="521c-ipsvc-acc-time" unit="sec">4.656</metric>
<metric id="5200" comment="520-svc-non-acc-ratio" unit="">0</metric>
<metric id="5210" comment="521-svc-acc-time" unit="sec">4.656</metric>
<metric id="5220" comment="522-data-xfer-cutoff-ratio" unit="">0</metric>
<metric id="5231" comment="523a-data-xfer-time" unit="sec">31.172</metric>
<metric id="5230" comment="523-mean-data-rate" unit="bit/s">2627999.487</metric>
<metric id="5239" comment="523x-data-bytes" unit="bytes">10240000</metric>
<metric id="5240" comment="524-session-fail-ratio" unit="">0</metric>
PocketOptimizer 1.1.1.32 26.Jan.2011

51

Technical Reference

<metric id="5250" comment="525-session-time" unit="sec">35.828</metric>


<metric id="5012" comment="peak_thput_2s" unit="bit/s">2813234</metric>
<metric id="300" comment="operator">23201</metric>
<text id="301" comment="user">your user name</text>
<text id="302" comment="location">your location</text>
<text id="303" comment="cell-id">your cell id</text>
<text id="304" comment="IP-addrs">128.130.6.7</text>
<text id="305" comment="jobtime">2005-11-13T01:31:20+01:00</text>
<text id="120" comment="imsi">232014520069332</text>
<text id="121" comment="imei">356936000650783,NZ2A5BP032</text>
<text id="123" comment="signal_dbm">-105 dBm</text>
<text id="124" comment="mcc_mnc">232-01</text>
<text id="125" comment="creg_lac">0002</text>
<text id="126" comment="creg_ci">5803</text>
</metrics>
</scenario>
</ticket>

5.4.5 KPIs for ICMP measurements


This chapter describes the KPIs that are calculated for ICMP tasks in measurement jobs.
5.4.5.1 KPI definition for ICMP measurements

Metric
Metric
Metric
Metric
Metric

2001:
2002:
2003:
2004:
2005:

ping
ping
ping
ping
ping

tx count
packets lost
average RTT
min RTT
max RTT

# of ping requests transmitted


# of ping responses lost
average round trip time
minimum round trip time
maximum round trip time

5.4.5.2 Report/KPI transmission for ICMP measurements


ticket/scenario/qi:
ticket/scenario/rating:
ticket/scenario/metrics/metric.id=2001
ticket/scenario/metrics/metric.id=2002
ticket/scenario/metrics/metric.id=2003
ticket/scenario/metrics/metric.id=2004
ticket/scenario/metrics/metric.id=2005

10 * packets_rx / packets_tx
always 1
ping tx count
ping packets lost
ping avg RTT
ping min RTT
ping max RTT

5.4.5.3 Sample job file for ICMP measurements


[Global]
Description:
Version:
Iterations:
Reporting:
Report-System:
WriteLogFile:

Test job HTTP


0.0.1
1
File ; Off/File/Http
pocketopt
yes

[TASK]
Task-Type:

RAS-Connect

[TASK]
Task-Type:
Task-Comment:
Scenario-Id:
Loop-Count:
Loop-Pause:
Ras-Dial:
Ping-Addr:
Ping-Count:
Ping-Size:
Ping-Unix:
Ping-Advance:
Ping-Timeout:
Ping-Blocks:
Ping-Delay:

ICMP
20 pings
113
1
1000
Auto
www.mobilkom.at
20
0
True
500
4000
1
5000

[TASK]
Task-Type:

RAS-Hangup

5.4.5.4 Sample report file for ICMP measurements


<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<ticket version="2.0">
<instance>pocketopt</instance>

PocketOptimizer 1.1.1.32 26.Jan.2011

52

Technical Reference

[1]
[pkts]
[pkts]
[seconds]
[seconds]
[seconds]

<scenario id="113">
<mtime>2005-11-13T01:33:43+01:00</mtime>
<agent id="101">PocketOptimizer</agent>
<location id="" type="WGS84">
<longitude>48.22765</longitude>
<latitude>16.39849</latitude>
</location>
<duration>10.222</duration>
<comment>loop 1, block 2, loop 1 (icmp)</comment>
<qi>10</qi>
<rating>1</rating>
<metrics>
<metric id="2001" comment="2001-ping-tx-count" unit="">20</metric>
<metric id="2002" comment="2002-ping-lost" unit="">0</metric>
<metric id="2003" comment="2003-ping-avg-rtt" unit="sec">0.183</metric>
<metric id="2004" comment="2004-ping-min-rtt" unit="sec">0.181</metric>
<metric id="2005" comment="2005-ping-max-rtt" unit="sec">0.187</metric>
<metric id="300" comment="operator">23201</metric>
<text id="301" comment="user">your user name</text>
<text id="302" comment="location">your location</text>
<text id="303" comment="cell-id">your cell id</text>
<text id="304" comment="IP-addrs">128.130.6.7</text>
<text id="305" comment="jobtime">2005-11-13T01:33:43+01:00</text>
<text id="120" comment="imsi">232014520069332</text>
<text id="121" comment="imei">356936000650783,NZ2A5BP032</text>
<text id="123" comment="signal_dbm">-105 dBm</text>
<text id="124" comment="mcc_mnc">232-01</text>
<text id="125" comment="creg_lac">0002</text>
<text id="126" comment="creg_ci">5803</text>
</metrics>
</scenario>
</ticket>

5.4.6 KPIs for UDP measurements


This chapter describes the KPIs that are calculated for UDP tasks in measurement jobs.
5.4.6.1 KPI definition for UDP measurements
PIx11: UDP DL packet count
calculation:

# of downlink packets (nominal value: DL packet rate . duration)

calculation:

# of downlink packets lost

PIx12: UDP DL packet loss

PIx13: UDP DL throughput

average downlink throughput [bits/s]

start trigger:
stop trigger:
calculation:

reception of first packet on client


reception of last packet on client
DL rx_packet_cnt * DL packet size / (t(stop trigger) t(start trigger) + 1 / dl_packet_rate) 8 bits/byte

calculation:

sqrt( sum( (rx_stamp_i - rx_stamp_i-1) - (tx_stamp_i - tx_stamp_i-1) ) / (1-rx_packet_cnt) )

PIx14: UDP DL jitter


PIx15: UDP DL RTT
calculation:

average downlink jitter [s]


average downlink round trip time

avg( ( (ul_rx_stamp - ul_tx_stamp) + (dl_rx_stamp - dl_tx_stamp) )

PIx21: UDP UL packet count

# of uplink packets (UL rate . duration)

calculation:

PIx22: UDP UL packet loss

# of uplink packets lost

calculation:

PIx23: UDP UL throughput

average uplink throughput [bits/s]

start trigger:
stop trigger:
calculation:

reception of first packet on server


reception of last packet on server
UL RX packet count * DL packet size / (t(stop trigger) t(start trigger) + 1 / ul_packet_rate) 8 bits/byte

calculation:

sqrt( sum( (rx_stamp_i - rx_stamp_i-1) - (tx_stamp_i - tx_stamp_i-1) ) / (1-rx_packet_cnt) )

PIx24: UDP UL jitter


PIx25: UDP DL RTT
calculation:

average uplink jitter [s]


average uplink round trip time [s]

avg( ( (dl_rx_stamp - dl_tx_stamp) + (ul_rx_stamp - ul_tx_stamp) )

5.4.6.2 Report/KPI transmission for UDP measurements


ticket/scenario/qi:
ticket/scenario/rating:
ticket/scenario/metrics/metric.id=2111
ticket/scenario/metrics/metric.id=2112
ticket/scenario/metrics/metric.id=2113
ticket/scenario/metrics/metric.id=2114
ticket/scenario/metrics/metric.id=2115
ticket/scenario/metrics/metric.id=2121
ticket/scenario/metrics/metric.id=2122

10 * packets_rx / packets_tx
always 1
UDP DL packet count
UDP DL packet loss
UDP DL throughput
UDP DL jitter
UDP DL RTT
UDP UL packet count
UDP UL packet loss

PocketOptimizer 1.1.1.32 26.Jan.2011

53

Technical Reference

[1]
[pkts]
[pkts]
[bits/s]
[seconds]
[seconds]
[pkts]
[pkts]

ticket/scenario/metrics/metric.id=2123
ticket/scenario/metrics/metric.id=2124
ticket/scenario/metrics/metric.id=2125

UDP UL throughput
UDP UL jitter
UDP UL RTT

[bits/s]
[seconds]
[seconds]

5.4.6.3 Sample job file for UDP measurements


[Global]
Description:
Version:
Iterations:
Reporting:
Report-System:
WriteLogFile:

Test job HTTP


0.0.1
1
File ; Off/File/Http
pocketopt
yes

[TASK]
Task-Type:

RAS-Connect

[TASK]
Task-Type:
Task-Comment:
Scenario-Id:
Loop-Count:
Udp-DL-Size:
Udp-UL-Size:
Udp-DL-Rate:
Udp-UL-Rate:
Udp-Duration:
Udp-Server:
Udp-User:
Udp-Pass:

UDP
10 sec UDP test
114
1
64
64
10
10
10
merlin.mobilkom.at:8877
user
pass

[TASK]
Task-Type:

RAS-Hangup

5.4.6.4 Sample report file for UDP measurements


<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<ticket version="2.0">
<instance>pocketopt</instance>
<scenario id="114">
<mtime>2005-11-13T01:50:06+01:00</mtime>
<agent id="101">PocketOptimizer</agent>
<location id="" type="WGS84">
<longitude>48.22765</longitude>
<latitude>16.39849</latitude>
</location>
<duration>27.403</duration>
<comment>loop 1, block 2, loop 1 (udp)</comment>
<qi>10</qi>
<rating>1</rating>
<metrics>
<metric id="2011" comment="2111-udp-dl-cnt-full" unit="pkts">100</metric>
<metric id="2012" comment="2112-udp-dl-loss" unit="pkts">0</metric>
<metric id="2013" comment="2113-udp-dl-thput" unit="bits/s">645.480</metric>
<metric id="2014" comment="2114-udp-dl-jitter" unit="sec">0.047</metric>
<metric id="2015" comment="2115-udp-dl-rtt" unit="sec">0.206</metric>
<metric id="2021" comment="2121-udp-ul-cnt-full" unit="pkts">100</metric>
<metric id="2022" comment="2122-udp-ul-loss" unit="pkts">0</metric>
<metric id="2023" comment="2123-udp-ul-thput" unit="bits/s">646.523</metric>
<metric id="2024" comment="2124-udp-ul-jitter" unit="sec">0.013</metric>
<metric id="2025" comment="2125-udp-ul-rtt" unit="sec">0.196</metric>
<metric id="300" comment="operator">23201</metric>
<text id="301" comment="user">your user name</text>
<text id="302" comment="location">your location</text>
<text id="303" comment="cell-id">your cell id</text>
<text id="304" comment="IP-addrs">128.130.6.7</text>
<text id="305" comment="jobtime">2005-11-13T01:50:06+01:00</text>
<text id="120" comment="imsi">232014520069332</text>
<text id="121" comment="imei">356936000650783,NZ2A5BP032</text>
<text id="123" comment="signal_dbm">-105 dBm</text>
<text id="124" comment="mcc_mnc">232-01</text>
<text id="125" comment="creg_lac">0002</text>
<text id="126" comment="creg_ci">5803</text>
</metrics>
</scenario>
</ticket>

PocketOptimizer 1.1.1.32 26.Jan.2011

54

Technical Reference

5.4.7 KPIs for TCP connections


These KPIs are only available for the Win32 edition if UseSniffer and UseTShark are enabled.
5.4.7.1 Handling of TCP connections
All TCP connections are analyzed individually, the KPIs are calculated for both directions
independently. PocketOptimizer reports a maximum of 2 different connections types with 2 directions
each:
primary connection(s): these are the main data connections, i.e. the FTP data connections and the
HTTP connections)
secondary connection(s): these are additional connections, for example the FTP control connection
The connection assignment is:
HTTP measurements
KPI 61xx: average for all HTTP connections - DL (main data flow)
KPI 62xx: average for all HTTP connections - UL
FTP DL measurements
KPI 61xx: FTP data connection - DL (main data flow)
KPI 62xx: FTP data connection - UL
KPI 63xx: FTP control connection - DL
KPI 64xx: FTP control connection - UL
FTP UL measurements
KPI 61xx: FTP data connection - UL (main data flow)
KPI 62xx: FTP data connection - DL
KPI 63xx: FTP control connection - DL
KPI 64xx: FTP control connection - UL
5.4.7.2 KPI definition for UDP measurements
KPI 6x01: average IP packet length
description:

average of all IP packet sizes for the analyzed TCP stream in one direction

description:

maximum of all IP packet sizes for the analyzed TCP stream in one direction

KPI 6x02: maximum IP packet length

KPI 6x03: fraction of packets with maximum IP packet length


description:
calculation:

fraction of packets utilizing the maximum packet size


# of packets with IP size = max IP packet size / # of packets total

description:

# of packets not including the first SYN packets and the packets from RST or FIN
if the connection is terminated with RST pending retransmissions for data before the sequence number at
the occurrence of RST are included in the evaluation, all other

KPI 6x11: number of data packets

KPI 6x12: number of re-transmitted data packets


description:

# of packets with SEQ out of order


packets are selected as for KPI 6x11

KPI 6x13: fraction of re-transmitted data packets


description:
calculation:

the fraction of re-transmitted data packets over the number of data packets
packets are selected as for KPI 6x11
KPI 6x13 / KPI 6x12

KPI 6x14: fraction of re-transmitted or lost data bytes


description:

calculation:

the fraction of re-transmitted or lost data bytes


this value includes lost packets that are not re-transmitted and cannot be determined in KPI 6x13
packets are selected as for KPI 6x11
max(KPI613, # re-transmitted or lost TCP payload bytes / # TCP data bytes)

KPI 6x21: maximum TCP window size


description:

the maximum TCP window size for the data direction (that is indicated in the reverse direction)
packets are selected as for KPI 6x11

KPI 6x22: average TCP window size


description:

the average TCP window size for the data direction (that is indicated in the reverse direction)
packets are selected as for KPI 6x11

KPI 6x23: average remaining TCP window size


description:

the average TCP window size for re-transmitted packets (that is indicated in the reverse direction)

description:

average inter-packet (send or arrival) time

KPI 6x31: average inter-packet time

KPI 6x32: standard deviation of inter-packet time


description:

standard deviation of inter-packet (send or arrival) time

description:

average delay from packet loss (if detected) to retransmission (lower bound)

KPI 6x41: re-transmission delay lower bound (DL only)

PocketOptimizer 1.1.1.32 26.Jan.2011

55

Technical Reference

the time is calculated from the packet following the packet loss to the re-transmitted packet

KPI 6x42: re-transmission delay upper bound (DL only)


description:

average delay from packet loss (if detected) to retransmission (upper bound)
the time is calculated from the packet preceeding the packet loss to the re-transmitted packet

5.4.7.3 Report/KPI transmission for UDP measurements


KPIs can be transmitted in four groups depending on the measurement task
61xx: primary connection(s), main direction
62xx: primary connection(s), reverse direction
63xx: secondary connection(s), DL
64xx: secondary connection(s), UL
ticket/scenario/metrics/text.id=6x00
ticket/scenario/metrics/metric.id=6x01
ticket/scenario/metrics/metric.id=6x02
ticket/scenario/metrics/metric.id=6x03
ticket/scenario/metrics/metric.id=6x11
ticket/scenario/metrics/metric.id=6x12
ticket/scenario/metrics/metric.id=6x13
ticket/scenario/metrics/metric.id=6x14
ticket/scenario/metrics/metric.id=6x21
ticket/scenario/metrics/metric.id=6x22
ticket/scenario/metrics/metric.id=6x23
ticket/scenario/metrics/metric.id=6x31
ticket/scenario/metrics/metric.id=6x32
ticket/scenario/metrics/metric.id=6x41
ticket/scenario/metrics/metric.id=6x42

description of connection(s)
avg. IP packet len
max. IP packet len
frac. of packets with max. IP packet len
number of packets
number of re-transmitted packets
frac. of retransmitted packets
frac. of retransmitted/lost bytes
max. TCP window size
avg. TCP window size
avg. rem. TCP window size
avg. inter-packet time
stddev. inter-packet time
retransmission delay (lower bound)
retransmission delay (upper bound)

[bytes]
[bytes]
[1]
[pkts]
[pkts]
[1]
[1]
[bytes]
[bytes]
[bytes]
[s]
[s]
[s]
[s]

5.4.8 Special metrics


This chapter describes special metrics generated by one or several tasks.
5.4.8.1 Peak throughput (HTTP, FTP)
Peak throughput is calculated with the following filter algorithm. The algorithm is required to remove
e.g. bursts in TCP payload caused by packet loss and retransmissions.
Throughputs are calculated as TCP payloads as delivered by the IP stack. No packet sniffer is
used, i.e. the throughput does not contain retransmissions, just the TCP payload bytes.
The received/transmitted bytes per direction are summarized in buffers of 1 second duration.
If the throughput per second is more than 5% larger than the throughput in the previous second,
the excessive throughput is divided onto all previous intervals with a flooding algorithm.
The largest 2-second average is used as peak throughput.
If the average throughput is larger than the peak throughput, this value is used.

5.5 Pocket PC packet sniffer reference


PocketOptimizer Pocket PC edition provides integrated support for controlling a packet sniffer.
Currently only one product is supported:
CEMyNetwork Wireless 1.0 (Epiphan Consulting, Inc., www.epiphan.com)
similar versions named CeNiffer might work but have not been tested

5.5.1 Packet sniffer requirements


A supported packet sniffer version has to be installed on the system.
The job file parameter UseSniffer has to be enabled for packet sniffer support when executing
jobs.

5.5.2 Packet sniffer limitations


It might happen that the packet sniffer stops capturing packets if it is closed and started again.
PocketOptimizer avoids this if the parameter DontTerminate is set to true. If you experience this
situation, it might be required to reboot your Pocket PC.

5.5.3 Packet sniffer configuration


A sample configuration file (for the german localization of Windows Mobile 2003 SE) is shown below:
[Sniffer]
PocketOptimizer 1.1.1.32 26.Jan.2011

56

Technical Reference

ExeName:
CaptureTo-Folder:
CaptureTo-Type:
CaptureTo-Location:
DumpFile-Path:
DumpFile-Ext:
DontTerminate:

"\Programme\CEMyNetwork Wireless1.0\cemynetworkw.exe"
SnifferFiles
Ethereal, tcpdump (*.cap)
"CF Karte"
"\CF Karte\SnifferFiles\"
.cap
True

Follow the steps described below to set up the sniffer configuration.


Start the sniffer application and execute the menu command Tools/CaptureTo... The Save to
dialog window will open.
Select proper values from the combo boxes and remember these values. In the example below,
the destination directory shall be \CF Karte\SnifferFiles, thus the selections are folder: SnifferFiles
and location: CF Karte. The file type will be Ethereal, thus the file extension is .cap.

Note: It's important to enter the exact characters into the configuration file!
Edit the machine configuration file and enter the values as gathered from the dialog window.
ExeName:
the sniffer's executeable file name
CaptureTo-Folder:
the folder name as selected in the Capture To... dialog
CaptureTo-Type:
the file type as selected in the Capture To... dialog
CaptureTo-Location:
the location as Capture To... dialog
DumpFile-Path:
this is the full path given by CaptureTo-Location and CaptureTo-Folder
DumpFile-Ext:
the extension as specified by CaptureTo-Type
DontTerminate:
set this parameter to true to avoid termination of the sniffer application
Note: DumpFile-Path and DumpFile-Ext are required to copy the sniffer file to PocketOptimizer's log
directory. If these parameters are not correct, PocketOptimizer will not be able to locate the sniffer file
in the file system and copy it to the log directory.

5.6 Win32 edition packet sniffer reference


PocketOptimizer Win32 edition provides integrated support for controlling a packet sniffer. Currently
only one product is supported:
Microsoft NetCap as contained in the Windows 2000 or XP resource kit

5.6.1 Packet sniffer requirements


A supported packet sniffer version has to be installed on the system.
The job file parameter UseSniffer has to be enabled for packet sniffer support when executing
jobs.

5.6.2 Packet sniffer configuration


A sample configuration file is shown below:
[Sniffer]
ExeName:
DumpFile-Ext:
;SnifferParams:
;InterfaceName:
InterfaceName-LAN:
InterfaceName-RAS:

"C:\Program Files\SupportToolsXP\NetCap.exe"
.cap

"LAN-Verbindung"
"WAN (PPP/SLIP) Interface"

Follow the steps described below to set up the sniffer configuration.


PocketOptimizer 1.1.1.32 26.Jan.2011

57

Technical Reference

Install NetCap on your machine or copy it to your local hard drive.


Ensure you have proper access rights to execute NetCap.
run NetCap with the argument /? from a command line, the output should be similar to
Microsoft Network Monitor capture utility
Usage: NetCap.exe [/B:#] [/T <Type> <Buffer> <HexOffset> <HexPattern>]
[/F:<filterfile.cf>] [/C:<capture file>] [/N:#]
[/L:HH:MM:SS] [/TCF:<Folder Name>]
...
Use the following index numbers for these adapters:
(default) 0 = ETHERNET (001C23909C84) LAN-Verbindung (Onboard)
1 = ETHERNET (001B77C35942) Drahtlose Netzwerkverbindung
2 = ETHERNET (00507F0495FB) DrayTek Virture Interface
3 = ETHERNET (EAFB20524153) WAN (PPP/SLIP) Interface
4 = IP/1394 (000000000000)

Look up the desired LAN interface if required and the desired RAS interface
Edit the machine configuration file and enter the values as gathered from the dialog window.
ExeName:
the sniffer's executeable file name
DumpFile-Ext:
the file extension, usually .cap
SnifferParams:
additional parameters to the sniffer if required
InterfaceName:
name of interface to be used, better use InterfaceName-LAN or RAS
instead
InterfaceName-LAN:
interface name if no RAS connection is used
InterfaceName-RAS:
interface name if a RAS connection is used

5.6.3 Sniffer operation


The sniffer platform is automatically executed twice on the Win32 platform:
a first call to NetCap is executed to search the list of interfaces for the provided name and get the
interface number
a second call to NetCap is executed with the arguments /B:100 /N:x /C:<file>. Other arguments
can be specified in SnifferParams including different values for /B.

5.7 TShark reference


WireShark's TShark can be used in the Win32 edition to decode captured TCP connections. To avoid
performance problems, TShark and the analysis module are executed when all measurement tasks are
done but before finishing the report file. Please note that TShark support is only available if capturing
is enabled and UseTShark is enabled.

5.7.1 TShark requirements


Wireshark/TShark needs to be installed on the system.
A special output mode of TShark is required (/Tfields). At least version 0.99.6 is required to
support this mode.
The job file parameter UseTShark has to be enabled for packet sniffer support when executing
jobs.

5.7.2 TShark operation


TShark is automatically executed for every FTP or HTTP measurement task with the necessary
parameters, for example TShark -r <file.cap> -n -R "<filter>" -Tfields -E header=y -e
packet.number > <file.cap.txt>
The output file generated by TShark is a TAB separated text files and will be kept for further analysis.

5.7.3 TCP stream analyzer operation


If TShark output could be generated successfully, the file is processed for every TCP connection
individually.
The TCP stream analyzer loads the data file, applies the filter for the TCP connection, analyzes uplink
and downlink connections and adds two additional data fields:
dir
data direction (UL or DL)
tcp.decode.info
stream analyzer's decoding information
PocketOptimizer 1.1.1.32 26.Jan.2011

58

Technical Reference

Possible values for the decode information are:


snew=<bytes>
shifted new bytes: if a packet contains re-transmitted and new bytes,
this indicates the new information (= not re-transmitted bytes)
loss=<bytes>
a loss has been detected (DL only)
pend=<bytes>
number of bytes pending for re-transmission (DL only)
retr=<bytes>
packet is a re-transmission
rnew=<bytes>
the number of bytes containing new information (i.e. not re-transmitted)
rw=<bytes>
remaining window size
dly=<sec>
re-transmission delay

5.8 Log file reference


All relevant data will be written to log files if the GUI check box logfile is checked for interactive
measurements or the job file parameter WriteLogFile is true.

5.8.1 Log file basics


All log files names are starting with a time stamp in format yyyymmdd-hhnnss, followed by a sequence
number and an additional description.
A simple measurement job with 2 iterations will generate the log files
20051113-131339-0000-job-params.txt
contains the jobs measurement parameters
20051113-131339-0000-job-log.txt
contains the main job log with time stamps
20051113-131339-0001-http-params.txt
the first tasks parameters (http, 1st iteration)
20051113-131339-0001-http-0000.txt
the first tasks data log
20051113-131339-0002-http-params.txt
the second tasks parameters (http, 2nd iteration)
20051113-131339-0002-http-0000.txt
the second tasks data log
One exception to this schema are UDP log files following the NDFA servers naming convention. The
log files are starting with a time stamp, too, but these are generated by the server and may thus
slightly differ from the local time.

5.8.2 Job log files


Two job log files are generated for every job.
The parameter file named yyyymmdd-hhnnss-0000-job-params.txt contains the measurement
parameters, i.e. the job file plus some internal parameters. Important values logged here are:
user name
location
cell id
RAS connection to be used
the configuration parameters from the job file
The log file named yyyymmdd-hhnnss-0000-job-log.txt contains the measurement log as it is displayed
in the GUIs log memo. This file includes
important time stamps and progress information
warnings and error messages

5.8.3 HTTP log files


Two HTTP log files are generated for every HTTP task (individually for each master loop iteration).
The parameter file named yyyymmdd-hhnnss-qqqq-http-params.txt contains the measurement
parameters for this task. It has the same format as a job file with some extra parameters in it.
The data file named yyyymmdd-hhnnss-qqqq-http-0000.txt contains the measurement results i.e. the
statistics per one second interval.
The file format is <loop>\t<seq>\t<thput>\r\n, field separator is the tab character, records are
separated by cr/lf characters. The decimal separator can be specified in the user configuration file.
Lines starting with a semicolon are comments.
loop is the inner loop as specified by the Loop-Count parameter.
seq is the intervals sequence number, i.e. the relative time in seconds.
thput contains the measurement value in kBytes/s = 1000Bytes/s.
PocketOptimizer 1.1.1.32 26.Jan.2011

59

Technical Reference

Sample log file


;http
;start 28.09.2006 22:23:15
;operator 23201=A1
;mobile_status:
success
;mobile_initstring:
at+cgdcont=1,"IP","A1.net"
;mobile_stamp:
04.09.2007 22:36:02
;mobile_imsi:
232012520003849
;mobile_imei:
354652010110203
;mobile_mobile:
Manufacturer: huawei, Model: E270, Revision: 11.303.06.00.00
;mobile_cpin:
+CPIN: READY
;mobile_csq:
+CSQ: 15,99
;mobile_signal_dbm:
-83 dBm
;mobile_cops:
+COPS: 0,2,"23201",2
;mobile_mcc_mnc:
232-01
;mobile_creg:
+CREG: 0,1
;mobile_creg_lac:
N/A
;mobile_creg_ci:
N/A
;mobile_cgatt:
+CGATT: 1
;mobile_sysinfo:
^SYSINFO:2,3,0,5,1,,4
;gps 48,22748 16,39883
20:22:57
loop seq
thput gps_lat
gps_lon
gps_time
0
0
8,76
48,22747
16,39884
20:22:59
0
1
8,76
48,22745
16,39884
20:23:01
0
2
8,76
48,22745
16,39884
20:23:02
0
3
17,52 48,22745
16,39884
20:23:02
0
4
13,14 48,22744
16,39885
20:23:03
0
5
45,76 48,22743
16,39885
20:23:04
;meas-time:
8312
ms
;ip-addresses:
192.168.1.61 10.248.40.73
;http-success:
ok
;dns-lookup-time:
10
ms
;tcp-conn-time:
320
ms
;first-tx-delay:
10
ms
;first-rtt:
1783
ms
;data-xfer-time:
5938
ms
;shutdown-time:
50
ms
;session-time:
8111
ms
;rx-bytes:
102698
;num-sockets:
1
;num-threads:
1
;num-files-ok:
1
;num-files-err:
0
;num-files-warn:
0
;content-length:
102400
;mean-data-rate:
17,30 kB/s = 138,36 kbit/s (PL) ~ 142,19 kbit/s (IP)
;user-data-rate:
12,62 kB/s = 101,00 kbit/s (PL) ~ 103,80 kbit/s (IP)

5.8.4 FTP log files


Two FTP log files are generated for every FTP task (individually for each master loop iteration).
The parameter file named yyyymmdd-hhnnss-qqqq-ftp-params.txt contains the measurement
parameters for this task.
The data file named yyyymmdd-hhnnss-qqqq-ftp-0000.txt contains the measurement results i.e. the
statistics per one second interval.
The file format is <loop>\t<seq>\t<thput>\r\n, field separator is the tab character, records are
separated by cr/lf characters. The decimal separator can be specified in the user configuration file.
Lines starting with a semicolon are comments.
loop is the inner loop as specified by the Loop-Count parameter.
seq is the intervals sequence number, i.e. the relative time in seconds.
thput contains the measurement value in kBytes/s = 1000Bytes/s.
Sample log file
;ftp-get
;start 28.09.2006 22:38:21
;operator 23201=A1
;mobile_status:
success
;mobile_initstring:
at+cgdcont=1,"IP","A1.net"
;mobile_stamp:
04.09.2007 22:36:02
;mobile_imsi:
232012520003849
;mobile_imei:
354652010110203
;mobile_mobile:
Manufacturer: huawei, Model: E270, Revision: 11.303.06.00.00
;mobile_cpin:
+CPIN: READY
;mobile_csq:
+CSQ: 15,99
PocketOptimizer 1.1.1.32 26.Jan.2011

60

Technical Reference

;mobile_signal_dbm:
-83 dBm
;mobile_cops:
+COPS: 0,2,"23201",2
;mobile_mcc_mnc:
232-01
;mobile_creg:
+CREG: 0,1
;mobile_creg_lac:
N/A
;mobile_creg_ci:
N/A
;mobile_cgatt:
+CGATT: 1
;mobile_sysinfo:
^SYSINFO:2,3,0,5,1,,4
;gps 48,22758 16,39877
20:38:02
;loop seq
thput gps_lat
gps_lon
gps_time
0
0
8,76
48,22753
16,39878
20:38:09
0
1
8,76
48,22753
16,39880
20:38:10
0
2
8,76
48,22754
16,39881
20:38:11
0
3
13,14 48,22753
16,39881
20:38:12
0
4
17,52 48,22752
16,39881
20:38:13
0
5
13,14 48,22752
16,39881
20:38:14
0
6
17,52 48,22751
16,39881
20:38:15
0
7
35,04 48,22750
16,39881
20:38:16
0
8
48,18 48,22749
16,39881
20:38:17
0
9
33,98 48,22749
16,39881
20:38:18
;ras-setup-time:
3385
ms
;meas-time:
15512 ms
;ip-addresses:
192.168.1.61 10.248.40.74
;ftp-success:
ok
;init-time:
0
ms (1..2)
;dns-lookup-time:
40
ms (2..3)
;tcp-conn-time:
3264
ms (3..4)
;ftp-setup-time:
1073
ms (4..5)
;ftp-cmd-time:
800
ms (5..6)
;data-xfer-time:
9794
ms (6..7, PI523a)
;shutdown-time:
271
ms (7..8)
;destruct-time:
113
ms (8..9)
;meas-time:
15355 ms (1..9)
;session-time:
15242 ms (2..8)
;first-resp-delay:
10
ms
;first-rtt:
161
ms
;data-bytes:
204800
;mean-data-rate:
20,91 kB/s (KPI523) = 167,29 bit/s (PL) ~
;session-data-rate: 13,44 kB/s
= 107,49 bit/s (PL) ~

171,89 kbit/s (IP +40/1460)


110,45 kbit/s (IP +40/1460)

5.8.5 ICMP log files


Two ICMP log files are generated for every ICMP task (individually for each master loop iteration).
The parameter file named yyyymmdd-hhnnss-qqqq-http-params.txt contains the measurement
parameters for this task.
The data file named yyyymmdd-hhnnss-qqqq-http-0000.txt contains the measurement results i.e. the
packets time stamps and the round trip time.
The file format is <loop>\t<seq>\t<start>\t<stop>\t<rtt>\r\n, field separator is the tab character,
records are separated by cr/lf characters. The decimal separator can be specified in the user
configuration file. Lines starting with a semicolon are comments.

loop is the inner loop as specified by the Loop-Count parameter.


seq is the intervals sequence number, i.e. the relative time in seconds.
start is the tx time stamp in ms relative to the task start stamp.
stop is the rx time stamp in ms.
rtt is the round trip time in ms.

Sample log file


;icmp
;start 28.09.2006 22:39:43
;operator 23201=A1
;mobile_status:
success
;mobile_initstring:
at+cgdcont=1,"IP","A1.net"
;mobile_stamp:
04.09.2007 22:36:02
;mobile_imsi:
232012520003849
;mobile_imei:
354652010110203
;mobile_mobile:
Manufacturer: huawei, Model: E270, Revision: 11.303.06.00.00
;mobile_cpin:
+CPIN: READY
;mobile_csq:
+CSQ: 15,99
;mobile_signal_dbm:
-83 dBm
;mobile_cops:
+COPS: 0,2,"23201",2
;mobile_mcc_mnc:
232-01
;mobile_creg:
+CREG: 0,1
;mobile_creg_lac:
N/A

PocketOptimizer 1.1.1.32 26.Jan.2011

61

Technical Reference

;mobile_creg_ci:
N/A
;mobile_cgatt:
+CGATT: 1
;mobile_sysinfo:
^SYSINFO:2,3,0,5,1,,4
;gps 48,22754 16,39879
20:39:24
;loop seq
start stop
rtt
gps_lat
0
0
120
270
145
48,22754
0
1
1091
1211
123
48,22754
0
2
2093
2213
121
48,22754
0
3
3094
3214
116
48,22754
0
4
4096
4216
117
48,22753
0
5
5097
5207
115
48,22753
0
6
6098
6429
334
48,22753
0
7
7090
7230
140
48,22753
0
8
8091
8231
142
48,22753
0
9
9093
9213
119
48,22753
0
10
10094 10214 117
48,22752
0
11
11096 11216 117
48,22752
0
12
12097 12207 115
48,22751
0
13
13098 13209 114
48,22750
0
14
14090 14210 122
48,22749
0
15
15091 15212 121
48,22748
0
16
16093 16213 119
48,22748
0
17
17094 17234 138
48,22747
0
18
18096 18216 115
48,22746
0
19
19097 19227 135
48,22746
;ras-setup-time:
3475
ms
;meas-time:
20099 ms
;ip-addresses:
192.168.1.61 10.248.40.78
;icmp-tx-count:
20
;icmp-loss:
0
(0,0 %)
;average-rtt:
134,3 ms
;min-rtt:
114
ms
;max-rtt:
334
ms

gps_lon
16,39879
16,39879
16,39879
16,39879
16,39879
16,39879
16,39879
16,39879
16,39879
16,39880
16,39880
16,39880
16,39881
16,39881
16,39881
16,39881
16,39881
16,39881
16,39881
16,39882

gps_time
20:39:24
20:39:25
20:39:26
20:39:27
20:39:28
20:39:29
20:39:30
20:39:31
20:39:32
20:39:33
20:39:34
20:39:35
20:39:36
20:39:37
20:39:38
20:39:39
20:39:40
20:39:41
20:39:42
20:39:43

5.8.6 UDP log files


Two http log files are generated for every HTTP task (individually for each master loop iteration).
The parameter file named yyyymmdd-hhnnss-qqqq-http-params.txt contains the measurement
parameters for this task.
The data file named yyyymmdd-hhnnss-qqqq-http-0000.txt contains the measurement results i.e. the
statistics per one second interval.
The file format is <loop>\t<seq>\t<dl_thput>\t<ul_thput>\r\n, field separator is the tab character,
records are separated by cr/lf characters. The decimal separator can be specified in the user
configuration file. Lines starting with a semicolon are comments.

loop is the inner loop as specified by the Loop-Count parameter.


seq is the intervals sequence number, i.e. the relative time in seconds.
dl_thput contains the downlink throughput in kBytes/s = 1000Bytes/s.
ul_thput contains the uplink throughput in kBytes/s = 1000Bytes/s.

Sample log file


;udp
;start 28.09.2006 23:03:32
;operator 23201=A1
;mobile_status:
success
;mobile_initstring:
at+cgdcont=1,"IP","A1.net"
;mobile_stamp:
04.09.2007 22:36:02
;mobile_imsi:
232012520003849
;mobile_imei:
354652010110203
;mobile_mobile:
Manufacturer: huawei, Model: E270, Revision: 11.303.06.00.00
;mobile_cpin:
+CPIN: READY
;mobile_csq:
+CSQ: 15,99
;mobile_signal_dbm:
-83 dBm
;mobile_cops:
+COPS: 0,2,"23201",2
;mobile_mcc_mnc:
232-01
;mobile_creg:
+CREG: 0,1
;mobile_creg_lac:
N/A
;mobile_creg_ci:
N/A
;mobile_cgatt:
+CGATT: 1
;mobile_sysinfo:
^SYSINFO:2,3,0,5,1,,4
;gps 48.22792 16.39857 21:03:13
;loop seq dl_thput ul_thput dl_thput ul_thput dl_rtt ul_rtt dl_jtr ul_jtr dl_loss ul_loss 
 gps_lat gps_lon gps_time
;
kByte/s kByte/s
kbit/s
kbit/s
ms
ms
ms
ms
pkts
pkts 
PocketOptimizer 1.1.1.32 26.Jan.2011

62

Technical Reference

 deg
deg
0
0
0.661
0.687
5.288
5.496
 48.22785 16.39859 21:03:26
0
1
0.639
0.626
5.112
5.008
 48.22786 16.39859 21:03:28
0
2
0.639
0.639
5.112
5.112
 48.22786 16.39859 21:03:28
...
;ras-setup-time:
3274 ms
;meas-time:
28711 ms
;ip-addresses:
192.168.1.61 10.248.40.80
;dl-pkt-count:
150
;dl-pkt-loss:
0
;dl-thput:
0.65 kB/s = 5.16 kbit/s
;dl-jitter:
37.8 ms
;dl-rtt:
139.7 ms
;ul-pkt-count:
150
;ul-pkt-loss:
0
;ul-thput:
0.65 kB/s = 5.16 kbit/s
;ul-jitter:
14.4 ms
;ul-rtt:
136.2 ms

128.6

148.3

16.3

30.0

0 

134.3

140.4

8.1

11.0

0 

136.6

138.1

10.8

13.1

0 

(PL) ~ 7.42

kbit/s (IP)

(PL) ~ 7.42

kbit/s (IP)

Additional log files containing the packets individual time stamps are automatically generated
according to the NDFA file format specification.

5.9 Metric mapping


If required, the default metrics can be mapped to different metrics or extensions. A mapping file can
be specified with the command line argument /mappingfile, otherwise the default file mapping.cfg in
the PocketOptimizer application directory is used if existing.

5.9.1 Mapping specification


The mapping file has to be a sectioned configuration file as shown in the next section. Comments are
started with the semicolon (;)
The PocketOptimizer mapping file can contain several sections for different measurement formats. A
default section can be defined with the name default. Every section can include one mfid parameter
and metric parameters as required.
Known measurement formats are:
PO.HTTP
PO.FTP.DL
PO.FTP.UL
PO.ICMP
PO.UDP
PO.RAS
The parameter mfid defines the target measurement format as reported in the QTS ticket. The
measurement format can be used by the dashboard or reporting tool to look up the correct metric
descriptions. If the parameter is not specified, the metric Id *.User will be used (where * is the
original metric format).
Text and numeric metrics can be remapped with the arguments x.nnnn and m.nnnn. Every metric can
be mapped to 0, 1 or several destination metrics. If no destination is specified, the metric is removed
from the ticket. In addition to x.nnnn and m.nnnn metrics, extensions can be specified with
e.<id>.<field> where id is the extension id (as defined in the QTS database table d_extensions) and
field is the column name in the QTS extension table.
Please note that it will not be possible to map text metrics to numeric metrics due to data conversion
problems and that the extension columns have to match the data in the ticket.

5.9.2 Sample mapping file


The content of a sample mapping file is:
[default]
; default mapping for all measurements
; the destination measurement format in the QTS ticket will be *.user (e.g. PO.HTTP.User)
; note: metrics can be mapped to no, one or several other metrics
mfid:
*.user
PocketOptimizer 1.1.1.32 26.Jan.2011

63

Technical Reference

m.5230:

m.5230,e.ext1.thput

[PO.RAS]
mfid:
m.2003:

PO.RAS.User
m.2003,e.ext2.min_rtt

PocketOptimizer 1.1.1.32 26.Jan.2011

64

Technical Reference

Contents
Introduction................................................................................................................................................1
1.1 What is PocketOptimizer......................................................................................................................1
1.2 Field of application ..............................................................................................................................1
1.3 Revision History ..................................................................................................................................2
1.4 Known limitations................................................................................................................................4
1.5 This manual........................................................................................................................................4
Installation .................................................................................................................................................5
2.1 System requirements...........................................................................................................................5
2.1.1 System requirements for PocketOptimizer Mobile Edition.................................................................5
2.1.2 System requirements for PocketOptimizer Win32 Edition .................................................................5
2.2 Removing previous installations ...........................................................................................................5
2.2.1 Removing PocketOptimizer Mobile Edition ......................................................................................5
2.2.2 Removing PocketOptimizer Win32 Edition.......................................................................................6
2.3 Installing PocketOptimizer ...................................................................................................................6
2.3.1 Installing PocketOptimizer Mobile Edition........................................................................................6
2.3.2 Installing PocketOptimizer Win32 Edition........................................................................................6
2.3.3 Additional Installation information..................................................................................................7
2.4 Registering PocketOptimizer ................................................................................................................7
2.4.1 Getting the Machine Id..................................................................................................................7
2.4.2 Automatic registration with license server.......................................................................................7
2.4.3 Manual registration with license server ...........................................................................................9
2.4.4 Manual registration with license utility (branded versions only) ........................................................9
2.5 Setting up the configuration.................................................................................................................9
2.5.1 Configuration file format.............................................................................................................. 10
2.5.2 Setting up a different server for synchronization ........................................................................... 10
2.5.3 Setting up directories .................................................................................................................. 10
2.5.4 GPS configuration ....................................................................................................................... 10
2.5.5 Sniffer configuration.................................................................................................................... 12
Operations Manual .................................................................................................................................... 13
3.1 PocketOptimizers main window ......................................................................................................... 13
3.1.1 User data and RAS configuration.................................................................................................. 13
3.1.2 Main menu functions................................................................................................................... 13
3.2 Interactive measurements ................................................................................................................. 14
3.2.1 HTTP measurements................................................................................................................... 14
3.2.2 FTP measurements ..................................................................................................................... 16
3.2.3 ICMP measurements ................................................................................................................... 17
3.2.4 UDP measurements .................................................................................................................... 19
3.2.5 Profile manager .......................................................................................................................... 20
3.3 Job measurements ............................................................................................................................ 21
3.3.1 Running Jobs.............................................................................................................................. 21
3.3.2 Creating jobs .............................................................................................................................. 21
3.4 Synchronization and reporting............................................................................................................ 21
3.4.1 Synchronization .......................................................................................................................... 22
3.4.2 Reporting ................................................................................................................................... 22
Administrators Manual .............................................................................................................................. 23
4.1 PocketOptimizer Registration Utility .................................................................................................... 23
4.2 Synchronization server reference ....................................................................................................... 24
4.2.1 HTTP server requirements ........................................................................................................... 24
4.2.2 Job configuration requirements.................................................................................................... 24
4.3 Reporting server reference ................................................................................................................ 24
Technical Reference .................................................................................................................................. 26
5.1 Configuration file reference................................................................................................................ 26
5.1.1 System configuration file ............................................................................................................. 26
5.1.2 User configuration file ................................................................................................................. 31
5.1.3 Machine configuration file............................................................................................................ 33
5.1.4 Registration info file .................................................................................................................... 35
PocketOptimizer 1.1.1.32 26.Jan.2011

65

Contents

5.1.5 Registration data file ................................................................................................................... 35


5.1.6 Location data file ........................................................................................................................ 35
5.2 Job file reference .............................................................................................................................. 35
5.2.1 Sample job file............................................................................................................................ 36
5.2.2 Allowed sections in the job file..................................................................................................... 36
5.2.3 Detailed parameter description for the job file .............................................................................. 36
5.2.4 Task parameters ......................................................................................................................... 38
5.3 Command line reference.................................................................................................................... 45
5.4 KPI and report reference ................................................................................................................... 46
5.4.1 Global RAS KPIs.......................................................................................................................... 46
5.4.2 Common Metrics and Texts for all measurements ......................................................................... 47
5.4.3 KPIs for HTTP measurements ...................................................................................................... 48
5.4.4 KPIs for FTP measurements......................................................................................................... 50
5.4.5 KPIs for ICMP measurements ...................................................................................................... 52
5.4.6 KPIs for UDP measurements........................................................................................................ 53
5.4.7 KPIs for TCP connections............................................................................................................. 55
5.4.8 Special metrics ........................................................................................................................... 56
5.5 Pocket PC packet sniffer reference ..................................................................................................... 56
5.5.1 Packet sniffer requirements ......................................................................................................... 56
5.5.2 Packet sniffer limitations.............................................................................................................. 56
5.5.3 Packet sniffer configuration ......................................................................................................... 56
5.6 Win32 edition packet sniffer reference................................................................................................ 57
5.6.1 Packet sniffer requirements ......................................................................................................... 57
5.6.2 Packet sniffer configuration ......................................................................................................... 57
5.6.3 Sniffer operation ......................................................................................................................... 58
5.7 TShark reference .............................................................................................................................. 58
5.7.1 TShark requirements................................................................................................................... 58
5.7.2 TShark operation ........................................................................................................................ 58
5.7.3 TCP stream analyzer operation .................................................................................................... 58
5.8 Log file reference .............................................................................................................................. 59
5.8.1 Log file basics ............................................................................................................................. 59
5.8.2 Job log files ................................................................................................................................ 59
5.8.3 HTTP log files ............................................................................................................................. 59
5.8.4 FTP log files................................................................................................................................ 60
5.8.5 ICMP log files ............................................................................................................................. 61
5.8.6 UDP log files ............................................................................................................................... 62
5.9 Metric mapping ................................................................................................................................. 63
5.9.1 Mapping specification .................................................................................................................. 63
5.9.2 Sample mapping file.................................................................................................................... 63
Contents................................................................................................................................................... 65

PocketOptimizer 1.1.1.32 26.Jan.2011

66

Contents