Custom Contexts

Table of Contents


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.


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


To add a custom context, perform the following steps:

  1. Open the UCX Web-based Configuration Utility
  2. From the PBX tab, select PBX Configuration
  3. From the left side column, select Custom Contexts
  4. On the Add Context page, enter a name in the Context field
  5. Enter text to describe what this context is for in the Description field
  6. 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.

NOTE: 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.


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

Video Tutorial