QoS mit Skype for Busines
Diese Seite befasst sich mit den Einstellungen von QoS in einem Lync Umfeld.
Enabling Quality of
Service with Microsoft Lync Server 2010
http://www.microsoft.com/en-us/download/details.aspx?id=12633
Achtung beim Portzählen !
Lync verwendet als Konfiguration einen
"Startport" und eine "Range". Startport
40.000 mit einer Range von 40 ergibt aber nicht
40.000-40.040 sondern nur bis 40039. In vielen
Dokumentationen wird hier aber falsch gerechnet.
Für QoS sind primär natürlich Audio und Video interessant. Allerdings können Sie auch andere Ports festlegen um z.B. Firewalls entsprechend zu konfigurieren oder die Datenmengen numerisch zu erfassen. Denken Sie aber immer daran, dass die Ports auch im Normalbetrieb von anderen Anwendungen genutzt werden können. Sie sind also nicht für Lync exklusiv reserviert. Lync nutzt aber nur diese Ports.
QoS mit Microsoft 365 und Teams - Welche Bedeutung hat QoS bei der Nutzung von Cloud-Diensten?
Interessant ist primär die Kommunikation per Audio/Video, auch wenn SIP-Traffic oder Applicationsharing auch eine Verkehrslast darstellt, die QoS unterworfen werden könnte. Folgende Ports sind per "Default" in Lync 2010/2013 definiert.
Ports, SDP und Kandidaten
Ehe Sie an den Stellschrauben etwas drehen, sollten Sie die Grundlagen von VoIP verstanden haben, die da sind:
- Die Medienports werden im SDP übertragen und per ICE ausgehandelt
- Jeder Endpunkt bietet dem Gegenüber "Kandidaten" an, die eine IP-Adresse + Port-Kombinationen sind.
- QoS ist nur sinnvoll für die
ausgehenden Pakete
Eingehende Pakete sind ja schon empfangen worden. - Remote Port Range ist nicht
sicher
Daher sollte der Client mit einer vordefinierten Source Range arbeiten auf die man dann QoS taggen kann - "Vertrauenswürdige Geräte"
sollten selbst DSCP-Tags
vergeben
Und der Switch sollte diese Daten dann nicht mehr verändern. - QoS ist wichtig auf "dünnen"
Abschnitten
In der Regel ist QoS nicht wichtig, wenn die Gegenstellen im lokalen LAN sind. - Taggen so früh wie möglich
Vertrauen Sie nicht darauf, dass ein Router vor dem "Endpass" anhand von Ports die Priorisierung vornimmt. Besser ist möglichst nahe an der Quelle zu taggen. - QoS ist kein Ersatz für CAC
Vielmehr sind CAC und QoS die zwei Bestandteile einer Lösung.
Wenn Sie mehr darüber wissen wollen, dann machen Sie einen Abstecher auf ICE und Kandidaten. Weiterhin gibt es eine Menge an Endgeräten.
Wer mit Wem ?
Audio und Video ist immer eine 1:1 Verbindung zwischen zwei Endpunkten. Folgende Verbindungen gibt es in einer Lync Welt:
Das Bild zeigt die möglichen RTP-Teilstecken und deren Bedeutung für Lync. Gelbe Verbindungen sind wichtig. blaue Links sind weniger wichtig und die eine rote Verbindung kann kein QoS.
TLN-A | TLN-B | QoS-Relevant | Beschreibung |
---|---|---|---|
Firmen Client |
Firmen Client |
Ja |
Auch wenn dies immer nur eine P2P-Verbindung ist, so können die beiden Clients in unterschiedlichen Standorten stehen und damit natürlich unter Endpässen auf dem WAN leiden. |
Firmen Client |
Edge |
Ja |
Insbesondere wenn ein Client in einer "remote Site" ist, kommt wieder die Priorisierung im WAN zum tragen. |
Firmen Client |
MCU |
Ja |
Als Teilnehmer in einer Konferenz ist QoS wichtig, speziell bei Teilnehmern in anderen Standorten über eine WAN-Leitung |
Firmen Client |
Mediation |
Ja |
Auch mit Media Bypass nutzt ein Client weiterhin den Mediation Server, wenn er einer "remote Site" ist. |
Firmen Client |
Gateway |
Weniger |
Der direkte Weg bei Mediabypass findet bei korrekter Konfiguration nur im LAN statt und hier ist QoS meist kein Problem. |
Edge |
MCU |
Weniger |
Wenn die MCU und der Edge "nahe beieinander" stehen, ist Bandbreite kein Problem. Knifflig kann es werden, wenn Pool und Edge an unterschiedlichen Standorten sind. |
Edge |
Internet Client |
Nicht möglich |
Sie können gerne QoS-Markierungen auf dem Edge und dem Client setzen aber niemand im Internet wird diese respektieren. In der Regel werden Sie beim Provider ersetzt. |
Edge |
Mediation |
Weniger |
In der Regel stehen Edge und Mediation nahe bei einander, so dass QoS hier nichts relevant ist. |
Mediation |
MCU |
Weniger |
Diese Verbindung kommt beim Konferenz DialIn/DialOut zum tragen und hier sollten Sie schon vom Design darauf achten, dass die beiden Server nahe zusammen stehen. |
Gateway |
Mediation |
Weniger |
Auch diese Teilstecker mit G711-Codec ist in der Regel ein LAN ohne QoS-bedarf |
Gateway |
Carrier |
Ja |
Wenn die externe Anbindung per SIP-Trunk erfolgt, dann sollte hier auf jeden Fall QoS |
Gateway |
PBX |
Weniger |
Diese beiden System sind meist "nahe" beieinander |
Für jeden Endpunkt ist nun zu überlegen, ob man die Port-Range anpasst und /oder die DSCP-Tags setzt.
Default Ports
Wenn Sie Lync "einfach so installieren, dann sind einige Ports vorkonfiguriert aber nur teilweise aktiv. Es ist sinnvoll die drei großen Dienste Audio, Video, AppData zu separieren, um diese im Netzwerk unterscheiden zu können. Hier die Standard Daten und die Commandlets um diese Daten zu erhalten. Ich beschränke mich auf Audio/Video
Endpunkt | Service | Start | Range | Aktiv |
---|---|---|---|---|
Lync Client Get-CsConferencingConfiguration | ` fl client* |
Audio |
5350 |
40 |
NEIN |
Lync Client (Office 365 Policy |
Audio |
50000 |
20 |
Ja |
Lync Konferenz Dienst (Audio Video MCU) Get-CsService -ConferencingServer ` | fl *port* |
Audio |
49152 |
8348 |
Ja |
Lync Server Applications Get-CsService -ApplicationServer ` | fl Identity, AudioPortStart, AudioPortCount |
Audio |
49152 |
8348 |
Ja |
Lync Mediation Server Get-CsService -mediationserver ` | fl audioport* AudioPortStart : 49152 AudioPortCount : 8348 |
Audio |
49152 |
8348 |
Ja |
Lync Edge Server get-csservice -EdgeServer | fl *port* AccessEdgeInternalSipPort : 5061 AccessEdgeExternalSipPort : 5061 AccessEdgeClientSipPort : 443 DataPsomServerPort : 8057 DataPsomClientPort : 443 MediaRelayAuthEdgePort : 5062 MediaRelayInternalTurnTcpPort : 443 MediaRelayExternalTurnTcpPort : 443 MediaRelayInternalTurnUdpPort : 3478 MediaRelayExternalTurnUdpPort : 3478 MediaCommunicationPortStart : 50000 MediaCommunicationPortCount : 10000 XmppInternalPort : XmppListeningPort : |
Audio/Video |
50000 |
10000 |
Ja |
Optimierte Portranges und DSCP nach Microsoft (alt)
Ich würde diese Empfehlungen so nicht mehr umsetzen sondern die gleichen Einstellungen wie Office 365 nutzen, da dann auch Gruppenrichtlinien und Einstellungen auf Routern und Switches identisch sind. Ich habe aber diese Quellen und Daten noch dokumentiert, damit Sie diese finden und ale Quelle nutzen können.
Sie haben sicher gesehen, dass die Default-Einstellungen nicht optimal sind. So nutzen Audio/Video/Data beim Lync Client die gleiche Range, was eine Unterscheidung der Lasten erschwert. Microsoft beschreibt auf folgenden Seiten alternative Ports:
- Configuring Quality of
Service Policies für Clients
Running on Windows 7 or Windows
8
http://technet.microsoft.com/en-us/library/jj205371.aspx - Configuring Port Ranges für Your Conferencing, Application,
and Mediation Servers
http://technet.microsoft.com/en-us/library/jj204872.aspx - Configuring Port Ranges für Your Edge Servers
http://technet.microsoft.com/en-us/library/jj204996.aspx - Configuring Quality of
Service on Microsoft Lync Phone
Edition Devices
http://technet.microsoft.com/en-us/library/jj205137.aspx
System | Funktion | Start | Anzahl |
---|---|---|---|
Client |
Audio |
50000 |
20 |
Client |
Video |
58000 |
20 |
Client |
AppSharing |
42000 |
20 |
Client |
Filetransfer |
42020 |
20 |
Server (Conf/Med/App) |
Audio |
49152 |
8348 |
Server (Conf/Med/App) |
Video |
57501 |
8034 |
Server (Conf/Med/App) |
AppSharing |
40803 |
8348 |
Edge |
Media |
40803 |
24730 |
Edge |
TURN |
3478 |
1 |
Über das Band verteilt sieht das wie folgt aus.
Office 365 Portrange und QoS
Wer Skype for Business Online nutzt, bekommt die Port-Range von Microsoft vorgegeben. Diese unterscheiden sich sowohl von den Default Einstellungen als auch von den vorher genannten Empfehlungen. Wenn Sie einen Skype for Business Online-Client anmelden und in der UCCAPILOG (Keyhole-Debugging) nachschauen, dann finden Sie folgende Provisionierung als Folge auf den SUBSCRIBE an der Cloud in der Antwort:
<provisionGroupList xmlns="http://schemas.microsoft.com/2006/09/sip/provisiongrouplist-notification"> <provisionGroup name="ServerConfiguration" > <ucPortRangeEnabled>true</ucPortRangeEnabled> <ucMinMediaPort>50000</ucMinMediaPort> <ucMaxMediaPort>50059</ucMaxMediaPort> <ucMinSipDynamicPort>7100</ucMinSipDynamicPort> <ucMaxSipDynamicPort>7102</ucMaxSipDynamicPort> <ucMinAudioPort>50000</ucMinAudioPort> <ucMaxAudioPort>50019</ucMaxAudioPort> <ucMinVideoPort>50020</ucMinVideoPort> <ucMaxVideoPort>50039</ucMaxVideoPort> <ucMinAppSharingPort>50040</ucMinAppSharingPort> <ucMaxAppSharingPort>50059</ucMaxAppSharingPort> <ucMinFileTransferPort>50040</ucMinFileTransferPort> <ucMaxFileTransferPort>50059</ucMaxFileTransferPort> <ucPC2PCAVEncryption>SupportEncryption</ucPC2PCAVEncryption> <ucMaxVideoRateAllowed>VGA-600K</ucMaxVideoRateAllowed> <qosEnabled>false</qosEnabled> <enableInCallQoS>false</enableInCallQoS> <inCallQoSIntervalSeconds>35</inCallQoSIntervalSeconds> <ucDiffServVoice>40</ucDiffServVoice> </provisionGroup> <provisionGroupList>
Sie sehen hier, dass folgende Ports auf den Clients genutzt werden:
System | Funktion | Start | Anzahl |
---|---|---|---|
Client |
Audio |
50000 |
20 |
Client |
Video |
50020 |
20 |
Client |
AppSharing |
50040 |
20 |
Client |
Filetransfer |
50040 |
20 |
Da liegt es natürlich nahe die gleichen Einstellungen auch On-Prem umzusetzen. Das geht durch folgende Befehle:
# Einstellungen fuer Lync Clients Set-CsConferencingConfiguration ` -Identity global ` -ClientMediaPortRangeEnabled $True ` -ClientAudioPort 50000 ` -ClientAudioPortRange 20 ` -ClientVideoPort 50020 ` -ClientVideoPortRange 20 ` -ClientMediaPort 50040 ` -ClientMediaPortRange 20 ` -ClientAppSharingPort 50040 ` -ClientAppSharingPortRange 20 ` -ClientFileTransferPort 50040 ` -ClientFileTransferPortRange 20
On-Prem sollte man natürlich noch weitere Einstellungen aktivieren, damit QoS greifen kann.
# Einstellungen fuer Lync Aries Telefone Set-CsUCPhoneConfiguration ` -VoiceDiffServTag 46 # Einstellungen für nicht windows Clients. Set-CsMediaConfiguration ` -EnableQoS $True
Auch für die Serverdienste ist es ratsam, die Port vorzugeben, wenn Sie später eimal pro Dienst eigene Policies auf dem Server ansetzen wollen. Viele Firmen darauf aber zu verzichten und taggen einfach alle Pakete auf dem Port der Skype for Business Services.
# Einstellungen für Application Server Get-CsService -ConferencingServer ` | ForEach-Object { ` Set-CsConferenceServer ` -Identity $_.Identity ` -AppSharingPortStart 40803 ` -AppSharingPortCount 8348 ` } # Einstellungen fuer Edge Get-CsService -EdgeServer ` | ForEach-Object {` Set-CsEdgeServer ` -Identity $_.Identity ` -MediaCommunicationPortStart 40803 ` -MediaCommunicationPortCount 24730 ` }
Die Anwendung der Einstellungen werden im Lync Eventlog protokolliert. Auch auf dem Client kann man im Trace gut sehen, dass er die Ports nutzt.
CUccEndpoint::GetMediaPortRange - retrieved range min: 50000, max: 50039 CUccEndpoint::GetMediaPortRange - retrieved range min: 58000, max: 58019 CUccEndpoint::GetMediaPortRange - retrieved range min: 42020, max: 42039 CUccEndpoint::GetMediaPortRange - retrieved range min: 42000, max: 42019
- Lync Online Media Port Changes Offer
Better Bandwidth Management
https://blogs.technet.microsoft.com/nexthop/2013/06/28/lync-online-media-port-changes-offer-better-bandwidth-management/
QoS Gruppenrichtlinie für Clients
Analog beschreibt Microsoft auf folgenden Seiten die Einstellungen der DSCP-Parameter über Gruppenrichtlinien
- Configuring Quality of
Service Policies für Clients
Running on Windows 7 or Windows
8
http://technet.microsoft.com/en-us/library/jj205371.aspx
Auch diese Werte würde ich auf Office 365 anpassen und wie folgt umsetzen.
Beachten Sie dabei, dass der Client den Zielport nicht bestimmen kann. Das gibt die Gegenseite vor. Um also QoS-Tags zu setzen, müssen Sie den Quellport als Kriterium nutzen
Name | Prozess | SourceIP | DestIP | Proto | S-Port | D-Port | DSCP |
---|---|---|---|---|---|---|---|
Lync Audio |
Any |
Any |
Any |
TCP/UDP |
50000:50019 |
Any |
46 |
Lync Video |
Any |
Any |
Any |
TCP/UDP |
50020:50049 |
Any |
34 |
Lync App |
Any |
Any |
Any |
TCP/UDP |
50040:50059 |
Any |
24/18 |
Lync File |
Any |
Any |
Any |
TCP/UDP |
50040:50059 |
Any |
14/18 |
Sie können gut sehen, dass die Source-Ports hier relevant sind und der Client mit diesen Ports raus geht und diese auch dem Gegenüber anbietet. Welcher Ports die Gegenseite anbietet, können Sie nicht nicht steuern.
In Verbindung mit Express Route und QoS möchte MIcrosoft für Data-Traffic gerne DCSP=18
Hinweis: Per Default werden die Richtlinien nur auf Netzwerkkarten gebunden, die die Domäne erreichen können.
Abhilfe schafft dann ein Registry Key:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\QoS] "Do not use NLA"="1"
Fertige REG-Datei zum importieren.
qoslync.reg
Mittlerweile können Sie sogar Gruppenrichtlinien per PowerShell erstellen lassen. Die Kurzform habe ich hier zusammengefasst:
Import-Module ActiveDirectory,GroupPolicy New-GPO -Name "SfB ClientQoS" -Comment "QoS/DSCP markings for Skype4B media traffic. That contain the computer objects that will be used by the Skype4B Users." #Create Registry Value to enable TCP/IP QoS on the computer Set-GPPrefRegistryValue ` -Name "SfB ClientQoS" ` -Context Computer ` -Key "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\QoS" ` -ValueName "Do not use NLA" ` -Value "1" ` -Type String ` -Action Update Set-GPRegistryValue -Name "SfB ClientQoS" ` -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS\Skype4B 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" Set-GPRegistryValue ` -Name "SfB ClientQoS" ` -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS\Skype4B 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" Set-GPRegistryValue ` -Name "SfB ClientQoS" ` -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS\Skype4B 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" Set-GPRegistryValue ` -Name "SfB ClientQoS" ` -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS\Skype4B 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"
Die Einstellungen funktionieren auf jeden Fall für SfB Online. Wenn Sie die obigen Policies auf ihrem lokalen Server eingestellt haben, funktioniert dies auch On-Prem.
- Creating Skype for Business Online QoS
Group Policy Objects with Powers
https://ucstuffnet.wordpress.com/2016/01/08/skype-for-business-online-qos-powershell-commands/ - Quality of Service (QoS) Calculator –
Plan Your Network, GPO, and Lync/Skype for
Business Config More Easily
https://www.ucunleashed.com/2821 - Configuring Quality of Service for Lync
Online
https://blogs.perficient.com/microsoft/2014/12/configuring-quality-of-service-for-lync-online/
QoS Gruppenrichtlinie für Server
Ob sie für Server überhaupt eine GPO machen, müssen sie selbst entscheiden. Denkbar ist natürlich auch einfach den Port auf dem Switch mit einem Flag zu versehen
- Configuring a Quality of
Service Policy für Your
Conferencing, Application, and
Mediation Servers
http://technet.microsoft.com/en-us/library/jj205076.aspx - Configuring a Quality of
Service Policy für Your A/V Edge
Servers
http://technet.microsoft.com/en-us/library/jj204681.aspx
Die Einstellungen sind für Edge und andere Server identisch. Wenn der Edge nicht in der Domäne ist, dann müssen Sie die Einstellung aber in einer lokalen GPO eintragen.
Name | Prozess | Source-IP | Dest-IP | Protokoll | S-Port | D-Port | DSCP |
---|---|---|---|---|---|---|---|
Lync Server Audio |
Any |
Any |
Any |
TCP/UDP |
49152:57500 |
Any |
46 |
Lync Server Video |
Any |
Any |
Any |
TCP/UDP |
57501:65535 |
Any |
34 |
Lync Server App |
Any |
Any |
Any |
TCP/UDP |
40803:49151 |
Any |
24 |
Filetransfer gibt es hier nicht. Auch hier gilt die Problematik bei mehreren Netzwerkkarten wie beim Client und kann durch den RegKey abgeholfen werden
Tipp:
Installieren Sie auf jeden Fall
NetMon 3 oder
Wireshark und kontrollieren Sie, dass die
Pakete beim Versand entsprechend getaggt sind und eingehende Pakete auch von der Gegenseite
versendet und auf dem Weg nicht verändert wurde.
Siehe auch
QoS:Netzwerk und
QoS:Monitoring.
Wer Windows 2012 oder neuer hat, kann auch per PowerShell die QoS-Einstellungen durchführen
- Network Quality of Service
(QoS) Cmdlets in Windows
PowerShell
http://technet.microsoft.com/en-us/library/hh967469.aspx - New-NetQosPolicy
http://technet.microsoft.com/en-us/library/hh967468.aspx - Set-NetQosPolicy
http://technet.microsoft.com/en-us/library/hh967471.aspx
Skype for Business Client
Der Lync Client selbst kann natürlich seine IP-Pakete nicht selbst mit DSCP-Kennzeichnungen versehen. Diese Aufgabe kann aber das Betriebssystem (Windows) übernehmen oder eine Netzwerkkomponente kennzeichnet die Pakete anhand der Ports. In beiden Fällen ist es aber erforderlich, die von Lync genutzten Ports zu können und gegebenenfalls anzupassen.
Die Portrange bekommt der Client bei der Anmeldung per "Inband Provisioning" mitgeteilt.
PS C:\> Get-CsConferencingConfiguration | fl client* ClientMediaPortRangeEnabled : False ClientMediaPort : 5350 ClientMediaPortRange : 40 ClientAudioPort : 5350 ClientAudioPortRange : 40 ClientVideoPort : 5350 ClientVideoPortRange : 40 ClientAppSharingPort : 5350 ClientAppSharingPortRange : 40 ClientFileTransferPort : 5350 ClientFileTransferPortRange : 40 ClientSipDynamicPort : 7100 ClientSipDynamicPortRange : 3
Sie können schon hier einfach erkennen, dass die Lync Standardeinstellungen etwas ungeschickt sind, da Audio und Video die gleichen Ports verwenden und damit eine Trennung der beiden Datenströme nicht möglich ist. Zudem ist die Konfiguration auch gar nicht "aktiv" geschaltet.
- Configuring Media Port Range
Settings
http://technet.microsoft.com/en-us/library/jj204770(v=ocs.15).aspx
OCS2007R2-Client
Diese alten Clients unterstützen noch nicht die Konfiguration per "SIP-Inband", sondern werden klassisch über eine statische Konfiguration oder über Gruppenrichtlinien versorgt:
[HKEY_CURRENT_User\Software\Microsoft\Communicator\PortRange] "MaxMediaPort"=dword:00004002 "MinMediaPort"=dword:00007fff "Enabled"=dword:1 [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Communicator\Portrange\} "MaxMediaPort"=dword:00004002 "MinMediaPort"=dword:00007fff "Enabled"=dword:1 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RTC\Transport]
"QoSEnabled"=dword:00000001
- Lync Server 2010 Port Ranges
and Audio/Media Negotiation
http://www.shudnow.net/2010/12/06/lync-server-2010-port-ranges-and-audiomedia-negotiation/ - QoS Service Types
http://technet.microsoft.com/en-us/library/bb870407(v=office.12).aspx
Speziell für den Communicator Client und das Microsoft RTC-Protokoll muss man aber noch zusätzlich beachten, dass man hier den Schlüssel "QoSEnabled" noch auf 1 setzen kann. Danach werden nach einem Reboot Audiodaten mit einem DSCP=40 und Videodaten mit DSCP=24 gekennzeichnet.
Lync Konferenzdienst
Aber auch der Konferenzdienst nutzt Ports.
PS C:\> Get-CsService -ConferencingServer | fl *port* ImSipPort : 5062 DataPsomPort : 8057 AudioVideoSipPort : 5063 PhoneSipPort : AppSharingSipPort : 5065 ImWebPort : 444 DataWebPort : 444 AudioVideoWebPort : 444 PhoneWebPort : AppSharingWebPort : 444 AudioPortStart : 49152 AudioPortCount : 8348 AppSharingPortStart : 49152 AppSharingPortCount : 16383 VideoPortStart : 57501 VideoPortCount : 8034 MeetingPsomPort : 8058 MeetingWebPort : 444
Lync Application Server (z. B. UCMA, RGS)
Auf dem Lync Server gibt es durchaus noch andere Dienste wie z.B. Call Park, Announcement Service oder die Responsegroup, die zumindest Audio einspielen. Über das Commandlet "Set-CsApplicationServer" können auch einem Application Server entsprechende Ports vorgegeben werden. Aber nicht alle Systeme respektieren dies. Wenn der Hersteller selbst oder das darunter liegende Betriebssystem keine andere Möglichkeit bietet, bleibt wieder die Konfiguration auf dem Switchport. Die aktuellen Werte können zwar nicht ausgelesen aber gesetzt werden.
Set-CsApplicationServer ` -Identity <PoolFQDN> ` -AppSharingPortStart <Startport> ` -AppSharingPortCount <Anzahl> -AudioPortStart <Startport> ` -AudioPortCount <Anzahl, mindestens 128> ` -AppSharingPortStart <Startport> ` -AppSharingPortCount <Anzahl, mindestens 128> ` -VideoPortStart <Startport> ` -VideoPortCount <Anzahl, mindestens 128>
Get-CsService -ApplicationServer | fl Identity, AudioPortStart, AudioPortCount Identity : ApplicationServer:lync01.msxfaq.net AudioPortStart : 49152 AudioPortCount : 8348
- Set-CsApplicationServer
http://technet.microsoft.com/de-de/library/gg398562.aspx
Lync Mediation Server
Auch der Mediation Server ist ebenso einstellbar. Dies kommt aber nur zum Tragen, wenn kein MediaBypass verwendet wird.
PS C:\> Get-CsService -mediationserver | fl audioport* AudioPortStart : 49152 AudioPortCount : 8348
- Set-CsMediationServer
http://technet.microsoft.com/de-de/library/gg398213.aspx
Lync Edge-Server
Auch beim Edge-Server können die Audio/Video-Ports festgelegt werden. Die Standardwerte können leider nicht per PowerShell ausgelesen werden. Nur ein Setzen ist möglich. Die Standards sind:
Set-CsEdgeServer ` -Identity: <FQDN of Edge Server (Single Edge) or FQDN of Edge Pool>` -MediaCommunicationPortStart 50000 ` -MediaCommunicationPortCount 10000
Der Edge nutzt also per Default 50000 - 59999 nach extern aber 3478 intern
Achtung:
Diese Einstellungen gelten natürlich nur für QoS
innerhalb des internen Netzwerks. Wenn Clients
über das Internet zugreifen, dann wirken diese
Einstellungen zum einen nicht, weil der Client
eventuell Tunneltechnologien mit anderen Ports
nutzt. Zudem gibt es über das Internet natürlich
keine garantierte Ende zu Ende Performance und
DSCP-Kennzeichen werden meist sowieso vom
Zugangsprovider entfernt oder ignoriert.
Office 365 hat die Ports noch enger gefasst:
- Lync Online Media Port
Changes Offer Better Bandwidth
Management
http://blogs.technet.com/b/nexthop/archive/2013/07/03/lync-online-media-port-changes-offer-better-bandwidth-management.aspx
Audio: 50000-50019 UDP
Video: 50020-50039 UDP
Audio: 50040-50059 UDP - Set-CsEdgeServer
http://technet.microsoft.com/de-DE/library/gg398859(v=ocs.14).aspx
Exchange Server
Die Rolle des Exchange Servers wird in einer Lync-Umgebung gerne vergessen. Exchange und Outlook im CachedMode sind für QoS normal nicht im Fokus aber die Exchange UM-Rolle ist ein Lync Endpunkt für Audio. Und damit muss der Server auch für QoS berücksichtigt werden. Bei Exchange 2010 und 2013 hat Microsoft die UM-Rolle im Vergleich zu Exchange 2007 verändert. Nun nimmt der UMRouter die Anfragen auf Port 5061/5060 an aber leitet diese an einen der beiden UMWorker weiter. Die UMWorker-Prozesse werden überwacht und können problemlos daher vom Controller neu gestartet werden.
Die UMWorker sind aber auch die Prozesse, die letztlich die Audio-Verbindung aufbauen und daher bezüglich QoS zu betrachten. Sie haben auch hier wieder die Wahl, ob sie per Gruppenrichtlinie den Prozess kennzeichnen und durch Windows dann die DSCP-Tags anwenden lassen oder ob sie die verwendeten Ports festlegen und dann über die Ports durch das Netzwerk die Priorisierung erfolgen soll.
Für den Einsatz mit der Gruppenrichtlinie pro Prozess sollten sie nach folgenden Prozessnamen suchen
- Umservices.exe
- Microsoft.Exchange.UM.CallRouter.exe
- Umworkerprocess.exe
Am einfachen können Sie z.B. eine Voicemail auf sprechen und mit Netmon oder Ressourcen Monitor sehen, welcher Prozess die Audioverbindung angenommen hat.
Wenn Sie stattdessen oder parallel die Portbereiche einschränken wollen, müssen Sie die Konfigurationsdatei "msexchangeum.config" editieren. für Audio nutzen die UMWorker per Default die Port 1024-65535. Hier ein Auszug aus den Einstellungen:
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <!-- The min/max ports to use für RTP media. If the values are invalid, or max < min, the default will be used --> <add key="MinimumRtpPort" value="1025" /> <add key="MaximumRtpPort" value="65535" /> </appSettings> </configuration>
Hier können Sie die Daten anpassen. Bedenken sie aber, dass ein Exchange UM-Server nicht wie ein Lync Client nur ein oder zwei Verbindungen nutzt, sondern durchaus viele Verbindungen parallel bestehen können und daher auch eine entsprechende PortRange erforderlich ist.
- Exchange Unified Messaging
- Lync und Exchange UM
- UM-Konfiguration
- Understanding Protocols,
Ports, and Services in Unified Messaging
https://technet.microsoft.com/en-us/library/aa998265(v=exchg.150).aspx
https://technet.microsoft.com/en-us/library/aa998265(v=exchg.141).aspx
Gateway
Beim Einsatz von MediaBypass muss natürlich das Gateway auch entsprechend konfiguriert werden. Wobei hier auch der Netzwerkadministrator einfach die IP-Adresse des Gateways als Kriterium auf dem Switch/Router nutzen kann, um selbst die DSCP-Werte anzuwenden.
Bei einem Audiocodes Mediant finden sich die Einstellung unter :"Configuration->VoIP->Network->QoS Settings.
Und abweichend auch unter den IP-Profilen:
Zusätzlich können Sie auch die UDP-Startports einstellen aber nicht die Menge.
Da ein Gateway eine feste IP-Adresse hat und als "Trusted System" anzusehen ist, sollte man hier nicht nach Ports gehen, sondern DSCP verwenden.
Interessant ist auch die Option, das der Mediant am Ende der Verbindung die Statistiken auch im SIP-Release mitsenden kann.
Folgende Daten werden übermittelt.
BYE sip:NAWLYNC001.netatwork.de:5068;maddr=192.168.100.100;transport=tcp SIP/2.0 From: <sip:+49160xxxxxxx@nawm1000.netatwork.de;User=phone>;tag=1c753593206 To: "Carius, Frank"<sip:+495251304613;ext=613@nawlync001.netatwork.de;User=phone>; CSeq: 1 BYE Supported: em,timer,replaces,path,resource-priority Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE User-Agent: Audiocodes-Sip-Gateway-Mediant 1000/v.6.40A.042.004 Reason: Q.850 ;cause=16 X-RTP-Stat: PS=77; OS=11684; PR=295; OR=46723; PL=0; JI=20; LA=0 Content-Length: 0
Die Daten werden hier als eine "X-RTP-Stat:"- Zeile addiert. Leider wertet Lync diese Informationen nicht aus.
- Format of the Transmission
of QoS-Parameters via
SIP-Bye-Message
www.avm.de/de/Extern/files/x-rtp/xrtpv31.pdf
Selbst der kleine ATA-Adapter HT502 erlaubt eine Definition von QoS-Tags auf Layer 2 (802.1p) als auch Layer 3 (DSCP)
Ergänzend kann pro Analogport auch der zu verwendende RTP-Port vorgegeben werden.
Hier muss natürlich geplant werden, ob die Ports festgelegt werden müssen, weil die Switches basierend auf den Ports die DSCP-Einordnung vornehmen oder ob das Gerät selbst die 802.1p bzw. DSCP Kennzeichnung mitgibt.
Lync Telefone
Und selbst die "Lync Telefone" sind für QoS zu konfigurieren. Hierbei werden aber nun keine Portranges definiert, sondern gleich die DSCP-Einstellung für alle Pakete hinterlegt. Video und AppSharing gibt es dort ja nicht, so dass z.B. DSCP=EF nur für Audio (und den SIP-Traffic) angewendet wird.
Set-CsUCPhoneConfiguration ` -identity global ` -VoiceDiffServTag 46
Alternativ kann natürlich auch hier ein Administrator auch wieder den Ethernet-Port des Telefons klassifizieren oder die Ports der Telefone in ein eigenes VLAN stecken und darüber klassifizieren.
- Set-CsUCPhoneConfiguration
Lync 2013: http://technet.microsoft.com/en-us/library/gg413042.aspx
Lync 2010: http://technet.microsoft.com/en-us/library/gg413042(v=ocs.14).aspx
Anpassungen für QoS Einsatz
In dem Dokument "Enabling Quality of Service with Microsoft Lync Server 2010" (http://www.microsoft.com/en-us/download/details.aspx?id=12633) beschreibt Microsoft, wie QoS mit Lync konfiguriert werden kann. Dabei werden folgende Portbereiche vorgeschlagen.
Die Serverdienste müssen mehr Ports verwenden, da ja viele Clients gleichzeitig eine Verbindung aufbauen können. Der Client selbst kommt aber natürlich mit weniger Ports aus.
Viele Administratoren scheuen sich vor einer Veränderung dieser Lync Einstellungen, da sie natürlich auch bei allen zukünftigen Änderungen , Erweiterungen, Installation, Updates etc. zu berücksichtigen sind. Die Fixierung von Ports ist aber für dein Einsatz von QoS erforderlich, da Windows als Betriebssystem zwar auch anhand von Prozessnamen eine DSCP-klasse zuweisen kann, aber die meisten Router und Switches natürlich sich nur an den IP-Adressen und Ports orientieren können. Auch auf die Belange von Firewalls muss natürlich Rücksicht genommen werden.
Enabling Quality of
Service with Microsoft Lync Server 2010
http://www.microsoft.com/en-us/download/details.aspx?id=12633
Ob diese Einstellungen für ihre Umgebung passend sind, bleibt natürlich erst
einmal dahin gestellt.
Es gilt zuerst zu entscheiden, wie die
Kennzeichnung erfolgen soll. Statische Ports
sind aber sowohl für die Klassifizierung auf dem
Switch/Router erforderlich als auch bei einer
Klassifizierung mit Windows QoS-Policies.
- Managing Quality of Service
(QoS)
Lync 2013:http://technet.microsoft.com/en-us/library/gg405409%28v=ocs.15%29.aspx
Lync 2010 http://technet.microsoft.com/en-us/library/gg405409(v=ocs.14).aspx - Enabling QoS für Lync Server
2010 – Part 1
http://www.shudnow.net/2011/11/04/enabling-qos-for-lync-server-2010-part-1/ - Determining External A/V
Firewall and Port Requirements
http://technet.microsoft.com/en-us/library/gg425882.aspx - Media Port Range für Office
Communications Server 2007 R2
http://technet.microsoft.com/en-us/library/dd572230(office.13).aspx - Lync Server 2010 Port Ranges
and Audio/Media Negotiation
http://www.shudnow.net/2010/12/06/lync-server-2010-port-ranges-and-audiomedia-negotiation/ - Microsoft Lync Server 2010
Protocol Workloads Poster
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ad8ff3fb-014e-4fd7-8003-436d896ab0c6 - Ports and Protocols für Internal Servers
http://technet.microsoft.com/en-us/library/gg398833.aspx - Determining External A/V Firewall and Port
Requirements
http://technet.microsoft.com/en-us/library/gg425882.aspx - Lync Server 2010 Port Ranges
and Audio/Media Negotiation
http://www.shudnow.net/2010/12/06/lync-server-2010-port-ranges-and-audiomedia-negotiation/
Gruppenrichtline für Lync Client
Wenn die Kennzeichnung von Paketen für bestimmte Transportklassen nicht auf dem Router oder Switch anhand von Ports erfolgt, dann muss entweder das Betriebssystem auf dem Client die DSCP-Werte setzen oder die Anwendung selbst. Bei Lync ist es so, dass diese Aufgabe dem Betriebssystem überlassen wird. Daher ist am besten eine Gruppenrichtlinie dazu geeignet, auf allen Clients z.B. abhängig vom Prozessnamen eine Klasse zu vergeben. Siehe auch QoS Windows.
Hinweis
Mit Lync 2013 hat sich der Name von
"Commuicator.exe" nach "Lync.exe" geändert.
- QoS Windows
- Lync Server 2010 to Lync
Server 2013 Migration QoS “Gotcha"
https://blogs.perficient.com/microsoft/2012/11/lync-server-2010-to-lync-server-2013-migration-qos-gotcha/ - Lync Server 2010 Port Ranges
and Audio/Media Negotiation
http://www.shudnow.net/2010/12/06/lync-server-2010-port-ranges-and-audiomedia-negotiation/ - VoiceRx: Validating QoS on
Lync Endpoints
http://blogs.technet.com/b/nexthop/archive/2012/12/19/validating-qos-on-lync-endpoints.aspx
QoS Calculator
Die Pflege und Konfiguration von Richtlinien (GPOs und Skype for Business) kann schnell unübersichtlich werden. Als Unterstützung gibt es einen Calculator, in dem Sie die ganzen Ports etc. eintragen können und am Ende daraus Policies werden.
- Quality of Service (QoS) Calculator –
Plan Your Network, GPO, and Lync/Skype for
Business Config More Easily
http://www.ehloworld.com/2821 - Changelog: QoS Calculator
http://www.ehloworld.com/2843
Weitere Links
-
VoIP
Telefonieren über IP - Exchange 2007 UM nutzt auch VoIP -
VoIP Sniffer
VoIP Sprachdaten mit Wireshark analysieren. - SIP im Detail
-
PCD Pre-Call Diagnostics
Hilfsprogramm für jeden Desktop zur Überwachung der Netzwerkqualität für VoIP mit OCS - QoS mit Microsoft 365 und Teams - Welche Bedeutung hat QoS bei der Nutzung von Cloud-Diensten?
-
Lync Online Media Port Changes Offer Better Bandwidth Management
https://blogs.technet.microsoft.com/nexthop/2013/06/28/lync-online-media-port-changes-offer-better-bandwidth-management/ -
Voice Quality Improvements in Lync Server 2010
http://blogs.technet.com/b/nexthop/archive/2011/04/04/voice-quality-improvements-in-lync-server-2010.aspx -
Enabling QoS für Lync Server 2013 and Various Clients
Part 1 http://www.shudnow.net/2013/02/16/enabling-qos-for-lync-server-2013-and-various-clients-part-1/
Part 2 http://www.shudnow.net/2013/03/03/enabling-qos-for-lync-server-2013-and-various-clients-part/ -
Quality of Service (QoS) Overview
http://technet.microsoft.com/en-us/library/gg405407.aspx -
Microsoft Office Communications Server 2007 R2 Requirements für a
QoS Environment
http://technet.microsoft.com/en-us/library/dd441262(office.13).aspx -
Microsoft Office Communications Server 2007 QoE Summary Reports
http://technet.microsoft.com/en-us/library/bb964094.aspx - Ports and Protocols für Internal Servers
http://technet.microsoft.com/en-us/library/gg398833.aspx - Determining External A/V
Firewall and Port Requirements
http://technet.microsoft.com/en-us/library/gg425882.aspx - Media Port Range für Office
Communications Server 2007 R2
http://technet.microsoft.com/en-us/library/dd572230(office.13).aspx - Implement Quality of Service (QoS) in Microsoft Teams
https://learn.microsoft.com/en-us/microsoftteams/qos-in-teams - RFC2474 Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers
https://datatracker.ietf.org/doc/html/rfc2474 - Office Communications Server 2007 Deployment Validation Tool
http://www.microsoft.com/downloads/details.aspx?FamilyId=3596A10D-65CC-4CCA-8470-3F23D5EA55B2&displaylang=en - Office Communications Server 2007 Quality of
Experience (QoE) Monitoring Server Guide
http://www.microsoft.com/downloads/details.aspx?FamilyID=9ed29d74-3391-4902-bf2c-6757410f3335&displaylang=en - Office Communications Server 2007 VoIP Test Set
http://www.microsoft.com/downloads/details.aspx?familyid=7B6AB4F3-2949-4E97-856E-9C4AE323C75A&displaylang=en - http://blogs.msdn.com/byrons/archive/2008/03/19/deployment-validation-tool-part-1-of-2.aspx
- Deployment Validation Tool Webcast
http://blogs.msdn.com/byrons/archive/2008/04/02/deployment-validation-tool-webcast.aspx
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032372044&Culture=en-US - TechNet Webcast: Identifying Audio Quality Issues Pre-Deployment with
the Communications Server 2007 Deployment Validation Tool (Level 200)
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032372044&EventCategory=4&culture=en-US&CountryCode=US - Which Server(s) to deploy the (DVT) Deployment Validation Tool
http://blogs.msdn.com/byrons/archive/2009/04/21/where-to-deploy-the-dvt-deployment-validation-tool.aspx - Vista SP1 ( SP2) DSCP settings für QoS OC 2007 R2
http://communicationsserverteam.com/archive/2009/06/04/458.aspx - Microsoft to Cisco, "Our QoE is better than your QoS
"! as a result of another Independent Study
http://voip-buzz.com/2007/11/09/microsoft-to-cisco-our-qoe-is-better-than-your-qos-as-a-result-of-another-independent-study/ - OCS Quality of Experience (QoE) - Quick Facts
http://blog.insideocs.com/2009/04/27/ocs-quality-of-experience-qoe-quick-facts/ - OCS 2007 R2 – Archiving and Monitoring
http://blogs.technet.com/toml/archive/2009/01/02/ocs-2007-r2-archiving-and-monitoring.aspx - Controlling and Limiting Traffic Profiles in your Network
http://www.hp.com/rnd/pdf_html/traffic_profiles.htm - Overview of the Microsoft RTAudio Speech codec
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7515 - Lync Server 2010 to Lync Server 2013 Migration QoS “Gotcha"
https://blogs.perficient.com/microsoft/2012/11/lync-server-2010-to-lync-server-2013-migration-qos-gotcha/ - Quality of Service (QoS) für Lync 2010 and Lync 2013
http://blog.kloud.com.au/2012/10/31/quality-of-service-qos-for-lync-2010-and-lync-2013