Quality of Service (QoS) Calculator – Plan Your Network, GPO, and Lync/Skype for Business Config More Easily
Description
When deploying Microsoft Lync/Skype for Business Server, network health and configuration can be crucial.
The QoS Calculator allows you to pick and choose what components and clients will be used in your environment as well as which specific clients. You’re also able to pick a starting port number, port count, and DSCP value for each modality. The calculator will ensure that port ranges are consecutive, and that they don’t extend past 65535. The calculator will list all relevant Group Policy Object (GPO) settings, as well as the PowerShell commands needed to configure Lync/Skype for Business Server. Clients available for configuration include Lync 2010 and Lync 2013 full client, Lync 2010 Attendant and Landis Computer’s Attendant Pro attendant clients, Windows Store App client, Lync Phone Edition, and more. Server side options include A/V conferencing, application sharing, Response Group Service applications, Conference Announcement service, Call Park, UCMA apps, PSTN audio, A/V Edge services, Exchange UM, and the VDI client.
To start with, go to the INPUT tab. Any of the green cells can be changed. Reset buttons allow you to set port and port count settings back to their original values. Future releases will also reset the DSCP values as well (just need to figure out how to do that in Office VBA). Red cells indicate an error (missing or incorrect data).
Enter your Front End and Edge pool FQDNs. If you have a separate mediation pool, enter that name as well. The values defined here are used to compose the PowerShell commands needed to configure Lync/Skype for Business Server.
You can show/hide different policy types using the appropriate check boxes.
If your Mediation role is collocated with your Front End servers, check the box. This will combine the appropriate GPO policies together.
Changes to green cells are immediately reflected elsewhere in the calculator.
Once you have the values entered/verified, go to the POLICIES tab to see a list of GPO settings needed. Check out Elan Shudnow’s awesome Enabling QoS for Lync Server 2013 and Various Clients and Jeff Schertz’s Lync Quality of Service Behavior for a deep dive into setting up QoS.
Next, go to the POWERSHELL-SERVER tab, and you’ll see the relevant Lync/Skype for Business Management Shell commands to configure the server-side based on the info you supplied. Copy and paste each into Lync/Skype for Business Server Management Shell.
Now, go to the POWERSHELL-GPO tab, and you can copy and paste PowerShell code into a PowerShell console on a domain controller to automatically create and configure the Group Policy Objects for server and client machines.
Lastly, the Registry-Edge tab contains the PowerShell code that updates the local security policy on the edge servers is used to configure QoS, since GPOs aren’t used in non-domain joined machines. It’s important that these commands be run in an elevated PowerShell session.
I have tons of ideas for more features and functionality. Feel free to comment below on things you’d like to see in future versions.
Syntax
None
Installation
None. Just open the file in Excel. As this is a macro based file, you’ll need to enable content when prompted.
Assumptions
None
Download
v1.7 – 02/28/2017 – QoS-Calculator-v1.7.xlsm
v1.6 – 12-19-2016 – QoS Calculator v1.6.xlsm
v1.5 – 11-04-2016 – QoS-Calculator-v1.5.xlsm
v1.4 – 09-13-2016 – QOS Calculator v1.4.xlsm
v1.3 – 04-26-2016 – Lync 2013 QoS Calculator v1.3.xlsm
v1.2 – 02-27-2015 – Lync 2013 QoS Calculator v1.2.xlsm
v1.1 – 01-26-2015 – Lync 2013 QoS Calculator v1.1.xslm
v1.0 – 11-5-2014 – Lync 2013 QoS Calculator v1.0.xlsm
Changelog
See the changelog for information on what’s changes/included in each version.
Hi Pat, Looks good, well done… What puzzels me is how you separate Voice, Video and App sharing source ports on the Edge servers. Where do the source port ranges for Edge servers come from? Aren’t all the media modalities mixed up in the multiplex ports UDP 3478 and TCP 443? Would you elaborate?
Looks great Pat! I’m excited to see the addition for automating the creation of the QoS GPOs.
Pat,
Great Work – as always – looking forward to giving it a test ride.
Pat, this is very cool.
I believe there is a typo on the PowerShell sheet. On the Mediation Server line after the AudioPortCount parameter “B5” joined to the value.
I like your approach to the default client side ports and setting them within the range of server side ports. It should help organizations that perform QoS on the network side by matching the destination port.
Also, on the edge server policies, should the ports not be destination ports rather than source because the edge server uses udp/3478 as the source?
Hi Pat,
thank you for this great calculator.
I would like to use it but without the password I can’t copy the powershell commands. Is there another way to copy them?
Thanks, Michael
When you open the file, do you get prompted to enable macros? You shouldn’t have any issue copying the cells without passwords.
For the next version of your calculator, the VDI based on Citrix HDX RealTime Optimization Pack 2.0 the executable which run on Windows based device is “MediaEngineService.exe”
Hey Ari!
So, since I don’t have that platform available to me here, I would assume I’d need to configure that .exe for the same as the regular VDI, with audio, video, and app sharing?
Hi Pat,
I’d like to add an option to allow to set an other set of default port value. Hélas, the worksheets are password protected. Would you mind sending me an unprotected version? I’ll send you my work.
Thanks Daniel
Hi
Great Tool with very useful scripts.
I’m little bit confused about the client sip ports which are defined between 20080-20119. Should the sip port range not be between 5060 and 5069.
And I’m missing the Sip-ports on the Frontend Server.
Do I misunderstand something?
You can set those ranges to whatever you want. The green fields are all editable.
The Registry-Edge tab is missing the AppSharing and Video QoS policies in version 1.5
This is a great tool, but there is still an issue with the formula in cell A8 on the PowerShell-GPO tab. All of the formulas are suppost to be for line 5 of the Polocies tab, but this cell has 5, then 6 then 5 resulting in Application sharing ports being applied to the Video settings.
Later it is correct for Lync, it’s just the communicator line that is wrong.
Any reason you’re not using New-NetQoSPolicy cmdlets? Seems like you could standardize both the PowerShell-GPO and Registry-Edge to use New-NetQoSPolicy/Set-NetQoSPolicy instead of the disparate config you’ve got now.
Note: I haven’t explicitly tested this yet, btw, but it certainly seems possible. Just a thought 😉
Does Row 3 on Registry-Edge tab contains a typo?
As shown: “No not use NLA”
Should be: “Do not use NLA”
cheers, and thanks for all the hard work on this very useful tool!
You are correct. It will be fixed in v1.7. Thanks for noticing.
There is a mistake with v1.7. With Citrix VDI, the media engine on the thin client endpoint handles audio and video only. The application sharing remains in the VDI session with the Lync/Skype client
I believe the settings for Registry-Edge page are incorrect. The internal clients/servers will be connecting FROM the respective port ranges to either 443 or 3478 on the internal Edge interface, so the values should be populating into the “Remote Ports” not the “Local Ports” for the policy to be effective. When the edge sends audio traffic back to the client, it’ll need to tag when it’s talking to a Destination port or Remote port of the client with the respective value, as it’s source port will always either be 443 or 3478.
Feature Request
– Ability for multiple frontend pools (for pool paired scenarios)
– Ability to rename the policies (for customers that have strict GPO naming conventions)
@James Arber
You can already change the name of the policies. It’s on the INPUT tab, in the upper right.
@Pat Richard
As usual, I’m blind. Thanks Pat. As for the multiple pool issue I can see there is a note about that on the PowerShell-Server Tab.
Finally got the edge registry entries working:
1) Need a string value for “Application Name” -Value “*” or lock it down further to “MediaRelaySvc.exe” but I think some AppSharing date gets left out.
2) “Local IP Prefix Length” can’t be “*”, it needs to be “32”
3) “Throttle Length” needs to be changed to “Throttle Rate”
4) The Ports need to be in “Remote Port” instead of “Local Port”. Edge internal local port for media is going to be either 443/tcp or 3478/udp regardless of the modality
5) once the registry entries are in place, gpupdate /force and make sure no errors/warnings pop up. Even though it’s not a GPO, gpupdate does process the registry entries and cacks on bad qos reg entries.
Thanks for this awesome tool.
I’ve set up QoS and custom port ranges. The port ranges are working fine the dscp tagging of the packets not so well however. NetMon shows the traffic is from within my port range of QoS Settings and from lync.exe. The DSCP Value stays 0x0
Im using Windows 10 (10.0.15063) any of you had this situation before?
needs VBSS added/integrated.
https://technet.microsoft.com/en-us/library/mt756736.aspx#Planning
So any updates on the Edge Registry Tab? Ports need to be in remote Port and not local.