Native android VoIP support

The latest android version (2.3 Gingerbread) natively includes an implementation of a VoIP stack [1] [2].    It may or may not be included in the terminals depending on the manufacturer, but it is interesting to know the capabilities included and possible services to be deployed on top of them.

The android source code includes SIP and Voice support.  Basically you can find two components wrapped by a high level call oriented API [3]
  • Signalling: Managed library (Java) on top of standard NIST JAIN SIP stack
  • Voice: Native library (JNI) including the implementation of:
    • RTP
    • Codecs: G711, GSM, AMR (all narrowband codecs)
    • Echo suppression: according to the source code echo cancellation is too difficult to implement at this point
    • Fixed size jitter buffer
    • Device management for audio playing and recording

I'm not really sure if this kind of stack should be included in the OS or makes more sense to be included in each voice application deployed in the terminal (fostering innovation to increase the features and quality of these engines).  Anyway I'd love to see a higher quality voice engine integrated in android (perhaps based on Google GIPS adquisition [5]) although I can't imagine any incentive for Google to make it free instead of including the engine just in their products (gtalk, chrome, gvoice...).

[1] http://developer.android.com/sdk/android-2.3.html
[2] http://www.onsip.com/blog/leo/2010/12/06/google-announces-native-sip-internet-calling-with-gingerbread
[3] http://developer.android.com/guide/topics/network/sip.html
[4] http://www.onsip.com/blog/leo/2011/01/05/our-evaluation-of-android-gingerbreads-native-sip-calling-with-the-nexus-s
[5] http://www.google.com/intl/en/press/pressrel/ir_20100517.html

Comments

Popular posts from this blog

Bandwidth Estimation in WebRTC (and the new Sender Side BWE)

Controlling bandwidth usage in WebRTC (and how googSuspendBelowMinBitrate works)

Using DSCP for WebRTC packet marking and prioritization