Migrating to Direct Routing in Microsoft Teams

Migrating to Direct Routing in Microsoft Teams

SUBTITLE'S INFO:

Language: English

Type: Robot

Number of phrases: 1542

Number of words: 10813

Number of symbols: 48514

DOWNLOAD SUBTITLES:

DOWNLOAD AUDIO AND VIDEO:

SUBTITLES:

Subtitles generated by robot
00:00
welcome to our team's IT pearl Academy training this is an ulti part series on direct reading in this lesson we'll be talking about migrating to direct routing with Microsoft teams in addition to this training you can find other I - Pro Academy trainings at our a kms forward slash teams Academy link if you have feedback that you'd like to provide on this session you can see the links and instructions noted on the slide here if you have feedback on the product itself make sure that you follow our a kms / team's feedback link
00:31
you can see at the bottom of the slide the current version of this presentation now some of the key learnings that we're going to cover in this session direct rally allows you to connect your existing a phone infrastructure to the Microsoft team service director adding itself will require a certified session border controller now we'll cover what those are as we go throughout the presentation we will also cover the configuration for direct routing in detail during the session but we do also have it clearly documented on our Doc's
01:02
portal let's take a look at the full agenda for the multi-part training on direct routing the first lesson will cover what is direct routing when to use it and how to properly plan for direct routing the second lesson will cover configuring direct routing and managing director adding and the third lesson will cover migrating to direct routing the lesson that you're currently taking is highlighted on this slide let's dig into our lesson on migrating to direct route
01:34
as we look at migration to direct routing we first want to level set with some migration concepts first and foremost we want to make sure that we consider what the source of the migration is going to be meaning are we migrating to teams direct routing from a legacy PBX system like a cisco call manager or some other third party PBX platform or are we migrating from an environment such as a Skype for business server platform that could be using enterprise voice the reason that's important is because based on the source of the migration we may have a different
02:06
slightly different set of steps that we need to adapt to the second piece that's going to be critical in this conceptual discussion is the placement of our session border controllers in our topology and we'll cover this in greater detail if you're not familiar again with the concept of the session border controller and make sure that you've gone back and watched the first lesson that we did for planning with direct routing we then also have to make sure that we understand how to prepare for the cut over because the cut over two teams with direct Rahming involves not only enabling the user for teams and the
02:37
various features of teams like phone system and direct routing but we also need to make some reconfiguration changes to the inbound routing of the particular phone number to ensure that it's now no longer being passed over to the old PBX or the old Skype for business environment but over to the new teams environment we'll cover each of these concepts as we go throughout this lesson so let's start by taking a look at a topology that we have here when I look at the topology for direct routing
03:09
migration first and foremost we need to start with some type of connectivity to the PSTN so you can see on the left hand side here I have a telco provided connection this could again be a SIP trunk from your carrier it could be a PRI line like a t1 or e1 but generally you have some kind of telco provided connection on the left and then on the right hand side you know you could be bringing this into Skype for business server like we see here represented by our mediation server you could be bringing this into a legacy or a third party a PBX like a Cisco or by a
03:41
platform and then of course we have our final destination up here which is the direct routing environment now when I look at this overall topology the key piece to all of this is right here the session border controller the reason this is key is the session border controller will take care of the routing logic for us to be able to know hey when a phone call comes in to this particular phone number where should I send it is this user still on the legacy PBX or have they been migrated to teams all of
04:13
that logic is built inside of the session border controller that's why we recommend to place the session border controller at what we call the quote front of the line what we mean by front of a line is it is right in line with the connection that comes in from the PSTN so the carrier connection comes directly to the SBC and now the SBC can see all of the possible places to route the call should I send it to the legacy PBX to the Skype for business environment or to teams the SBC being at the front of the line has that
04:45
capability of being able to make that decision this helps to simplify the routing logic because it is anchored on that SBC and it gives us some more creative options that we could use such as directory based lookups which I'm going to cover a little bit later in this training let's take a walk through a migration from Skype for business server with enterprise voice two teams direct routing using a number of the concepts that we've talked about earlier so let's set up the scenario in our scenario here
05:15
we have our connection from the PSTN which in this case is a telco provided SIP trunk that we've acquired this connection is currently coming into an existing session border controller and the session border controller is configured with a SIP trunk that routes these calls into our Skype for business server environment so you see we've got our mediation server and we have our enterprise pool and on the right I have two users I have Alice and I have Bob and you can see respective phone numbers for Alice
05:46
and Bob the Skype for business server environment is deployed on-premises and these users Alice and Bob are using enterprise voice feature sets when these particular phone numbers that you see here and here these are of course north american numbering plan phone numbers indicated by the +1 they are actually provided by this telco SIP trunk this is where we want to be able to get to direct routing so of course I need to be able to establish this connection which
06:18
we talked about in our previous two lessons right how to plan and how to configure direct routing so we're going to take this particular discussion as if we've already setup the foundational pieces or the plumbing as we call it of direct routing and now let's figure out what are our next steps going to be to actually migrate these users Alice and Bob from our Skype for business environment over to teams now as a starting point there's a couple of prerequisites that need to be met before we can actually do the migration
06:50
itself first and foremost we have to synchronize our on-premises users to Azure Active Directory so you can see the AKMs link that we have on the slide at the top talks about how to set up the synchronization between your on-premises Active Directory and Azure Active Directory make sure is reads through that documentation that you pay close attention to the proper attributes that you need to sync from a Skype standpoint these are attributes that start with MS RTC sip these are critical attributes that need to be synchronized into the
07:22
service so that the service can properly understand where your users are in your environment and do you even have an on-premises Skype for business deployment the second piece that we need to have configured is what we call split domain or often referred to as hybrid you can see on the slide in the middle the second aka ms link that we have that will take you to our guidance and documentation on how to configure split domain now this is necessary for us to be able to you know move the user from the on-premises Skype
07:53
for business environment directly into the team's environment and if we don't have hybrid configured we're not going to be able to run the proper commandlets or or use the proper admin tools to be able to do this and third piece when we look at our starting point is the tenant coexistence mode must not be set to change only right if we still have on-premises users using Skype for business server we can't set the tenant to team's only mode yet because the on-prem users aren't there right they're still in the on-premises world we recommend this generally to be Islands
08:23
but if you need some more detail on the tenant coexistence modes check out the link at the bottom of this slide that will take you through our upgrade workshops we have a series of ongoing upgrade workshops that you go to to learn more about how you plan and implement your paths to teams okay now we're gonna talk about how we staged the migration maybe thinking staging the migration what are you talking about what would I need to stage there's actually a series of steps that you can and should perform
08:58
well ahead of the actual date that you're going to migrate the user and their phone numbers from the existing Skype for business environment to teams and those steps are outlined here now I'm going to cover these a little bit more detail as we go but essentially to summarize staging we want to make sure that we have applied the appropriate licenses to the user granted their appropriate voice routing policies for the direct routing environment if applicable we've granted them their associated dial plan that they may need
09:29
to use we have verified or gone ahead and enabled them for hosted voice mail and we've prepared our user communications our adoption change management strategy for these users all of these items can be completed and should be completed in advance of the actual user migration this ensures that we've given enough time and a service for these particular items to take effect for provisioning to do its thing and it allows for a much smoother transition when it comes to the actual
09:59
day of migration so our first part of staging is to ensure that we properly licensed the user as we show at the top here these are the required licenses that we have for a user in teams that wants to use direct routing phone system teams plus the Skype for business plan to license if that is included with the particular SKU that you're using and the audio conferencing license as desired if you'd be more detail on the license assignments and which components are
10:30
required which is optional go back and check out the plan direct routing session for more details there now the licenses that you see at the top of course could be part of an enterprise service plan for example e 1 e 3 e 5 and so forth that's an enterprise service plan or an e scue and the location that we assigned to the user is also critically important so if you look at my screenshots here these are taken from the URL that you see at the bottom here this is our main admin interface for office 365 if I go into a user like my
11:01
user here Deborah and I pivot to the licenses and Apps tab you can see that I can select the location for this user this location is important because number one it's going to define what a signed service country dial plan we give to this user so Deborah here is assigned at the United Kingdom so she's going to get a service country dial plan for the United Kingdom underneath here you can also see where we can assign licenses and select our various East Q's now in addition to assigning a license and
11:33
setting this location which also by the way this location needs to be where these are physically resides ok this can't be a user that physically lives in the u.s. that you've just picked UK because they wanted the UK number that's against the Terms of Service you have to ensure that the location information matches where these are physically resides and that's also for emergency services reasoning but make sure we've got our right location make sure we have our correct licence assigned and then if you actually scroll down a little further you can expand out all of the
12:03
various apps that go along with your East View in this case with your Enterprise Service plan and you can see with the screenshot on the right eye beside audio conferencing phone system teams and because Skype online plant 2 is part of this skew I need to make sure that this is also assigned as well I know you might be thinking I'm not using Skype online I'm just simply using teams why do I even need this trust me you need this make sure that this option if it is included as part of the plan or part of
12:35
the east cue that you ensure that this is selected now we have some powershell commandlets that we can run that can check and verify the state of our user provisioning right when we assign these licenses to the users we have to make sure that they're properly provisioned in the service so that the service knows what features capabilities they have available to them so you can see in this screenshot if I run this get CS online user command lit there's a couple of key attributes that I want to be able to take a look at first off we have an
13:07
attribute here called on-prem hosting provider this lets us know and lets the service know where this particular account is home or where this account lives and right now this account lives on skype for business server on premises and i know that because the value here is SRV : right that indicates that the user is hosted in Skype on-premises the second attribute we want to look at is interpreted user type alright this lets the service know a little bit more about
13:38
the user and whether or not the user is in a state of provisioning or not now the very first time you assign a license or any time I should say you assign a license to the user you come out and run this command you'll probably catch it in flight as it's doing the provisioning that's where you'll see interpreted user type change to what you see here hybrid on Prem s FB user needs provisioning so that's telling the service hey there was a new license assigned and now we need to go provision all of the features and functions and capabilities of that
14:09
license that was just assigned to them this will run and when the provisioning process is complete this will return back to as you see here interpreted user type hybrid on Prem s FB user so now we know that the user is configured as part of hybrid right hybrid meaning they are synchronized with Azure ad on Prem s FB user meaning the user account is home don premises and is home in the Skype for business environment now the next thing we can do as part of
14:42
staging is to enable the user itself now by virtue of assigning the various licenses many of these features will automatically get turned on for you one of which should be enterprise voice enabled and hosted voice mail sometimes I have seen hosted voice mail not get set automatically upon assigning the license no worries we have a command lit here that we can go ahead and run a set CS user the identity of the user and then hosted voice mail true also at this time from user config perspective we can
15:15
go ahead and grant the voice routing policy to the user and optionally the dial plan to the user using the command lists that you see here now again for more detail on those commandlets you can look at our previous sessions we did on planning and configuring and managing direct route at the end when I do a quick get CS online user I can see right up at the top here boom on-prem enterprise voice enabled is true makes sense because they are enabled in Skype on print and they're doing enterprise voice on Prem so that should be true
15:46
my host voice mail and enterprise voice enabled are both true right so all three of these options should be true here's my online voice routing policy that I have assigned to this particular user as part of the grant CS online voice routing policy commandment you can see here that the line your eyes are set right this on-prem line or I this is the phone number that's assigned to the user in Skype for business server right that got replicated up via azure ad sync that shows up not only here an on-prem line URI but we also then copy that into
16:19
this line URI attribute as well and then finally you see here my dial plans right this dial plan option that you see first that's the service country dial plan right that's the one that gets assigned based on location that you picked in the drop-down when you assign the user that particular license and then there's tenant dial plan here this only shows up if you've actually granted a dial plan to the individual user so in this particular example I did I granted a dial plan called USC a dash curve ein to
16:50
this individual user now remember from a user standpoint they're effective dial plan is going to be a culmination of both of these right and again for more detail on that go check out the second session that we did on configuring and managing director outing it is important to emphasize here again all of the steps that we've talked about up to this point from a staging standpoint they're not disruptive to the user the user isn't gonna notice anything different right the behavior won't change in their Skype
17:21
for business client nor will their behavior change in their team's client they're not gonna see a dial pad they're not gonna receive inbound phone calls they're not going to be able to make a outbound PSTN phone calls so these are items that you can do well ahead of the actual migration generally you should do them at least maybe five days or so ahead of the actual migration just to give it time to settle in the service so that what we do actually do the upgrade or the cut over from Skype for business two teams with direct
17:53
routing we can have a minimal delay in service for the user now we've done all the staging of course we can't forget about this is now a time to make sure we've got the right readiness plan and our adoption change management is in full swing now of course this is outside of the scope of this particular lesson to talk about all the aspects of adoption change management but if you take a look at the two aka MSW posters email templates
18:29
things of that nature that you can use for communications and that we also have our upgrade workshops which are actually live on demand trainings that Microsoft will perform that you can use to help gauge and understand how to build your appropriate adoption and change management strategy critically important that you get your readiness plan you get your coms going so that users are well aware of when this change is happening and what to expect and now it's migration day it's time to
19:07
actually move the user from Skype for business on Prem with enterprise voice two teams and direct routing on migration day there's really only two specific items that we need to make sure that we account for one we have to now redirect the users inbound phone number from a routing perspective to go from the source environment which in this case is Skype for business to the destination environment which is now teams this generally involves changing
19:38
the routing rules on your session border controller to make sure that you route the number into teams now again this makes sense when you have the session border controller at the front of the line right because the connection will come in from the PSTN from the telco provider and hits the session border controller first and now the session border controller can make an intelligent routing decision and it can say all right Bob well he's currently on Skype for business so I'm gonna route that particular call over to Skype for business migration day comes I go into
20:09
the session border controller and I changed the configuration to say hey session border controller when you've seen a call come in for this phone number five five five to eight three two instead of routing it over the SIP trunk to Skype for business I would now like you to route it over the SIP trunk two teams that's the inbound routing change that we need to make now of course you can do this by select telephone numbers right one by one that's great for piloting and testing right you can do it by all
20:40
numbers right if we're migrating everybody at a particular location all at once we can just simply update the trunk to say hey all calls that come in instead of sending all calls to Skype send all calls to teams that's kind of a full cut over approach if you're doing an entire site right or if you have a maybe you have a rather large site and you're doing chunks of users at a time right well that may not be great to do by telephone number because a lot of times the phone numbers aren't in blocks they're not in sequence so we might have
21:10
an opportunity to do that dynamically using what are called dynamic active directory lookups I'm going to cover that in the next section but essentially this first task is all about redirecting the inbound phone number for the user now additionally as we're making changes on the SBC for routing we we have to move user into teams and that's accomplished by using the command lit that you see on the slide here move - CS user with the - move to teams parameter now that moved to team's
21:41
parameter is only available in server 2019 or server 2015 cu8 and higher so you need to make sure that you have at the very least an administrative workstation that has these versions of the Administrative Tools on it if not actually having your servers upgraded to these particular versions so you can see here I run this move CS user command lit I have an identity of who I'm gonna move my target is sip fed online link comm that basically means I want to move this
22:12
account into the service and this move two teams parameter is going to actually move the user straight to Microsoft teams now when we do the user move we're also going to do some license checks for you now remember as part of the staging we wanted to make sure that we assigned the proper licenses to users well we're also gonna do some licensing checks when you go to move the user specifically we're gonna check two things audio conferencing and enterprise voice if the
22:45
user is enabled for a particular service in on-premises we want to ensure they have that same experience when they go online let's take this first example I have in my screenshot my user that is on-premises I have enabled for both enterprise voice so they have PSTN calling in and out but I've also enabled them for audio conferencing but when I went and I assign the licenses as part of my staging look on the right side here I gave them an e5 license but I didn't check the box for audio
23:15
conferencing because he said that was optional maybe I just decided they didn't need it well if I run the move CS user command lit I'm actually gonna be greeted with the error message that you see here which indicates that hey this user is enabled for dialing conferencing on Prem but they're not enabled for it online that's gonna result in a loss of service for them so we're gonna prevent that and allow you as the administrator to make the corrective action well there's two ways you can correct it one you can just simply come over here and give them the license right but maybe
23:47
you don't want them to have this license cool you can use this - bypass audio conferencing check parameter that basically says go ahead and move the user but don't bother checking to see if they have a license or not just go ahead and move the user the same would be true if you were dealing with enterprise voice right maybe they're enabled for enterprise voice on-premises but you're moving them into teams and you're not going to enable them for enterprise voice for whatever reason obviously in the context of what we're talking about in this lesson this is about migrating
24:18
voice to team so hopefully you're not gonna use the bypass enterprise voice check hopefully they are actually going to be you know licensed properly for phone system and so forth now as we run see s user command lit which by the way if you didn't gather from those screenshots that is run in the Skype for business server management she'll write the on-premises management shell we can now verify where we are in that move by using commandlets against the service
24:48
again it's the get CS online user commandant take a look here my screenshot on the left you can see I have an interpreted user type of in this case it's hybrid online SFB user needs provisioning a couple things to unpack from that first if your memory isn't all that good I jotted it down here for you before we move this user it used to be hybrid on Prem as if the user now it's hybrid online SFB user
25:19
that lets me know that this particular user account has been moved online that was the result of my move CS user command right I do have that needs provisioning tag at the end because this user is now moved into the service we need to run the provisioning cycle on them again to make sure that we've got the correct you know services enabled for this particular user so if I wait a few minutes or so let provisioning to its thick I run this command again notice now this interpreted user type is simply
25:50
hybrid online SSP user so if the user account has been booked online and if I look down at the bottom that moved two teams option sets the upgrade effective mode for this account two teams only that's what I mean when I say we're gonna take the account from on-premises Skype for business straight two teams it's straight two teams because we've automatically set them two teams only mode we've moved their meetings all that good
26:20
stuff by default they are now teams only with enterprise voice with direct routing configured now the last piece of the puzzle is to make sure that we verify that outbound dialing works from the team's client because remember as an admin we've done two things we've reconfigured the SBC that's for the inbound calls and we've moved the user and enabled them for teams direct routing now we need to make sure the user can properly dial out from
26:55
the team's client we do this by ensuring that in the team's application we go to the calls app which you see here and we see that they have a dial pad available to them this ensures that the user can now make an outbound PSTN phone call now some requirements to make sure that the dial pad shows up well of course we have licensing requirements right which we talked about before the user needs to be honed online so if you were to look at the hosting provider value remember before we said when they were on Prem it
27:27
was SRV : well when they're online that changes to SIP fed online that link comm right same thing that you put in the command let the move CS user Commandment right of course again license they need to have well they could have a calling plan assigned to them remember it is possible to do a user with both calling plan and direct routing but for the purposes of what we're talking about here this user would be following the or path of having an online voice routing policy assigned to them remember you did that as part of staging right you of
28:00
course need to make sure that allow private calling is enabled in the team's calling policy CS team's calling policy so don't disable calling that would be silly and they have to be running a supported client right supported clients include our desktop clients that's PC and Mac our mobile clients the new edge browser the Chrome browser all those have capabilities of being able to do the calling features inside of the team's app itself now this may take a little bit of time for the dialpad to
28:30
show up most often in my experience having the user do a quick sign out and sign in of the team's application is the fastest way to get the dialpad to show up if it's not showing up even after a sign out and sign in there's a quick check that to see what the service is is sending to the client and we can do that by looking at the team's diagnostic logs or what we call the web logs right if you're in your PC client when you have the team's application in focus you can just do ctrl alt shift 1 and that will dump the
29:02
diagnostic logs into your downloads folder on a Mac that would be a command option shift one that'll same thing dump those client logs into your downloads folder now when I look in these logs I'm gonna search for a couple of things I'm gonna search for this calling the support service entry specifically you're gonna see a lot of these but you want the one that talks about calculated is PSTN calling aloud because this is the blurb inside of the log that's gonna tell us what the service thinks you
29:33
should be entitled for and this is where we can cross-reference to see if some of these don't look right then the team's client isn't gonna display the dialpad key things for us to look at here right there's a bunch of parameters in here but the ones that we're really keen on is of course we want to make sure this is calling aloud true right that's this allow private calling piece right make sure the calling is allowed and is he being able to be enabled for enterprise voice that should have been done as part of staging right but now we have these
30:06
fun ones is business voice path right business voice path if that's true that means they have a calling plan assigned to them in the case of this particular user that I was testing with this user did not have a calling plan so is business voice path is false is BYOD enabled is true that means that they are enabled for direct routing and that's been picked up by the fact that I have a CS online voice routing policy assigned to this particular user so essentially
30:39
one or both of these parameters have to be true for this dial pad to light up if neither one of these parameters are true you're not going to see the dial pad in the team's point one of the more advanced items that we can do as part of this migration is what we call SPC dynamic or conditional routing let's talk a little bit about what that is in this particular section dynamic routing on the session border controller is sometimes known as a directory based lookup and it's the
31:12
ability for us to do conditional routing based on an LDAP query that we do into the local active directory and this allows us to make routing decisions based on some dynamic rules and in plain English those dynamic rules could be well if the user is on-premises send the call to Skype for business server but if the user is online send the call to teams right those are some very simplistic routing decisions that we can build with dynamic routing now the
31:42
advantage to this is now you don't have to change the routing mechanism by individual telephone number right which can get quite tedious if you're trying to do that line by line by line inside of the session border controller unless you're lucky enough to have the numbers in a block but that just generally never happens so by being able to do dynamic routing it gives us a much more flexible way of being able to key off of a particular attribute and then make a routing decision based on the output or the result of that particular query
32:16
so I wanted to bring you back to a visual of what the directory lookup flow would look like so in this particular example again like we've seen before I start with my telco connection I've got some kind of telco provided connection whether it's a SIP trunk pri what-have-you right that's coming in from my carrier and it hits my session border controller now in this particular example the session border controller is configured with the trunk to the Skype for business world and it's also configured with direct routing as you
32:47
can see here right so the session border controller knows that it has two different paths that it can send the calls that come in how does it make the decision without you know an administrator having to go manually configure these things well that's where LDAP comes in so here I establish an LDAP connection to a domain controller and there's a set of attributes that I can query a couple of which are critical attributes right the MS RTC sip line the deployment locator and then optionally
33:18
we have options flags and extension attributes that we could use so what all these attribute to do what's the what's the point of them well the MS RTC sip line attribute this is what I call the anchor attribute right it's used to match with an incoming call so when an inbound call reaches the session border controller right this could be a call that was coming in for Bob you know that nine four nine five five five number that reaches the session border controller and the first thing that the session border controller can do is go
33:49
oh I have a call for this particular phone number let me go look in Active Directory and see if there's a user in Active Directory that has this phone number which there should be right because Bob is already enabled for enterprise voice so I call it the anchor attribute because that's the first thing we want to key off of is the phone number that's come in to the SBC does that even exist because maybe it's a phone number that's not assigned to a user well then we can reject it right
34:19
but if it is a phone number that's assigned to the user I want to match it to that user so I'm gonna do that by looking at the MS RTC sip line attribute because that's where the users phone number is stored when they're enabled for enterprise voice in Skype for business server so great I anchor on that and now I find Bob well now the next thing I want to do as part of my query is I want to look this attribute tell me what's in ms RTC sip - deployment locator because
34:49
if I see SRV : in that particular item I'm gonna send it to Skype but if I see sip vid online downlink comm I'm gonna send it to team right so again going by flow I do these queries I return oh bob has sip fed - online link calm cool boom send that call up the team's maybe the next call that comes in is the nine four nine five five five one thousand one that's Alice right maybe I haven't
35:22
migrated Alice yet so again that call comes in we do our LDAP query I incur it and match it to Alice and now I say let me look at Alice's account and let me see what Alice's account has for deployment locator Oh Alice's account has SRV cool send that call over to Skype for business boom now I don't even have to touch the SBC to make these routing changes all I have to do is do the move CS user right because the move CS user is gonna change that deployment
35:53
locator option for me and Pao the SVC can now properly route the call up to teams because I've moved the user to teams pretty slick right now there are a couple of optional items that you have here right you can use the options flag as a way to kind of do a safety check right because maybe the user has a phone number assigned but they're not actually enabled for enterprise voice for whatever reason right we've seen that before in the Skype for business days and we had to deal with you know getting to the dial-in conferencing page and being able to sign into conferencing
36:25
with your you know pin and all that kind of fun stuff so you might have a situation where the user is enabled with a line URI but they're not actually enabled for enterprise voice so you could do another quick check look at options flag and see if it has the value of at least 385 right because that lets me know that the user is enabled for enterprise and optionally if you have exchanged on-prem deployed or you've at least prepped you know the schema in Active Directory for exchange in on-prem you might also have these extension attributes right extension attribute
36:55
long extension attribute 15 I've had some customers that use this as another way to help flag if a user has been you know placed in Skype online or teams or what-have-you so for example they might use extension attribute one and when the users migrated to teams they just put the word teams in that extension attribute and that way when I do my LDAP query I look at that value and if I see teams I routed to teams if I see nothing I route it to Skype for example now you might wonder why would I need that well think about the scenario I've given you up to
37:27
this point we only have two choices Skype on-premises and teams right but some organizations are in the midst of their transition so they have Skype on-premises they have Skype online and they have teams well the deployment locator value for the Skype online user and in the team's user is going to be the same sip fed online that link comm so the extension attribute could help flag a differentiation between Skype online and teams for example okay so we've talked about the logical
38:01
aspect of the dynamic routing now let's cover at a high level what the configuration of that looks like now I'm going to cover this at a high level because the configuration is specific to each of their respective SBC vendors so the way you can figure this on an audio codes it's different from how you configure it on Sonos and so on and so forth but at a high level it's all pretty much the same right we configure LDAP first right so we go into the SBC and we turn on the LDAP function oftentimes this is disabled by default we turn on the LDAP function and we then
38:33
configure a connection to the local directory this is done often by you know for example on audio codes we configure an LDAP server group and inside of that server group I can configure an LDAP server this tells me what the name of the domain controller is what base context I'm going to use the base DN and so on and so forth it basically tells us how to connect via LDAP to your domain controller the next step is to build the rules to query their respective attributes that we want out of Active
39:03
Directory right this is where we start building a logic right hey if the user is on Prem send it Skype if the user is online send them to teams these are the rules that we're going to query here now the Audiocodes world we call these call setup rules like via a sample here what that looks like on the screenshot on the left I built this call setup rule the rule set ID is an arbitrary number in this case but it's important right what you pick here I picked one great it's an LDAP request my target that's my
39:34
domain controller group that I configured to actually talk to the environment the request key right this is my anchor right this is what I want to go and match to to find the correct object in Active Directory so you think about that the phone number that comes in for you know Alice she's plus one nine four nine five five five one thousand one when that phone number comes in I need to go look that phone number up in the line URI attribute in Active Directory see if I can find a match and if I find a match boom that's
40:05
Alice cool well that's my request key here right I need to make sure that the line URI matches that phone number that came into the SBC once I find the match of that object well then I want to get an attribute I want to know what's the value of deployment locator right because of the value of deployment locator is SRV then I want you to send it to sky but if it's zip fed online link comm well then I want you to send it to teams right and there's my condition that attribute I want to be equal to zip fed online that
40:36
link comm now on the routing itself the call that comes in from my PSTN provider which you can see here this is my source group that's the PSTN trunk this is my destination which is teams but I now tell it what's the call setup role ID well it's full ID number one which is the rule that I created here that's basically telling the SBC hey before you route this call go look at the call setup rule and if the condition matches then we'll go ahead and route it to the
41:09
destination that's on this particular IP to IP routing rule if it doesn't well then we'll go on to the next rule that we match which would be my skype for business rule now optionally you can also configure the SBC to cache some of these attributes as well so if you're constantly querying for attributes like MS RTC zip line or MS RTC zip deployment locator and so forth this is an option for you to have those values cached so that you don't impact the performance of
41:40
having to query the local domain controllers all the time many of the SBC's have an option to allow you to cache certain 80 attributes and values and that can then help reduce the load on your local domain controllers now let's look at some additional considerations and next steps with regards to migrating to direct routing from one premises Skype for business now we also need to take a look at some additional voice components as part of the overall migration from on-premise Skype for business to teams
42:11
especially with enterprise voice so when we look at the first area delegation call forwarding call team calls these are items that are going to need to be reconfigured in teams after made the migration to teams only mode when you look at enterprise voice delegation make sure that the delegator and the delegate migrate at the same time you don't want to try to deal with a delegate that's in teams only mode and a delegator that's not right from an auto attendance perspective if you're still running full on-premises auto
42:42
attendance you only get them migrated into cloud-based auto attendance and there's a kms link here that'll tell you a bit more about the cloud-based auto attendants response groups there's no automated way that we're gonna move response groups into teams call queues so you're gonna need to recreate these as call queues take a look at the AKMs link that i've placed in the middle of slide for call cues that'll take you through the steps on how to set up and manage and plan for those various call keys now the service numbers that we use with the call queues
43:13
and with the resource accounts that we use with call cues they can be applied through direct routing so you can bring the phone number in and assign it to a resource account that is used with a call queue and bring that in through direct routing one area to note though in on-prem Skype for business we have this concept of an are back role for a response group administrator we don't have an equivalent to that currently in teams today so just keep that in mind if you're leveraging a common area phones you can have those common area phones
43:43
reconfigured in teams just follow the link that you see on the slide here same thing with analog devices right the analog devices that are currently configured in Skype for business today you could reconfigure that to work in the team's environment just beware and there's a link here for how to handle analog devices it's not the same approach that we had in the Skype for business world right when you configure analog devices connected to direct routing in teams all of that routing logic and configuration is really handled through a species themselves
44:15
analog phones that are connected to teams in this way aren't searchable from teams so you're not gonna have a contact object that represents this be able to find it and click to call it currently so if a user wants to call the analog device they're gonna have to manually enter the phone number that's associated with that analog device to be able to call it and lastly there's a couple of that as of this recording we currently don't support a team's vacant number announcements and private lines so just be aware of those as you're staging the rest of your migration from on-premises
44:47
another piece that I wanted to talk through is how do we handle new users during the migration period if you're lucky enough to migrate your entire org all at once then this is probably not something you need to deal with but a lot of medium and larger sized organizations are staging this migration they're doing batches of users at a time well while we're migrating these batches of users we might be getting some new hires in so how do we handle these new users during our migration well effectively we have two ways to approach this one we can create them in on-premises Skype for business and then
45:19
move them to teams right basically copying the exact same process we've been doing or option two is we can create them that new within teams itself so let's break these two options down a little bit further with option one this is effectively the same way that you were doing it prior to starting your migration right you create the user account and on-premises Active Directory you enable the user in Skype for business server you enable them for enterprise voice in Skype for business server and give them a phone number of
45:51
course everything syncs up into Azure ad using your as your ad sync you know components and then you migrate the user to teams as we talked about earlier in this session you can continue that same process with net new users right just basically build them in Skype been migrated them to team option 2 would allow for us to create the user directly within teams now the advantage to creating it in teams is you're setting yourself up for the forward-looking of
46:23
once we do get rid of the Skype for business world I'll be able to manage this account directly within teams from that point forward so the process looks like this we go and create the user account as normal you know I say in your on-premises Active Directory right maybe you have an HR application that's kind of kicked off and builds this user account and on-prem ad cool the user gets synced into Azure Active Directory as usual and then you license the user like we had talked about before with our planning and config steps at this point we want to ensure that the users teams only this could be at the tenant mode
46:54
but more likely because we're in the process of doing this migration we still have on-prem users so it's likely not at the tenant level it's something that you would make sure that you've assigned directly to the user to ensure that this user is now in teams only mode and now we need to go to the on-premises Skype for business server management show and run a couple of commands that will basically create a representation of this team's user in the on-premises Skype for business environment they
47:25
might be wondering why do I even need to do that well again based on the timing of all of this you may still be in the process of doing the migration and you have a bunch of users that are still potentially using the on-premises Skype for business server and clients well if they want to be able to contact these new users they need to know about them well if they're only created in teams the on-prem Skype environment isn't going to know that they're there so we need to run these sets of commandlets to create a representation of that user in
47:56
the on-premise skype environment as well as create a representation of their phone number that way in case they you know dial them by number we can do a proper reverse number lookup match it to the user and send the call to teams those command let's look like this you can see the first command lit but I run grab my little mouse pointer here first commandment that I run here is the enable CS user commandment right this is the user that I created their sip address and then the dash hosting
48:27
provider proxy fqdn is set to sip fed online that link comm that creates a representation of this user in the on-premises Skype for business world but basically tells the on-prem Skype world and by the way this user is in the service right so they exist just you don't own them they exist in the service cool then my next command let Iran is set CS user for this user enterprise voice enabled true and then line URI tell Colin plus blah and I gave them their phone number the end result of that is
49:00
this user gets created as a representation of the online user in the Skype for business server environment you can see that it's notated here what their hosting provider is so yep they're online they do have a phone number and they are enterprise voice enabled this way anybody again that's left behind in the Skype for business server on Prem world they could actually dial this user by their phone number and we would know about it match it by a reverse number lookup and send it to their team's claim once we've
49:31
done this we just complete and verify our direct routing configuration in the service you know assign our online voice routing policy and off we go okay so at this point I've migrated all my users I have taken care of whether I'm gonna do option one option two now what my migrations done what do I do well the next steps are to disable hybrid and effectively decommission the on-prem environment so as part of the disabling of hybrid or split domain
50:05
there's a few things that we want to make sure that we accomplish first and foremost we need to make sure that we update our DNS entries appropriately to point to the office of 65 service and not the on-prem edge pool this includes various SR ve and cname records and you can see an example of that in the screenshot on the right side of the slide you'll also want to disable split domain in the tenant so this is a command line that you'll run in the Skype for business online powershell that you can see on the slide here of
50:35
sexiest tenant Federation configuration and then finally you want to disable the ability and on-prem to communicate with office 365 right that opposite direction and that's basically turning off the hosting provider so you get the output of get CS hosting provider pipe it to set CS hosting provider and set enabled to false you now I do want to talk about the handling of phone numbers because it's important to understand where we need to go to
51:11
edit a user's phone number post decommissioning or removal of the Skype for business on Prem environment and really the key to all of this is where was the user enabled for voice prior to their move to teams if the user was enabled for voice on-premises prior to their move to teams that means the MS RTC sip line attribute was populated in on-premises Active Directory well when
51:43
that value is populated in on Prime Active Directory it sinks into Azure Active Directory and the on-prem line URI becomes the line URI you can see here in my screenshot I have an on-prem line URI for this user which maps to the line you are for this user and this value of on-prem line URI manually set is false that indicates that effectively the owner of this line URI is on-premises Active Directory that means if I completely decommission
52:14
the on-prem Skype environment and then this users phone number changes if I try to change it in the service with the commandment that you see here notice the error that I'm gonna get cannot update on Prem line URI as user is it der synced on premises line URI ooh yeah that's because on Prem ad is effectively authoritative for this users phone number that means you need to continue to manage this users phone number through the on-prem mms RTC zip line attribute now again you don't have
52:46
to have your skype for business environment around for this it's just simply an attribute on the user you can see here this is a screenshot from Active Directory users and computers just open up the attribute editor I can scroll to that attribute and edit it as I see fit but key thing to understand if the user was enabled for voice prior to this moved team right basically the on Prem line URI was set you're gonna have to continue to manage it from on premises contrast that if the user was not
53:16
enabled for voice prior to the move two teams right in this example the Emmis RTC supplying attribute was not populated in the on-premises active directory that means that we enabled the user in the service and we used the set CS user command to assign their on-prem line URI well check out what's different here write my own print line URIs set which maps to my line URI as you saw before but notice what's different on pram line URI manually set is true this
53:48
means that I manually set this in the service it wasn't set in on pram and synced to the service that's an important distinction because when this on-prem line your I manually set is true I can modify it the same way that I said it I can use set CS user the users ID - on-prem line URI and I can put in the new value and I won't get that same error message that you saw on the previous slide telling me that you know there was a value being synced from the on-premises world okay now we come to the fun part how do
54:23
I remove the Skype for business server environment well first you need to ensure that there's nothing effectively left in the on-prem environment no more users left in the on-prem world no more apps or service accounts or you know anything that's left in the on-premises Skype for business environment from there you can go into topology builder and effectively remove the deployment right there's actually an option in topology builder that will allow you to
54:53
remove the deployment you'll publish that wait for CMS replication to do its thing and at that stage you'll be able to start the removal of the Skype for business server environment you'll remove the remaining conference directories using the command let's see you see in the middle of the slide and then you'll do a publish CS topology with the - finalized uninstall parameter that basically is going to publish an empty topology and allow you to remove
55:24
the rest of the pieces of the puzzle all right once we've done that published CS topology with the finalized uninstall we can remove the config store location from ad using remove CS configuration store location and then we can unprepped the domain and unprepped the forest now you don't have to use the - domain parameters unless you're in a multi domain environment right just running disable cs-80 domain or disable cs-80 forest will run it in the current context of you know the domain that is being run
55:56
now you might wonder should I disable the users before I decommission the sky for business server environment word of caution disable CS user will remove all of the Skype for business attributes from the user accounts in on-premises that includes clearing out the MS RTC sip line attribute remember that's a critical attribute if this user was enabled for enterprise voice on-premises
56:27
and it's an attribute that we still need to use if a con prime active directory is actually authoritative for that phone number so if you run disable CS user you're gonna blank that out well guess what you run that and it sinks into Azure Active Directory poof we remove the users line URI in the service for that direct routing configured user that's not great she just took the users phone number away from them now on the
56:58
plus side it does lift that restriction for being able to manage the phone number online because now it's no longer set in on-premises Active Directory so you wouldn't get the error when you try to do a set CS user because it's not being synced anymore right you've effectively cleared it out but you gotta correct that so if you've done a disable CS user you need to go into this Skype online power show or 10 remote power show do a set - guest user the user ID - on Prem line URI and put their correct
57:30
phone number in so they get their phone number back if you forget to do that bad things are gonna happen because now the user doesn't have a phone number assigned to them and maybe it'll be more productive who knows but it's not a great you end user experience for certain so you need to use this as an inflection point to determine your path forward for number management right as I talked about a few slides ago you can completely decommission the on-prem environment don't run disable CS user and just continue managing the line URI
58:02
attribute through on Prime Active Directory right that's totally fine you can provide brand new users and always set the line URI on-prem and always let it sink into the service and do all of your management of the line URI from 1 from 80 you could do that or you could use this as a demarcation point to say ok from this point forward I'm not gonna manage it manage it with on-prem 80 I'm gonna do it in Azure ad going forward that basically means anybody prior to that point you would manage through
58:33
on-prem ad and anybody after that point you would manage through Azure ad you could then take the approach if you desire of maybe a user at a time or a set of users at a time doing the disable CS user let it sink and then do a set CS user to basically transition if you will the user management of the line URI from on premises ad into Azure ad if you're gonna do that that's cool but just beware that you've got to sync that up
59:03
properly so that you don't have the user going for you know a period of time without an actual phone number right I mean personally for me I might just leave it alone if I see the user and online has that on-prem line URI manually set as false then I know I need to go edit this attribute and on-prem ad and if it's set the true well then I know I can do it in the service maybe for me that's just a safer bet but your mileage may vary you're certainly I'm able to do whatever you see fit
59:35
so in summary the key learnings that we had with direct routing direct routing allows us to connect our existing phone infrastructure to Microsoft teams we do require that you have a certified session border controller and we do document the configuration for dr in quite a good amount of detail which you can also experience in our previous trainings that we did on planning configuring and managing director attic
01:00:07
so to summarize our multi-part training with direct routing in our first lesson we covered what is direct routing when to use it and how to properly plan for direct routing our second training covered configuring and managing of direct routing and our third and final training covered how to migrate to direct routing thank you for your time and I look forward to seeing you in future training events

DOWNLOAD SUBTITLES: