SIP audio latency on the native Android SIP client vs Linphone

Why?

Using a Mobile phone as a SIP client is potentially hugely useful, since the level of integration with the PBX is far greater than if the call is just forwarded over the GSM network.

How?

There may be options to use SIP over 3G or 4G, but I'm only looking at Wireless (802.11g) as a transport.

Android includes SIP as an option, but on my Samsung Galaxy S3 the latency makes this unusable.  This web page critically examines latency on the S3 with both the native Android SIP implementation and that of LinPhone.

End to end audio latency is not the same as packet latency, it includes delays from transcoding, jitter buffers and response generation and is a more realistic view of how responsive an interactive conversation will be.

According to http://en.wikipedia.org/wiki/Latency_(audio) a latency figure of 150 / 200ms is toward the high end of acceptable.

To measure:-

  1. Start a recording using a microphone at the "local" end.  This should be placed at as closely to the handset's spreaker as possible.  There will be an additional latency of only 0.03ms with each 10mm apart, so this isn't likely to be an issue.
  2. Android handset is connected via wireless, this adds latency of 0.7ms, so also not relevant.
  3. Make an echo test call [ Echo() ].
  4. Place the call on speaker and (say) flick the handset to create a brief, but explosive click.
  5. The time between the initial click and the echo'd click can be measured if the recording is loaded into (say) Audacity as below:-

Android Native SIP Client Latency on Galaxy S3

The Linphone implementation makes my Galaxy S3 a viable SIP client.

The mouth-to-ear delay/latency can be calculated accurately and unambiguously from the data presented visually on this page.

  • Native Android (on wireless LAN) :
    0.59-0.02 = 570ms
  • Linphone (on wireless LAN) :
    0.28-0.02 = 260ms

For comparison (on wired ethernet)

  • Digium D50 : 100ms
  • SNOM 320 : 80ms

All these measurements were obtained using the same test method with the same backend, the same codecs and were conducted under the same network conditions and are thus comparible.  Absolute values may vary in other tests.

By comparison skype latency is quoted at 96ms - 140ms (best figure is from http://web.cs.wpi.edu/~rek/Adv_Nets/Fall2009/Skype.pdf) - this is not measured under the same conditions as my tests. Notional comparison only.