Quality analyzer module

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Created page with " This is a module designed to check the quality of the digital audio path of a call. It works by analyzing if a probe signal generated by the tonegen module is received al...")

Revision as of 14:42, 19 October 2012

This is a module designed to check the quality of the digital audio path of a call. It works by analyzing if a probe signal generated by the tonegen module is received altered.

The problems that can be detected are gaps (interruptions), cracks, stutter and short audio loops. The reported quality is not related to the subjective voice quality factor.

The audio path under test must be digital and use only the G.711 companders. An analog segment or a different codec will probably make the test fail.

How it works

The probe signal is the tone/probe generated by tonegen consisting of an 125Hz sine wave added with a 2kHz sine wave. The low frequency tone makes the signal sensitive to disruptions of the order of typical VoIP packetization (20 or 30ms) while the high frequency tone tries to catch problems with resamplers, codecs and analog segments.

The receiver side in the analyzer module itself computes the spectrum of the probe signal after it passes the audio path. The percentage of packets that match the expected 2 peaks spectrum is reported as the quality of the call.

The number and total length of discontinuities in the timestamps of the received data are also counted. These can be detected only on VoIP calls since in PSTN the timestamp information is not present (the network is supposed to be synchronized to a single clock source).

Usage

The probe calls can be made in two modes:

  • Call from analyzer to a remote digital echo device
  • Call to a remote Yate providing analyzer module

The second way should be used if possible as it detects problems separately on each direction.

Examples

For a call made from rmanager:

output on
call analyzer/probe 1234567
 ... wait ...
status analyzer/1
 ... wait ...
drop analyzer/1


The end reports displayed on screen and written to logs will look like:

Finished 'analyzer/1' status: dropped,routetime=0.011,answertime=0.102,totaltime=14.019,
gaps=0,gaplen=0,samples=111840,rate=8006,quality=100.00
...
Finished 'analyzer/2' status: dropped,routetime=0.007,answertime=0.217,totaltime=27.913,gaps=2,
gaplen=320,samples=221600,rate=8001,quality=97.978


If the remote echo device is another Yate server it can have the following line in regexroute.conf:

$1234567$=conf/probe-${id};smart=no;echo=yes

If the remote runs another Yate analyzer use in regexroute.conf:

$1234567$=analyzer/probe
Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers