Dynamic Forwarding Control
March 20, 2012 21 Comments
Quite a few of power Talkatone users asked us setup advise on how they can configure Google Voice account so the call will go to Talkatone first and only if Talkatone is not available would go to direct mobile number.
E.g. many users would prefer to talk over Talkatone for free with regular cell channel as “backup”.
Yes, Google Voice have “Call Forking” feature where they can ring both Talkatone and mobile device at the same time, however, there is no way to delay call to direct mobile line. And without that delay there is race condition with different outcomes depending on who gets call first:
on iOS the behavior is following:
- if Talkatone gets call first it will show notification and then over-the-air cell call would take over and very often will kill data call
- if direct mobile line will get call first – well in most of cases the data call wouldn’t even ring over the cell call
Behavior on Android is even worse, as we are doing exactly the same thing as built-in “phone” app is doing – forcibly taking over complete screen to show accept call interface. And when 2 apps “ring” the device at the same time “The Mortal Combat” is going to happen with obvious victim – quite often this battle just kills the device, so you would need to pull the battery out.
One of the users suggested solution for this problem: control forwarding rules in Google Voice dynamically. E.g.
- When Talkatone connects to server it will disable call forwarding to direct mobile number
- Upon disconnect of the app (user terminates app or it is loosing network connection) the server will restore forwarding to direct mobile number, so you can use it as “fallback”
This optional feature is included in the Android version of Talkatone v0.6 which we released earlier today and available for Premium users.
We will include this feature into next update of iOS version of the Talkatone as well.
Note: Dynamic Forwarding Control is not compatible with Push notifications: when you enable “Push” – you are always ON, so we cannot control forwarding to other destinations.