Showing posts from 2011

Dissecting a VoIP application

Dissecting a VoIP Application on Prezi

SIP battery consumption in smartphones

I was wondering what is the effect of sending continuos SIP registrations in the smartphones battery duration, to compare that solution (SIP register and proxy) with an Apple Push Notification alternative. From my point of view, SIP registrations should be very expensive specially in NAT environments where typical SIP REGISTER expiration time is in the 30secs-2mins range to avoid expiration of mappings in the routers handling the NAT. I did a quick test with a new iPhone 4 (without any background application) and the battery level at 100%. 12 hours without SIP registrations -> battery level 98% 12 hours with SIP registrations every 60 secs-> battery level 70% Note: The SIP registrar was an asterisk with peers qualifying activated.  Disabling that feature should reduce a bit the battery consumption. UPDATE: The tests are done using Wifi connectivity (in fact the iPhone is running without SIM). I repeated the tests during 24 hours and disabling the asterisk peer quali

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