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:

Sollte die erlaubte Bandbreite überschritten sein, dann kann Lync aber einen Umweg nutzen. Je nach Konfiguration gibt es zwei Ausweichrouten:

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.

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.

Eventuell ist folgendes Skript interessant
Synchronize AD sites and subnets with Lync 2010
http://gallery.technet.microsoft.com/Synchronize-AD-sites-and-3ab13e3f

Achtung
Lync überwacht nur "bekannte Subnetze", d.h. Clients in Subnetzen, die nicht definiert sind, gelten als "unbeschränkt"

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.

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:

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

Keywords:Lync CAC