I'v tested the 2 systems, but there are some problems...
I have system SC like this:
code: 0N
feature: dial
Tel num: N
line ID: 50: Main
and the 50: Main ARS like this (with secondary dial tone checked)
code: N;
feature: dial
Tel num: N
line ID: 10
system - telephony settings are:
dial delay time (sec): 2
dial delay count: 0
Line settings are:
Line number: 1
incoming + outgoing group id: 10
prefix: 0
national prefix: 00
international prefix: 000
an example from my directory:
name: home
number: 0011299190 (= prefix 0 + the telephone number)
So, when I press 0 (for external line) I hear a secondary dial tone immediately. When I call 0011299190, I see the name "home". Everything is ok.
Now, I try to block outgoing calls, except for those in the directory...
the solution from robboardman:
you have system shortcodes like this one...
code: 0011299190
feature: dial emergency
number: 0011299190
line id: 50:main
In the user - telephony settings I check "outgoing call bar"
At this time, when I press 0 (ext. line prefix) I don't get the secondary dial tone anymore. I have to wait 2 seconds (the dial delay time). After 2 seconds I receive the message "call barred". If I enter the number without waiting 2 seconds (so immediately 0011299190) I also receive call barred.
when I change the line ID from the dial emergency system short code into 10, the system places an extra 0 in front of the number. So now the IPO tries to dial 00011299190. Naturally this won't work.
I change the telephone number in the dial emergency shortcode into 011299190 (so, without prefix 0) -> the IPO adds an extra 0 and the call can be made (and the name from the directory is showed...).
So, this method works, but without a decent secondary dial tone (the telephones that are allowed to make external calls also have to wait 2 seconds before they hear a dial tone. But if they wait, they can continue to enter the number but this number isn't showed anymore on the display)
--
The solution from intrigrant...
create a system short code like:
code: aN
feature: dial
telephone num: N
line ID: 10 (if I use the main ars it won't work)
In the directory:
name: office
number: a011299190 (again, don't type an extra 0 for the outgoing prefix because the IPO will add this one automatically (or it changes the a into 0)
for the user - shortcode:
code: 0N
telephone numb: empty
feature: busy
line group id: empty
(don't use user - telephony - outgoing call bar because this won't work).
Now when I press 0 I receive "call barred" immediately = ok!
If I press 0 from a phone that is allowed to dial outside I receive a secondary dial tone immediately = ok!
So, I have to use the Directory feature programmed at a button or PhoneManager.
Now the issue...
If I use Phone Manager, I can make a call and enter the number from my keyboard (0011....won't work, BUT I can enter "a" in front of this number. So if I know this, I can dial every number even when it's not in the directory.... (ok you have to know this, but there's a way around...).
Another problem... 011299190 can call me, but I'll never see the name on my display. Or users can call 0011299190 (or a011299190) and the name won't show. This is because the IPO changes the number into 0011299190 (if you used the a011...). So, now you have to make duplicates for those entries in the directory, but without the "a".
So you'll have 2 entries for each number that is free to dial even if you aren't allowed to dial everything
so:
office - 0011299190 --> to see the name
office - a011299190 --> to dial this number if you have restrictions.
I hope people who read this understand these tests and results. I'm glad to explain it if there are some problems.
These problems may seem small affair, but it could be an issue for the customer (I know some people that complain becaus they don't hear a secondary dial tone immediately for example).
Maybe there are some other ways or remarks. I'm glad to test them out.