Introduction
Custom Contexts allow dial plan access restrictions to be defined on a per extension or trunk basis. The following flow chart illustrates how custom context is applied.
Configuration
IMPORTANT:
There are two fields in the Custom Context page that must always be set to the same value for this feature to work. These two fields are highlighted in RED and BOLD:
- ENTIRE Basic Internal Dialplan</span
- ALL OUTBOUND ROUTES
Add Context
To add a custom context, perform the following steps:
- From the PBX tab, select PBX Configuration
- From the left side column, select Custom Contexts
- On the Add Context page, enter a name in the Context field
- Enter text to describe what this context is for in the Description field
- Press the Submit button to create the new context
On the right side column, look for the new context and select it.
If rules are defined In the Dial Rules field, you will have the option for each portion of the dialplan to use Allow Rules or Deny Rules.
Using Allow Rules or Deny Rules means the dialplan will be allowed or denied only when the number dialed matches the rules.
To see examples of dial rules, you can go to Outbound Routes and use the Dial Patterns Wizard.
Set All
The Set All To field will preset all dialplans on this page to the selected value. The available values are:
- Allow
- Deny
- Allow Rules
- Deny Rules
If you have any Time Groups defined, it will also be available for selection in the drop-down list. The example below shows the time group Business hours in the drop-down list.
Default Internal Context
You can set the ENTIRE Basic Internal Dialplan to Deny then selectively Allow/Deny the supported list of dialplans under Internal Dialplan, or vice versa.
Setting the ENTIRE Basic Internal Dialplan to DENY will NOT disable the internal dial plan. It simply implies that the internal dial plan will be affected by rule(s) further down in the panel.
Internal Dialplan
The feature dialplans that are supported under Custom Contexts will be listed in this section. If the feature dialplan is not listed here, then the restriction applied will be the value set in ENTIRE Basic Internal Dialplan.
Dialplan | Feature |
---|---|
app-blacklist | Blacklist (*30, *31, *32) |
app-calltrace | Activate Call Trace (*69) |
app-callwaiting-cwoff | Deactivate Call Waiting (*71) |
app-callwaiting-cwon | Activate Call Waiting (*70) |
app-cf-busy-off | Deactivate Call Forward Busy (*91) |
app-cf-busy-off-any | Deactivate Call Forward Busy Prompting (*92) |
app-cf-busy-on | Activate Call Forward Busy (*90) |
app-cf-busy-prompting-on | Activate Call Forward Busy Prompting (*900) |
app-cf-off | Deactivate Call Forward All (*73) |
app-cf-off-any | Deactivate Call Forward All Prompting (*74) |
app-cf-on | Activate Call Forward All (*72) |
app-cf-prompting-on | Activate Call Forward All Prompting (*720) |
app-cf-toggle | Call Forward toggle (*740) |
app-cf-unavailable-off | Deactivte Call Forward Unvailable (*53) |
app-cf-unavailable-on | Activate Call Forward Unvailable (*52) |
app-cf-unavailable-prompt-on | Activate Call Forward Unvailable Prompting (*520) |
app-daynight-toggle | Call Flow toggles (*28) |
app-dialvm | Dial voicemail (*98) |
app-dictate-record | Perform Dictation (*34) |
app-dictate-send | Send Dictation (*35) |
app-dnd-off | Deactivate DND/MSB (*79) |
app-dnd-on | Activate DND/MSB (*78) |
app-dnd-toggle | Toggle DND/MSB (*76) |
app-echo-test | Echo Test (*43) |
app-fax | Dial system fax |
app-fmf-toggle | Findme Followme toggle (*21) |
app-hotelwakeup | WakeUp Calls (*68) |
app-miscapps | Miscellaneous applications |
app-pbdirectory | Phonebook Directory (*411) |
app-pickup | Directed Call Pickup (**) |
app-queue-caller-count | Queue callers (*47) |
app-queue-toggle | Queue member toggle (*45) |
app-recordings | System Recordings |
app-speakextennum | Speak your Extension (*65) |
app-speakingclock | Speak Time (*60) |
app-speeddial | System and User speed dial |
app-vmmain | My voicemail (*97) |
ext-cf-hints | Call Forward Toggle for a specific extension (*740xxx) |
ext-dnd-hints | Toggle DND/MSB for a specific extension (*76xxx) |
ext-findmefollow | Findme Followme |
ext-group | Ring Groups |
ext-intercom-users | Intercom (*80, *54, *55) |
ext-local | All local extensions and their voicemail box |
ext-local-confirm | Unknown |
ext-meetme | Conferences |
ext-paging | Paging groups |
ext-queues | Queues |
ext-test | Simulate incoming call (7777) |
findmefollow-ringallv2 | Findme Followme Ring Strategy – ringallv2 |
fmgrps | Unknown |
grps | Unknown |
park-hints | Call Park Retrieval (*86 and configured parking slot extension numbers) |
timeconditions-toggles | Time Condition toggles (*27) |
vmblast-grp | Voicemail Blast group |
Outbound Routes
It is important to set the field ALL OUTBOUND ROUTES to the same value as the ENTIRE Basic Internal Dialplan.
All outbound routes that have been configured on the system will be listed under the Outbound Routes section of the panel. Select the desired restriction for the routes listed.
If you have an emergency route defined, NEVER deny any extension from making an emergency (911) call!
Fail Over Destination
You can choose where to route the call when the dialed number or feature code is restricted by this custom context.
Enter a number in the PIN field means the user will have to enter this PIN code for authentication before the call is routed.
Usage
For examples of how to use Custom Contexts, see How-To Restrict dial access using Custom Contexts page.
CLI Command
To see a list of extensions and their assigned custom context call restrictions, use the following CLI command:
- Navigate to PBX -> PBX Tools -> Asterisk CLI page
- Execute the command: database showkey ccontext