Multitasking on Androïd is not exactly the same as we can have on a personal computer. So how will it affect the Androïd Media5-fone user?
Applications can be in sleep mode or running in background:
- On Androïd you can have many applications opened at the same time; however, the ones that are in the background are not necessarily awake, they are suspended (sleeping), and only some applications can be running (e.g. applications that are playing music while browsing the Internet, email application syncing against the email server, etc.).
By default, the OS manages the Media5-fone’s behavior and sends it to the suspended state (sleep). If we let that happen:
- The application would consume less battery because it would be doing nothing.
- If the Media5-fone was doing nothing then it would stop maintaining its registration against the VoIP server/provider.
- Whenever somebody would try to call you, your VoIP server/provider would not be able to find you and would reject the call, informing the caller that you are not available.
As a VoIP software designer, Media5 does not want this behavior; we need the application to stay alive and connected to your VoIP server/provider, so by default the Media5-fone will continue executing some application logic while it is in background. Therefore:
- The application stays running in the background, it keeps the registration active with the VoIP server/provider.
- When somebody calls you, the server can contact your device, so you can receive the call.
- The downside is that if the application keeps registering, that means it stays connected to the network and consuming energy: that’s why the battery will last less. The same would happen if you spent the whole day browsing the Internet.
In a few words: network traffic needs energy, more traffic means faster battery drain. So why not decrease the network usage? That’s what we did and new options have been added to the Media5-fone:
- Enable/Disable background mode: when disabled the Media5-fone will be sleeping, so it will not be refreshing the registration.
- TCP/TLS Battery Optimization: if the VoIP server supports the TCP or TLS SIP transport, then the application can be woken up just when an incoming TCP or TLS SIP command arrives (this mode is effective only if the Keep Alive option is disabled and the registration timer is set at 10 minutes or more).
- Configurable registration timer: setting the timer to a high value will have a significant impact on battery consumption (the VoIP server must support the configured registration time). The higher the registration timer is set, the longer the battery will last: up to 60% less consumption than in normal mode.
- Enable/Disable Keep Alive mode on Wi-Fi/3G: disabling keep alive also reduces network traffic: up to 60% less battery consumption than in normal mode.