Here's my setup.
In the billion dial plan, I do the following (which assumes you're in the '03' area code):
Code:
Use VOIP (via voxalot) for everything EXCEPT:
000
1800 / 1300 / 13 numbers
Also:
Translate 012 / 1223 into freecall equivalents
Allow hash to be pressed to dial straight away
Prepend with * to force to VOIP as a literal (e.g. a 1800 number which is in the US, or a sipbroker address)
Convert all numbers to international format (to make the voxalot rules a bit simpler)
PHP Code:
voip endpoint 1 set digitmap '(000<:@pstn>|1[38]x.T<:@pstn>|<**:*>x.T<:@voxalot>|<*:>x.T<:@voxalot>|<1223:1800612219>x.T<:@pstn>|<013:1800612219>x.T<:@pstn>|<:613>[8-9]x.#<:@voxalot>|<:613>[8-9]x.T<:@voxalot>|<0011:>x.#<:@voxalot>|<0011:>x.T<:@voxalot>|<0:61>x.#<:@voxalot>|<0:61>x.T<:@voxalot>)'
This makes the rules simpler in voxalot:
Code:
30 _614XXXXXXXX ${EXTEN} pennytel
92 _61XXXXXXXXX ${EXTEN} sipme
95 _ZXXXXXXXX. ${EXTEN} pennytel
So mobile and international calls go to one VSP, and national calls go to a different one.