Thank you Dave.
Let me know what detail you will need and I would be happy to have your help.
There are various departments (about 15) each have a variable number of extensions (5 or 6).
All extensions are numbered with 9XXXX format.
We need three types of rules which can basically be summarized like this:
- Group A can call all groups
- Group B can call only Group B
- Group C can call Group A and B but not D
- etc
So any department (group) will fall into one the above scenarios.
I did see the thread you mentioned and it was helpful but I would appreciate your check and confirmation of some questions:
I am assuming that there is no way to do this independent of extension numbering? In other words, I cannot number extensions with any 9XXXX pattern and then make extensions part of a Directory for example, and manipulate it somehow to achieve the goal?
If the above is not possible, then am I right to assume that we will need to provide structured numbering to the group extensions? i.e. Group A 91XXX, Group B 92XXX, Group C 93XXX, etc.
So if we have to do this using dial plans and custom contexts, then first off, I guess I need to edit the extensions_custom.conf file and input any of the rules we arrive at in that file, is that right?
Would the below dial plans work: ?
[from-Group-A] ; Group A can call all groups
exten => _9XXXX,1,Goto(from-internal,${EXTEN},1)
exten => h,1,Hangup()
[from-Group-B] ; Group B can call only Group B
exten => _[13-9]!,1,Goto(app-blackhole,congestion,1)
exten => _9XXXX,1,Goto(from-internal,${EXTEN},1)
exten => h,1,Hangup()
[from-Group-C] ; Group C can call Group A and B but not D or others
exten => _[4-9]!,1,Goto(app-blackhole,congestion,1)
exten => _9XXXX,1,Goto(from-internal,${EXTEN},1)
exten => h,1,Hangup()
[from-Group-D] ; Group D can call all groups except group B and C
exten => _[23]!,1,Goto(app-blackhole,congestion,1)
exten => _9XXXX,1,Goto(from-internal,${EXTEN},1)
exten => h,1,Hangup()
Finally, in order to make an extension part of a specific context, do we just edit the extensionâs context field in the GUI?
Your input and assistance is appreciated.