There are two related issues here. You want to configure the phones to send out a number as soon as the last digit is entered. This is easy; see »
ftp://
downloads.aastra.com/Dow ··· _SP4.pdf , look for Local Dial Plan.
However, unless constrained by legacy system compatibility, you should design the system numbering plan to avoid conflicts. For example, suppose you have extensions 200-299, and also permit 10-digit dialing of domestic numbers. If someone dials extension 226, you can't program the phone to send that out right away, because 226 could also be the beginning of a number in Kitchener. Assigning extension numbers 100-119 on a small system, or 1000-1199 on a larger system will avoid that conflict.
Allowing both 7- and 10-digit dialing has the same issue. If you want to dial local numbers with 7 digits (unlikely in your case because 514 and 438 are overlaid), IMO you should require 11 digits for out-of-area calling.
Trunk access and feature codes should be assigned to avoid conflicts with extensions or external numbers, e.g. they might all begin with * or 0.
For overseas calls, you won't be able to avoid the delay in general, though you can set the phone's dial plan to recognize a few frequently called countries. If that's the only case needing a delay, set Digit Timeout quite long and encourage users to press # after dialing overseas. If Digit Timeout is too short, if someone pauses while looking up a number, the call will fail.
I believe that if an Aastra phone is dialed when it is on hook, then you lift the receiver or press speaker or a line button to call, the call will be sent immediately.