Your digit map seems to be missing some important delays. The default is this:
Physical Interfaces > PHONE Port > DigitMap:
([1-9]x?*(Mpli)|[1-9]
S9|[1-9][0-9]
S9|911|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))
The purpose of the S9 delays is to prevent numbers such as 911 being seen by the OBi as speed dial 9 followed by digits 11 etc. This is why in your case 6# is being sent out as digit 6 followed by # rather than speed dial 6.
When you dial **9xxxxxxxxx the number is matched by **9(Mpp), so the problem with the lack of S9 delay is bypassed. (Mpp) is:
Voice Services > OBiTALK Service > DigitMap:
(<ob>xxxxxxxxx|obxxxxxxxxx)
The first rule matches the nine digits following the **9 and adds the prefix ob so obxxxxxxxxx goes out to the OBiTALK network.
The correct format for an OBiTALK speed dial is as azrobert and the Admin guide states pp(obxxxxxxxxx). This format of speed dial goes direct to the OBiTALK network with no reference to any digit maps.
Here's where I learnt something - thanks hwittenb
If you use a speed dial in the format pp(xxxxxxxxx), which sends xxxxxxxxx to the OBiTALK network without the "ob" prefix, it works just as well. I can only assume that the InboundCallRoute to the OBiTALK servers has a similar rule to (Mpp) and adds the "ob" prefix to any nine digit number it sees.