Lync Edge Server Port Ranges and QoS

March 30, 2015 4 comments

Ran into this and felt like until the documentation is updated, I should call this out.  On this Technet article, it shows you how to configure port ranges for Edge Servers in Lync Server 2013. In the hopeful case that this page is updated, here is a static image:


The issue with this article is that it appears to tie the port ranges for the Edge server to QoS which is not the case. You need to read the article very carefully. The first sentence in it tells you that you do not need to configure separate port ranges for Audio/Video/Application Sharing on the Edge. It then goes on to tell you how to change the port ranges to match up with what you may have set for your front-end servers.

The problem with this is that you are changing the ports that the Edge will/can communicate on. If you are following Microsoft’s firewall guidance on ports, you should be allowing the 50,000-59,999 port range (TCP and UDP) outbound. If you follow this example, you would need to allow the range 40,803-65,533 (TCP and UDP) outbound.

The article claims you might do this to make administration easier but I will claim just the opposite. Based on what most Lync admins know and what Microsoft states are the default ports, without some really good documentation and knowledge transfer, you are probably setting up a future admin to fail.

If you are wondering what happens when you set this like this but only allow the 50k port range outbound from the Edge servers, here is your answer. When an outside user attempts to call a user who is inside or join a conference, the client will send an Invite that contains SDP candidates. Those candidates will have ports associated with them based on the configuration. The external client will attempt to connect on ports outside of the 50k range that is being allowed on the firewall (i.e. 40,080-49,999 or 60,000-65,533). These connections will fail and the call will fail to establish. On a conference call, this can be seen as the user connecting and disconnecting from the conference several times in just a few seconds.

Many kudos to @tompacyk for helping me see what was happening here.

Categories: Uncategorized

Thinking vs Hope

March 5, 2015 Leave a comment

The most dangerous words that come from my mouth are usually “I’ve been thinking.” When I think, my thoughts go everywhere. Most of the time they go to good places but when things get serious, when big decisions are on the line, my thoughts usually betray me. They go to the dark places of my mind. Fear creeps in and takes over.

I recently had a moment like this. It took a bit to recognize it but once I did, I knew that I had to refocus my thoughts. What I found was hope. We hope for things to come, things we don’t yet have. By focusing on hope, it becomes easier to see good outcomes. Hope for a better a situation, a better future. Hope.

Categories: Uncategorized

Hotfix for Lync for Mac 2011 14.0.10

February 25, 2015 Leave a comment

This is a hotfix that you can apply to your Mac if you are running 14.0.10. From the folks I have helped deploy this to, it makes a significant improvement.

The funny part about this is that the hotfix comes as a .exe file which is not native to Mac’s. In order to extract it, open a command window and use the Unzip command, i.e. “unzip hotfix.exe”.

One of the first things I noticed that was fixed in this is that screen shares are much faster and smoother. A co-worker reported to me that he sees less crashes with the Mac for Lync client.

The fact that this is a hotfix instead of just a patch makes it so you have to install it manually. In my opinion, every Mac for Lync user should install this.

Categories: Lync Tags:

October COUCUG meeting on 10/30

October 27, 2014 Leave a comment

If you are in the Denver, CO area on Thursday (10/30), you should come join us at the October Colorado UC User Group (COUCUG) meeting. We have a great line up of speakers! Topics are Lync with Office 365 UM and Lync Contact Center.

We have a ton of give aways from our sponsors too! We will be giving away a tablet, Jabra headsets and more!

Please visit to learn more and to RSVP.

Categories: Uncategorized

Lync Invoke-CsBackupServiceSync and No Central Management Services

September 9, 2014 Leave a comment

Working with larger Lync deployments, I have run into this a few times where we need to force the Backup Service using Invoke-CsBackupServiceSync and we get the message “No Central Management services were found for the pool you specified to backup.”


The first time I saw it, it made me pause but I noticed something, it wasn’t an error. Errors always display in red. I went back to Technet and read about the cmdlet.

By default, the Invoke-CsBackupServiceSync command will attempt to synchronize three types of data:

  • UserServices.PresenceFocus
  • ConfServices.DataConf
  • CentralMgmt.CMSMaster

The issue comes up when you run Invoke-CsBackupServiceSync against a pool that is not hosting the CMS. The default attempts to synchronize CentralMgmt.CMSMaster.

If you don’t want to see the extra message telling you there is no CMS in the pool you are running against, then you can run Invoke-CsBackupServiceSync with the “-BackupModule” option and specify only the UserServices.PresenceFocus and ConfServices.DataConf. Otherwise, you can know that this message is normal and you can keep on with your tasks.

Categories: Lync

High CPU after Publishing Lync Topology

August 26, 2014 7 comments

I have now experienced this issue at two different clients so I thought I would share how we are handling it in case others are experiencing it.

Background: After you publish a Lync topology where you add and/or delete and object, you see the CPU utilization spike to 100% across all of your front-ends.

This issue has been around awhile. Ken Lasko talked about it on his blog ( back in January of 2014. He had suggested simply restarting the AppPool’s on the CMS servers.

Recently, a co-worker and I decided to attempt Ken’s script but we found that it wasn’t helping us. Simply restarting the AppPool’s on the CMS servers wasn’t enough to bring down the CPU utilization on the other front-ends (we currently have 4 pools with 2 more on the way). Due to the number of Front-ends (12 currently), we really didn’t want to RDP into each of them so we utilized a script I had written to perform the IISRESET.  It goes out and finds all of the Lync Front-ends and then will perform the IISRESET.

NOTE: You must have remote management enabled for this script to work. Windows 2008 R2 does not have it enabled by default.

Here is the script:

    Written by: Adam Ball
    Description: Looks up all the Front-ends in the Lync Topology and performs an IISRESET on them.
    Version 1.0
#Get all of the Pools with Web Servers in the environment
$pools = Get-CsService -WebServer | select PoolFqdn
#Get all computers from the pools running Web Services
$computers = @()
foreach ($i in $pools ){
    $computers += ( Get-CsPool $i .poolfqdn) . computers
Write “IISReset will be performed on “ + $computers
#Reset IIS on all Web Servers
foreach ($i in $computers ){
    Write “Performing IISReset on “ + $i
    Invoke-Command -ComputerName $i -ScriptBlock {iisreset }
Categories: Lync

August 28th COUCUG Meeting

August 12, 2014 Leave a comment

The August meeting is just over two weeks away! Come hear about Attendant Pro from Landis Computer and enter to win a Plantronics headset.

We’ll be kicking things off at 4pm and we’ll go til 6pm. Food and drink is being supplied by Matt Landis and Landis Computer.

You can RSVP and get more details at We hope to see you there!

Categories: Uncategorized