Friday, April 25, 2014

Getting Creative with Lync Dial-in Conferencing Phone Numbers

I'm at a client who is moving their PSTN teleconferencing from one of your typical teleconferencing providers to an in-house Lync 2013 deployment.  In the old deployment, they configured an email message that got sent out every time one of the teleconferencing bridges had been booked. This email message contained a long list of both toll-free and locally dialable numbers for many countries around the world.  The client wanted something similar for the automatically generated Lync 2013 New Lync Meeting invitation from Outlook.

When you create a dial plan in the Lync Control Panel, you can set a value for Dial-in conferencing region.  This value is used to group dial-in conferencing phone numbers and present those to users assigned to that particular dial plan.

Dial-in conferencing phone numbers are assigned to the appropriate dial-in conferencing region as shown below.

When a user clicks New Online Meeting in Outlook, the values for dial-in conferencing numbers are automatically populated based on the numbers assigned to the dial-in conferencing region/dial plan associated with the user.  Notice that the region name shows up in brackets after the phone number.

The client wished to show all the available toll-free numbers by default, and order them so that the first one showing was specific to the region associated with the user booking the meeting.  When someone clicked on Find a local number, they would be shown all the local dialing numbers available.

The Lync Server environment consisted of two Enterprise Edition pools in two separate central sites: one in North America and one in South America.  We had configured two site-level dial plans: North America (English) and South America (Spanish).  The dial-in conferencing region names were the same as the central site name (North/South America).

To meet the requirements, we decided to change the dial-in conferencing region name to Toll Free for the North America site-level dial plan, and Llamada Gratuita (Spanish for Toll Free) for the South America site-level dial plan.  We also changed the default Global dial plan's dial-in conferencing region name to International.  You could use user-level dial plans just as effectively, if desired.

Then we created all the dial-in conferencing access numbers.  The Display Number field was set to include both the phone number and the location of that number.  I explicitly did not include the plus sign at the beginning of the display number, as this meant that we could apply normalization rules should someone click the number in the email, instead of the "Join Meeting" link (see my update towards the end of this post for more information).

All the toll-free numbers were assigned to both the Toll Free and Llamada Gratuita dial-in conferencing regions. All the local numbers were added to the International dial-in conferencing region.  To make sure the order was correct, we used the Set-CSDialInConferencingAccessNumber command to set the order appropriately:
Set-CSDialInConferencingAccessNumber -Identity AccessNumSIPAddress -Priority x -ReorderedRegion RegionName
Once complete, users would see only the toll-free numbers (ordered correctly for their region) when booking a meeting.  In the below example, a North American user is creating the meeting, so the North America toll-free number is shown first.  If a South American user created a meeting, the Chile number would appear first. Note that for North American users, the Toll-Free in brackets represents the region name, but users will be none the wiser.  South American users would see (Llamada Gratuita) instead.

Clicking the Find a local number shows all the local numbers available.

The client was thrilled with the results. The only caveat with this method is that the links for clicking the phone numbers in the invite won't work because of the text added.  However, the reasoning is that nobody will ever click those links because they will normally just click Join Lync Meeting.  It would be nice if Lync would use the Line URI in place of the display number for the link, which would avoid the problem entirely.

UPDATE (2015-Oct-07) A BETTER (BUT NOT THE BEST) WAY TO ENSURE "CLICKABILITY":  Greig Sheridan emailed me to see if I ever came up with a solution to this, and after much messing around, I came up with a rather simple solution: remove the plus sign from the Display Number (not the actual Line URI). When the plus sign is in place and you click the link, the plus sign gets copied over along with the actual number and the numeric representation of every letter after the number.

This is because the Lync/Skype for Business client lets you type in something like 1 800 GOT JUNK, and it will helpfully translate it to +1 (800) 468-5865.  Unfortunately, it will also do the same thing for the "- North America" (or whatever text) you added to the end of the display number. When you click the link for +1 800 222 3333 - North America, it gets translated to +18002223333667842637422.  Because the plus sign is already there, Lync won't normalize the number and will try to dial that mess.

When you remove the plus from the display number, normalization rules can be applied. If you've followed my advice in my blog post on overdialing (again thanks to Greig for that idea....yet another Foster's lager inbound), then any extraneous numbers will get stripped and the number will dial happily.  Of course, this relies on every company configuring their normalization rules this way, but its better than nothing.

UPDATE (2015-Oct-08) THE BEST WAY TO ENSURE "CLICKABILITY": Another fantastic option, this time from Ari Protheroe.  Instead of relying on normalization rules that other companies may not have configured "correctly", Ari found this way of getting around the issue.

Start the Display Number with the text you want, followed by a space, then a colon (:), another space, then the number in E.164 format.  Something like this:

The space before and after the colon are critical to this.  This seems to be enough to trick Outlook into sending only the number to Lync/SfB.  I tested this myself and it worked amazingly.  So, ignore all that I put before, and use Ari's method.  Thanks Ari! Now I owe YOU a beer. I'll stick with Foster's for consistency's sake.

In any case, this is definitely a creative way to get around some of the limitations of dial-in conferencing number display.  I hope you find it useful.