Tuesday, August 9, 2016

Multiple Phone Numbers for Skype for Business Users

As we know, Skype for Business only supports a maximum 2 phone numbers per user.
The LineURI and the PrivateLineURI.

Note:
At point of writing this article, this option is on available for On-Premise users

(09. Aug. 2016)

While the PrivateLineURI is not aware of the current user status.
If you are calling the Private Number while you are "do not disturb" the phone call will ring at your endpoint.
 

How do we work around this typical PBX feature with Skype for Business?

This is proposed solution is a little bit a hassle to configure, but works perfectly.

Skype for Business has two services/ features:

Unassigned Number
Announcements

if we combine those services in a manner supporting a multi number concept for users, we have the same feature available like every traditional PBX.


The process workflow explains what we need to configure.
You can create multiple Unassigned Number with the same Announcement. This will give you the option have beside the LineURI multiple other number assigned to this user.

Create the announcement:

New-CsAnnouncement -Parent service:ApplicationServer:SfBFrontEnd.domain.local -Name "Forwarding to USER" -TargetURI "sip:user@domain.com"

 

Create the Unassigned Number:

We can create unassigned numbers via the CSCP or via PowerShell. I have provided both methods.

 
The second option via PowerShell:

New-CsUnassignedNumber -Identity "Second Number for USER" -AnnouncementService "ApplicationServer:FEPOOL.domain.local" -NumberRangeStart "tel:+498912345678" -NumberRangeEnd "tel:+498912345678" -AnnouncementName "Forward to USER"



Author:

Remove Server from Topology Error EventID 1034

Once more I ran into the issue with the say EventID 1034.

Source:
LS File Transfer Agent Service

EventID:
1034

General:
Skype for Business Server 2015, File Transfer Agent service encountered an error while accessing a file share and will continuously attempt to access this file share until this issue is resolved. While this condition persists, replication to replica machines might not occur.
Can't watch SfBFrontEnd.domain.local
Cause: Possible issues with file share permission.

 

This issue while removing a Server from the Topology is not related to any permission issues, rather it is related to DeleteReplicas.
This occurs, if anything with the server removal was not working as expected, even if the removal and the bootstrapper process ran well.

You should verify first the:
Get-CsManagementStoreReplicationStatus

As you see the replication is working fine and we only have a Polycom RMX which did have the do not replication option set in the topology.


Next step is the verification of the
Get-CsManagementStoreReplicationStatus -CentralManagementStoreStatus


Here we can see the DeletedReplicas and the "old" Lync Server" lingers around in the XDS Database.

SOLUTION 1

If do didn't delete the removed server, go and manually uninstall all Lync or Skype for Business Server components.
It might be the Core Component helping solving this issue.

 

 

SOLUTION 2

This is the "hardcore" removal within the XDS Topology Database.

WARNING:
Best you do a database backup before you touch and modify the SQL database.

Prepare the following script in SQL:

USE [xds]

GO

SELECT TOP 1000 [ReplicaId]

      ,[Fqdn]
      ,[Supports]
      ,[LastUpdateCreation]
      ,[LastStatusReport]
      ,[DeletedOn]
      ,[ProductVersion]
      ,[UpdateThrottleDuration]

  FROM [xds].[dbo].[Replica]

GO


Sorry for having this screen shot in german:

As you can see, the old Lync Server is allocated in row 2.
This is causing the issue.

We need to delete this row with another script:


USE [xds]

GO

 
DELETE FROM [dbo].[Replica]

      WHERE ReplicaId IN (2)

GO

Now the problem is solved after your run the command:
Invoke-CsManagementStoreReplication



Author:

Remove Server from Topolgy Error EventID 1034

Once more I ran into the issue with the say EventID 1034.

Source:
LS File Transfer Agent Service

EventID:
1034

General:
Skype for Business Server 2015, File Transfer Agent service encountered an error while accessing a file share and will continuously attempt to access this file share until this issue is resolved. While this condition persists, replication to replica machines might not occur.
Can't watch SfBFrontEnd.domain.local
Cause: Possible issues with file share permission.

 

This issue while removing a Server from the Topology is not related to any permission issues, rather it is related to DeleteReplicas.
This occurs, if anything with the server removal was not working as expected, even if the removal and the bootstrapper process ran well.

You should verify first the:
Get-CsManagementStoreReplicationStatus

As you see the replication is working fine and we only have a Polycom RMX which did have the do not replication option set in the topology.


Next step is the verification of the
Get-CsManagementStoreReplicationStatus -CentralManagementStoreStatus


Here we can see the DeletedReplicas and the "old" Lync Server" lingers around in the XDS Database.

SOLUTION 1

If do didn't delete the removed server, go and manually uninstall all Lync or Skype for Business Server components.
It might be the Core Component helping solving this issue.

 

 

SOLUTION 2

This is the "hardcore" removal within the XDS Topology Database.

WARNING:
Best you do a database backup before you touch and modify the SQL database.

Prepare the following script in SQL:

USE [xds]

GO

SELECT TOP 1000 [ReplicaId]

      ,[Fqdn]
      ,[Supports]
      ,[LastUpdateCreation]
      ,[LastStatusReport]
      ,[DeletedOn]
      ,[ProductVersion]
      ,[UpdateThrottleDuration]

  FROM [xds].[dbo].[Replica]

GO


Sorry for having this screen shot in german:

As you can see, the old Lync Server is allocated in row 2.
This is causing the issue.

We need to delete this row with another script:


USE [xds]

GO

 
DELETE FROM [dbo].[Replica]

      WHERE ReplicaId IN (2)

GO

Now the problem is solved after your run the command:
Invoke-CsManagementStoreReplication



Author:

Monday, August 8, 2016

Skype for Business Cloud Connector with Sonus @MicrosoftDE und @Westcon

Hallo zusammen,

mit Microsoft, Westcon und Sonus veranstalten wir eine super Event zu Office 365 E5 Skype for Business Online und Cloud Connector.

Bitte fleißig anmelden.

http://de.ucc.westcon.com/content/events/sonus-microsoft-365-e5-cloudpbx-roadshow

Wann? Wo ?
13.09.2016 Microsoft Hamburg, Gassstraße 6a, Gebäude M, 22761 Hamburg
14.09.2016 Microsoft Berlin, Unter den Linden 17, 10117 Berlin
20.09.2016 Microsoft Köln, Holzmarkt 2a, 50676 Köln
21.09.2016 Microsoft München, Walter-Gropius-Straße 1-3:, 80807 München


Programm

11:30 – 12:15Registrierung und Lunch
12:15 – 12:25Begrüßung durch Sonus
12:25 – 12:55Microsoft: Office 365 E5, CloudPBX
12:55 – 13:10Sonus: SBC und Cloud Link Lösungen 
13:10 – 13:30Westcon: MVP über Cloud Connector Edition mit Sonus Appliance
13:30 – 13:45Pause
13:45 – 14:15Sonus: Migration PBX nach CloudPBX
14:15 – 14:45Westcon: End-2-End Sales Motion (mit Skype for Business ECO System) und Sonus Partner Programm
14:45 – 15:30Fragen & Antworten, Networking

Bitte beachten, die Teilnahmeplätze sind limitiert!

Saturday, August 6, 2016

500 - Internal Server Error - Skype for Business Mobility

500 - Internal Server Error - Skype for Business Mobility


this is very common error, which can be related to some of the following issue:
  • wrong internal/ external certificate
  • firewall ports 4443-443 not assigned correctly
  • firewall does a packet inspection and change (reverse proxy)
  • load balancer issue, wrong persistence, wrong ticket validity period,...
  • Direct Server Return (DRS) issue on load balancer

I could continue with this list.

But there is one issue not discussed on the blog side yet.
if you see a Error 500 in the IIS LogFile, showing the /AUTH module, possibly the IIS has a wrong configuration and it is not related to any of the other common (caused) issues.

/webticket/webticketservice.svc/auth - 4443 - 192.168.10.50 COP 500 0 0 3037

As we know, the client first receive the JSON WebService link information.
Then try to access the WebTicketService and will receive an ERROR 401, because the authentication wasn't done yet.
It now tries to connect to the webticketservice and try the authentication, which is NTLM!

If the negotiate option is first, it will fail and generate the ERROR 500.

SOLUTION:


On all Skype for Business Frontend Servers, you should check manually on the Internal and the External Website, if NTLM is the first choice for authentication and NEGOTIATE the second option.

Use the appcmd command to query the settings:
C:\Windows\System32\inetsrv>appcmd list config /section:windowsAuthentication
<system.webServer>
<security>  
<authentication>  
<windowsAuthentication enabled="true" useKernelMode="false">  
<providers>  
<add value="Negotiate" />   --> Must NOT be first!
<add value="NTLM" />  
</providers>  
<extendedProtection>
 </extendedProtection>  
</windowsAuthentication>  
</authentication>  
</security>
</system.webServer>

If you need changing this setup, please user this method:
cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM,Negotiate"

or:
C:\Windows\System32\inetsrv>

appcmd set config /section:windowsAuthentication /-providers.[value='Negotiate']

appcmd set config -section:system.webServer/security/authentication/windowsAuthentication /+"providers.[value='Negotiate']" /commit:apphost

Monday, July 4, 2016

Cloud Connector Edition Hybrid Voice Guide Version 2

Hi to all excited CloudPBX fans.

I finalized the Cloud Connector Edition Hybrid Voice Guide Version 2.
All important changes are covered and contains the full explanation of CCE Multi-Site Design, as well as how users must be configured.

https://gallery.technet.microsoft.com/Cloud-Connector-Edition-e20a0981

Have fun reading it.

Cheers
Thomas

This guide is for Microsoft customers and partners, as well as vendors useful in the same (I promise ;) ).
It explains the entire technology and all related commands and cmslets.
Important is the Multi-Site CCE Design, which is most complex, but fully discovered and made open for your understanding.

A huge thanks the Westcon UCC, who allowed my spending a lot of time finishing this.
Therefore I'm very pleased in supporting the readers and try my best answering all question. You can contact me via my blog http://lyncuc.blogspot.com

INDEX

Introduction of Cloud Connector Edition 5
Generic terms of Office 365 PSTN connectivity 5
Topology support in Office 365 with Skype for Business 6
On-Premise without any Office 365 connectivity 6
On-Premise Skype for Business with Office 365 Cloud PBX connectivity (Federation to Office 365 and Cloud PBX and PSTN CALLING SERVICE) 6
Office 365 with CCE (Cloud PBX) 7
Office 365 with PSTN Calling Service (native Calling Plan) 7
Typical Skype for Business federated On-Premise Installation 7
Tenant support in Office 365 10
Cloud Connector Active Directory Forest 11
Cloud Connector (CCE) Topologies 12
Outbound Call Flow 12
Inbound Call Flow 13
CCE “SBA” in planning: 14
High Availability: 15
Multi-Site deployment 15
CCE Voice Routing with multi-site (generics) 17
CCE Voice Routing on gateways (optional) – not yet supported by Microsoft 19
Migration to Cloud PBX with Cloud Connector Edition 20
Greenfield 20
Skype for Business with Enterprise Voice on-premise 21
Target: native Cloud Connector Edition 21
Target: Cloud Connector Edition with Office 365 Calling Plan (Cloud Voice Users) 21
Target: Cloud Connector Edition + Skype for Business partial Enterprise Voice (on-premise) 22
Target: Cloud Connector Edition + Office 365 Calling Plan (Cloud Voice Users) + Skype for Business partial Enterprise Voice (on-premise) 22
Summary: 23
Infrastructure requirements for Cloud Connector Edition 24
Physical infrastructure 24
Logical infrastructure 25
DNS 25
Certificates externally 26
Certificates internally 27
Firewall Port Configuration 28
Configuration Guide for Users, Dial-Plans, Voice Routes and PSTN Usage 29
Connect to Skype for Business Online 29
CCE Site generation and assignment 30
Management Guide for Users 30
Moving a User to Skype for Business Online 31
CCE User to Site assignment 32
Configuration Guide for Dial-Plans 34
Configuration Guide for Voice Routes 35
Appendix 36
Commandlets for Online configuration 36
Dial-in conferencing cmdlets 36
E911 and Location Information Service (LIS) cmdlets 36
Skype Meeting Broadcast cmdlets 36
PSTN calling cmdlets 36
Hybrid PSTN site and user cmdlets 37
Internet Protocol (IP) phone cmdlets 38
Reporting cmdlets 38
Online User cmdlets 38
Reading/ Writing Users Information and Settings 39

Tuesday, June 21, 2016

Activate Office 365 for Internal User Rights (IUR)

Microsoft Partners are entitled for Office 365 E3 internal use:


If you wish activating your license, please follow the short introduction below and click the respective links:

How to earn Office 365 (E3) internal-use rights benefits through Microsoft Partner Network programs
https://support.microsoft.com/en-us/kb/2996518

How to activate and assign Office 365 (E3) internal-use rights licenses
https://support.microsoft.com/en-us/kb/3007588


New partners:
Please begin by signing up for a Microsoft Action Pack subscription or earning either a silver or gold competency. (You may also learn how to earn Office 365 (E3) internal-use rights benefits from the Microsoft Partner Network programs here.)Existing partners:
Use the following directions to help you get started:A. Activate Office 365 (E3) IUR on an online tenant:
  1. Go to the Microsoft Partner Digital Download Portal (http://aka.ms/ActivateIUR).
  2. Sign in with the Microsoft Account (formerly Windows Live account) currently assigned administrator rights.
  3. Select the Microsoft Online Services section.



Author:

Sunday, June 19, 2016

OneDrive Bulk Data Upload

Hi all,

just a side Skype for Business.
I upgrade my Office 365 Home account getting the 1TB HDD Storage.
Wow, what a nice opportunity have a valued backup in the Cloud.

Now I had the question in mind:
Damn, how should I get approx. 400GB into the cloud?

Microsoft tells you two option if you run Windows 10, assuming we all do so.
1a. Open EDGE Browser, navigate to OneDrive and drag&drop files and folder.
1b. Chose the upload feature in EDGE once you open OneDrive and choose the folder you like to sync
2.  Copy all your data on you local hard drive and let it sync

Super idea, 400GB didn't fit on any of my laptops anymore. So bad and stupid option
Second I tried use drap&drop. Perfect it failed, simply not working.
Ok, than lets chose the Folder Upload option.
And see here it goes, it took 1hr screen the files on my external disk. Than the upload started with approx. 35.000 files.

After two days, how wonders, it failed.

No intelligent option in the EDGE Browser giving me a way restarting the upload. -> Result totally useless

Even breaking it into smaller pieces resulted in a failure.

A side I don't know why there is no proper tool for upload, why IE is not working and why the Win8.1 option for online folder was removed. Also if you use EDGE, your RAM is utilized by 100% making this Laptop unusable for multiple days.
Yes, I'm totally frustrated with Microsoft here.


SOLUTION:

Thanks to some intelligent ideas, I decided splitting the folders in to smaller pieces and copy them into OneDrive.
What a hassle but using BITS is the best idea for syncing.



Once finished, I'm using OneDrive online and move the folder to its dedicated Backup Location.



This deletes the local HDD copy on my Laptop and I can proceed further.


I know this is not a very user friendly solution and I really hope Microsoft is developing some better tools and solutions.


Author:

Tuesday, June 14, 2016

Skype for Business Topology Support with Office 365, Cloud Connector Edition, Cloud PBX and PSTN Calling

Topology support in Office 365 with Skype for Business


A frequently asked question is the support for the different topologies. Later in this document I also provide a generic overview about a possible migration path towards one or the other topology.


The rudimentary described supported topologies are the ONLY possible setups.

There is not possible and supported way in combining any of those topologies!


On-Premise without any Office 365 connectivity


This is typically a solution, where you don’t own an Office 365 “E” Plan. Therefore, you are not entitled using any of the Office 365 features. Same is valid, if you own only an Exchange Online Plan, whereby none of the Skype for Business Online Services are subject to be used.
 

On-Premise with Office 365 connectivity (Federation to Office 365 and Cloud PBX and PSTN CALLING SERVICE)


This is the only scenario, where users are hosted either in Office 365 and some users stay SfB enabled On-Premise. Meaning you have a mixed environment.
This is the only mixed scenario, where local PSTN breakouts with your On-Premise Skype for Business enabled users and the other users enabled on Office 365 (which MUST use PSTN Calling Service or the local PSTN breakouts) are combined. It is not possible for Online user to be mixed for PSTN Calling Service and PSTN local breakout on-premise. This is technical limitation due to Voice Routes in the Office 365 environment.
Note:
A PSTN Calling Service is subject to the regional availability in the country where you required PSTN Calling.
USER LOCATION
PSTN breakout
Users enabled with SfB On-Premise
MUST be On-Premise with local PSTN Gateway
Users enabled with SfB Online in Office 365 (either or option)

PSTN Calling Service in Office 365 -> Calling Plan
On-Premise PSTN breakout with local Gateway -> CloudPBX

Advanced Voice Features (e.g. Response Group or Group Call Pickup)

In case any user requires Advanced Calling Feature, this user must be enabled for On-Premise Skype for Business.

Note:
In later updates, Microsoft will successively add more features to the Office 365 environment, making is obsolete running On-Premise installations.

Office 365 with CCE (Cloud PBX)


If e.g. the PSTN Calling Service isn’t available, or you required On-Premise PSTN connectivity (e.g. for Contact Centers) you can move all users into Office 365 and utilize the Cloud PBX feature in combination with Cloud Connector Edition.

With CCE you can mix online users with CCE On-Premise Voice PSTN breakout and Microsoft Calling Service.

Explicitly, CCE CANNOT be used with Skype for Business On-Premise Topology!


Office 365 with PSTN Calling Service (native Calling Plan)


If you don’t need either advanced calling features or any PSTN On-Premise connectivity, you can move all users into Office 365.


Author:

Saturday, April 2, 2016

Cumulative Update List (Skype for Business Server 2015)



Version Number, Release Date, Download Link


6.0.9319.235 (CU2) March 2016 http://support.microsoft.com/kb/3134260
6.0.9319.102 November 2015 http://support.microsoft.com/kb/3097645
6.0.9319.88  September 2015 http://support.microsoft.com/kb/3098601
6.0.9319.55  June 2015 http://support.microsoft.com/kb/3061059
6.0.9319.0   RTM NA





You can verify the installed component version:




Get-CsServerPatchVersion




Author:

Cumulative Update (Lync 2013)



Version Number, Release Date, Download Link


5.0.8308.945 January 2016 http://support.microsoft.com/kb/3126637
5.0.8308.941 December 2015 http://support.microsoft.com/kb/3120728
5.0.8308.933 September 2015 http://support.microsoft.com/kb/3081740
5.0.8308.920 July 2015 http://support.microsoft.com/kb/3066655
5.0.8308.887 May 2015 http://support.microsoft.com/kb/3051949
5.0.8308.872 February 2015 http://support.microsoft.com/kb/3031061
5.0.8308.857 December 2014 http://support.microsoft.com/kb/3018158
5.0.8308.834 November 2014 http://support.microsoft.com/kb/3010032
5.0.8308.831 October 2014 http://support.microsoft.com/kb/3001616
5.0.8308.815 September 2014 http://support.microsoft.com/kb/2987510
5.0.8308.738 August 2014 http://support.microsoft.com/kb/2937310
5.0.8308.577 January 2014 http://support.microsoft.com/kb/2905048
5.0.8308.556 October 2013 http://support.microsoft.com/kb/2881684
5.0.8308.420 July 2013 http://support.microsoft.com/kb/2819565
5.0.8308.291 February 2013 http://support.microsoft.com/kb/2781547
5.0.8308.0   RTM NA





Author:

Skype for Business Command Output shown as cropped List : Get-CsSimpleURLConfiguration

If a Skype for Business Get-Cs command provides an output as list, which is longer, it will provide a cropped output only.

The solution towards is, you need writing the output into a variable and screen print it into the command shell.

Example:
Get-CsSimpleURLConfiguration

Identity  : Global
SimpleUrl : {Component=Dialin;Domain=*;ActiveUrl=https://lync.one.sipdom.com/
            dialin, Component=Meet;Domain=nocl.sipdom.com;ActiveUrl=https://l
            ync.one.sipdom.com/nocl.sipdom.com/meet, Component=Meet;Domain=
            nst.sipdom.com;ActiveUrl=https://lync.one.sipdom.com/nst.sipdom
            .com/meet, Component=Meet;Domain=ntd.sipdom.com;ActiveUrl=https
            ://lync.one.sipdom.com/ntd.sipdom.com/meet...}


Getting the entire output you need the shell providing the output in a variable

$a=Get-CsSimpleUrlConfiguration
$a.SimpleUrl


This should output something like this:
PS > $A=Get-CsSimpleUrlConfiguration
PS > $a.SimpleUrl


SimpleUrlEntry : {Url=https://lync.one.sipdom.com/dialin}
Component : Dialin
Domain : *
ActiveUrl : https://lync.one.sipdom.com/dialin


SimpleUrlEntry : {Url=
https://lync.one.sipdom.com/nocl.sipdom.com/meet}
Component : Meet
Domain : *
ActiveUrl : https://lync.one.sipdom.com/nocl.sipdom.com/meet



Note:
If you wish writing the output into a txt file, simple use:
PS > $a.SimpleUrl > C:\output.txt



Just making the article complete, a new Simple URL will be added in a similar way:

$urlEntry = New-CsSimpleUrlEntry -Url “https://scheduler.sipdom.com”

$simpleUrl = New-CsSimpleUrl -Component “WebScheduler” -Domain “*” -SimpleUrlEntry $urlEntry -ActiveUrl “https://scheduler.sipdom.com”


Set-CsSimpleUrlConfiguration -SimpleUrl @{Add=$simpleUrl} -Verbose



Added Note:
Thanks to my MVP mate Greig Sheridan, he figured out a more simple way of showing an entire list element.

$FormatEnumerationLimit=-1

This enables PowerShell showing unlimited elements in a list. as per default this variable is set to 3. Changing it too -1 removes the limitation and provides a full inside view of the list element.



Tuesday, March 22, 2016

Event 1034, LS File Transfer Agent Service fail after server removal

After a pool and his associated Edge server were decommissioned, I consistently receiving this error:


Error:

Skype for Business Server 2015, File Transfer Agent service encountered an error while accessing a file share and will continuously attempt to access this file share until this issue is resolved. While this condition persists, replication to replica machines might not occur.

Access denied. (\\RemovedServer.ad.local\xds-replica\from-master\data.zip)

Cause: Possible issues with file share permissions. This can occur if the computer hosting the file share has outdated cached credentials for the computer that is trying to access the file share.

Resolution:

For details about how to resolve file share permission issues, see the product documentation.


Event ID: 1034
Task Category: 1121


Next I need to check some leftovers from the decommissioning.
Checking the Central Management Store Status gave me a hint:


PS C:\Windows\system32> Get-CsManagementStoreReplicationStatus -CentralManagementStoreStatus

LastUpdatedOn                        : 22/03/2016 6:48:58 PM
ActiveMasterFqdn                     : ActiveServer.ad.local
ActiveMasterLastHeartBeat            : 22/03/2016 6:52:18 PM
ActiveFileTransferAgentFqdn          : ActiveServer.ad.local
ActiveFileTransferAgentLastHeartBeat : 22/03/2016 6:52:17 PM
ActiveReplicas                       : {ActiveServer.ad.local, EdgeServer.ad.local}
DeletedReplicas                      : {RemovedServer.ad.local, RemovedEdgeServer.ad.local}



PS C:\Windows\system32>


I was able and saw the DeletedReplicas.


Normal the Invoke-CsManagementStoreReplication should solve the problem, but simply it didn't work out.




Even if you had decommission a server proper, which is:
1. remove from Topology
2. must Disable-CsComputer








Note:
If you run Bootstrapper, the Disable/ Uninstallation is not working.


They stuck still in the DeletedReplicas.


The only solution,(but not support if you can run Disable-CsComputer any longer) is, you have to remove them manually from the XDS database.


Go the SQL CMS Server and execute the script finding the left over servers:


USE xds
GOSELECT [ReplicaId]
,[Fqdn]
,[Supports]
,[LastUpdateCreation]
,[LastStatusReport]
,[DeletedOn]
,[ProductVersion]
,[UpdateThrottleDuration]
FROM [dbo].[Replica]
GO


Than identify the DeletedReplica Server and delete them with:


delete [dbo].[Replica] where [ReplicaId] in (1,4)
where (1,4) are the column identified with the DeletedReplicas server.

This should support this issue.