Many of you want finer control on when to use Google Voice to call back. I heard ya! The latest version (v0.4 and above) contains the functionality called "filter rule" that hopefully give a flexible way to control when to use Google Voice callback.
I try to make the framework flexible so that I can add other type of rules (such as time-based, network-type based, etc.) later, so how the filter rules work is perhaps not so straight-forward. No fear! Let's walk through some examples.
Before you start following the examples, make sure that you turn on the option to use filter rules. To do so, go to the Setting page and choose "According rules (needs setup)" under the option "Callback is enabled when...". A new button with text "Configure filter rules" should appear, and from there you can configure the rules!
On to the examples...
Example 1: You want to use Google Voice callback almost all the time except for a few friends. In the past you probably use the "Ask me everytime" option, but that's annoying. Now, in the rule configuration page:
- You should choose "Use GV callback" for the default action
- then click "Add new rule" and choose "Exclude rules".
- All the phone numbers in your phonebook should appear, and just check all the numbers that you don't want to route through Google Voice, then click "Done" in the bottom.
- That's it!
Example 2: You only want to use Google Voice for a few numbers, and other times you want to call through your cell phone provider's network. No problem! Follow the directions in Example 1, but choose "Do not use GV" as default action and pick the "Include rules"
Example 3: You want to use Google Voice only when calling non-local numbers. Suppose the area code for where you live is 406 (if you are in Montana!). The steps are similar. You would want to set "Use GV callback" as default action, then add a "Pattern rule." In the edit page for the rule, choose "Exclude" as the action, then put in "406*" (without the quotes) as the phone number pattern.
Caveat: The pattern "406*" basically matches any phone number that starts with 406 (like 406-123-4567), so if you have "1-406-123-4567" in your phonebook, the pattern will NOT match.
So you might want to create a few more rules for patterns "1-406*", "+1406*" etc. It's a bit cumbersome, but it gets the job done. If you know what regular expressions are, I'll add some regex rules in the future to make this matching less painful. As of version v0.4.1, there is a regex rule option! A working regex to match all number from local code 406 is "\+?1?-?406-.*" (without the quotes).
Enjoy! More types of rules are coming in future versions, but these phone number rules would satisfy a few of you, I hope!