CAC - Call Admission Control
Eine weitere neue Funktion von Lync ist die Steuerung von Bandbreiten. Über das Lync Control Panel werden Standorte, Subnetze, Regionen, Links und Verbindungen definiert und die maximal verwendbaren Bandbreiten hinterlegt.
Achtung:
CAC funktioniert nur mit entsprechend
kompatiblen Endgeräten. OCS 2007 und OCS2007R2
Communicatoren gehören ebensowenig dazu wie
LifeMeeting. Sie benötigen einen Lync 2010 oder
neuer.
Funktionsweise
Allerdings setzt der Server nicht die Richtlinien durch, sondern nur der angerufene Client. Wie das bei VoIP üblich ist, sendet der Initiator einer Verbindung (Audio, Video) an den Empfänger einen INVITE und übermittelt hier auch gleich die Kandidaten (IP-Adressen, Ports, Codecs) für die Audio und eventuell Video-Daten mit. Der angerufene Teilnehmer hat also nun sowohl die Daten des Anruferst als auch seine eigene Daten und kann per ICE die möglichen Verbindungen ermitteln. Der angerufene Client fragt nun seinerseits bei dem CAC-Server nach. Das ist der Lync Pool oder Standard Server, der für den Anwender die "User Services" bereit stellt. Dieser CAC-Service prüft die noch verfügbare Bandbreite in seiner Statusliste und gibt dem Client ein OK oder eben auch ein "geht nicht". Die vom Client angeforderte Bandbreite wird reserviert. Wenn die Verbindung dann zustande kommt, dann wird die Bandbreite auch reserviert.
Dieses Verfahren hat einige Einschränkungen:
- Client muss "CAC"-tauglich
sein muss
Damit ist klar, dass ein Benutzer mit einem alten OCS-Client nicht der Richtlinie unterworfen wird. Das bedeutet aber auch, dass z.B. ein Gateway nicht einbezogen wird. - Dateitransfer,
Desktop-Sharing und Whiteboard
Die Richtlinien können nur für Audio und Video definiert werden - Keine Kopplung an
Router-Daten
Die Bandbreitenkonfiguration legt die maximal durch Lync nutzbare Bandbreite zwischen zwei Standorten fest. Es ist keine Garantie, dass die Bandbreite auch vorhanden ist. Insbesondere bei Backup-Links oder mehreren IP-Leitwegen ist die Konfiguration nicht vollständig - CAC wirkt nicht innerhalb
eines Standorts
Hier wird von "unlimitierter" Bandbreite ausgegangen. Wer also im Haus-LAN die Lync Verwendung begrenzen will, kann dies nicht per CAC machen, sondern maximal per QoS - Unabhängigkeit von IP-Routen
Lync prüft und wertet keine IP-Leitwege aus. Die von ihnen erstellte Konfiguration sollte also schon den echten Verbindungen entsprechen und auch aktuell bleiben. Wenn ihre WAN-Truppe also die Bandbreiten oder Links verändert, sollten Sie in die Informationskette eingebunden werden.
Sollte die erlaubte Bandbreite überschritten sein, dann kann Lync aber einen Umweg nutzen. Je nach Konfiguration gibt es zwei Ausweichrouten:
- Edge (Audio und Video)
Wenn eine Firma zwei Standorte hat und jeder Standort mit einem eigenen Lync Pool und Edge-Server ausgestattet ist, dann kann Lync den Anwender über das Internet (Edge zu Edge) routen, wenn die interne WAN-Verbindung (VPN) überlastet ist. - PSTN (Nur Audio)
Funktioniert der Edge-Umweg nicht, dann kann Lync auch einen PSTN-Failover initiieren, d.h. der Anrufer bekommt die Information, dass das Ziel nicht erreichbar ist aber er per Telefonnetz die Verbindung aufbauen sollte. Hier gelten dann wieder die Voice-Routen, PSTN-Usages und Normalisierungen. Der Client nimmt die E164-Nummer des Ziels aus dem Lync Adressbuch und versucht eine Verbindung.
Interessanterweise sind die Wege für verschiedene Dienste nicht immer identisch. Es kann also sein, dass z.B. Video über einen Weg und Audio über einen anderen Weg übertragen wird.
Konfiguration
Die Konfiguration von CAC ist nur auf den ersten Blick einfach. Sie müssen folgende Begriffe unter einen Hut bekommen.
- Bandbreiten Policies
Bei Lync werden Richtlinien für Audio und Video in Policies zusammengefasst, welche dann an den Link zwischen Regionen und Sites zugewiesen werden. Sie weisen also nicht direkt eine "MBit"-Einheit an einen Link zu. Die Bandbreiten sind für Audio und Video getrennt und noch mal nach "Total" und "per Session" einzustellen. Der Client kann dann anhand der zugewiesenen Bandbreite den optimalen Codec wählen.
Für einfachere Tests können Sie ja folgende beiden Richtlinien anlegen um diese dann später zuzuweisen

Das SessionLimit kann nicht kleiner als Audio:40kbit und Video:200KBit gewählt werden aber das globale Limit kann mit "0" eben alle Sessions verhindern.
Achtung
Lync kontrolliert also nur die Bandbreite für
kompatible Clients, die sich konform verhalten.
Lync kann nicht dynamisch auf Bandbreiten im WAN
reagieren. Der Client kann aber schon weiterhin
erkennen, wenn die effektive Bandbreite einen
Codec-Wechsel erfordert.
Auswirkungen auf MediaBypass
Wird der Mediation Server dank "Media Bypass"
umgangen, wird auf diese Verbindung CAC nur
angewendet, wenn der Lync Client das Ziel ist.
Hinweis: Einige Dienste nutzen auch weiterhin
den Mediation Server, weil Sie Media Bypass
nicht unterstützen und damit doch wieder CAC
unterworfen sind.
- Region
Eine Region ist der Punkt über den eine oder mehrere Sites verlinkt werden. Mehrere Regionen müssen über einen RegionLink verbunden werden, wenn Bandbreitenrichtlinien angewendet werden sollen. - Site
Eine Site ist eine Gruppe von Subnetzen, die "gut verbunden" sind und daher untereinander keiner Beschränkung unterliegen.
Eventuell ist folgendes
Skript interessant
Synchronize AD sites and subnets with Lync 2010
http://gallery.technet.microsoft.com/Synchronize-AD-sites-and-3ab13e3f
- Subnetz
Jedes Subnetz, in dem Clients sind, sollte hier definiert und einer Site zugewiesen werden. !
Achtung
Lync überwacht nur "bekannte Subnetze", d.h.
Clients in Subnetzen, die nicht definiert sind,
gelten als "unbeschränkt"
- RegionLink
Regionen, die mit einander per WAN verbunden sind, müssen natürlich auch in Lync mit einem "Link" logisch verbunden werden, Nur dann kann Lync wissen, wie die Bandbreite zwischen den Regionen ist. - Region Route
Zuletzt müssen noch Routen über die Links gelegt werden. Das Lync Control Panel macht sie schon darauf aufmerksam, wenn etwas nicht passt.

- InterSiteLink (Nur
Powershell)
Dieser besondere Link erlaubt die Konfiguration von einer "Direktverbindung" zwischen zwei Sites unter Umgehung der Region
In der Reihenfolge sind die Dinge von oben nach unten einzurichten, da sie z.B. bei der Einrichtung einer Site auch eine Region auswählen müssen, zu der diese Site zu geordnet ist und ein Subnet muss zu einer Site zugeordnet werden. Sie fangen also in der Regel bei der Region an.
Es gibt noch ein paar Besonderheit z.B. in Verbindung mit einem Edge-Server zu berücksichtigen. Dessen externe AV-Edge-IP-Adresse wird über ICE auch zu einer gültigen IP-Adresse des Clients. Über diesen Weg funktioniert nämlich das Rerouting über Edge. Wenn Sie also auch diesen "Endpunkt" mit CAC steuern möchten, z.B.: um die Bandbreite zum Internet zu kontrollieren, dann müssen Sie auch diese Adresse als Subnet konfigurieren und entweder der Site zuschlagen oder eine eigene Site einrichten.
Beachten Sie, dass auch Lync Mediation Server durchaus "CAC" berücksichtigen. Entsprechend können auch DialIn-Konferenzen oder Verbindungen zum Telefonnetz (und damit PSTN-Failover) durch CAC unterbunden werden.
Sie können noch so viele Regionen, Sites und Links mit Policies definieren. All das wird erst aktiv, wenn Sie in der "Network Configuration" auf globalem Level auch "Enable call admission control" einschalten

Bedenken Sie, dass diese Einstellung natürlich ebenfalls wieder auf die Server repliziert werden muss.
CAC "produktiv" testen
Nicht jeder hat ein Lync Testfeld parat und selbst wenn ihr Dienstleister wie z.B. Net at Work ein fundiertes Wissen mitbringt, so ist die Umsetzung und die Auswirkung nicht immer einfach zu durchschauen und hat durchaus etwas mit der Komplexität einer Einführung von QoS, VLANs, 802.1x etc. zu tun. Zudem bekommen die Client die Information, das Sie CAC nutzen sollen, per "Inband Provisioning" bei der Anmeldung mit. Es greift also nicht "sofort" und damit kann man es auch nicht mehr "sofort" rückgängig machen.
Aber der Umstand, dass bei CAC "nicht bekannte Subnetze" als "unbeschränkt" gelten, öffnet ihnen den Weg mit CAC im LAN zu experimentieren. Sie können nämlich auch einzelne Hosts als "Subnetz" definieren. So können Sie als Subnetz erst mal einzelne IP-Adressen von Clients angeben und nach nud nach erweitern.
Auch umgekehrt ist so ein "Einzel Host Subnetz" ganz hilfreich um z.B. die offizielle IP-Adresse des AV-Edge-Servers in eine eigene Region zu stecken und damit die Bandbreite über das Internet zu steuern.
Visualisierung
Microsoft liefert gleich zwei Programme mit, um CAC auch grafisch darzustellen, die beide im Lync Ressource Kit enthalten sind.
- NetworkConfigurationViewer
C:\Program Files\Microsoft Lync Server 2010\ResKit\NetworkConfigurationViewer
Dieses Programm liest die aktuelle CAC Konfiguration aus und zeigt diese grafisch an

- PDPMONUI
C:\Program Files\Microsoft Lync Server 2010\ResKit\BandwidthPolicyServiceMonitor\PDPMONUI.exe
Dieses Programm liest die aktuelle Bandbreitennutzung aus der CAC-Datenbank aus.

Beide Programme sind problemlos zu nutzen und erlauben einen schnellen Überblick über die aktuelle Konfiguration und Nutzung, wenn die Anzahl der Sites und Links überschaubar ist.
Logging
Interessanter sind natürlich Daten, die auch aufgezeichnet werden. Diese Funktion ist über die GUI nicht erreichbar aber sehr einfach über die Lync Powershell aktivierbar:
PS> set-CsBandwidthPolicyServiceConfiguration -EnableLogging $true
Ab dem Moment schreibt der Service alle Bandbreiten-Nutzungen in eine Textdatei im Lync Share
\\lyncserver\LyncShare\1-ApplicationServer-12\AppServerFiles\PDP
mit folgenden Namensschema:
-
Pdp_xxxx_yyyy-mm-ttTHH_MM_SS_Links.csv
Diese Datei enthält die aktuelle Konfiguration und wird immer dann neu angelegt, wenn Sie an den CAC Einstellungen selbst etwas ändern. Sie ist also eine Art "Changelog" -
Pdp_xxxx_yyyy-mm-ttTHH_MM_SS_BwCheckFailure.csv
Diese Datei enthält alle Vorgänge, bei denen die Verbindung aufgrund zu geringer Bandbreite nicht zugelassen wurde.
PSTN Failover am Client
Bekommt ein Client vom PDP eine negative Meldung, dass er weder direkt mit dem Partner noch indirekt über den Edge kommunizieren kann, dann kann der Client bei entsprechenden Berechtigungen immer noch eine Audioverbindung über die Gateways aufbauen. Das geht natürlich nur, wenn diese Funktion auf der Voice Policy nicht deaktiviert wurde.

An der gleichen Stelle kann übrigens z. B. für "wichtige Personen" erlaubt werden, jede Richtlinie bezüglich CAC zu umgehen. Das bedeutet aber nicht, dass dann andere "weniger wichtige" Verbindungen beendet würden. Die Qualität könnte also insgesamt schlechter sein.
Zudem muss über entsprechende Voice-Routen, Gateways und PSTN-Usages natürlich sichergestellt sein, dass der Anrufer aus seinem Standort auch ein Gateway erreichen und nutzen kann, um über das Telefonnetz eine Verbindung zum anderen Standort aufzubauen. Der angerufene Teilnehmer sendet dann dem Anrufer die folgende Meldung als Bestandteil des SIP-Dialogs:
SIP/2.0 199 Early Dialog Terminated ms-user-logon-data: RemoteUser Authentication-Info: NTLM qop="auth", opaque="53E2666D", srand="7056D21B", snum="30", rspauth="fefb", targetname="lync001.netatwork.de", realm="SIP Communications Service", version=4 Content-Length: 0 Via: SIP/2.0/TLS 192.168.103.25:42800;received=80.66.20.18;ms-received-port=38762;ms-received-cid=47F00 From: "Frank Carius"<sip:user1@netatwork.de>;tag=69a63fdd9b;epid=110531d8e4 Call-ID: b52fbb66e9e345238307c83421691b00 CSeq: 1 INVITE To: <sip:user2@netatwork.de>;tag=166329d54d ms-diagnostics: 5;reason="Insufficient bandwidth to establish session. Attempt PSTN re-route";source="lync001.netatwork.de";appName="InboundRouting" Server: http%3A%2F%2Fwww.microsoft.com%2FLCS%2FDefaultRouting(Microsoft Lync Server 2010 4.0.7577.139)
Sie sehen in der Meldung die Information: ms-diagnostics: 5;reason="Insufficient bandwidth to establish session." und der Vorschlag doch einen PSTN-Reroute zu tun. Gleiches sehen Sie auch noch mal in dem nachfolgenden 181.
SIP/2.0 181 Progress Report ms-user-logon-data: RemoteUser Authentication-Info: NTLM qop="auth", opaque="53E2666D", srand="0931A7D2", snum="31", rspauth="e6f1", targetname="lync001.netatwork.de", realm="SIP Communications Service", version=4 Via: SIP/2.0/TLS 192.168.103.25:42800;received=80.66.20.18;ms-received-port=38762;ms-received-cid=47F00 From: "Frank Carius"<sip:user1@netatwork.de>;tag=69a63fdd9b;epid=110531d8e4 To: <sip:user2@netatwork.de> Call-ID: b52fbb66e9e345238307c83421691b00 CSeq: 1 INVITE ms-diagnostics: 5;reason="Insufficient bandwidth to establish session. Attempt PSTN re-route"; source="lync001.netatwork.de";appName="InterClusterRouting" Server: InterClusterRouting/4.0.0.0 Content-Length: 0
SIP/2.0 101 Progress Report
ms-user-logon-data: RemoteUser
Authentication-Info: NTLM qop="auth", opaque="53E2666D", srand="68415B4C", snum="32",
rspauth="b462", targetname="lync001.netatwork.de", realm="SIP Communications Service", version=4
Via: SIP/2.0/TLS 192.168.103.25:42800;received=80.66.20.18;ms-received-port=38762;ms-received-cid=47F00
From: "Frank Carius"<sip:user1@netatwork.de>;tag=69a63fdd9b;epid=110531d8e4
To: <sip:user2@netatwork.de>
Call-ID: b52fbb66e9e345238307c83421691b00
CSeq: 1 INVITE
ms-diagnostics: 25002;reason="Routing to best pool";source="lync001.netatwork.de";
clusterFqdn="lync001.netatwork.de";routingType="ToRouting";appName="InterClusterRouting"
Server: InterClusterRouting/4.0.0.0
Content-Length: 0
Der Anrufer startet dann einen eigenen INVITE, indem er nun aber die Rufnummer des Partners angibt und über eine Option dem Lync sagt, dass er auch tatsächlich die Rufnummer weiter verarbeiten soll und nicht etwa im Adressbuch wieder den Lync-Benutzer findet.
Der angerufene Teilnehmer sieht dann idealerweise einen eingehenden Ruf und bei korrekter Übermittlung der "Calling Party Number" kann der Client auch den Anrufer namentlich anzeigen.
Hinweis:
Damit PST-Failover sauber funktioniert, sollten
Sie z.B. in dem Standort des Anrufers eine Voice
Route anlegen, die die jeweils andere
Niederlassung spezifiziert. Eine globale Route
"+*" über mehrere Gateways ist da nicht
geeignet. Mehrere Gateways sollten nur dann in
einer Route zusammen gefasst werden, wenn diese
wirklich "Hochverfügbarkeit" am gleichen
Standort liefern und nicht ein Failover über
andere Sites bedeuten.
Weitere Links
- Lync Planung
- Lync Neuigkeiten
- MediaBypass
- Codec
- Planning for Call Admission
Control
http://technet.microsoft.com/en-us/library/gg398334.aspx - 2650037 Description of the update for Lync Server 2010 Bandwidth Policy Service: December 2011
- http://blogs.technet.com/b/drrez/archive/2011/03/28/simulating-lync-server-2010-call-admission-control-in-a-lab-environment.aspx






