NAME

umts-dialer.pl - A GSM/UMTS mass dialing tool


SYNOPSIS

umts-dialer.pl [options] <number>


DESCRIPTION

A recurrent task in terminal testing is to produce Key Performance Indicators (KPI), that is to say measurements of how well the terminal performs. This is usually achieved through drive tests, which means making a large number of calls to an answering machine from one or more terminals placed in vehicle and measuring the number of call setup failures and call drops.

The umts-dialer.pl script provides a means of performing such drive tests in an automatic fashion as it is capable of mass call dialing, detecting call setup success or failure, monitoring call drops and producing the statistics of the run.


CALL MONITORING MECHANICS

A call can be broken down into the following steps:

dial call

Issue the ATDxxxx; to dial an number and examine the reply of the ATD command, OK means success, anything else is a call setup failure.

check call setup

The terminal is periodically polled by looking either at the list of current calls (AT+CLCC) or the phone activity status (AT+CPAS) until it finishes dialing and alerting. The possible outcomes are either we have an active call, in which case we have a successful call setup, or we have no active calls in which case we have a call setup failure.

monitor call

The terminal is periodically polled by looking either at the list of current calls (AT+CLCC) or the phone activity status (AT+CPAS) for a specified call duration and we check we still have an active call. If this is not the case, we have a dropped call and we sleep until the end of the expected call time.

hangup call

Issue the ATH command to hangup the terminal.


OPTIONS

 Common options:
  -d          debugging mode
  -h          display this help message
  -p<port>    terminal is connected to serial port <port>
              e.g. '\\.\COM12', '/dev/usb/acm/0'
  -z          use dummy terminal
 
 Options:
  -c<calls>   make <calls> calls (default : 1000)
  -l<prefix   write log to <prefix>_log.txt and
              write results to <prefix>_results.txt
  -t<time>    make <time> second calls (default: 120s)
  -v          make video calls
  -w<wait>    wait for <wait> seconds between calls (default: 60s)