Friday, July 7, 2017

Sonus CloudLink: Call Transfer Failed for PSTN Caller

I came across an interesting issue today with a Sonus CloudLink deployment involving failed Call Transfers of PSTN calls. I'll start with the background on this deployment.

Background


This deployment was fairly straightforward. The organization started out with a fresh Skype for Business Online environment, and no Hybrid was ever involved. All users had E5 licensing with Cloud PBX. The firm had a CUCM device (and another random Intercom device using an FXO port), and they wanted to continue using their voice carrier with their existing DIDs for their Cloud PBX users. They decided to go with a Sonus 1K and CloudLink for the solution.

The journey to the point of our Call Transfer problems was a little longer than it needed to be, as this was my first CloudLink deployment, and there were a few lessons to be learned. Let's suffice to say, the CCE instance was finally installed nicely on the ASM, and calls were flowing quite nicely between all components: CCE, CUCM, and PSTN. All was just peachy. Until we tried to transfer an answered PSTN call to another Cloud PBX user, or their voicemail.

The Problem


To reproduce the issue, I would place a call over the PSTN using my cell phone to a DID that had been assigned to one of the test users that had been migrated from CUCM to Cloud PBX (CCE). The test user account was able to successfully answer the call and have a conversation. However, once the Cloud PBX user tried to transfer this PSTN call to another Cloud PBX user within this same tenant, or to their voicemail, the call would be placed on Hold, and an error message would appear in the Skype for Business client call window stating that the Call Transfer Failed.

Frustrating, but ok. Let's fire up the LX Logging tool for SBC logging, and run the CCE Logging wizard that is provided within the Sonus web interface on a CloudLink device. First, looking at the call in the LX Tool, I saw this entry in the Call Flow:




As you can see, this NOTIFY entry was where the Transfer attempt took place, and we the text:

Subscription-State: terminated;reason=noresource
and...
SIP/2.0 503 Service Unavailable
Well, this had me scratching my head. I wasn't sure what service it was saying was unavailable, or why the call could not be transferred based on this error, and the other messages in that chain didn't help. Taking a look at the CCE logs actually revealed the exact same issue, but nothing else that helped me:





After looking around a bit more, I finally involved the Sonus Support team (who has always been incredibly awesome to me!). After providing my logs, and a Config Backup of the SBC, they were able to spot the issue.

The Resolution


You see, in their documentation for installing and configuring the CCE instance, Sonus strongly suggests that you use the SBC Easy Setup wizard for configuring all your call routing rules, etc., as seen below:



However, I decided to be special, and create all the Signaling Groups, Call Routing Tables, and Transformation rules on my own. This wasn't an issue leading up to the Call Transfer problem, because all of our call routing was working as expected. However, the Sonus Support tech somehow was able to note (probably from the Config Backup) that I had not used this wizard. He then pointed out that one of the things that the wizard does is to create a Split-DNS entry on the SBC itself for the default CCE domain that is created with the CCE wizard (which is sfb-ccedomain.local), pointing this domain name to the IP address of the AD/DNS server that is created as a CCE VM. He stated that without this entry, the SBC was unable to resolve the Mediation Server's FQDN (med.sfb-ccedomain.local).

Now, I was confused why this was necessary for Call Transfers, but apparently not an issue with normal P2P calls, as the Mediation Server's IP address seemed to be sufficient. However, it was worth a try. So, I when into the DNS section on the SBC and created the new entry.


















Then, I went and tested out the PING utility in the SBC's Diagnostics tab, and sure enough, it now resolved med.sfb-ccedomain.local, whereas it could not resolve it before. Brilliant!


































Finally, I went to test transfer, both to a user, and to their Voicemail, and guess what? Yep: SUCCESS! Good way to end a Friday! I hope this helps at least one or two of you on your CCE or CloudLink adventures.

Monday, April 17, 2017

Deltapath's O365 Connector Brings More Options to Hybrid

I recently had the opportunity & privilege to have a long-distance face-to-face sit-down with Deltapath's Founder & CEO, David Liu, to discuss a newly launched product: Deltapath O365 Connector. This product intrigued me, specifically because it provided a creative solution to an issue that I have personally seen several clients try to tackle. In this blog post I will aim to provide a brief overview of some of the features of the Deltapath O365 Connector, and will then go into the specific use case that it solves for that caught my attention.

Deltapath O365 Connector Overview


At its most basic level, the O365 Connector is a physical device that sits in an organization's physical datacenter. It provides connectivity between an organization's Skype for Business Online users and it's on-premises PBX and PSTN services. You may wonder why that functionality is different than CCE or other native hybrid Skype for Business Server solutions, and I will get to that in a minute.

The O365 Connector has multiple roles all wrapped into a single device, including a Session Border Controller (SBC), firewall, SIP Proxy, Call Routing Engine, and even an Endpoint-Provisioning Server. This is a lot to pack into a product, and accordingly, the functions and features of this device go well beyond the specific use case that I want to cover today. For that reason, I will provide a link to the product page so that you can dive a bit deeper on your own, at your own leisure:

https://www.deltapath.com/products/deltapath-o365-connector

Beyond the device's capabilities, Deltapath provides three different versions of its device, allowing organizations of various sizes to get a device that more closely matches its specific needs. The following chart from Deltapath highlights each size of the device, along with corresponding specs:




There are also a number of additional Modules that can be obtained and used with these devices. Per Deltapath's marketing materials, these modules include:
  • Call Conversation Recording
  • Inbound Contact Center
  • Outbound Contact Center
  • Serviced Office
  • Call Billing
  • Alarm Notification & Escalation
  • Building Management System Integration
  • Acute Hospital Communication
The O365 Connector can also be launched in a pair, as a cluster, introducing an element of redundancy.
Lastly, this device can be provisioned and configured with a simple and easy-to-use web GUI interface, easing administration concerns of introducing another device into an already complex on-premises telephony infrastructure.

Again, this post will not be diving into all of these features or modules, but I wanted to call them out for those organizations that may want be looking for these features in addition to the use case that I will be highlighting below.


Enhanced Hybrid Use Case


Consider the following scenario: an organization has an existing on-premises telephony infrastructure, including a PBX and PSTN services, and also has Skype for Business Online users in Office 365 that are licensed with E1 or E3. This organization wants to allow these Skype for Business users to have PSTN calling capabilities, but does not want to upgrade to E5 or purchase Cloud PBX add-on licensing. The reasons for this could be as simple as compliance restrictions of some sort that requires them to keep their PBX functionality on-premises, or a number of other reasons. So, how do they provide these non-Cloud-PBX Skype for Business Online users with PSTN capabilities using their own on-premises PBX and PSTN services?

This is the problem that O365 Connector provides a solution for, presenting yet another way to explore Hybrid for organizations that may not be able to go down some of the other more mainstream paths at this time.

The way that this solution works is actually quite interesting. The O365 Connector device resides in a perimeter network architecture. If used as a firewall, a public IP can be assigned directly to one interface of the device, with the other interface able to communicate with the internal LAN. Otherwise, the device can be behind a firewall, with a public IP NAT translating to the device's external interface on a private network. A public DNS record (for example, ms.demodomain.com) will resolve to the associated public IP of the device, and Office 365 Federation will be configured with the 'ms.demodomain.com' FQDN.

The device can have certain SIP endpoints (like Polycom VVX phones) register directly to it, but for non-SIP devices, the device will communicate with another device, like a Cisco Call Manager or other PBX. When a user from either type of device dials a phone number, SIP address, or an extension of a Skype for Business Online user, the O365 Connector sends the call to the Skype for Business user (it can also do sim-ring if that user also has a non-SIP endpoint).

How does a Skype for Business user dial a phone number, then, since again, they are not Cloud PBX users? Well, the Skype for Business user dials a regularly dialed phone number, or an extension, in the format: '15551234567@ms.demodomain.com', or an extension as '5555@ms.demodomain.com'. This reaches out via federation to the O365 Connector device at 'ms.demodomain.com', and the device will then send the call to the appropriate destination. Example:

Image Courtesy of Deltapath




This may be a bit confusing to read through, so I will refer to this very handy graphic created by
Deltapath to illustrate the various forces at work here:




To help understand each step in a color-coded way, the below Deltapath graphic explains the call flows a bit better:



As you can see, this solution provides a very unique bridge for environments that need/desire to provide PSTN calling capabilities to their Skype for Business Online users, without moving any of their call-control functionality into Microsoft's cloud.

Clearly, there may be a challenge with the fact that dialing is not done via a dialpad by the Skype for Business users. Instead, they must be trained to place these calls by using an email-like format. This does present a learning curve that an organization will have to plan appropriately for. Obviously, this is a fact that will have to be weighed as part of the strategy and decision-making process; organizations will have to decide if the learning curve is acceptable in relation to the unique problem that the device solves for.


In Conclusion...


The focus of this blog post was on a specific use case that the Deltapath O365 Connector provides a unique solution for: Skype for Business Online users, without Cloud PBX functionality, that need PSTN dialing capabilities through their organization's on-premises telephony infrastructure. In this regard, the solution does indeed tell a compelling story. It also helps that the device can meet other needs within the same solution, including things like firewall capabilities and endpoint provisioning. You can get more information about the product at the link provided above, and should even be able to schedule some sort of demo with their team. It never hurts to investigate all your options when 3rd-party tools are needed to fully meet your requirements!

Friday, March 31, 2017

Getting Started: Using the Plantronics Voyager 5200 UC

When I am on the go, and thus not at my home office with my normal recording setup (i.e., Blue Yeti microphone, webcam, etc.), I have found myself recording with my full headset...over top of my cowboy hat. An awkward fit, to say the least, but it worked. I recently got my hands on a Plantronics Voyager 5200 UC (earpiece), and this has made my mobile recording situation a lot more natural.

I created a brief video to serve as a "How to Get Started" tutorial for this device. Please note, this is not a Review at all. It is more of a walk-through of the product in the spirit of learning how to use the device. The video is below, and a link to the video is below the embedded video, in case you would rather view it at YouTube. I hope this helps!


https://youtu.be/eJKBX4oF4iM

Stay techy, my friends!

Tuesday, March 7, 2017

Skype for Business Server 2015 Support for Windows Server 2016

EDIT 06/30/2017 - With the recent release of CU5, and brief waiting period after its release, Skype for Business Server 2015 is now officially supported on Windows Server 2016. Check it out, and happy installing: https://support.microsoft.com/en-gb/help/4015888/how-to-install-skype-for-business-server-2015-on-windows-server-2016.


While Windows Server 2016 has not been a supported operating system for Skype for Business Server 2015, there have been no shortage of people testing out Skype for Business installs on Windows Server 2016. After all, Windows Server 2016 has been out for quite some time now, and many admins are eager to get their shiny new Skype for Business environments up on something newer than an OS with "2012" in the label. 2012 was 5 years ago, after all!

There have been some recent developments in this area, though. While the developments are promising, I still see a bit of personal confusion as to whether or not Windows Server 2016 is actually a supported OS or not. Let's start with what the promising new developments are.

Note: The below paragraph previously reported that we were on CU7, but this was miscalculated, and current CU at the time of publishing this article is actually CU4.

The February 2017 CU, which is actually CU4 if you are counting, includes a very important fix that addresses silent install failures for Skype for Business Server on Windows Server 2016. Good news, right? Here is the link to the February CU for Skype for Business Server 2015:

https://support.microsoft.com/en-us/help/3207506/february-2017-cumulative-update-6.0.9319.277-for-skype-for-business-server-2015,-front-end-server-and-edge-server

For the specific KB article (KB3209566) that addresses the above-mentioned fix, check out this link:

https://support.microsoft.com/en-us/help/3209566/skype-for-business-server-2015-installer-may-fail-silently-in-windows-server-2016

Ok, great! Time to install on Windows Server 2016, right!? Well, that depends. If you are looking for an announcement from Microsoft that the specific issue with silent install fails has been addressed, then you need to look no further than the above KB. However, if you are looking for a giant green light from Microsoft stating that Windows Server 2016 is supported, that KB article and the associated CU article stop short of saying that.

So how do we find out for sure? Well, we goo look at the TechNet page for Requirements for Skype for Business Server 2015, or course, and drill down to Software Requirements:

https://technet.microsoft.com/en-us/library/dn951388.aspx

Look at the table of supported operating systems, we see the below:




Clearly, Windows Server 2016 is not listed as a supported OS. Further, if you look closely at the text below the box, you see that we are told explicitly not to use an OS if is not listed in this box. However, in the very next box below this we see the following caveat'd Note:


This adds a bit of confusion, doesn't it? It tells us that while Windows Server 2016 is not in the list right now, Microsoft is planning to add it as a supported option with CU 5. If you recall from above, we are currently at CU4, so even though we have a fix in the latest CU for install problems on Windows Server 2016, this has not quite prompted Microsoft to update their support matrix for OS's.

Note: The above paragraph was modified to correct incorrect verbage about the current CU level of Skype for Business server.

This begs the question: Is Windows Server 2016 actually supported for Skype for Business Server 2015 installs, and this TechNet article is just a case of Microsoft documentation not being updated with the most current info, or is the fact that the box is not updated a sign that Microsoft is not ready to give a fully "Green Light" on Windows Server 2016 yet? In either case, what is clear is that if you are in the group of people that really need that explicit Green Light of supportability before moving forward, it does not appear that Microsoft has signaled it yet.

Stay tuned, and I will update this blog post as Microsoft's documentation changes to shed more light on this topic.






Monday, February 6, 2017

Tenant Dial Plans: Custom / Extension Dialing in Cloud PBX (Office 365): A Preview

***

Update: Microsoft "graduated" Tenant Dial Plans from Preview to General Availability (GA) on April 20, 2017. The blog post making this announcement (as well as providing the updated training links) can be found here:

https://techcommunity.microsoft.com/t5/Skype-Operations-Framework-Skype/Tenant-Dial-Plans-General-Availability-training/ba-p/63604

As the post states, pretty much everything is the same at GA as it was in Preview, so no real news to announce. The one change that they called out was that External Access Prefix is not supported at the time of GA launch. Best of luck on creating your custom Cloud PBX Dial Plans, but be careful!

***

For those of you that have been eagerly awaiting the arrival of custom dial plans in Skype for Business Online, your waiting days are narrowing significantly! Tenant Dial Plans have been introduced into Preview, and Microsoft is accepting applications to the preview program from customers that are under NDA and have a Skype for Business Online tenant in Office 365. First, a brief word on Why this is a big deal and what the desired functionality is that is being achieved.


What's the Deal with Tenant Dial Plans


Almost as soon as customers were able to start using Cloud PBX for placing PSTN phone calls in Skype for Business Online, the topic of customizing the Dial Plan was brought up and echoed across the landscape of users. The issue is that the ability to implement Custom Dial Plans in Skype for Business Online Cloud PBX is not a currently available function. This means that users cannot do extension dialing, or any other custom dialing scenario, outside of the default dialing scenarios that were defined by Microsoft by default. This default dialing behavior is pretty much restricted to dialing a full 10 digits (for the U.S.), or dialing in E.164.

With the ability to customize dial plans and normalization rules built deeply into Enterprise Voice in Skype for Business on-prem, why did Microsoft launch Cloud PBX without this ability from the start. Honestly, I believe the biggest reason is that Microsoft has been trying to change the narrative on how a user should dial their colleagues. With a strengthened unified communications tool homed in the Cloud, Microsoft wants users to start interacting with each by name. For example, when you lookup a user for a chat, or to see their presence, you either go to their contact object in the Skype for Business Contact List, or you start typing their name into the search bar:



Once you see the user you want, you can double-click the user to start a chat, right-click to see their Contact Card, add them to a list, and more. Microsoft wants you to take this a step further. They want organizations to embrace calling a user by "dialing" to be outdated; "so yesterday"; archaic. Get the point? Instead, they wanted organizations to get in the habit of "dialing" by looking up the user clicking to call. See below:







































If I am being perfectly honest, Microsoft is pushing us in the right direction. This is a much simpler way to manage contacts and interact with them. A single approach to all forms of communication. However, this proved to simply be WAY too much change for end users in many organizations. End users want to keep working the way they always have; change tends to throw them for a loop, and it is often resisted. (It would appear that clicking to call a user is such a massive shift in thinking, that it will need to be phased into most organizations in a slower, gentler, more phased approach.)

"End users Want to keep working the way they always have; change tends to throw them for a loop, and it is often resisted." 

This reason is exactly why Microsoft started working on Tenant Dial Plans. The response and feedback on this one area was so great that it became clear that this functionality must follow Skype for Business into Office 365.

Tenant Dial Plans delivers on this need. It allows organizations to create tenant-based Dial Plans, with customized sets of normalization rules, to properly meet the granular dialing needs (wants) of the organizations that have begun adoption of Cloud PBX. In fact, many organizations have held off on adoption, or even exploration, of Cloud PBX due to this feature requirement alone. If an organization needs to have 4-digit-dialing, or 6-digit-dialing, or whatever, they can now achieve that in Office 365 by using Tenant Dial Plans.


Sign Me Up!


Ok, you are convinced. You have been waiting for this, and now want to start testing this out with some pilot users (because you should not be deploying a Preview toolset into Production!). How can you go about getting signed up. To be considered for the Preview, your organization must have a tenant that is currently using Skype for Business Online with Cloud PBX and be under NDA with Microsoft. First go to the Skype Preview website, click on Organization (this is not available to Individuals, check the box next to Tenant Dial Plans, and lastly click Sign Up. You can figure the rest out from there, I think.



Important Points to Remember


There are several important things to remember about using Tenant Dial Plans. I will cover a list of them here in Q/A format, and will also provide a look to a good Skype Academy video in which this information is covered and demoed.

Q: So, how many Normalization Rules can I add to a Dial Plan?
A: Good question! You can add up 25 normalization rules per Dial Plan?

Q: If I create a new "Tenant Dial Plan", will it apply to all of my Cloud PBX users?
A: A Tenant Dial Plan can either be scoped at the Global level, where it will apply to all of your Cloud PBX users, or it can be scoped and assigned at the User level. The below screenshot is from Scott Stubberfield's Skype Academy video demoing Tenant Dial Plans, and lays out the difference between the scopes and types of dial plans nicely:



Q: What about my Cloud PBX users that are in a Hybrid configuration? Do these Tenant Dial Plans apply only to PSTN Calling users, or also to On-Premise PSTN Connectivity and Cloud Connector Edition users?
A: Tenant Dial Plans apply to ALL Cloud PBX users. Regardless of the direction the user's PSTN calls go (Online through Microsoft services, or on-prem through CCE or existing telephony infrastructure), their dialing habits can be supported by Tenant Dial Plans.

Q: Yeah, so I assume that I will be able to manage these Dial Plans and normalization rules in a shiny new GUI, like with Skype for Business Server 2015?
A: Currently, the Preview only provides the ability to create and manage dial plans and normalization rules via remote PowerShell cmdlets; there is no sign of any of this in the Skype for Business Admin Center. Scott Stubberfield mentions a possible distant GUI companion to these cmdlets in the works "down the line" via his tutorial video, but no solid dates or commitments around that at this time.

Q: Do the Dial Plans in Cloud PBX work the same way as they do On-Prem, with the most granularly-scoped Dial Plan taking effect for a user?
A: Actually, no, and this is a good thing. If this were the case, and you assigned a Tenant Dial plan rather than leaving the existing default Service Dial Plan in place, you would have to create normalization rules for all of your user's dialing scenarios. Instead of the most granular dial plan taking effect, Cloud PBX merges the rules for the default Service Dial Plan for the user's location with the rules for any Tenant Dial Plans have been assigned to the user. The benefit to this is that all the normal dialing rules that already apply to Cloud PBX users do not have to be re-created in the new Tenant Dial Plans; instead, the normalization rules in the Tenant Dial Plans can be limited only to the additional dialing scenarios that you want to account for. Brilliant, right?! Below is another screenshot from Scott Stubberfield's demo Skype Academy video shows this concept in a clear and concise format:





Summary


In this blog post I have given a brief introduction to what Tenant Dial Plans is, what it currently looks like in Preview, and why it is freakin' awesome. I hope many of you that have been exploring and testing with Cloud PBX are as excited about this as I am! In the next post, we will go over some of the cmdlets that were introduced for the purposes of managing these new Tenant Dial Plans. In the meantime, if you want to learn more about Tenant Dial Plans, check out the Skype Operations Framework training via the Skype Academy:

https://techcommunity.microsoft.com/t5/Skype-Operations-Framework-Skype/Tenant-Dial-Plans-Preview-training/ba-p/43521

Stay techy, my friends!


Friday, February 3, 2017

#Skype4BRecap - 02/03/2017 - MVP Changes, PSTN Calling in Spain, Tenant Dial Plans (Preview) Training

Two weeks in a row, the #Skype4BRecap has been published on time! Now I just need to keep up the momentum. This week was a big week for Skype for Business and other Microsoft UC community news, so please pardon the fast-speaking; I had a lot of good content to get out in a short period of time! Bigger topics include some major changes to the MVP Award program, General Availability (GA) of PSTN Calling in Spain, and some new video-based training of Tenant Dial Plans (Preview), but you can check out the full list of topics below. Enjoy the episode:


Topics

If you would rather watch the episode at my YouTube channel instead of in the window above, check it out here: https://youtu.be/5lXp9iFnBfE

Stay Techy, My Friends!

Monday, January 30, 2017

#Skype4BRecap - 01/27/2017 - AudioCodes S4BO Certification, S4BSwitcher, Consultative Transfer

Finally, an episode that was published on time! The blog post may have been posted the following Monday, but at least the episode was published Friday morning for the first time in...months! It was quite a busy week to cover, and there were some really good things to take note of. Check out the Topics section below for a complete list of everything talking about:




Topics

If you would rather watch the episode at my YouTube channel instead of in the window above, check it out here: https://youtu.be/GABJ4tm53-I

Stay Techy, My Friends!