Paul,
Good ole jimates has given a good practical solution while you think about this wordy long term solution
Your assumptions are correct regarding the delays. In all of the default digit maps there is an xx. rule. This means "any number of digits". It is a catch-all rule for any numbers not matched by more specific rules in the digit map. The problem is that using xx. the Obi does not know when you have finished dialling, so it waits for ten seconds, then it assumes that no more digits are coming and sends the number out. For the Line Port this means 10 secs plus time to seize the line and send out the digits. The Obi defaults are all set up for North American number formats, so not much your dad dials is going to find a match. I'm in the UK, so I'm used to these problems.
Before we get into the complicated part: If your dad presses # after he dials any number, then this tells the Obi he has finished dialling and it will send the number out almost instantly.
First sort out the emergency numbers:
Select the Obi in Obi Dashboard, then Obi Expert Configuration, then Enter Obi Expert. In each case where you want to change a value, first uncheck both the boxes to the right of that value and leave them unchecked. When you have finished making changes on each page, press submit and wait a few minutes for the Obi to reboot.
Physical Interfaces > Phone > Phone Port > Digit Map
Delete 911 replace with 999|112
Physical Interfaces > Phone > Phone Port > OutBoundCallRoute
Delete 911 replace with 999|112
This rule in the OutboundCallRoute {(<#:>|999|112):li} makes 999|112 a special case and sends them directly to Line Port and out to your PSTN line with no action from digit maps. The rule also gives you PSTN dial tone if you press #. As per jimates post.
Here's a first attempt at numbers going out to POTS:
Physical Interfaces > Line > Line Port > Digit Map
Delete existing digit map and replace with:
(xxxxxxS4|xxxxxxxS4|0[1-9]xxxxxxxxS0|xx.)
This means that any six or seven digit numbers go out to line after a four second delay. Ten digit numbers starting with 0, but not 00, go out to line instantly. All other numbers use the xx. rule, so wait for the ten seconds.
This digit map can be further fine tuned for numbers your dad dials regularly.
To use the GV numbers you will have to dial **1 or **2, then the default digit maps should work ok.
There are ways to automate dialling the GV numbers with no ** codes. Also, there are further ways to cut the delays going out to line, but I reckon that's enough to take in for one post