It can be confusing initially setting up an Obi.
The Phone Port DigitMap tells you what you can dial on the phone. Mine is:
([1-9]x?*(Mpli)|[1-9]|[1-9][0-9]|911|**0|***|#|**1{t=od}(Msp1)|**3{t=od}(Mvg3)||**4{t=od}(Mvg4)|**6{t=od}(Mvg2)|**7{t=od}(Mvg1)|**2{t=od}(Msp2)|**8(Mli)|**9(Mpp)|(Mpli)|(Msp1))
Each rule is separated by a vertical bar, and the whole thing is wrapped in brackets. When you see something like (Msp2) it is referring to another digit map. The important ones here are Msp1 and Msp2 (your two possible service providers) and (Mpli) whatever service the Primary Line is pointing at. The {t=od} says to play a secondary dial tone, so if I dial **2 with the above map, I get a secondary dial tone while the Obi waits for the next digit.
The Phone Port OutboundCallRoute looks like:
{(<#:>|[2-9]11):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Mvg3)):vg3},{(<**4:>(Mvg4)):vg4},{(<**6:>(Mvg2)):vg2},{(<**7:>(Mvg1)):vg1},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}
This is a comma separated list of alternative routes. Each route is in {}. The precedence is from left to right. Starting with the simplest, {(Mpli):pli} says "if you type something which matches the primary line's digit map, then route the call to the primary line (pli).
When you see {(<#:>|[2-9]11):li} the meaning is "match either # or 211, 311, 411, 511, 611, 711 and route to the line interface. If you see a "#" at the beginning, strip it off and replace it with nothing (the bit after the colon)." Similarly "{(<**1:>(Msp1)):sp1}" matches anything that starts with **1 followed by the first provider's digit map, strips off the "**1", and routes it to the first provider.
So for the UK, you will want to replace the first part with {(<#:>|999|112):li} to make all 999 or 112 calls always go to the PSTN line interface.
You indicated by default you want calls handled by the line interface, so set the Phone Port Primary Line setting to "PSTN Line".
The Line Port digit map indicates what your PSTN line will accept. Mine is:
([2-9]11S0|613xxxxxxxS0|1xxxxxxxxxxS0|xx.|*98S0|*x.)
The S0 (S zero) says "wait zero seconds after you see this combination." "x" is "any digit" and "." is any number of any digits. The "xx." rule says "allow anything 2 or more digits long", which is a catch-all for international calls. If two rules match the device waits until a timeout before processing, hence the [2-9]11S0 etc. to avoid waiting when these patterns are seen.
The Service Provider digit map is where to put anything clever. Mine is:
(<:1>613xxxxxxx|1xxxxxxxxxx|0<11:44>44[12]xxxxxxxxx|011xx.|033xx.|044xx.|*75xx|*97|*98|*225|4443|4747|068.|10x)
Explanations, from left to right:
- <:1>613xxxxxxx - If you see a 10 digit number starting with 613, put a 1 in front of it and dial immediately
- 1xxxxxxxxxx - if you see an 11 digit number starting with 1, dial it immediately
- 0<11:44>44[12]xxxxxxxxx if you see a number like 011442075551212 change it to 044442075551212 and dial it. (I use this to route the call more cheaply on voip.ms
- *98, *97 etc. are special codes used by voip.ms
You will need to modify this so suit your provider. For example, you may wish to try something like:
(<:01306>[1-9]xxxxxS0|0[1-9]xxxxxxxxxS0|*x.|xx. )
But at this point I can't help further because my knowledge of UK dialing codes is out of date and I don't know the international and special call formats.
The first part will give you your 6 digit dialing of local calls, the second part will work for standard inland calls (although I think there may still be an exchange with a different number of digits) . *x. should allow all star codes, and xx. will allow anything not recognized by a previous rule (though after a long time out).
Hope this helps you get started. I don't drop in here often, but PM me if you get completely stuck.
Mike