It should look like this.
DigitMap:
(<S0:9999>|[1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))
OutboundCallRoute:
{(<ob200111111*>9999):pp},{([1-9]x?*(Mpli)):pp},{(<#:>|911):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}
I set this up like you requested, but it might cause you problems. There will be a slight delay before you hear the dial tone from the PBX after the phone is taken off hook. Maybe a second. If you have a phone that you dial a number and then hit SEND, the call will probably fail.
I think a better setup is when you take the phone offhook, you will hear dial tone from OBi110 but any number dialed will be routed to the PBX.
Here is the setup:
OBi110#1
Physical Interfaces -> Line Port -> InboundCallRoute:
{pp(ob200222222)}
Voice services -> OBiTalk Service -> InboudCallRoute:
{200222222>(<#:>):li},{200222222>(XX.):li}
OBi110#2
Physical Interfaces -> Phone Port
DigitMap:
(XX.S4|[1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))
OutboundCallRoute:
{(<ob200111111*>XX.)|(<ob200111111*>#):pp},{([1-9]x?*(Mpli)):pp},{(<#:>|911):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}
Voice services -> OBiTalk Service -> InboudCallRoute:
ph
Dial # to get dial tone on the PBX.
Any other dialed number will be routed to the PBX.