The main purpose of the dial plan is to determine when the digits entered have formed a complete number, which is then sent to Asterisk. With nearly all softphones, after a number is entered manually, you have to press Enter, or click a Call or Send button to send the call (selecting a contact or history entry implies sending). Cell phones and many IP phones also work that way.
Although you can program the OBi to work the same way, e.g. you would press # after a number to send it, that would likely be confusing to guests or new employees, and it also causes problems with contact and history lists.
The other simple approach is to have the OBi wait a delay after each digit, to see whether more are coming. When the delay expires with no further entry, the call is sent. IMO, that also sucks. If you set a long delay, e.g. six seconds, that adds six seconds to the setup time of every call. If the delay is short, e.g. two seconds, then pausing for two seconds while dialing, e.g. to look up the rest of the number, will cause the partial string to be sent and the call to fail.
The right solution is for the OBi to understand the number formats you are using, so it knows when a number is complete and can send the call immediately. This is done with a properly designed dial plan.
For example, you are in the US and your system accepts 911, 7-digit local numbers, 1+areacode+number, extension numbers from 020 to 029, and international calls beginning with 011. In all but the international case, the OBi can tell from the first digits, how many more are expected; the call is sent as soon as the last digit is entered. For international calls, you might set the delay at four seconds; you could still press # after the number to bypass the delay.