How to Manage Inbound/Outbound Routes

  • Updated on November 23, 2023

This article presents instructions to manage outbound and inbound routes on the UCM6XXX.

Firstly, we will introduce how to use the Source Caller ID Whitelist and privilege level to control outbound calls. UCM6XXX series supports two ways to define Source Caller ID Whitelist:

  • Selecting allowed extensions

The permission and privilege settings are used to control the outbound calls generated from the extension, IVR, DISA, and inbound routes so that the UCM6XXX can securely handle the calls as desired.

  • Defining allowed extension/extension pattern

This specifies the extensions to be allowed to use the outbound rule.

Then we introduce how to configure caller ID and DOD for outbound calls. Users could configure caller ID at 5 different places on UCM6XXX web GUI. Caller ID configured at different places has a different priority. Caller ID with higher priority will override the one with lower priority. Moreover, we will introduce how to use DID pattern to control inbound calls. Only calls matching the DID pattern will be allowed to go through the inbound rule.

And finally, we give a brief instruction on the “Prepend Trunk Name” and “DID Mode” options.

Note

UCM6XXX series include UCM6510, UCM62xx series, UCM63xx series and UCM630xA series.

Managing Outbound Route

There are two methods to manage the outbound route, Privilege Level and Source Caller ID Whitelist. When creating/editing an outbound rule under Web UI 🡪 Extension/Trunk 🡪 Outbound Routes, users shall see the “Privilege Level” option and “Enable Source Caller ID Whitelist” options as shown in the following figure.

Create an Outbound Route

Basically, these two options are used as two ways to control outbound route privileges to decide which extensions are allowed to use the outbound rule to call external numbers. In the following two sections, we will separately introduce in detail how to configure the two options to control extensions using the trunk to make outbound calls.

Using Source Caller ID Whitelist

When creating/editing an outbound rule under Web UI 🡪 Extension/Trunk 🡪 Outbound Routes, select the “Enable Source Caller ID Whitelist” checkbox to enable it.

Enable Source Caller ID Whitelist

After the “Enable Source Caller ID Whitelist” option is enabled, the “Privilege Level” option is automatically disabled (turned into grey) and more options will show up for the user to configure the filter. There are two ways to configure the source caller ID:

  • Available extensions/extension groups

Select extensions/extension groups from “Available Extensions/Extension Groups” to “Selected Extensions/Extension Groups”. Only selected extensions/extension groups are allowed to use this outbound rule to make outbound calls.

  • Custom Dynamic Route

The user could define the pattern for the source caller ID by configuring the “Custom Dynamic Route” option. This allows users to define extension range instead of selecting them one by one.

  • All patterns are prefixed with the “_“.
  • Special characters:

X: Any Digit from 0-9.

Z: Any Digit from 1-9.

N: Any Digit from 2-9.

.“: Wildcard. Match one or more characters.

!“: Wildcard. Match zero or more characters immediately.

For example, if “Custom Dynamic Route” is configured as “_xxxx”, only extensions of 4 digits can use this outbound rule to make outbound calls.

If both of the above options are configured, they will take effect at the same time. Therefore, the extension making the outbound call will either need to be an extension in the selected list or match the pattern defined in the “Custom Dynamic Route” option.

For example, for the configurations shown in [Enable Source Caller ID Whitelist], assuming “Extension Group – Group1” contains extensions 1002 and 1003, then in this UCM6XXX system, the extensions 1001, 1002, 1003, and other 4-digit extensions with the first digit being 2-9 are allowed to use this outbound rule to call external numbers.

Using Privilege Level

When creating/editing an outbound rule under Web UI 🡪 Extension/Trunk 🡪 Outbound Routes, users shall see “Privilege Level” with “Disable” and 4 levels in the drop-down list.

Filter Outbound Calls using Privilege level
Notes:

  • Setting “Privilege Level” to “Disable” will lead to the outbound route unavailable unless “Enable Source Caller ID Whitelist” option is enabled to control outbound privilege. The privilege levels in an outbound route Internal, Local, National, and International do not mean the destination of the call. i.e., International does not mean that the outbound will allow international calls to be made, or, National does not mean that international calls cannot be made.
  • They are basically 4 levels from lowest to highest for the users to identify and manage the routes. If users would like to make local, national or international calls via the UCM6XXX, the users need make sure the trunk using the outbound route has the capability to handle and route local, national or international calls by itself first.

The supported 4 privilege levels are “Internal”, “Local”, “National” and “International” from the lowest to the highest. When an outbound call is initiated to go through an outbound rule on UCM6XXX, the UCM6XXX will compare the source caller’s privilege level with the outbound rule’s privilege level. If the source caller’s privilege level is higher than or equal to the outbound route’s privilege level, the call will be allowed to go through.

On the UCM6XXX, an outbound call can be initiated by the following sources:

  • A local extension on ucm6xxx
  • An IVR
  • A DISA
  • Or an inbound route through which an external number is calling in.

In the following sections, we will introduce how to configure the privilege levels for each of them.

Local Extension Privilege

Once the outbound route is created with a proper privilege level, the administrator could decide which extensions could use this outbound rule to dial external numbers by configuring “Privilege” for each extension. On the UCM6XXX web GUI, create/edit an extension under Web UI 🡪 Extension/Trunk 🡪 Extension 🡪 Basic settings. Users shall see the “Privilege” option with four levels in the drop-down list.

Extension Call Privileges

The extension needs to be assigned with higher or equal level privilege compared to the outbound route’s privilege level in order to make outbound calls using that route.

When making an outbound call via a route from a UCM6XXX extension, the UCM6XXX will compare the extension’s privilege level with the outbound route’s privilege level. If the extension’s privilege level is higher than or equal to the outbound route’s privilege level, the call will be allowed to go through.

Please see more descriptions for each privilege level below:

  • If an outbound rule is set to “Internal”: All extensions can use this rule.
  • If an outbound rule is set to “Local”: Extensions with Local, National, or International level are allowed to use this rule.
  • If an outbound rule is set to “National”: Extensions with National or International level are allowed to use this rule.
  • If an outbound rule is set to “International”: Only extensions with International level can use this rule.

IVR Privilege

When creating/editing an IVR under Web UI 🡪 Call Features 🡪 IVR, users shall see “Privilege” option when “External Number” is chosen for the IVR.

IVR Privilege Level Default Settings

By default, the “External Number” option is disabled. To allow users calling into this IVR to use the trunk to dial external numbers, the administrator should first enable the “External Number” option and select a proper level for the “Privilege” option. The UCM6XXX will then compare the IVR’s privilege level with the outbound route’s privilege level. Only if the IVR’s privilege level is higher than or equal to the outbound route’s privilege level, the call will be allowed to go through.

DISA Privilege

When creating/editing a DISA under Web UI 🡪 Call Features 🡪 DISA, users shall see ” “Privilege” options with 4 levels in the drop-down list.

DISA Privilege

To allow calls routed to this DISA to use the trunk to dial external numbers, the administrator should select a proper level for the “Privilege” option. Once a DISA is created, users can configure the inbound route destination as “DISA” or IVR key event as “DISA”. When a call is routed to DISA, the caller will be first asked to enter the password, then a second dial tone will be played and the caller could enter the external numbers to dial outbound calls. At this time, the UCM6XXX will compare the DISA’s privilege level with the outbound route’s privilege level. Only if the DISA’s privilege level is higher than or equal to the outbound route’s privilege level, the call will be allowed to go through.

Outbound Route Selection

This section explains the UCM6XXX outbound rule selection. When multiple trunks are available, UCM6XXX will select the trunk to use base on the trunk pattern. When multiple trunks have similar trunk patterns, a specific match mechanism will be used to select trunks for outbound calls. The following examples explain the regular UCM6XXX outbound selection mechanism.

  • Case 1: Regular Matching

Outbound Route 1 has a matching pattern ‘_1X.’

Outbound Route 2 has a matching pattern ‘_2X.’

Dial any number that starts with 1 will allow the UCM6XXX series to use Outbound Route 1 to place the call.

Dial any number that starts with 2 will allow the UCM6XXX series to use Outbound Route 2 to place the call.

In this case, UCM6XXX will use the first digit to distinguish different calls.

Outbound Route 1 has matching pattern ‘_XXXX’

Outbound Route 2 has matching pattern ‘_1234’

Dial any number except 1234 will allow the UCM6XXX series to use Outbound Route 1 to place the call.

Dial 1234 will allow the UCM6XXX to use Outbound Route 2 to place the call.

  • In this case, pattern XXXX will match any numbers that dialed. However, for number 1234, since it is declared explicitly, UCM6XXX will select Outbound Route 2 to place the call.

For the UCM6XXX pattern matching mechanism, specific matching always has a higher priority than global matching.

  • Case 3: Matching first Character

Outbound Route 1 has a matching pattern ‘_X.’

Outbound Route 2 has a matching pattern ‘_0X.’

Dial any number that starts with 0 will allow the UCM6XXX to use Outbound Route 2 to place the call.

Dial any other numbers will allow the UCM6XXX to use Outbound Route 1 to place the call.

In this case, UCM6XXX will match the first digit, since ‘0’ is declared explicitly which has a higher priority than global matching ‘X

Outbound Route 1 has matching pattern ‘_123XXX’

Outbound Route 2 has matching pattern ‘_123XXX.’

Dial 123 followed by any 3 digits will allow the UCM6XXX to use Outbound Route 1 to place the call.

Dial 123 followed by more than 3 digits will allow the UCM6XXX to use Outbound Route 2 to place the call.

In this case, Outbound Route 1 matches exactly 6 digits starts with 123. Outbound Route 2 match more than 6 digits that leads with 123.

Inbound Route Privilege

When an external number calls into UCM6XXX through an inbound route, it will be directed to the default destination configured for that inbound route. If “Default Destination” of that inbound route is selected as “By DID” or “External Number”, the call could be routed out to another external number through an outbound route on the UCM6XXX. In this case, the administrator needs to configure the “Privilege Level” of that inbound route to control whether it is allowed to direct calls out to external numbers.

When creating/editing an inbound rule under Web UI 🡪 Extension/Trunk 🡪 Inbound Routes, users shall see “Privilege Level” option.

Inbound Route Privilege

This “Privilege Level” option applies to the inbound rule only when “Default Destination” is set to “by DID”. (IVR is handled in a different way; the other options in the “Default Destination” can be considered as internal extensions on the UCM6XXX).

When there is an incoming call from the trunk to the UCM6XXX via this inbound route, if DID pattern in this inbound route matches one of the outbound route on the UCM6XXX, the UCM6XXX will compare the inbound route’s privilege level with the matching outbound route’s privilege level. If the inbound route’s privilege level is higher than or equal to the matching outbound route’s privilege level, the call will be allowed to go through.

Outbound Caller ID/DOD Configuration

On UCM6XXX web GUI, there are 5 places that allow users to configure the Caller ID to be displayed on the callee’s LCD. We could name them as:

  • Trunk Caller ID
  • Trunk DOD
  • Outbound route CID
  • Extension Caller ID
  • Global Outbound Caller ID

In this section, we will introduce the configuration of each of them and their priority.

Trunk Caller ID

When editing a SIP peer trunk, users shall see “Keep Trunk CID”, “Caller ID” and “CallerID Name” options.

Trunk Caller ID

To have “Caller ID” and “CallerID Name” to take effect, users must enable “Keep Trunk CID” option. Only if “Keep Trunk CID” is enabled, all outbound calls going through this trunk will use the “Caller ID” and “CallerID Name” configured for this trunk and have them displayed on the callee’s LCD.

If “Keep Trunk CID” is disabled, even if “Caller ID” and “CallerID Name” are configured with values, they will not be used as the caller ID of the outbound call.

Trunk DOD

The UCM6XXX provides Direct Outward Dialing (DOD) which is a service of a local phone company (or local exchange carrier) that allows subscribers within a company’s PBX system to connect to outside lines directly.

Example of how DOD is used:

Company ABC has a SIP trunk. This SIP trunk has 4 DIDs associated to it. The main number of the office is routed to an auto attendant. The other three numbers are direct lines to specific users of the company.

At the moment when a user makes an outbound call their caller ID shows up as the main office number.

This poses a problem as the CEO would like their calls to come from their direct line. This can be accomplished by configuring DOD for the CEO’s extension.

Steps on how to configure DOD on the UCM:

  1. To setup DOD go to UCM6XXX Web UI 🡪 Extension/Trunk 🡪 VoIP Trunks page.
  2. Click to access the DOD options for the selected SIP Trunk.
  3. Click “Add DOD” to begin your DOD setup.
  4. For “DOD Number”, enter one of the numbers (DIDs) from your SIP trunk provider. In the example above, Company ABC received 4 DIDs from their provider. ABC will enter in the number for the CEO’s direct line.
  5. Add a “DOD name” to easily distinguish the DODs that are configured on the trunk.
  6. Select an extension from the “Available Extensions” list. Users have the option of selecting more than one extension. In this case, Company ABC would select the CEO’s extension. After making the selection, click on the button to move the extension(s) to the “Selected Extensions” list
DOD Extension Selection

6. Click the “Save” and “Apply Changes” buttons to confirm the new settings.

Once completed, the user will return to the “Edit DOD” page that shows all the extensions that are associated to a particular DOD.

Edit DOD

Outbound Route CID

Users can set up CID per Outbound. If no DOD or higher priority CID is configured the UCM uses the CID number and CID name configured on the outbound route to form the From header in the outgoing Invite.

Outbound Route CID

Extension Caller ID

When creating/editing an extension, users shall see options “CallerID Number”, “First Name” and “Last Name”.

Extension Caller ID

First Name” and “Last Name” together define caller ID name. When the extension makes an outbound call, its “CallerID Number”, “First Name” and “Last Name” will be used as the caller ID and caller ID name of the outbound call if the following conditions are satisfied:

  • “Keep Trunk CID” of the trunk is disabled
  • DOD of the trunk not configured

Global Outbound Caller ID

On UCM6XXX Web UI 🡪PBX Settings 🡪 General Settings page, users shall see “Global Outbound CID” and “Global Outbound CID Name” options:

Global Outbound CID

Global Outbound CID Number” and “Global Outbound CID Name” will be used as call ID and call ID name of an outbound call if following conditions are satisfied:

  • “Keep Trunk CID” of the trunk is disabled.
  • DOD of the trunk is not configured.
  • The Outbound Route CID is not configured.
  • The extension initiating the outbound call doesn’t have caller ID number and caller ID Name configured.

Outbound Caller ID Priority

  • If trunk caller ID is configured and “Keep Trunk CID” is enabled, then trunk CID is of the highest priority. “Caller ID” and “CallerID Name” of the trunk will override caller ID configured in DOD, Outbound route CID, extension and global settings.
  • If “Keep Trunk CID” is disabled, the priority of the other four caller id configuration is as following:
  1. DOD has the highest priority
  2. Outbound Route CID has the second priority
  3. Extension CID has third priority
  4. Global outbound caller ID has the lowest priority

Managing Inbound Route

DID Pattern Configuration

When creating/editing an inbound rule under Web UI 🡪 Extension/Trunk 🡪 Inbound Routes, users shall see the “Pattern” option. The user could use the following characters to define the DID pattern:

  • X: Any Digit from 0-9.
  • Z: Any Digit from 1-9.
  • N: Any Digit from 2-9.
  • .“: Wildcard. Match one or more characters.
  • !“: Wildcard. Match zero or more characters immediately.

All patterns will be prefixed with “_”.

  • The pattern can be composed of two parts, Pattern and CallerID Pattern. The first part is used to specify the dialed number while the second part is used to specify the caller ID and it is optional, if set it means only the extension with the specific caller ID can call in or call out. For example, pattern ‘_2XXX/1234’ means the only extension with the caller ID ‘1234’ can use this rule.
  • Multiple patterns can be used. Each pattern should be entered in new line.
  • Users can add comments to a dial plan by typing “/*” and “*/” before and after each comment respectively.

Examples:

Pattern

CallerID Pattern

_X.

_NNXXNXXXXX /* 10-digit long distance */

_818X. /* Any number with leading 818 */
 

1000

1001

Edit Inbound Rule – DID Pattern
  1. The field Pattern defines the allowed pattern of the dialed number
  2. The field CallerID Pattern defines the allowed pattern of the caller number

Only if both patterns are matched, the inbound call can successfully go through.

To illustrate it more clearly, here is an example. Assuming a peer trunk is configured between two UCM6XXX.

  1. An extension 10000 on UCM6XXX-A wants to call an extension 5000 on UCM6XXX-B.
  2. This call must go through an inbound route configured on UCM6XXX-B to reach extension 5000. UCM6XXX-B will examine if the caller number and the dialed number match the DID pattern of the inbound rule.
Edit Inbound Rule – DID Pattern

In this case, 10000 is the caller number and it will be restricted by the pattern defined in the second field and 5000 is the dialed number and it will be restricted by the pattern defined in the first field.

  1. If the caller number and the destination number match the DID pattern, the call will successfully go through. In this example, assuming the inbound rule is configured with DID pattern shown in the figure [Edit Inbound Rule – DID Pattern], the call is allowed to go through.

DID Mode

When editing the SIP peer trunk, users shall see the “DID Mode” option. This option is for user to configure how to obtain the destination ID of an incoming SIP call.

There are two modes available for uses to select: To-header and Request-line.

Select “To-header” to use To header in SIP message as the destination ID; select “Request-line” to use Request-line header in SIP message as the destination ID.

Edit SIP Trunk – DID Mode

Prepend Trunk Name to Caller ID for Inbound Call

When creating/editing an inbound rule, user shall see “Prepend Trunk Name” option. If this option is enabled, UCM6XXX will prepend the trunk name to the caller ID name for all incoming calls through this inbound rule. Therefore, the caller ID name displayed on the called extension will be the trunk name plus the caller ID. Thus users would be able to tell from extension’s LCD which trunk the inbound call goes through.

Important Note

If “Prepend Trunk Name” is enabled, “Prepend User Defined Name” will be deactivated.

Edit Inbound Rule – Prepend Trunk Name

Alert-Info

When creating/editing an inbound rule, user shall see “Alert-Info” option. If this option is enabled, UCM6XXX will include Alert-info header with selected/defined value in INVITE to destination. Therefore, destination device will use as an alternative ringtone. Thus users would be able to tell from extension’s phone ringtone which trunk the inbound call goes through.

Edit Inbound Rule – Alert-info

Users can set “Alert-info” option in Inbound Route to “Custom” and specify “Custom Alert-Info” as “External” for instance, and the phones can be configured to use a specific ringtone if matching rule is set to “External”. If the call is coming through the trunk, the phone will ring using specified ringtone and user will know the call is external, otherwise, the phone will ring using default ringtone letting the user know that the call is Internal.

Edit Inbound Rule – Custom Alert-info

Manipulating Caller ID for Inbound Calls

Starting from firmware 1.0.19.20, users are now able to manipulate the CallerID number and names for inbound calls using a predefined syntax

CallerID Manipulation

CallerID Number Syntax Explanation:

  • ${CALLERID(num)}: Default value which indicates the number of an incoming caller (CID). The CID will not be modified.
  • ${CALLERID(num):n}: Skips the first n characters of a CID number, where n is a number.
  • ${CALLERID(num):-n}: Takes the last n characters of a CID number, where n is a number.
  • ${CALLERID(num):s:n}: Takes n characters of a CID number starting from s+1, where n is a number and s is a character position (e.g. ${CALLERID(num):2:7} takes 7 characters after the second character of a CID number).
  • n${CALLERID(num)}: Prepends n to a CID number, where n is a number.

CallerID Name Syntax Explanation:

  • ${CALLERID(name)}: Default value. Indicates the name of an incoming caller.
  • A${CALLERID(name)}B: Prepend a character ‘A’ and append a character ‘B’ to ${CALLERID(name)}.
Important Note

Entering text without any syntax will set a fixed name for CID Name

Multiple Mode

In the UCM6XXX, the user can configure the inbound route to enable multiple modes to switch between different destinations. The inbound multiple mode can be enabled under Inbound Route settings.

Edit Inbound Rule – Multiple Mode

When Multiple Mode is enabled for the inbound route, the user can configure a “Default Destination” and a “Mode 1” destination for this route. By default, the call coming into this inbound route will be routed to the default destination.

SIP end devices that have registered on the UCM6XX can dial feature code *62 to switch to inbound route “Mode 1” and dial feature code *61 to switch back to “Default Destination”. Switching between different modes can be easily done without a web UI login.

For example, the customer service hotline destination has to be set to a different IVR after 7 p.m. The user can dial *62 to switch to “Mode 1” with that IVR set as the destination before off work.

Inbound Modes for Individual Routes

In addition to the ability to toggle the global inbound mode of the UCM introduced in 1.0.20.17, users can now monitor and toggle the inbound mode of individual inbound routes.

Inbound modes for individual routes

The global inbound mode must be enabled before users can configure route-level inbound mode. Additionally, mode 1 must be configured.

Users can monitor and toggle a route’s inbound mode by using the Inbound Mode Suffix value either by itself or by using it in combination with the global inbound mode.

Important Notes

  • Toggling the global inbound mode will not affect routes that have Route-level Inbound Mode enabled.
  • If all routes have the option enabled, toggling the global inbound mode via BLF will trigger a voice prompt indicating that none of the routes will be affected by the global inbound mode change.

Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support

Leave a Comment