Dial Monitoring
Revolution supports dial monitoring with Cisco, Mitel, and Poly PBX systems, which allow you to monitor certain numbers dialed and then perform an action.
A good example of this is monitoring 9-1-1 calls. You can configure Revolution to trigger a notification when 9-1-1 is dialed from a phone on the network.
For example, you could set up a notification that sends an alert to your front desk receptionist and security personnel when 9-1-1 is dialed.
The basic flow is to:
- Configure the numbers you want to monitor, specific to your PBX system:
- Add the dial monitor as a trigger to a notification
- Create the notification as you normally would
- Use text variables within the Message Details to easily provide available information
Module/Trigger | Dial Monitor | Module/Trigger | Dial Monitor |
---|---|---|---|
Avaya |
|
Mobile |
|
CAP |
|
Poly |
|
Cisco |
|
SIP |
|
|
SNMP Traps |
|
|
IP Device Inputs |
|
Input Streams |
|
Mitel |
|
Webhook - Teams and Slack |
|
Follow these three steps to configure Cisco numbers to monitor:
Create an Application User account for dial monitoring within CUCM. These steps are for CUCM v12.0; steps may be slightly different for other versions.
- Log in to your CUCM.
- Select User Management > Application User.
- Select Add New.
- For User ID, enter a value that helps you identify the purpose of this account. Our example uses RevDialMonitor.
- Enter and confirm a password. You will reference the User ID and password when setting up Revolution.
- In the Device Information section, move the phones from Available Devices to Controlled Devices.
- In the Permissions Information section, select Add to Access Control Group.
- Select the following:
- Standard CTI Allow Call Monitoring
- Standard CTI Allow Control of All Devices
- Standard CTI Allow Control of Phones supporting Connected Xfer and conf
- Standard CTI Enabled
- Select Save. Permissions are automatically copied to the Roles box.
and select Add Selected.
The Groups box is now populated.
Cisco Java Telephony API (JTAPI) is required to monitor phones for:
- Specific numbers dialed, such as 9-1-1 — You can monitor phones for when emergency numbers are dialed and then trigger a notification to alert emergency personnel.
- Busy detection — Busy detection prevents notifications from playing on your phone when you've set your phone to do not disturb or you're on a call. The exception to this is when the notification is an emergency priority.
Notes about JTAPI configuration:
-
Clustered CUCM — If you have multiple CUCM servers that are not clustered, each server needs its own JTAPI Provider configuration. However, if the servers are clustered, you only need one JTAPI Provider.
-
Port Requirements — Two ports are required for each JTAPI Provider, therefore a range of ports needs to be available.
Important: Cisco Notifier must be configured with the JTAPI Provider before Cisco Activator is configured for the Dial Monitor. This is a licensed feature. If you don't see the New JTAPI Provider link, you're not licensed for this feature. Contact your sales representative.
-
Log in to Revolution.
-
Go to Configuration > Phone Systems > Dial Monitoring.
-
Select New > New Cisco JTAPI Provider.
-
For Name, enter a value that helps you identify what this JTAPI Provider is for.
-
For Hostname, enter your CUCM IP address.
-
For Username and Password, enter the Application User ID and Password you created in CUCM. Our example in Configuring Cisco CUCM for Dial Monitoring created RevDialMonitor.
-
(Optional) For Starting Port, enter the first port for the designated range. Two ports are required for each JTAPI Provider, therefore a range of ports needs to be available.
It is suggested that you only change the default value, 54321, if it conflicts with another service.
-
For Observed Lines, enter the extensions you want to monitor.
The value entered here determines which phones are monitored for emergency numbers and busy detection, depending on which features you have enabled.
-
0 (zero) – monitor all lines up to your license limit.
Best practice is to only use this setting if your JTAPI Provider license is at or above your total CUCM extensions.
Here's how this works: Each time the phone cache updates, Revolution receives a list of all extensions from CUCM and adds them to the JTAPI monitor list until the license limit is reached.
The license count is only incremented for unique phones, so a maximum of one license per phone monitored is used. If your JTAPI license is for 100 and you have 150 phones, only the first 100 phones in the CUCM list are added to the JTAPI monitor list, 50 are not, which means these phones are not monitored.
You'll receive an error status, and the event is logged. Lists from CUCM come to Revolution unordered, so the lines being monitored can change with each phone cache update.
- Specific extensions – You can enter individual extensions you want monitored, a range of extensions to monitor, or a combination of both. The list is comma-separated, for example: 2300,2400,2500,3000-5000.
- You cannot define duplicate extensions:
- 1005,1000-1010 — Invalid and results in an error because 1005 is included in the 1000-1010 range.
- You cannot define ranges in reverse order.
- 3000-1000 — Invalid and results in an error; 1000-3000 is valid.
- Make sure your JTAPI Provider license is enough to cover all the extensions you want to monitor. Go to Status > System Status > Cisco Module to see your JTAPI Endpoint license usage and limit.
- Select Save.
-
Go to Configuration > Phone Systems > Dial Monitoring.
-
Select Settings > JTAPI.
-
Enable Use JTAPI for Busy Detection.
-
Select Save.
When you upgrade to a new version of your CUCM, you must do the following to ensure your JTAPI provider also updates:
- Upgrade CUCM.
- Delete your existing JTAPI Provider (Configuration > Phone Systems > Dial Monitoring).
- Restart your Cisco Module (Status > System Status > Cisco Module)
- Recreate a new JTAPI Provider, see Creating a JTAPI Provider.
If you do not follow this process, you may receive the error:
"Unable to create provider – Incompatible Protocol version – check your JTAPI provider settings."
Create a dial monitor for each number you want to monitor.
- Go to Configuration > Phone Systems > Dial Monitoring.
- Click New > New Cisco Dial Monitor.
- For Name, enter a descriptive Name for the number to be monitored that helps you identify it when adding it as a notification trigger. Our example uses emergency number monitor.
-
For Available in All Sites:
- Enable to ensure all your site locations have access.
- Disable and select a Site to limit which site has access.
- Enter your Monitored Number.
You can specify wildcard characters (? and *) to enter a dial pattern. Our example uses ?11, which means that any time 911 or 411 is dialed the notification this trigger is assigned to is sent.
Here's how wildcard characters work:
- ? (question mark) — matches on one character, for example:
- ?11 matches on 911 and 411
* (asterisk) — matches on multiple characters. For example, 9* matches any number dialed beginning with a 9.
Thus, this would trigger the notification when 911 is dialed but it would also trigger the notification when extension 9801 is dialed. It would not trigger the notification when 411 is dialed.
- ? (question mark) — matches on one character, for example:
- The remaining fields are all optional. Typically, you would leave these blank when monitoring emergency numbers. But you can monitor any number or number pattern, not just emergency numbers. In this scenario, you may want to only monitor these numbers when dialed from specific DNs, Calling Search Spaces, Partitions, or Device Pools.
- Select Save.
Calling DN or Pattern allows the use of ? and * wildcard characters; while Calling Search Space, Partition, and Device Pool do not. Those fields must match exactly what is configured in CUCM.
When any of these fields are populated, the monitored number only triggers the notification when there is a match on the fields.
Repeat for each number or number pattern you want to monitor.
Note: Cisco Dial Monitoring is a licensed feature. Each line being monitored counts towards your license. Once you reach your license limit you will not be able to add any new ones. If you are using the Status module and have configured a notification to be sent out for license status, Cisco Dial Monitor is not part of this because reaching this license limit does not affect the Cisco Module.
The Emergency Services feature in Mitel MiVoice Business allows you to monitor certain numbers dialed and then perform an action. (A good example of this is monitoring 9-1-1 calls.)
When an emergency number is dialed, a Customer Emergency Services ID (CESID) is sent from the Mitel system to the Public Safety Answering Point (PSAP). The CESID is used as a key in the Automatic Location Information (ALI) database. The ALI database displays the precise location of the caller, as well as emergency services information identifying the proper medical, fire, or law enforcement agency for the location.
Mitel uses SNMP traps for their Emergency Services feature. You can create Mitel Dial Monitor triggers, which act just like SNMP traps, in Revolution that listen for the SNMP traps from Mitel. This allows you to then trigger emergency notifications to your Revolution endpoints and contacts when a Mitel monitored emergency number is dialed. For multi-site organizations, Mitel dial monitor triggers can be site specific.
If your Mitel MiVoice Business environment uses Multi-Device User Groups (MDUG) or allows for hot desking, the Revolution text variable information follows these rules:
-
The location of the endpoint will always be that of the physical device, not the hot desk user's location.
-
When an endpoint is hot desked:
-
The user's name will be appended in brackets to the name of the endpoint.
-
The destination code will contain the hot desk user's DN as well as the DN from profile of the phone.
-
The endpoint will have additional metadata for "Hot Desker Name" and "Hot Desker Location" if these values are not empty
-
-
Revolution sees an MDUG user as no different than any other user when they are hot desked.
-
Revolution displays MDUG users in the Directory with two variations under their same name.
If you're using these Mitel Emergency Services and want a Revolution notification triggered when an emergency number is dialed, you will need to perform the following configuration steps within Mitel MiVoice Business and Revolution.
The Mitel MiVoice Business SIP Trunk top provides instructions on configuring a SIP trunk for use with Revolution. Make sure you've done SNMP configuration on your SIP trunk.
In Mitel Emergency Services, you can either set up CESIDs or use the Calling Party number.
Important: There are several more steps to configuring a Emergency Services and SNMP than just what's listed here. Consult your Mitel documentation. Of the areas to configure, these areas are specific to Revolution.
If you're assigning a CESID to a device, directory number, zone, or whole system, you'll need the CESID to configure dial monitoring in Revolution. Notifications are then triggered if the number is dialed from a device with the same CESID.
If you're not using CESIDs, SIP trunks originating 9-1-1 calls use the Calling Party number instead. In this case, you'll leave the CESID field blank when configuring your Revolution Mitel Dial Monitor trigger. When 9-1-1 is dialed from any phone on the network, the notification with the Dial Monitor trigger assigned is sent.
Configure the following MiVoice Business settings.
-
SNMP Configuration — Make sure SNMP Agent is enabled. You can keep all the default SNMP Configuration values. (SNMP is enabled by default.)
Field Setting IP Address Enter the IP address of your Revolution server. Comment Enter Mitel Revolution so you know what IP address will be receiving trap messages. -
Trap Forward Attributes — You can use the default values for other fields.
If you configured SNMP, follow the instructions in this topic on how to set up SNMP triggers to send notifications when Revolution receives an SNMP trap message from MiVoice Business.
Ensure SNMP Settings match those in Mitel MiVoice Business
-
Go to Configuration > Integrations > SNMP Trap Triggers.
-
Go to the Settings tab.
-
For Trap Listening Port and SNMP Community String, ensure the values match the related settings within MiVoice Business. See Make SNMP setting changes.
For Mitel communication managers you automatically import supported devices from them as follows:
-
Go to Configuration > Phone Systems > Dial Monitoring.
-
Select Settings.
-
Enable Directory Import.
Now you can include the location and caller name variables in the message template when you create your Dial Monitor triggers.
You can work with these imported endpoints, as described in Directory Tab.
In Revolution, you create Mitel Dial Monitor triggers, which are SNMP traps, and then assign the trigger to notifications.
If you want to include the information about the caller, you need to Configure MiVoice Business in Revolution Mitel Module.
- Go to Configuration > Phone Systems > Dial Monitoring.
- Click New > New Mitel Dial Monitor.
- Enter a descriptive Name.
-
For Available in All Sites:
- Enable to ensure all your site locations have access.
- Disable and select a Site to limit which site has access.
- Enter the Monitored Number configured in your Mitel communication manager. Our example uses 911.
-
For CESID, enter the CESID number you defined in your communication manager (Emergency Services section). You can use a C# regular expression in this field to match multiple CESID numbers used on your network.
Regular expressions for number ranges are more complex, refer to this external web site for assistance in writing expressions Regex for Numbers and Number Range.
CESID Regex ExamplesAfter reviewing the site linked above, you can study these examples.
Encapsulate the expression using parenthesis ().
Separate expressions with the pipe character (|).
Use brackets ( [ ] ) to create a range for a specific digit.
Group expressions by the 1's digit, then the 10's, 100's, and so on on the way up. Reverse this on the way down.
-
CESID Regex for the range 4000-4009.
(400[0-9])
(Up direction only). Only the 1's digit is changing, therefore only one variable is required
-
CESID Regex for the range 4050-4099.
{40[5-9][0-9])
(Up direction only). The 1's and 10's digits change, therefore two variables are required in the expression
-
CESID Regex for the ranges: 421430 – 421439, 431430 – 431439, 441430 – 441439, 451430 – 451439.
(4[2-5]143[0-9])
(Up direction only). Two digits change (1's and the 10,000's). Two variables are required in this expression. The digits that do not change must be sequential.
-
CESID Regex for the range 4050-4090.
You must break this into two blocks: 4050-4089 and 4090
{40[5-8][0-9])(4090)
(Up direction only). The 1's and 10's digitis change, therefore two variable ranges are required. However the 409x block is not a full block of 10.
-
CESID Regex for the range 12345-18524.
You must break this down into separate full blocks:
-
12345-12349 — 1234[5-9]
-
12350 – 12399 — 123[5-9][0-9]
-
12400 – 12999 — 12[4-9][0-9][0-9]
-
13000 – 17999 — 1[3-7][0-9][0-9][0-9]
-
18000 – 18499 — 18[0-4][0-9][0-9]
-
18500 – 18519 —185[0-1][0-9]
-
18520 – 18524 —1852[0-4]
(1234[5-9]|123[5-9][0-9]|12[4-9][0-9][0-9]|
1[3-7][0-9][0-9][0-9]|18[0-4][0-9][0-9]|
185[0-1][0-9]|1852[0-4])(Up and down directions). The 1's through 1000's digits change, therefore multiple variable ranges are required. Note that the expressions can look like a bell curve in this scenario.
-
-
-
(Optional) Change the Template Title and Body. You can use static text, variables (available from the Add text variables drop-down menu), or a combination of both.
Variable Description Note: Some of these variables may return null values. Check your Mitel documentation. {DialedDigits}
The digits that are outpulsed on the outgoing trunk after digit modification has been performed. {CesidDigits) This is the CESID from: the CESID Assignment form (for the Directory Number), L2 to CESID Mapping form (for a device from which the emergency call is placed), Network Zones form (for a zone from which an emergency call was placed), or Default CESID form (for the whole system). {CallingDN} The DN of the device used to place the emergency call. {CallerName} The name of the calling user {Location} Original location of the user if placed from a hot desk service, otherwise the caller location.
{RegistrationDN} DN registered with the phone, if from a hot desk service. {RegistrationName} Name of the user registered with the phone, if from a hot desk service. {CallType} Indicates that the call is an emergency call. {SysName} IP address or host name configured in the SNMP Configuration form used to identify the system responding to the emergency call. {DetectTime} The date and time (with seconds) that the emergency call was initiated. {CallingPNI} The Primary Node ID for the caller (if applicable). {SeqNumber} An incrementing number from 1, used for correlating the retry logs. - For Version, select the version of SNMP trap message:
- V1 – define the version as SNMPv1.
- V2 – define the version as SNMPv2.
- V3 authentication – define the version as SNMPv3 and specify the following
- Username and Authentication – Credentials used for V3 security. The Username is always required and the Authentication must have a minimum of eight characters and can not contain whitespace.
- Authentication Type – Encryption type (MD5 or SHA) used with the authentication password.
- V3 authentication and privacy – adds privacy information onto details similar to V3 authentication.
- Privacy Phrase – Additional phrase required in addition to V3 credentials.
- Privacy Type – Encryption type (DES, AES-128, AES-192, or AES-256) used with the privacy phrase.
-
Click Save.
Create a Dial Monitor trigger for each emergency number you are monitoring in Mitel that you want extended to your Revolution endpoints and contacts.
There is no required configuration in Revolution. Numbers to monitor are configured in your Mitel communications manager, pulled into Revolution, and displayed in the Mitel Emergency Numbers section of the Dial Monitoring page.
Note: These instructions also apply to ShoreTel Director.
They are then available as triggers to assign to notifications. Any time the number being monitored is dialed, the notification is triggered.
- If you have more than one site configured in Mitel, emergency numbers are pulled in from all sites configured and display with the site name included, for example, 911 Dialed (Headquarters @ 10.10.0.10) and 911 Dialed (Other Site @ 10.10.0.11).
- All numbers are initially assigned to All Sites.
- You can edit numbers to change their display name and site assignment.
- You cannot change the number being monitored in Revolution. Changes must be made in your Mitel communications manager.
- To stop monitoring a number, remove it in your Mitel communications manager. On the next Revolution phone refresh, the Revolution Mitel module page is updated, and the trigger is automatically removed from any notifications it's assigned to.
Important: If the Dial Monitor Service program is not installed, or is not running, on your Mitel communications manager server, notifications cannot be triggered. Emergency numbers configured to monitor in Mitel MiVoice Connect are still pulled into Mitel Activator, but without the Dial Monitor Service program installed, Revolution doesn't know when a monitored number is dialed.
There are two steps to configure Mitel numbers to monitor:
The program was included with your Revolution installation.
-
On your Revolution server, go to
C:\Program Files (x86)\Syn-Apps\ShoreTelNotifier\DialMonitor
- Copy DialMonitorInstaller to your Mitel communications manager server.
- Double-click DialMonitorInstaller to install the program. There are no configuration options during setup.
This program listens for the numbers being monitored. When a monitored number is dialed, the program sends a command to Revolution to trigger notifications that the monitored number is assigned to.
In your Mitel communications manager,
- Go to Administration > System > Sites > [your site] > General.
- Add the number(s) you want to monitor to the Emergency Number List. (911 may be included by default.) Our example uses 911, but you can monitor any number, and more than one number.
- Use the Mitel default values.
On the next phone refresh (occurs every 15 minutes), the number(s) configured display on the Revolution Mitel module, or you can Refresh Data for the Mitel Module from System Status. This creates a new trigger that you can now add to notifications. Any time the number being monitored is dialed, the notification is triggered.
If you don't want to use the Dial Monitoring feature in Revolution, or your security policies prevent you from installing the Dial Monitor Service program on your Mitel server, go to Configuration > Phone Systems > Dial Monitoring > Settings and disable Enabling Emergency Number Monitoring. This prevents an error message from displaying in Revolution when there's no link to the Dial Monitor Service. Emergency numbers configured in your Mitel communications manager still display on the Mitel module page but will not be monitored by Revolution.
There are two steps to configure Poly numbers to monitor:
For each Poly phone's configuration, enable Configured Telephony Notification URL > Outgoing Call. Other configurations were already done when you configured your Poly phones to register with Revolution.
- Go to Configuration > Phone Systems > Dial Monitoring.
- Click New > New Poly Dial Monitor.
- Enter a descriptive Name to identify the dialed number you'll be monitoring.
-
For Available in All Sites:
- Enable to ensure all your site locations have access.
- Disable and select a Site to limit which site has access.
- Enter the Number to monitor. This can be any number you choose.
- Select Save.
This creates a new trigger that you can now add to your notification. Any time the number being monitored is dialed, the notification is triggered.
Repeat these steps to monitor additional numbers.
Any time the defined number is dialed, from any phone in the network, the notification is sent.
For this task you will create a standard notification. These instructions will focus only on the Select Triggers and Message Details sections.
- Select Triggers
- Activator:
- For Cisco and Poly dial monitor triggers, select Cisco or Poly, depending on the type of dial monitor you just created.
- For Mitel MiVoice Business dial monitor triggers, select SNMP and find the trigger you created.
For Mitel MiVoice Connect dial monitor triggers, select Mitel and find the trigger as named in the Mitel communications manager.
- Trigger: Select the descriptive Name you used.
- Activator:
- Message Details
- Complete the fields as desired.
-
Title and Body: Use the Add Text Variables icon to include variables that can help you identify where the monitored number was dialed from, such as the Caller ID.
Tip: If you add the string "911" to your Title or Body, be sure to add spaces between the digits, such as "9 1 1". This will ensure text-to-speech does not read the string as nine-hundred-eleven.
-
This table highlights common choices from the Add Text Variables drop-down. All other variables have help text to explain their functionality.
Variable
Drop-down path
Description
Mitel
Cisco Poly {callerID}
Global > Caller ID
Name and DN for the calling phone, which was provided by the calling phone, as shown as Default Name on the endpoints page.
{trigger.name}
Trigger > Name
Cisco and Poly: Name of the Revolution Dial Monitor trigger.
Mitel MiVoice Connect: Name of the dial monitor trigger as shown in the Mitel module page. Defaults to the dialed number, Mitel Site name, and the IP address of the Shoregear switch.
{source.description}
Source > Description
Source phone model, name, and DN
{source.DN}
Source > Endpoint DN
Primary DN from source.
{source.DNs}
Source > Endpoint DNs
List of all DNs from source; comma-separated
{source.site}
Source > Site
The Revolution site that the dialing endpoint is associated with
{source.name}
The Revolution endpoint name of the dialing phone. Typically, the same as the CallerID
{source.location}
Source > Location
Source hub location field from the CUCM device information
{source.CiscoGeolocation}
Cisco Only > Endpoint Geolocation
Geolocation of the activating endpoint (if populated in the CUCM device information. See Configuring CUCM Geolocation)
{source.CiscoLocation}
Cisco Only > Endpoint Location
Location of the activating endpoint (if populated in the CUCM device information.)
{source.CiscoDisplay}
Cisco Only > Endpoint Line Display
Primary Line Caller ID of the activating endpoint (if populated in the CUCM device information.)
{source.CiscoExternalNumber}
Cisco Only > Endpoint External Number
External primary number of the activating endpoint (if populated in the CUCM device information.)
{source.MitelSite}
Mitel Only > Endpoint Mitel Site
Mitel site name
{source.MitelUserGroup}
Mitel Only > Endpoint Mitel User Group
Mitel user group name of the dialing phone
{source.JackNumber}
Mitel Only > Endpoint Mitel Jack Number
Jack number associated with the dialing Mitel phone
Note: {activatingContact.Coordinates} and {activatingContact.Address} are only used for notifications assigned to our Mobile app assistance buttons.
Note: For Mitel MiVoice Business put {activatorTitle} in the notification title and {activatorBody} in the notification body and configure the message in the SNMP template
In this example, any time 9-1-1 is dialed, this notification is sent.
Note: The notification is only triggered when the number being monitored is dialed by itself so there's no confusion if the monitored number is dialed as part of a full phone number.
You can add the same dial monitor trigger to more than one notification. For example, I may want to have to separate notifications to my reception desk and security office so I can include two different sets of instructions or company protocols. In this case, I create two notifications and assign the same dial monitoring trigger to both.