SOLVED

QoS for SfB when using Cloud PBX and PSTN Calling

Iron Contributor

Hi not sure if anyone can assist as I am new to QoS and wondered if there were any proper guides when using the Cloud based SfB along with PSTN Calling.  (e.g. No SfB Server on site)

 

I found this site https://ucstuffnet.wordpress.com/2016/01/08/skype-for-business-online-qos-powershell-commands but have tried that and it doesn't seem to work from what I have seen based on running the wireshark tests from this other site http://blogs.perficient.com/microsoft/2014/12/configuring-quality-of-service-for-lync-online/

 

Really keen to ensure we get things setup correctly on our current test setup before we go ahead and switch the whole company over to it for PSTN calls.

 

Any assistance would be appreciated.

27 Replies

That worked for me it seems!!!

 

At least for Audio, now to test the others.  Thanks Nick

 

***EDIT***

Now tested all others (except file transfer and looks to be working fine now)

 

The Skype tracing log file still shows this though which is strange!

 

<qosEnabled>false</qosEnabled>
<enableInCallQoS>false</enableInCallQoS>

 

Capture.JPG

One more thing if any of you can assist, as per my last post it appears that the GPOs are now working as expected.

 

Our network switches have QoS options and are set as default to trust dot1p there is the option to change it to trust ip-dscp am I correct in assuming now I have set the QoS at GPO level I need to change the switches to the trust ip-dscp also to ensure the switches manage the priorities?

 

Capture.JPG

These are the other settings which I am not sure if I should be changing also.

Capture.JPG

Thanks for all your assistance so far.

Hi Peter, I think you will know the answer by now but to finish this topic, Yes in the GPO you configured QoS at OSI layer 3 using DSCP.

So if you configure an access layer switch for this client, you also need to configure it at Layer 3 (DSCP) to trust, because there is no marking at Layer 2 (802.1p) present in the packet on the ingress. In the access layer switch you can, if you want to, map DCSP to COS to switch the packet through your distribution and core layer network. And at the end (egress port on the access switch) you can map COS back to DSCP. If your whole network is configured to support QoS with DSCP, there is no need to recoloring QoS marked packets.

 

 

 

Not exactly a reply to/for the post above,


Just share things I have observed so far on Applying QoS on SFB servers and Clients

The port range is controlled by the server and the client gets these settings via in-band provisioning. Without the GPO (both server and clients) will not tag the traffic with the desired DSCP markings.
You could take a look at the Skype Validator QoS Calculator and see what settings might have been missed: https://skypevalidator.com/_tools_qos.aspx
Skype Validator - Used to assist in the validation and documentation of Skype for Business/Lync Server.
Nice tool though, to generate the commands that can be run straightaway in the environment,

However end configuration exists in the environment already,
I needed to know the reason why is it required to deploy the GPO when the command set-csconferencingconfiguration is run in the environment already,
and when the client is still not able to download / apply the client side port range, I have confirmed the GPO and corresponding Reg keys do exists

However I have the uccapilog it show qosenabled is still set to false what does that means ?
Whereas I have clearly and successfully ran the commands to set the port ranges for servers and clients
Which is also the part of process know as in-band provisioning

Do I have run the set-csconferencingconfiguration again or do I have to apply the server gpo also ?

I am able to identify the reason the clients are not using the port range configured by us in the New-CsConferencingConfiguration it is because clients are still using the GLOBAL settings or policy or configuration whatever setting this port range and count is called technically as I am not able to find this

 

I need your help to set the new csconferencingconfiguration setting / policy / configuration created by us at the pool level to be effective for all clients, how do to it what command do I have to run

 

Please do reply soon,

 

BR,

/HS

You create a new policy and then assign the users to the new policy and it will override the global policy for those users.

how to do this

what is the command to do this 

and once done how can i verify

Hello Himanshu!

The PowerShell you need should be in the above thread however you can try mine:

 

#Written by Jason Wynn - as is - currently conigured for test only
#Import the Powershell Module for Active Directory and Group Policy
Import-Module ActiveDirectory,GroupPolicy

#Create a new Group Policy Object (GPO) that will be applied to the Organizational Units (OU's) that contain the computer objects that will be used by the Skype for Business users.
#The value "Skype for Business Online client - QoS" can be modified to fit your needs or naming standards
New-GPO -Name "Skype for Business Online Client - QoS" -Comment "QoS/DSCP markings for Skype for Businessa media traffic. That contain the computer objects that will be used by the Skype for Business users."

#Create Registry Value to enable TCP/IP QoS on the computer
Set-GPPrefRegistryValue -Name "Skype for Business Online Client - QoS" -Context Computer -Key "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\QoS" -ValueName "Do not use NLA" -Value "1" -Type String -Action Update

#Create Registry Value for Skype for Business client Audio QoS in the "Skype for Business Client - QoS" GPO
Set-GPRegistryValue -Name "Skype for Business Online Client - QoS" -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS\Skype for Business Online Audio QoS - lync.exe" -ValueName "Version", "Application Name", "Protocol", "Local Port", "Local IP", "Local IP Prefix Length", "Remote Port", "Remote IP", "Remote IP Prefix Length", "DSCP Value", "Throttle Rate" -Type String -Value "1.0", "lync.exe", "*", "50000:50019", "*", "*", "*", "*", "*", "46", "-1"

#Create Registry Value for Skype for Business client Video QoS in the "Skype for Business Client - QoS" GPO
Set-GPRegistryValue -Name "Skype for Business Online Client - Qos" -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS\Skype for Business Online Video QoS - lync.exe" -ValueName "Version", "Application Name", "Protocol", "Local Port", "Local IP", "Local IP Prefix Length", "Remote Port", "Remote IP", "Remote IP Prefix Length", "DSCP Value", "Throttle Rate" -Type String -Value "1.0", "lync.exe", "*", "50020:50039", "*", "*", "*", "*", "*", "34", "-1"

#Create Registry Value for Skype for Business client Application Sharing QoS in the "Skype for Business Client - QoS" GPO
Set-GPRegistryValue -Name "Skype for Business Online Client - Qos" -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS\Skype for Business Online App Sharing QoS - lync.exe" -ValueName "Version", "Application Name", "Protocol", "Local Port", "Local IP", "Local IP Prefix Length", "Remote Port", "Remote IP", "Remote IP Prefix Length", "DSCP Value", "Throttle Rate" -Type String -Value "1.0", "lync.exe", "*", "50040:50059", "*", "*", "*", "*", "*", "24", "-1"

#Create Registry Value for Skype for Business client File Transfer QoS in the "Skype for Business Client - QoS" GPO
Set-GPRegistryValue -Name "Skype for Business Online Client - Qos" -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS\Skype for Business Online File Transfer QoS - lync.exe" -ValueName "Version", "Application Name", "Protocol", "Local Port", "Local IP", "Local IP Prefix Length", "Remote Port", "Remote IP", "Remote IP Prefix Length", "DSCP Value", "Throttle Rate" -Type String -Value "1.0", "lync.exe", "*", "50040:50059", "*", "*", "*", "*", "*", "24", "-1"

This will create the group policy objects (GPO) that you need to apply to your Skype for Business client/users.

 

To validate this you need to trace on the switches or the local machines to verify it is going via the ports to do so.  You can use netmon or wireshark to trace the ports and verify the ports are as expected or it will just go via the path of least resistance and use 443 or 3478, from memory. 

 

Good Luck, don't be afraid to ask if you've got anything else!