Scripting - Nemo - Outdoor
Scripting - Nemo - Outdoor
The script file is an ASCII file containing the list of numbers that are to be called. The
extension for script files is .nsfx or .nsf (old script format). You can edit the Script file
configuration in the Script Editor dialog. When editing scripts, it is possible to have several
Script Editor dialogs open and to copy and paste commands from one script to another.
You can access this dialog by selecting Measurement | Script Editor (Ctrl+E). Click Open
and select one of the example scripts.
The Script view at the top shows a list of all functions and parameters in the current script. The
same functions are displayed in a graphical format in the Visualizer view. If you select an item
in either view, the corresponding item will be selected in both views. Double-click an item to
edit the settings.
Drag and drop commands to the Script view from the menu on the right. Selecting an item may
open a dialog where you need to define some parameters and settings. See earlier chapters
for more detailed information on the dialogs. You can rearrange the script items by drag and
drop or by holding down the Ctrl key and moving the command with the arrow keys.
Insert Script can be used to insert the contents of another script file into the current script.
Repeat Script value defines how many times the script will be repeated during the
measurements. The range of repeat script values is from 1 to 10,000.
When the Use device settings for script commands option is selected, the settings that
have been configured in the Measurement Properties dialog are used for the script settings.
For example, if you have defined a Voice number in the Measurement Properties –
Configuration dialog, that number is used when you add a voice call in the script and the Voice
Call Settings dialog does not appear.
287
Nemo Outdoor User Guide
New clears the entry fields for inserting new script values.
Open opens a dialog for selecting an existing script file to be modified or reviewed.
Save saves the file with the existing name or if the script is a new one, opens a dialog for
inserting the file name.
Close exits the dialog.
For example, a data transfer can be canceled if the serving system changes, instead of waiting
for its completion. It is also possible to set a time duration for data transfers. If a data transfer
is not completed during a user-defined time, the Nemo Outdoor application will abort the data
transfer automatically. Please note that in this case the data disconnection status is written as
Normal data disconnect.
288
Nemo Outdoor User Guide
The forced stop command, e.g., with voice calls, can be used in conjunction with conditional or
wait commands as well. For example, if a call should be stopped when the system changes
from GSM to UMTS, the forced stop command can be used to end the call immediately after
the system changes. In the example below, the voice call is started only when the serving
system is GSM. Call duration is set to 120 seconds. It should be noted that the actual call
duration is set with line three, Wait until system is UMTS but at most 120s. After the call is
connected, the script starts waiting for the system to be changed to UMTS, or at most 120
seconds. The call is ended with End a voice call (forced) with line 4 after 120 seconds, or
when system changes to UMTS; whichever comes first.
Figure 1. GSM voice call example. Voice call is started only in GSM and aborted when system
changes to UMTS.
289
Nemo Outdoor User Guide
Call duration determines the time that the call lasts in seconds. The duration timer is started
from the channel assignment. The range of duration values is from 1 to 1,000,000 seconds.
Note that the maximum value of this parameter is the same as the value you have set as
the Delay Between Call Attempts parameter.
Call reception timeout value determines the maximum duration of the call reception attempt. If
the value is exceeded before the cellular system has assigned a traffic channel, the call
reception attempt will be stopped and the attempt will be marked as a failure. The range of the
Call Reception Timeout value is from 5 to 60 seconds. The value is recommended to be at
least 10 seconds.
Select the Enable Nemo Server connection option to enable incoming calls from Nemo Server.
Nemo Server Settings button opens the HTTPS Options dialog where you can define
connection settings.
Network interface defines the network interface used in E2E requests.
Own number defines the device’s phone number.
Server line defines the Nemo Server phone number.
Select the Enable Voice quality option to activate the voice quality settings. Note that the voice
quality settings are available only if your license supports voice quality measurements.
290
Nemo Outdoor User Guide
Reference sample filename defines the reference sample to which the received audio sample
is compared. If you want to use your own test samples, make sure that the samples are of
8KHz sampling rate, 16-bit linear coded .wav files that are no longer than six seconds in
length. With the Terratec sound card, sampling rate can be 8kHz or 16 kHz (for WB-AMR
testing) and sample length a maximum of 30 seconds. For ECHO measurements, use one of
the following samples: 10s.wav, 4s_m.wav, 8s.wav, ru_6s.wav, and ru_6s_wb.wav.
Select the Save sample files option to save the received voice quality sample files.
Prefix for received sample files refers to the prefix that is added to the file names of received
audio sample files. If you leave this field empty, the received audio files are not stored. When a
prefix is defined, Nemo Outdoor names the files as follows: prefix_mos_date_time.wav where
prefix is the user-defined prefix, mos the voice quality score on a MOS scale with one decimal
precision but without decimal point, date in DDMMYYYY format, and time in HHMMSS format.
For example: terminal1_34_15112004_143045.wav.
Save only samples below threshold determines the value below which the samples are saved.
The threshold values range from 0-5, 0 being the worst and 5 the best value. The default
threshold value is 5, which means that all samples are saved.
Note that the Script Settings table is activated only if you access this dialog through
the Script Editor.
Note that with voice quality measurements when calling the Nemo audio server, the
delay time between a new call attempt and the previous call disconnect must be at
least 10 seconds.
291
Nemo Outdoor User Guide
With the Wait Fixed time and Random time options you can define a fixed wait time (in ms) or
a random time (define the minimum and maximum values in ms) and then select one of the
following:
• Current time: wait (fixed or random) is added between items in the script.
• Last notification: wait (fixed or random) is added after the selected notification. Select
the notification from the drop-down menu. For example, you can make the script
pause for 60 seconds after a call attempt event. This will prevent the script from
continuing before the call attempt has completed. Note that also custom-made
notifications can be selected here.
With the Until the time is option you can define a point in time after which the script continues.
With the For all scripts to be synchronized option you can place multiple synchronization points
inside the script file. Nemo Outdoor’s script group functionality enables you to synchronize the
script files and/or certain lines in the script file for certain devices. Both synchronization
methods can be used together or separately depending on needs of the user.
In the example below both devices are doing PS data transfers. The idea is to start FTP
download simultaneously. Script files for both devices are identical except that IP address is
different. Wait for script synchronization command has been selected for both devices in the
Wait settings dialog. The Wait for script synchronization is seen on line two for both devices.
292
Nemo Outdoor User Guide
Both devices have been assigned for the same script group called “PS data”.
Script groups are useful especially if certain devices and when script files are needed to be
synchronized. In this example, it is not necessary to use the script group. As many
synchronization points as needed can be added to the script files. It should be noted that the
number of synchronization points between script files used in the same script group should be
equal.
The Time synchronization point command provides accurate time synchronization on both A-
and B-sides with multiple devices should be used when a certain command must be executed
exactly after an elapsed time (t=0) with more than one device. Each time the script runs into a
time synchronization point, it checks the elapsed time from the previous time synchronization
point and waits until the wait time condition is met. This way the script engine keeps the
original reference time point of (t=0) regardless of script iteration in order to prevent time from
drifting. For example, the end-to-end voice call script commands below are repeated three
times:
1. Make call (duration=30 sec)
2. End call
3. Wait (time synchronization point 60 sec)
4. Receive call (timeout=45 sec)
5. Wait (time synchronization point 90 sec)
Round #1:
Time synchronization point #1: Check if (60) secs have been elapsed since (t=0)
Time synchronization point #2: Check if (60+90) secs have been elapsed since (t=0)
Round #2:
Time synchronization point #1: Check if (60+90+60) secs have been elapsed since (t=0)
Time synchronization point #2: Check if (60+90+60+90) secs have been elapsed since (t=0)
293
Nemo Outdoor User Guide
Round #3:
Time synchronization point #1: Check if (60+90+60+90+60) secs have been elapsed since
(t=0)
Time synchronization point #2: Check if (60+90+60+90+60+90) secs have been elapsed since
(t=0)
294
Nemo Outdoor User Guide
295
Nemo Outdoor User Guide
With the Until custom condition is met option you can make the script wait for a custom
condition. Click the Edit Rules button to access the Wait Custom Condition dialog where
you can define a wait condition. For example, you can define a specific parameter value.
Until current system is: script file continues only when the system selected from the drop-down
menu is in use.
Until next notification is met: script waits for the selected event notification to appear. Select
the notification from the drop-down menu. For example, you can make the script wait until the
system changes from GSM to UMTS.
But at most value is the maximum wait time in ms if the defined notification does not appear.
296
Nemo Outdoor User Guide
Next, add commands to the script and drag and drop them to their appropriate places. In the
following example script, Serving sys.=5 on the fourth row in the Parameters field indicates
the criteria that were set earlier. If the criteria are met, the commands between the If
Condition and End If commands will be performed.
297
Nemo Outdoor User Guide
6.23.4.2 Loops
You can add loops in the script files. Select Advanced | Loop/End Loop to enter the Loop
Settings dialog.
298
Nemo Outdoor User Guide
In the example below the script is set to start and continue making calls only when and as long
as the call is connected to UMTS. As soon as there is a handover from UMTS to GSM, the call
stops.
299
Nemo Outdoor User Guide
Below is an example of a script with both a timer and a counter. On row three there is a loop
command with a counter condition called GSM calls and a timer condition called Duration. The
loop is configured to repeat a voice call until one of the following conditions is met: number of
calls in a GSM system is five or the loop has been running for 600 seconds.
6. After the script is finished, you can stop the recording by clicking the Stop button in
the Home tab.
300
Nemo Outdoor User Guide
Go to the Settings tab in the Nemo Outdoor ribbon bar and select Call Sequence Server
Settings to define settings for the server connection. Please refer to chapter Nemo Server
settings for more information.
After defining the server settings, go to the Settings tab in the Nemo Outdoor ribbon bar and
select Call Sequence Editor.
301
Nemo Outdoor User Guide
In the Call Sequences dialog, click Add to create a new call sequence. Type a name for the
call sequence and start defining the settings.
302
Nemo Outdoor User Guide
• Prefix for received sample files defines a prefix for the received VQ sample. Nemo
Outdoor names the files as follows: prefix_device extension mos_date_time.wav
where prefix is the user-defined prefix, device extension the order number of the
device, mos the voice quality score on a MOS scale with one decimal precision but
without decimal point, date in DDMMYYYY format, and time in HHMMSS format. For
example: VQ sample_1_34_15112004_143045.wav
• Save samples below threshold determines the value below which the samples are
saved. The threshold values range from 0-5, 0 being the worst and 5 the best value.
The default threshold value is 5, which means that all samples are saved.
The Overall sequence duration field at the bottom of the dialog displays the total duration of all
calls, wait times, and repeats in this sequence. It also includes some extra time to allow for
delays, for example, in the call setup and call teardown.
This feature requires Nemo Server version 5.x or higher. Please refer to the Nemo
Server User Guide for setting up the measurements at the server end.
303
Nemo Outdoor User Guide
2. Define the phone number of the device that is originating the calls.
If you are running measurements with multiple devices, note that you need to define
an individual phone number for each device even if you are using the same call
sequence.
3. Click the Start Script button. Nemo Outdoor will start running the measurement
according to the call sequence. Note that if you have selected the Start Scripts
Automatically option in the User Interface Properties – General dialog, Nemo
Outdoor will start running the script when you click the Start Recording button.
4. The program will now conduct the measurements as defined in the call sequence.
5. During measurements, you can stop and start the script for each measurement device
individually while the other devices will continue running their scripts. Select a device
and click the Start/stop script state for selected devices button in the Devices
view. You can then control the device manually.
Please note that if you manually abort a sequence before it is finished, call attempt
statistics will not be accurate. Also note in post-processing that in such cases, the stop
script result will be marked as user abort.
When the measurements are aborted at the field end and then restarted, a new B-file
is opened and the previous one is closed properly.
6. You can monitor the call sequence status in the Script status view.
7. After the call sequence is finished, you can stop the recording by clicking the Stop
button in the Home tab.
304
Nemo Outdoor User Guide
Scheduled measurements displays a list of measurements that will be run when the
measurement list is started. Each measurement will be recorded in its own file. Click Add New
to add new measurements and Remove to delete selected measurements from the list.
Filename defines the filename format. The default format is %y%b%d %H%M%S (year-month-
day hours-minutes-seconds, e.g., 06May31 165246) but you can use any combination of the
items below. For example, "%y%b%d_%n means that the filename looks as follows:
06May31_1. The last number (%n) is the sequence number for measurement files recorded
that day.
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%d Day of month as decimal number (01 – 31)
%H Hour in 24-hour format (00 – 23)
%I Hour in 12-hour format (01 – 12)
%j Day of year as decimal number (001 – 366)
%m Month as decimal number (01 – 12)
%M Minute as decimal number (00 – 59)
%n Sequence number (1 – )
305
Nemo Outdoor User Guide
%N Sequence number (1 – )
%p Current locale's A.M./P.M. indicator for 12-hour clock
%S Second as decimal number (00 – 59)
%U Week of year as decimal number, with Sunday as first
day of week (00 – 53)
%w Weekday as decimal number (0 – 6; Sunday is 0)
%W Week of year as decimal number, with Monday as first
day of week (00 – 53)
%y Year without century, as decimal number (00 – 99)
%Y Year with century, as decimal number
%z Either the time zone name or time zone abbreviation,
depending on registry settings; no characters if time zone
is unknown
%Z Either the time zone name or time zone abbreviation,
depending on registry settings; no characters if time zone
is unknown
Measurement areas are used to define geographical areas where measurement lists are
paused or allowed to run. See chapter Measurement areas for more detailed information on
creating measurement areas.
Measurement start-up defines a certain time when a measurement is started.
Measurement completion defines when the measurement list is finished.
Select the When all scripts are completed option to finish once all scripts have finished
running.
Select the After recording duration option to finish after recording has been going on for a
certain period of time. Define the time in hours and minutes (hh:mm).
Select the At measurement size option to finish when the total size of the measurement files
reaches a certain limit. Define the size in kilobits (KB).
Select the Save statistics to file option to enable the CSV file writing.
306
Nemo Outdoor User Guide
Select the Send measurement results to server option to automatically upload the log files to a
server. The files are uploaded in the background and you can monitor the upload status from
the File Transfer Status view (select View – File Transfer Status).
307
Nemo Outdoor User Guide
To load a measurement list from an FTP server, select Load | From FTP Server. If you have
not defined any FTP server settings, the list will be empty. When FTP server settings are
defined, a list of exported measurement list files will appear. Select a file and click Open.
308
Nemo Outdoor User Guide
Measurement areas are used to define geographical areas where measurements are paused
(blocked areas) or allowed to run (trigger areas). Blocked areas are represented as red
rectangles or polygons and trigger areas are green rectangles or polygons.
To draw and area on the map, select the correct tool for a trigger area or a blocked area and
draw the points on the map. To finish drawing, double-click the last point. The areas can be
modified with the arrow tool by selecting a point along the edge of the area and clicking on the
new location.
A list of all defined trigger and blocked areas is displayed on the right-hand side of the dialog.
You can remove areas by clicking the X next to the area name.
The pause logic and areas work as follows:
• If only trigger areas are defined, measurement is allowed in the trigger areas and other
areas are considered to be blocked, i.e. measurement is not allowed. In the example
below, measurements will be run when the test vehicle is in the green areas.
Otherwise measurements will be paused.
309
Nemo Outdoor User Guide
• If only blocked areas are defined, measurement is not allowed in the blocked areas
and other areas are considered to be trigger areas, i.e. measurement is allowed. In the
example below, measurements will be paused when the test vehicle is in the red
areas. Otherwise measurements will be run normally.
310
Nemo Outdoor User Guide
• If blocked and trigger areas overlap, blocked areas outweigh the trigger areas. In the
example below, measurements will be run when the test vehicle is in the green areas.
Otherwise measurements will be paused.
It is also possible to define trigger and blocked areas with Nemo Cloud. The areas will be used
when Nemo Outdoor is in remote mode and a measurement project with trigger and blocked
areas is loaded in Nemo Outdoor.
The areas appear in Nemo Outdoor as layers on a map when the measurement session is
activated.
311
Nemo Outdoor User Guide
To learn how to create measurement areas in Nemo Cloud, please refer to the Nemo Cloud
user guide.
312
Nemo Outdoor User Guide
1. When you have connected the measurement device, select the device and click the
Measurement settings button in the Devices view and select Channel Locking.
2. The table displays a list of channels that are currently visible to the device. Click the
Refresh button to update the list.
313
Nemo Outdoor User Guide
3. Select the system and channel number and/or scrambling code within the given limits
(it must be a valid channel/scrambling code number) and click the Lock button. You
can also select a channel from the table. The button will remain pushed down
indicating that channel lock is activated. A red indicator will appear in the Device
Status view when a lock is activated.
4. Click the Unlock button in the Forcing Functions | Channel Locking dialog to
release the channel lock or select a new channel.
Choose the band(s) or system(s) from the list and click the Lock button. This will lock the
mobile to the band/system you have chosen. Click Close to exit the dialog.
314