TASSTA Documentation Center TASSTA Documentation Center More products
Hide table of contents Hide details Search My account

T.Flex Android field test results

The following tests were conducted a few years ago with two LGE LG 4 devices running Android 6.0. Version 3.1.91 of T.Flex Android was used. The app connected to a cloud server hosted in Germany.

Both devices were connected to a WLAN, which went to an ADSL line provider in Germany.

During the tests, tcpdump output was collected from the T.Lion server and the two Android devices (labeled lg1 and lg2).

Time was synchronized programmatically to an atomic clock available on the Internet. This ensured that the measured time had minimal deviation between the devices.

The tcpdump output was used for tracking specific UDP packets sent from one device to other through the server. Registration time per host was calculated from the dumps.

Data for lg1:

  • Registration time: 1478005795.88092
  • Offset: -0.029000
  • Absolute time: 1478005795.909920

Data for lg2:

  • Registration time: 1478005796.93129
  • Offset: 0.982000
  • Absolute time: 1478005795.949290

The difference means UDP latency: 0.0393698215485 = 39.369ms

The minimum PTT response needs to be considered. TCP signalling: 39.369ms (Wi-Fi)

Codec encryption round trip: 5.018ms.

Voice latency for the LGE LG 4 device: 16ms.

Touch latency: 54ms, disregarding voice.

With buffering, the following delays are added:

  • Sample buffer: 60ms
  • Default jitter buffer: 7 * 60ms - (sample buffer) = 360ms

As a result, with default buffering the total latency from microphone to speaker (Wi-Fi signalling time taken into account):

Parameter Latency (ms)
UDP 40
Codec encryption x2 5
Device latency 16
Jitter buffer 360

Using Bluetooth audio will add at least 100ms to the latency.

Wi-Fi will also add latency, which is highly variable, depends on the implementation and needs to be measured on site.

Networking conditions can bring ranges from 40ms to several seconds.

The following figures provide details of how the latencies are spread.

No jitter buffer, no sample buffer

No jitter buffer

Jitter buffer and sample buffer

No jitter buffer