Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PC-based Clients
Technical Paper
Prepared by:
Ascom Network Testing
Date:
5/6/2013
Document:
NT11-12850
Ascom (2013)
TEMS is a trademark of Ascom. All other trademarks are the property of their respective holders.
No part of this document may be reproduced in any form without the written permission of the copyright holder.
The contents of this document are subject to revision without notice due to continued progress in methodology, design and
manufacturing. Ascom shall have no liability for any error or damage of any kind resulting from the use of this document.
Contents
Ascom (2013)
Introduction ................................................................ 1
3.1
3.2
3.2.1
3.3
3.4
3.4.1
3.4.2
3.4.3
3.4.4
3.5
3.6
Troubleshooting....................................................... 11
4.1
4.2
Limitations ................................................................ 12
Appendices............................................................... 13
6.1
6.1.1
6.1.2
6.1.3
6.1.4
6.1.5
6.1.6
6.1.7
6.2
Document:
NT11-12850
Introduction
VoIP (Voice over IP) is an umbrella term for technologies that enable
delivery of voice calls and multimedia sessions over IP networks, such as
the Internet, rather than the public switched telephone network (PSTN).
The voice signal is digitized and encoded using audio codecs, just as in
circuit-switched cellular telephony, and then divided into IP packets for
transmission over the packet-switched network. On the receiving side
similar steps are applied in the reverse order to reproduce the original voice
stream: reception and decoding of IP packets followed by digital-to-analog
conversion.
The range of audio codecs used differs between VoIP implementations;
some implementations rely on narrowband and compressed speech, while
others support high fidelity stereo codecs.
VoIP systems employ session control protocols to control the setup and
teardown of calls. Examples of such protocols are:
H.323
Of these, SIP and RTP have gained particularly widespread use, and these
protocols also figure in the present document.
Ascom (2013)
Document:
NT11-12850
1(16)
3.1
Physical Configuration
Callee
side
Caller
side
VoIP
server
VoIP
client
Mobile phones
VoIP
client
Two TEMS Investigation licenses are thus also required, as well as a special
license option for VoIP.
Ascom (2013)
Document:
NT11-12850
2(16)
3.2
Scripting
Two scripts are needed in TEMS Investigation, one for the caller and one
for the callee. Predefined snippets, VoIP PC Dial and VoIP PC Answer,
are supplied with TEMS Investigation for this purpose.
It is worth underlining that the timing between caller and callee is essential.
The callee must be registered with the SIP server and finish its
preparations for answering before the caller dials the call. See step
below.
VoIP PC Dial snippet
Screenshots of VoIP PC Dial snippet (left) and VoIP PC Answer snippet (right) as
displayed in the TEMS Investigation Service Control Designer. The numbering refers
to the step-by-step description that follows below.
Ascom (2013)
Document:
NT11-12850
3(16)
Network Connect
First, both parties need to have an active data session. This is done in
TEMS Investigation through the Network Connect activity.
SIP Registration
Before a VoIP call can begin, both caller and callee must register with the
SIP server to be used for VoIP. The SIP Register activity is used for this
purpose. Here you indicate the IP address or host name of the server to
use. If no special domain needs to be chosen, enter the server address
under Domain, and leave Proxy empty. If on the other hand you need to
specify a domain within the server, enter the server address in the Proxy
field and the domain in the Domain field. You also specify the user and
password the client should use when registering.
Answer
The callee must be ready to answer before the caller can initiate a call. To
this end the callee executes the script activity Answer with Call Type set to
VoIP PC. In this activity you select the audio codec and encoding rate the
callee should use. The callee will communicate these settings to the caller,
so that the parties agree on the same codec and rate.
To ensure that the callee has reached Answer before the caller dials the
call, you should insert a wait period in the callers script. See section 3.2.1.
This detail has been left out of the above diagram to keep things
straightforward.
Dial
The caller initiates the call by running the activity Dial, again with Call Type
set to VoIP PC. In this activity you indicate the codec the caller should
use, which must be the same as the callees designated codec (Answer
activity, see step ). You also specify the codec rate and the phone
number to call.
Ascom (2013)
Document:
NT11-12850
4(16)
Hangup
One of the parties (the one with the duration of the Voice Quality activity
set lower) hangs up the call. This is to ensure that the party hanging up has
the time to do so before the other party unregisters; otherwise the hangup
will fail. This is done through the Hang Up activity (Call Type = VoIP PC).
In the above diagram, the caller performs the hangup.
SIP Unregister
Both sides unregister from the SIP server. This is done using the SIP
Unregister activity.
Network Disconnect
Finally the data session is terminated as each party performs a Network
Disconnect. If the snippet is executed in a loop, this activity is necessary to
force a disconnect from the network after each VoIP call (desirable for the
purpose of KPI calculation).
3.2.1
Tips on Scripting
The above description covered the key steps in conducting a VoIP call. In
practice, the scripts should be made slightly more sophisticated.
Suggested setup:
On both sides, run all activities within a while loop. Add an extra Wait
activity as the last item in each loop, with the callers wait period longer
than the callees, to make sure the callee is ready and waiting for the
call when the caller dials. Suggested wait durations are 30 s for the
caller and 10 s for the callee. Compare step in section 3.2 above.
To ensure that the timing becomes right for the first VoIP call, start the
script on the callee side first, then the caller script.
If the parties are not in sync, that is, if the callee is not registered when the
caller places the call, then the caller will generate an MTSI Session Setup
Failure event (see section 3.4.3).
Ascom (2013)
Document:
NT11-12850
5(16)
Caller
Callee
Use of while loops with VoIP scripting: caller (left) and callee (right).
Ascom (2013)
Document:
NT11-12850
6(16)
3.3
The Voice Quality script activity has an Algorithm parameter where the
following choices can be made:
PESQ P862.1
Non-intrusive
PESQ and POLQA are industry standard algorithms for assessing voice
quality as perceived by a human listener, POLQA being a refinement of the
older PESQ algorithm. Their output is a value on the MOS scale ranging
from 1 (worst) to 5 (best). The score obtained is a function of the radio
environment, of the speech codec and codec rate used, and of other
factors. Both algorithms are dealt with at length in the document AQM in
TEMS Products (Including PESQ and POLQA).
Each of the two algorithms requires the purchase of a special license option
to be enabled in TEMS Investigation. Even without PESQ and POLQA,
however, a more basic estimate of voice quality is obtained in the form of
the quantity VoIP FER Combined Packet Loss (see section 3.4.1.3), which
is always computed. This is the meaning of the term Non-intrusive.
Note that both uplink and downlink must use the same voice quality
algorithm. It is not possible to use PESQ on one link and POLQA on the
other, even if you possess license options for both.
3.4
Output
3.4.1
All of these are found in the Data information element category in TEMS
Investigation unless otherwise noted.
3.4.1.1 Jitter
VoIP RFC 1889 Jitter (ms)
Packet jitter or delay variation as defined in IETF RFC 1889, section 6.3.1:
An estimate of the statistical variance of the RTP data packet interarrival
time [...] The interarrival jitter is defined to be the mean deviation
(smoothed absolute value) of the difference in packet spacing at the
receiver compared to the sender for a pair of packets. As shown in the
equation below, this is equivalent to the difference in the relative transit
time for the two packets [...].
If is the RTP timestamp from packet , and is the time of arrival in
RTP timestamp units for packet , then for two packets and , may be
expressed as
Ascom (2013)
Document:
NT11-12850
7(16)
The quantity is what is output in the VoIP RFC 1889 Jitter information
element. The latter is updated once every second.
3.4.1.2 Jitter Buffer
A jitter buffer is used to mitigate the effects of packet jitter. The jitter buffer
holds the received voice packets briefly, reorders them if necessary, and
then plays them out at evenly spaced intervals to the decoder.
These elements are updated once every second.
Ascom (2013)
Document:
NT11-12850
8(16)
In the real time presentation, the PESQ and POLQA scores appear the
moment they have been computed. When loading a logfile for analysis, on
the other hand, the PESQ and POLQA scores are moved backward in time
to the point when the corresponding speech sentence was received by the
VoIP client. That is, sentences are aligned in time with their quality scores.
This is not much of an issue for PESQ, which takes only a fraction of a
second to compute, but it can be for POLQA, whose computation may
Ascom (2013)
Document:
NT11-12850
9(16)
require several seconds (the worse the degradation of the signal, the more
complex POLQA is to evaluate).
3.4.2
3.4.3
VoIP Events
TEMS Investigation also generates the following VoIP events, which are
unrelated to KPI computation:
VoIP Start
VoIP End
VoIP Error
3.4.4
Ascom (2013)
Document:
NT11-12850
10(16)
3.5
VoIP Quality Line Chart tracking VoIP PESQ/POLQA scores and VoIP
FER Combined Packet Loss, also indicating MTSI events
3.6
The VoIP function in TEMS Investigation has been tested with TekSIP, a
SIP Registrar and SIP Proxy for Windows (www.teksip.com), as well as
with an Ericsson IMS server.
Ascom (2013)
Troubleshooting
4.1
Check that caller and callee are synchronized, that is, that the callee
reaches Answer before the caller begins Dial. See section 3.2, step 3,
and section 3.2.1.
In the Data Reports message window, look into the VoIP Error
Message category.
Document:
NT11-12850
11(16)
If any other ports than SIP port 5060 and RTP port 4000 are used on
the SIP server, the corresponding settings have to be changed in the
file <TEMS Investigation install dir>\Application\Configuration\
Investigation.Voip.config.
If SIP response code 422 (Session interval too small) is received, set
DisableTimers="false" in the same file.
4.2
Ascom (2013)
Limitations
You cannot have any other internet connections in parallel while running
VoIP measurements. That is, the PCs cannot be connected to any
further IP addresses, whether through other external devices, through
an Ethernet cable, or by other means. All network interfaces except
the testing devices, both fixed and wireless, must be disabled. It is
however possible to make CS voice calls with devices connected to the
PCs.
Document:
NT11-12850
12(16)
Appendices
6.1
6.1.1
Informational Responses
100
Trying
180
Ringing
181
182
Queued
183
Session progress
6.1.2
Successful Responses
200
OK
202
Accepted
Indicates that the request has been understood but actually cannot
be processed
6.1.3
Redirection Responses
300
Multiple choices
301
Moved permanently
302
Moved temporarily
305
Use proxy
380
Alternative service
6.1.4
400
Bad request
401
Unauthorized
Used only by registrars or user agents. Proxies should use proxy
authorization 407
402
Payment required
Reserved for future use
403
Forbidden
404
Not found
User not found
Ascom (2013)
405
406
Not acceptable
407
Document:
NT11-12850
13(16)
408
Request timeout
Could not find the user in time
409
Conflict
410
Gone
The user existed once, but is no longer available here
412
413
414
415
416
417
420
Bad extension
Bad SIP protocol extension used, not understood by the server
421
Extension required
422
423
424
428
429
433
Anonymity disallowed
436
437
Unsupported certificate
438
480
Temporarily unavailable
481
482
Loop detected
483
484
Address incomplete
485
Ambiguous
486
Busy here
487
Request terminated
488
489
Bad event
491
Request pending
493
Undecipherable
Could not decrypt S/MIME body part
494
Ascom (2013)
Document:
NT11-12850
14(16)
6.1.5
500
501
Not implemented
The SIP request method is not implemented here
502
Bad gateway
503
Service unavailable
504
Server timeout
505
513
580
Precondition failure
6.1.6
600
Busy everywhere
603
Decline
604
606
Not acceptable
6.1.7
Ascom (2013)
Extended Codes
701
702
703
704
705
706
751
810
811
812
813
814
815
922
923
Document:
NT11-12850
15(16)
924
925
URL error
6.2
Ascom (2013)
Abbreviations
AMR-NB
AMR-WB
BLER
CQI
FER
IMS
IP Multimedia Subsystem
IP
Internet Protocol
KPI
LTE
MAC
MOS
MTSI
PDSCH
PESQ
POLQA
PSTN
RAN
RSRP
RTP
SIP
VoIP
Voice over IP
Document:
NT11-12850
16(16)