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:-
- 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.
- Android handset is connected via wireless, this adds latency of 0.7ms, so also not relevant.
- Make an echo test call [ Echo() ].
- Place the call on speaker and (say) flick the handset to create a brief, but explosive click.
- The time between the initial click and the echo'd click can be measured if the recording is loaded into (say) Audacity as below:-
The Linphone implementation makes my Galaxy S3 a viable SIP client.