Adding Extensibility to the Office Communicator 2007 PE "Quick Dial" Feature

Office Communicator 2007 PE provides the convenience of "off hook" dialing for its users that are using the Tanjay VOIP phone. This feature allows Tanjay users to enter a phone number or extension that they want to dial quickly from the Tanjay’s keypad while the phone’s speakerphone option is enabled or when the Tanjay’s handset is out of its cradle. In "off hook" mode any number that is entered using the Tanjay’s keypad will be immediately dialed without the user having to push the Tanjay’s Call button or waiting for the completion of the Tanjay’s 10 second pre dial interval. For "off hook" dialing to perform seamlessly for the Tanjay user, the Office Communications Server 2007 Enterprise Voice location profile’s normalization rules must be configured without overlapping fixed number of digit normalization rules. To overcome the challenges that may occur when implementing the Tanjay's "quick dial" feature, a basic knowledge of .Net Regular Expression, the Office Communications Server 2007 Enterprise Voice normalization rules editor, along with the use of the Office Communications Server 2007 Resource Kit tool RouteHelper.exe will prepare any Office Communications Server 2007 Enterprise Voice administrator for the roll out of the Tanjay’s "quick dial" features.

The Office Communicator 2007 PE equipped Tanjay will use its "quick dial" feature as soon as it has been enabled through the use of "off hook" mode. If the Tanjay is using fixed number of digits normalization rules that overlap then the Tanjay could dial a number before it is completely entered. This will cause the user not be able to complete their call or they could possibly dial the wrong extension or phone number. These types of issues can occur when businesses add the Tanjay VOIP phones to their Office Communications Server 2007 network after they have designed a functional set of normalization rules that meet the needs of their VOIP phone network’s dial plan. If these pre-existing dial plans include different normalization rules that use a fixed number of digits, then the Tanjay in "quick dial" mode will be forced to dial the numbers that are entered an soon as the requirements for a static number of digits normalization rule are met. So for instance if you have 3 normalization rules designed for phone extensions throughout your Office Communications Server 2007 Enterprise Voice infrastructure e. g. 4 digits, 5 digits, and 6 digits. If a Tanjay user is trying to dial a known 6 digit extension using "quick dial" mode as they enter the fourth digit of that six digit extension the Tanjay device will begin to dial the four digits that have been entered as per the four digit normalization rule. So, either the Tanjay user will be connected with a wrong number or the will receive a "call cannot be completed" message from the Tanjay’s display. The first step in resolving this issue will be to redesign the Office Communications Server 2007 Enterprise Voice fixed digit normalization rules that overlap by using regular expression syntax to add a prefix to the fixed digit normalization rule that will be dropped.

Regular Expression Language Elements:

https://msdn.microsoft.com/en-us/library/az24scfc(VS.71).aspx

So if we are working with the following fixed digit Office Communications Server 2007 Enterprise Voice normalization rules and experiencing the issue that is described in the text listed above then we can edit those preexisting normalization rules so they will require the entry of a single digit prefix prior to the actual extension that will be dialed. This prefix can represent a department, floor of a building or a geographic location; the prefix will have to be entered prior to the actual extension and by design it can be dropped prior to the number being dialed To begin with we have:

Phone pattern: ^(\d{4})$ Pre Pend +1$1 4 digit

Phone pattern: ^(\d{5})$ Pre Pend +1$1 5 digit

Phone pattern: ^(\d{6})$ Pre Pend +1$1 6 digit

So when a 4 digit extension is dialed on the "off hook" Tanjay the 4 digit normalization rule manages sending e. g. +12345 to the corresponding VOIP gateway for processing. This is as expected.

Now when a 5 digit extension is dialed on the "off hook" Tanjay again the 4 digit normalization rule comes into play as the 4th digit is entered and manages sending e. g. +14567 when the user intended to dial +145678.

We can edit our Office Communications Server 2007 Enterprise Voice normalization rules as follows to get past this unwanted Tanjay "quick dial" behavior.

Here’s what our edited set of rules will look like:

Phone pattern: ^(\d{4})$ Pre Pend +1$1 4 digit

Phone pattern: ^5(\d{5})$ Pre Pend +1$1 5 digit

Phone pattern: ^6(\d{6})$ Pre Pend +1$1 6 digit

We know from the prior example that the 4 digit rule will always work as expected. So we have edited the 5 and 6 digit extensions normalization rules to force the user to enter 5 or 6 respectively prior to the actual 5 or 6 digit extensions. Now when a 5 digit extension is dialed as 512345 on the "off hook" Tanjay then the 5 digit normalization rule will send +112345 to the corresponding VOIP gateway. The single digit prefix will be stripped prior to the call being dialed. The graphic listed below will show you how the new dial 5 first / 5 digit normalization rule will look in the properties dialog for the Office Communications Server 2007 Enterprise Voice normalization rules.

The Office Communications Server 2007 Enterprise Voice Resource Kit provides the RouteHelper.exe tool which includes an Enterprise Voice location profile editor. In this blog we won't discuss all the features of RouteHelper.exe, but we will discuss how RouteHelper helps manage issues with the Tanjay's "quick dial" option. RouteHelper.exe allows the Enterprise Voice administrator to edit and test a Location Profiles’ normalization rules in a granular fashion. The RouteHelper Number Normalization Rule dialog allows the Enterprise Voice administrator to perform the normalization rule edits in a test environment. It also allows access to a feature that is used to address the issues with the Tanjay "quick dial". This feature is called "no quick dial" and it can be enabled on all normalization rules that support a fixed digit design. However, if the normalization rule supports the entry of a varying number of digits then the Tanjay will not process the normalization rule using "quick dial", and in respect to this design the RouteHelper "no quick dial" feature will not be enabled on the RouteHelper Number Normalization Rule dialog for a normalization rule that supports the entry of a varying number of digits. Here are a couple of simple examples of normalization rules that support the entry of a varying number of digits:

Phone pattern: ^(\d{*})$ Pre Pend +1$1 allows the entry of 1 to many digits

Phone pattern: ^(\d{1,10})$ Pre Pend +1$1 allows the entry of 1 to 10 digits

Here's a couple of screenshots of the RouteHelper Number Normalization Rule dialog using a fixed number of digits rule that will accept the "no quick dial" feature:

Here's a couple of screenshots of the RouteHelper Number Normalization Rule dialog using a variable number of digits rule that will not accept the "no quick dial" feature:

 

Use the link below to access the Microsoft Office Communications Server 2007 Enterprise Voice Route Helper User’s Guide for access to specific information on using RouteHelper to configure normalization rules for use with the Tanjay "quick dial" feature.

Microsoft Office Communications Server 2007 Enterprise Voice Route Helper User’s Guide

https://r.office.microsoft.com/r/rlidOCS?clid=1033&p1=routehelp See page 16

The text in the document listed above describes the affect that the "no quick dial" option will have on the fixed digit normalization rule that it is applied to as "pattern ignored by quick dial". What this means is if you dial the extension that meets the requirements of the fixed digit normalization rule that RouteHelper's "no quick dial option" is applied to then that phone number or extension entry will not be normalized and consequently it cannot be dialed. The attempted call times out at the default 10 second interval. What is not mentioned in the text that describes the use of the RouteHelper "no quick dial" option is that it also affects the use of the fixed number of digits normalization rule when the Tanjay is not in "off hook" mode and the use of "quick dial" is not enabled.

So in a non "off hook" mode dialing scenario the Tanjay will not accept the pattern match for digits that have been entered for the use with the fixed digit normalization rule and the phone number or extension entry will not be normalized and consequently will not be dialed. So with the Tanjay’s "off hook" mode enabled or not enabled the results are the same, the "no quick dial" enabled rule appears to be non functional when put to use by the Tanjay. When the RouteHelper "no quick dial" feature is applied to a normalization rule:

a. Office Communicator 2007 to Office Communicator 2007 manually input digits that match the number of digits in that rule will normalize

b. Office Communicator 2007 to Tanjay manually input digits that match the number of digits in that rule will normalize

c. Tanjay to Office Communicator 2007 manually input digits that match the number of digits in that rule will not normalize

d. Tanjay to Tanjay manually input digits that match the number of digits in that rule will not normalize

So we can now realize the RouteHelper "no quick dial" feature was designed to not to allow the phone number or extension entry to be normalized by the Tanjay. This provides Office Communications Server 2007 Enterprise Voice administrators with a way to disable some of their fixed number of digits normalization rules while re-organizing the pre-existing dial plans to become applicable with the type of normalization rules that will be needed for use with Tanjay phone in "off hook" mode.

Let's picture a hypothetical situation where the Office Communications Server 2007 Enterprise Voice administrator has disabled some of his fixed number of digits normalization rules for troubleshooting purposes using the RouteHelper "no quick dial" option. These rules conflicted with other more needed fixed number of digit normalization rules and by temporarily disabling them the VOIP administrator can almost implement a fully functional VOIP dial plan that allows the use of the Tanjay "quick dial"feature. The Tanjay users on the network prefer to keep the "off hook" functionality of the Tanjay enabled for the convenience it provides them at work. Having to toggle their Tanjays between "off hook" and "on hook" mode would be an unwanted distraction for these users. To keep his Tanjay users happy the VOIP administrator can enable the dial plan’s conflicting fixed number of digits normalization rules so they can be processed normally while the Tanjay is in "off hook" mode. In "off hook" mode it is possible for the Tanjay to use the "quick dial" feature with the applicable normalization rules and it can process other fixed number of digits normalization rules that have been edited so they will not use "quick dial" while the Tanjay is in "off hook" mode.

This edit can be accomplished by using the properties dialog for the Office Communications Server 2007 Enterprise Voice normalization rules. From here select one of the fixed number of digits normalization rules that have been disabled by the enabling of the RouteHelper "no quick dial" feature. Here you will notice that the Phone pattern regular expression has been edited and reflects the changes that were applied by the addition of the "no quick dial" feature. The Regular Expression characters "t?" will be appended to the original phone pattern - as follows:

Phone pattern: ^(\d{5})t?$ Pre pend: +1$1 5 digit

The screen shot listed below will show how this edit will look in properties dialog for the Office Communications Server 2007 Enterprise Voice normalization rules

After researching this configuration we discovered that the "?" is a Regular Expression character that represents the input of an optional value. The use of the "?" can be simply defined as follows:

^2?(\d{4})$ with a pre pend of +1$1 will allow you to enter 21234 or 1234 and normalize to +121234 or +11234.

Any character or range of characters that precede the "?" are considered optional. In our case the "t" when added to the phone pattern expression it disables the use of the rule for the Tanjay. However, if you remove just the t from the phone pattern expression and leave the "?" the fixed number of digits normalization rule will be enabled again for use with the Tanjay. However, after this edit is made, the Office Communications Server 2007 front end services must be restarted. Now when the phone extension that the normalization rule is intended to process is dialed from the Tanjay it will be processed by the Tanjay as if the Tanjay is not in "off hook" mode. The user will have the option to push the call button or wait for the default ten second pre dial interval to expire for the now normalized number to be dialed. This will allow the Tanjay to operate in "off hook" mode and process both types of the fixed number of digits normalization rules by using "quick dial" and non "quick dial" processing. Though this does compromise the explicit usage of the Tanjay "quick dial" feature, you may find the compromise to be a welcome one when compared to having to re-write the normalization rules for your Office Communications server 2007 Enterprise Voice location profile. Here’s what the phone pattern expression for the edited the fixed number of digits normalization rule will look like.

Phone pattern: ^(\d{5})?$ Pre pend +1$1 5 digit

The edit described above can be easily handled using the properties dialog for the Office Communications Server 2007 Enterprise Voice normalization rules as in the screen shot listed below.

So if you are planning on adding the Tanjay VOIP phones to your Office Communications server 2007 infrastructure please keep in mind that the implementation of the Tanjay "quick dial" feature could require some planning that includes a basic knowledge of .Net Regular Expression, the use of the Office Communications Server 2007 Enterprise Voice dialogs and the use of the Office Communications Server 2007 Resource Kit tool Routehelper.exe.

Mike Adkins
Support Escalation Engineer

Published Monday, June 02, 2008 10:35 AM by octeam
Filed Under: Devices