jbebel - welcome to the forum.
(1[2-9]xx | )[2-9]xxxxxx is not a recognised OBi syntax. You could devise a rule such as:
1?[2-9]xx. The number can start with 1 or not 1, followed by 2 to 9 followed by any number of digits. However, this would introduce delays as the OBi waits to see if you have finished dialling. Having an explicit rule for each case is the best option.
{t=di2} should only be in a digitmap, not in an InboundCallRoute. By putting it in say ITSP Profile A (which is normally Msp1), you are putting it into the Phone Port DigitMap and OutboundCallRoute. This may be confusing your OBi.
I would need the big picture to see exactly how to set up this config - which OBi do your have? Is it only used for linking to your asterisk? Which is Primary Line etc. I'm going to assume that you are using ITSP Profile A and that your Primary Line is SP1 Service. In which case:
ITSPA = Msp1 = Mpli
Service Providers > ITSP Profile A > General > DigitMap:
(4xx|6[45]xx|60x|8[56]00)
User Settings > User Defined Digit Maps > User Defined Digit Map3 >
Label: ext
DigitMap: (011x.|1[2-9]xxxxxxxxx|[2-9]xxxxxx|(11|33)|9(11|33))
Physical Interfaces > PHONE Port > DigitMap:
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli)|9{t=di2}(Mext))
Physical Interfaces > PHONE Port > OutboundCallRoute:
{([1-9]x?*(Mpli)):pp},{(<#:>):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli},},{(Mext):sp1}
The above example is based on an OBi110.
I'm assuming that you wish the prefix "9" to carry forward to your asterix for external calls. I have removed any explicit references to 911/933 from the Phone Port DigitMap and OutboundCallRoute. Mext should be able to deal with 9911/9933 and 911/933 and forward both formats to your asterix.
As always, I recommend thorough testing of 911/933 following these sort of changes.
I've made a lot of assumptions above - let me know if I'm going off in the wrong direction - it has been known to happen