tirsdag den 6. november 2018

Bye Bye SFBOnline part 2

At Ignite this year it was announced that automatic Teams upgrades will begin November 1. 2018 for SFBOnline organisations (without enterprise voice)

Microsoft has already started offering automatic updates from Skype for Business Online to Microsoft Teams for their direct customers. Starting from November 1. 2018, Microsoft will extend this offer to partner-associated customers, administrators will be given advanced notice via email and through the Office 365 Message Centre.

And this morning November 6. we got the upgrade message on our own tenant.
Yeah i know its in Danish - but you get the picture :)

And those of your running tenants with less that 500 users - better start preparing.

If and how this will affect your org depends on how you use SFBOnline today - example, if you run Enterprise Voice automatic upgrades will NOT be offered.

  • Organizations below 500 employees who are currently looking to deploy Skype for Business Online will now only be able to deploy Teams.    
  • Any organization currently on Skype for Business Online (without Enterprise Voice) can continue using Skype for Business.  However, starting November 1st, these organizations will be upgraded to Teams over the coming months. 
    • Organizations not interested in automatically upgrading can contact support on how to disable or postpone the upgrade.
  • Organizations currently on Skype for Business Online with Enterprise Voice functionality can continue using Skype for Business, these organizations will not be moved to Teams starting November 1.   
  • Organizations over 500 employees currently looking to deploy Skype for Business Online will still be able to but may want to consider Teams as it will eventually be the primary communications tool in Office 365.  

So what now - should we panic ? 

No definitely not - you should upgrade :) The thing to do as an admin is to get up to speed ASAP on what this change means for your users and your organisation - and get ready to do the upgrade.
Luckily Microsoft has provided TONS of info, guidelines tips and tricks nicely packaged in a small user friendly framework

This Breaks down as I see it into these main areas of focus:

  1. Define the people that need to be involved in planning and executing the upgrade.
  2. Define the scope, timeline and key success factors.
  3. Ensuring technical readiness - both on endpoints and on your corp network
  4. End-user readiness - training and awareness.
  5. Executing the upgrade steps in a controlled matter
  6. Measure your KPI's on usage, performance and user involvement.
As mentioned Microsoft has made ready a whole bunch of resources, I will highlight a few.
All are accessed through the link in the notification email.

During the whole process user involvement is key and from early info on the upgrade to actually ensuring that they embrace and adopt Teams - use these great email templates.

Understand the different journeys and modes to use during the upgrade:

Make sure to train yourself and your admins / Superuser early

Make sure the network is ready (assuming you already run SFBOnline it probably is)

The actual upgrade:

Monitor the quality

Thats it for now, as always happy Skype'ing.. or Teaming i guess. :)

lørdag den 6. oktober 2018

Answer AA and Call queues from Teams

Call Queues and Auto Attendants has now gone GA for Teams use.

This is a big thing, enabling the Teams users to be a part of the already created Call queues and Auto attendants for the customer.

An important prerequisite is that you have already gone through Interop and Upgrade configuration.

As users are used to in SFBO, the Teams users will be able to differentiate between incoming CC calls and direct calls, both visually in the toast, and through different ringtones.

The Toast:

The settings:

This is another important step for organisations that are considering or planning the move to Teams as their enterprise Voice platform.

However early tests are showing some delays in Call routing process... also on SFBO calls through Call Queues often lag 3-5 seconds before Toast arrives, but on Teams it seems worse, this will hopefully be adressed ASAP by MS

Go to the Techcommunity Blog for further details

torsdag den 4. oktober 2018

Bye Bye SFBO

From the beginning of Time (When Teams was launched) we all patiently awaited the day where MS would announce feature parity - and when they finally did - i guess the recent announcement at MS Ignite last week was no big surprise after all.

And we all knew that eventually Teams would replace SFBO - and that integration was already in place

Now that this integration is complete, Microsoft are planning to make Microsoft Teams the primary communications client in Office 365.

Most importantly, from 1st October 2018, new Office 365 customers with 500 seats or less will be onboarded to Microsoft Teams and will not have the ability to use Skype for Business Online.

If you already have customers that are using Skype for Business Online, they will still be able to do so (and this includes the new users that they might provision) until they complete their transition to Microsoft Teams.

Microsoft has already started offering automatic updates from Skype for Business Online to Microsoft Teams for their direct customers. Starting from November 1. 2018, Microsoft will extend this offer to partner-associated customers, administrators will be given advanced notice via email and through the Office 365 Message Centre.

So for those of you who either has a new SMB customer in the making with plans of utilizing SFBOnline, or even a larger customer that hoped to do POC on a new tenant - well i Guess plans have changed.

Source: Tony Redmond - and announcement made at Ignite2018

BUT as always - HAPPY SKYPE'ing

tirsdag den 17. juli 2018

Getting error while redeploying Cloud Connector Edition - CredSSP

Recently i ran into this at 2 different customers - both having the exact same issue, and the workaround below solved it.

Let me describe the issue.
IF your CCE host OS is set to Windows Updates enabled (it should be) but your tenant is not configured with bits and OS updates, or your guest VM's for some reason where not updated since March - you will probably run into the CredSSP patch issue.

Described here:

Basically if the RDP client (The Host OS) is patched and the RDP host (the guest VM) then connection will fail - and in the powershell running install-ccappliance you will have the exact same error.
Which is "The request is not supported"
FULL ERROR (for search purpose)
Connecting to remote server failed with the following error message : The request is not supported. For more information, see the about_remote_troubleshooting Help topic.

And when i saw that it occurred to me, that i saw that before in a whole different scenario... RDP that is:

So i thought i could not hurt to try out the CredSSP remediation workaround on the host.

So i dit this:

1. Open the Local Group Policy Editor and navigate to
     Computer Configuration > Administrative Templates > System > Credentials Delegation.
2. Under 'Encryption Oracle Remediation', click the Enabled option.
3. From the 'Protection Level' drop-down list, select Vulnerable.

After doing that i re-ran install-ccappliance and it went through without errors.

As always HAPPY SKYPE'ing

onsdag den 13. juni 2018

Manage Tenant Dialplans in Microsoft Phone System (Denmark)

Ever since OCS/ LYNC server became Voice enabled we had the option to work with Normalization Rules - Normalization Rules is a way to enable users to maintain their existing dialing patterns, this could be 4 Digit shortnumbers within an organization, or simply the ability to type 8-digit numbers and see them "normalize" within the client to fully supported E.164 numbers with + and countrycode.
  • Hybrid with Skype for Business Server 2015 
    • Calls to/from users homed in Skype for Business Online route via an on-premises Skype for Business Server deployment to the PSTN network.
  • Hybrid with onprem or hosted CCE
    • Calls to/from users homed in Skype for Business Online route via on-premises CCE deployment to the PSTN network

If the Cloud PBX users is in Hybrid with an traditional on-premises Skype for Business Server, on-premises dial plans can be assigned to Cloud PBX users. This ensures that, when users are moved from on-premises to online, their dialing behavior remains unchanged.

If the Cloud PBX users utilize an on-premises Cloud Connector Edition, on-premises dial plans cannot be assigned. Instead, users are assigned a Tenant Country level dial plan from the Skype for Business Online tenant, which cannot be configured or customized. This presented some challenges, including:
Users that were moved from on-premises Skype for Business (Enterprise Voice), to Skype for Business Online (Cloud PBX) would experience a change in dialing behavior, as their dial plan would not move with them.
In Denmark, the dial plan is very basic. Only 2 normalization rules were contained within the dial plan See snooper trace below.
Some issues with this included incorrect normalization behavior when dialing emergency numbers, as well as no support for users dialing local 8 digit numbers,because users in one Denmark wanted +45 and users in other country with 8-digits had different requirement.

Snooper trace for standard Danish user with the Tenant wide default DK Dialplan - notice only two Normalization rules apply.

This means that normalizations for neither emergency or normal 8 digit numbers work at all. :(

Luckily this was the past, with TenantDialplans this is actually customizable to fit your organizations needs.

Worth mentioning is that the Online Dial Plan hierarchy (scope) is working differently if a Tenant Dial Plan is activated.
So theTenant Dial Plan hierarchy differs from On-Premise scopes. On-Premise you could define Dial Plan based on Global, Site, Pool and User level, where the lowest (closer to the effective user) Dial Plan will be effective. 
With Online Dial Plans you merge the Service Country with the Global or User applied Dial Plan. 
Note: The Tenant Dial Plan always comes first! 
Illustration is copyed from Thomas Poetts great article on the subject.:

Article found here: https://gallery.technet.microsoft.com/Tenant-Dial-Plans-in-Skype-c80a7dfd

So lets get configuring via powershell.

To find the tenant level dialplan

The following cmdlet will list default dial plan entries that apply to a region. In this example, the region is DK: (Get-CsDialPlan DK).NormalizationRules | FT Name,Description,Pattern,Translation
As you see only two rules.
If you only have users in one single country - the easiest way to achieve correct normalization is simply to modify this Service Level Dialplan

$NR1 = New-CsVoiceNormalizationRule -Name 'DK-TollFree' -Parent Global -Pattern '^(80\d{6})\d*$' -Translation '+45$1' -InMemory -Description "DK-TollFree"
$NR2 = New-CsVoiceNormalizationRule -Name 'DK-Premium' -Parent Global -Pattern '^(90\d{6})$' -Translation '+45$1' -InMemory -Description "DK-Premium"
$NR3 = New-CsVoiceNormalizationRule -Name 'DK-Mobile' -Parent Global -Pattern '^(((2\d|3[01]|4[0-2]|5[0-3]|6[01]|[78]1|9[1-3])\d{6}))$' -Translation '+45$1' -InMemory -Description "DK-Mobile"
$NR4 = New-CsVoiceNormalizationRule -Name 'DK-National' -Parent Global -Pattern '^((3[2-689]|4[3-9]|5[4-9]|6[2-69]|7[02-9]|8[26-9]|9[6-9])\d{6})\d*(\D+\d+)?$' -Translation '+45$1' -InMemory -Description "DK-8digit"
$NR5 = New-CsVoiceNormalizationRule -Name 'DK-Service' -Parent Global -Pattern '^(11[24]|1\d{3,5})$' -Translation '+45$1' -InMemory -Description "DK-service"
$NR6 = New-CsVoiceNormalizationRule -Name 'DK-International' -Parent Global -Pattern '^(?:\+|00)(1|7|2[07]|3[0-46]|39\d|4[013-9]|5[1-8]|6[0-6]|8[1246]|9[0-58]|2[1235689]\d|24[013-9]|242\d|3[578]\d|42\d|5[09]\d|6[789]\d|8[035789]\d|9[679]\d)(?:0)?(\d{6,14})(\D+\d+)?$' -Translation '+$1$2' -InMemory -Description "DK-International"

Set-CsTenantDialPlan -Identity Global -NormalizationRules @{Add=$NR1,$NR2,$NR3,$NR4,$NR5,$NR6}

The same logic applyes when removing rules from Global - simply change ADD to Remove and put the rules you want to remove in a variable

Lets say you want to remove the DK-Service rules.

$NR1 = New-CsVoiceNormalizationRule -Name 'DK-Service' -Parent Global -Pattern '^(11[24]|1\d{3,5})$' -Translation '$1' -InMemory -Description "DK-service"
Set-CsTenantDialPlan -Identity Global -NormalizationRules @{Remove=$NR1}

 Most common is to create user level tenant dialplan - so we can manage pr site or country.
Theese are the rules and commands needed for Denmark.

$NR1 = New-CsVoiceNormalizationRule -Name 'DK-TollFree' -Parent Global -Pattern '^(80\d{6})\d*$' -Translation '+45$1' -InMemory -Description "DK-TollFree"
$NR2 = New-CsVoiceNormalizationRule -Name 'DK-Premium' -Parent Global -Pattern '^(90\d{6})$' -Translation '+45$1' -InMemory -Description "DK-Premium"
$NR3 = New-CsVoiceNormalizationRule -Name 'DK-Mobile' -Parent Global -Pattern '^(((2\d|3[01]|4[0-2]|5[0-3]|6[01]|[78]1|9[1-3])\d{6}))$' -Translation '+45$1' -InMemory -Description "DK-Mobile"
$NR4 = New-CsVoiceNormalizationRule -Name 'DK-National' -Parent Global -Pattern '^((3[2-689]|4[3-9]|5[4-9]|6[2-69]|7[02-9]|8[26-9]|9[6-9])\d{6})\d*(\D+\d+)?$' -Translation '+45$1' -InMemory -Description "DK-8digit"
$NR5 = New-CsVoiceNormalizationRule -Name 'DK-Service' -Parent Global -Pattern '^(11[24]|1\d{3,5})$' -Translation '$1' -InMemory -Description "DK-service"
$NR6 = New-CsVoiceNormalizationRule -Name 'DK-International' -Parent Global -Pattern '^(?:\+|00)(1|7|2[07]|3[0-46]|39\d|4[013-9]|5[1-8]|6[0-6]|8[1246]|9[0-58]|2[1235689]\d|24[013-9]|242\d|3[578]\d|42\d|5[09]\d|6[789]\d|8[035789]\d|9[679]\d)(?:0)?(\d{6,14})(\D+\d+)?$' -Translation '+$1$2' -InMemory -Description "DK-International"

New-CsTenantDialPlan  -Identity DK -NormalizationRules @{Add=$NR1,$NR2,$NR3,$NR4,$NR5,$NR6}

Grant-CsTenantDialPlan -PolicyName DK -Identity tjo@xxx.dk

 Then after logging in we can see a clear change i numbers rules in the snooper trace.
And now we see the normalizations working perfectly

Now you just need to define and add custom rules for other contries

If you want to see which dialplan a certain user is affected by run this:
Get-CsEffectiveTenantDialPlan -Identity tjo@xxx.dk | Select-Object -ExpandProperty NormalizationRules

As always Happy SKYPE'ing

tirsdag den 22. maj 2018

Updated requirement for SKYPE4B Hybrid

On more than one occasion, when doing a Hybrid SKYPE for Business implementation, i have come across the need to do an, until now, undocumented DNS configuration.

Up until now i only saw this need in splitbrain DNS environments.

The end result being one-way presence - so internal users had no presence for neither federated, nor online users.
When on-prem users attempted to see presence we saw "Presence unkown" or ….."Updating"
From the federated user perspective everything was OK.

The fix is to create 2 internal DNS records, resolvable by both clients, and the internal interface of the EDGE server.
1.  Being an  exact copy of the public SRV record for federation.
_sipfederationtls._tcp.sipdomain.com pointing to external access edge FQDN on port 5061
2 DNS A record for the access edge FQDN resolving the PUBLIC IP of the access edge interface.
3 DNS A record(s) for Edge Web Conferencing Service FQDN also resolving external IP

Recently however this was added to the online planning documentation.
So i guess this is now to be considered a requirement, although in non splitbrain DNS scenarios you would never know you missed it :)
Thanks for this Microsoft :)

The Planning documentation can be found here:

As always happy SKYPE'ing

lørdag den 21. april 2018

LYNC 2013 End of Support

Time flies - and this April of 2018 - all LYNC 2013 server and client version are end of Mainstream Support.

Ending mainstream support for a product means Microsoft will no longer be enhancing that product. What it does NOT mean is there will no longer be fixes for security and reliability issues. Microsoft will continue to issue bug fixes and patches for security and reliability issues.

See lifecycle site here:

When mainstream support ends, this is what occurs:

· Microsoft no longer supplies non-security hotfixes unless you have an extended support agreement

· All warranty claims end

· Microsoft no long accepts requests for new features and design changes

When extended support ends, you can no longer count on any security patches or reliability patches.

Please note this also accounts for:

Exchange Server 2013 and Sharepoint server 2013
More info on this in the Lifecycle FAQ:


What should you do ?

If you are in the progress of migrating to SKYPE for Business, you should continue.

If not you have several options, depending on your situation and business needs.

1. Side by side migration to the upcoming Skype for Business Server 2019 will be supported both from LYNC server 2013 and obviously SFB Server 2015.

2. You could still choose to inplace upgrade your servers to SKYPE for Business 2015

3. To stay in Mainstream support and at the same time upgrade OS on servers to 2016 - do a side by side migration to SFB 2015.

Happy SKYPE'ing