OCS und Exchange

Natürlich kann Exchange 2007 Unified Messaging (Siehe auch E2007:UM ff) auch ohne den OCS arbeiten. Aber der OCS kann auch als SIP-Server dienen, welcher Voice over IP (VoIP)-Telefonate vermittelt. Der OCS ist selber aber ebenfalls kein VoIP-Gateway zum klassischen ISDN oder analogen Welt. Die ideale Welt (aus Microsoft Sicht) sieht also wie folgt aus:

OCS-Umgebung

Ihr Netzwerk besteht aus Client und Windows Servern mit einer Internet Anbindung und einem SIP-Gateway welches ihren eventuell noch vorhandenen klassischen Telefon-Anschluss (oder ihre alte TK-Anlage) mit dem Netzwerk verbindet. Immer mehr Firmen nutzen sogar das Internet um direkt darüber zu telefonieren oder eine Anbindung zu einem TK-Provider herzustellen, der dann die Verbindung ins klassische Netz aufbaut.

Denken Sie immer dran
Bei VoIP sprechen immer die Kommunikationspartner bzw. Gateways miteinander. Über die "Vermittlung" (also hier der OCS-Server) finden sich die Partner bzw. veröffentlichen ihre Erreichbarkeit. Die Nutzdaten (Sprache/Fax) ist dann eine direkte Übertragung, in der der OCS-Server nicht involviert ist.

Der OCS-Server ist die Vermittlungsstelle zwischen SIP-Gateway und den verschiedenen Endgeräten. Über das IM-Protokoll weiß der Server zudem, welcher Benutzer an welchem Endgerät angemeldet ist und ob er gerade "abwesend" oder in einem Meeting o.ä. ist.

  • Eingehender Ruf
    Eine eingehender Ruf wird vom SIP-Gateway dem OCS-Server gemeldet, welcher dann anhand seiner Konfiguration den Anruf an die Endstelle meldet. Nimmt der Benutzer nicht ab, oder ist er nicht angemeldet, dann reicht OCS den Anruf an Exchange 2007 weiter, der als Mailbox die Sprachnachricht annimmt.
  • Vermittlung
    Sowohl Exchange als auch OCS können natürlich auch Gespräche "vermitteln". Das ist besonders interessant, wenn Sie per Telefon mit Exchange "sprechen" und sich von Exchange an einen anderen Mitarbeiter weiter vermitteln lassen wollen. Exchange erlaubt ihnen die Suche im Adressbuch.
  • Ausgehender Ruf
    Natürlich kann man auch mit dem OCS selbst telefonieren. Über ein SIP-Telefon oder dem OCS-Client (welcher auch eine Telefonfunktion hat) ist es möglich Rufe an interne und externe Gegenstellen zu initiieren.
  • Fax
    Exchange 2007 kann zwar auch FAX-Übertragungen annehmen, aber dazu muss das Gateway das erkennen und T.38 Übertragungen anstoßen. OCS unterstützt aber kein REINVITE mit T.38 im SDP, so dass Sie ihre normale Telefonnummer nicht über OCS auf Exchange 2007 UM weiterleiten können, um auch Faxe zu empfangen. Hier muss also ein anderer Weg gegangen werden.

Der OCS kann natürlich mehr als "nur" SIP-Verbindungen zu vermitteln. Er ist auch weiterhin "Instant Messaging"-Server, um firmeninterne Direktkommunikation zu erlauben. Zudem kann er auch als Plattform für die Zusammenarbeit und Videokonferenzen agieren.

Einrichtung in Exchange

Die Einbindung in Exchange ist eigentlich sehr einfach. Die meiste Arbeit macht OCS schon alleine, da der Server selbst im Active Directory nach entsprechenden Exchange UM Servern sucht. ein Blick in das OCS-Eventlog zeigt die regelmäßige Suche:

Interessant ist hier der Event 1040, welcher auf den fehlenden Exchange UM-Server bzw. die Berechtigungen hinweist

Ereignistyp:	Warnung
Ereignisquelle:	OCS Exchange Unified Messaging Routing
Ereigniskategorie:	(1040)
Ereigniskennung:	44028
Computer:	SRV01
Beschreibung:
Exchange Unified Messaging Routing Application did not find any Exchange UM servers.

Cause: No Exchange UM servers are configured für SIP traffic or the RTCSRV service 
account does not have permission to read Exchange objects in Active Directory.
Resolution:
Configure one or more Exchange UM servers to handle SIP traffic.

Hier sieht man wieder die erhöhte Sicherheit von Exchange 2007, dass eben nicht jeder mal eben so im Active Directory suchen und finden kann.

Berechtigungen geben

Es ist erforderlich, dass Sie auf dem Exchange Server ein PowerShell-Script starten, welches die entsprechenden Berechtigungen an die OCS-Server vergibt.

exchucutil.ps1

Das Skript legt neben den Berechtigungen auch die entsprechenden "Huntgroups" an. Voraussetzung ist aber, dass die Exchange 2007 UM-Rolle installiert und zumindest die Basiseinstellungen bezüglich Wählplan und Zertifikate vorhanden sind.

Exchange Dialplan anlegen und mit Server verbinden

Security sollte "SECURED" sein. "Unsecured" scheidet aus, weil OCS und Exchange per "Mutual TLS" miteinander kommunizieren müssen. Wer z.B.: ein Tanjay betreibt, muss auf "Secured" bleiben.

Ein guter Ansatzpunkt ist auch immer Snooper auf dem OCS Server, der die Verbindung zum Exchange Server aufbaut. Hier sieht man schnell, ob der Exchange Server antwortet.

Der Dialplan in Exchange muss manuell angegeben werden. Sofern dies noch nicht passiert ist, muss man noch die Wählpläne an die Server verbinden. Hier das PowerShell Beispiel von früher. Mittlerweile geht dies auch auf den Eigenschaften des UM-Servers per GUI.

(Get-UMDialPlan <dialplanname>).PhoneContext

$ums=get-umserver;
$dp=get-umdialplan -id <name of dial-plan created in step 1>;
$ums.DialPlans +=$dp.Identity; 
$ums | set-umserver

OCS Location Profile

Wenn es noch nicht passiert ist, müssen Sie in OCS ein "Location Profil" anlegen, welches dem Wählplan in OCS entspricht.

Das OCS Location Profil muss den gleichen Namen haben wie der FQDN des UM Dial Plan Siehe auch http://technet.microsoft.com/en-us/library/bb803624.aspx

Wenn ihr Exchange UM Dialplan also z.B. "Paderborn" heißt, dann dürfte in OCS der Namen des Location Profiles auf "paderborn.netatwork.de"

OCS Standortprofile

Auto Attendant

Sofern man den Autoattendant auch per Rufnummer erreichen will, müssen diese Rufnummern natürlich im OCS-Adressbuch auftauchen. Allerdings sind dazu keine Active Directory Benutzer erforderlich, sondern es reicht aus, wenn dazu Kontakte angelegt werden. Dabei hilft das Programm "OCSUMUTIL.EXE" (Verzeichnis C:\Programme\Microsoft Office Communications Server 2007\Server\Support) auf dem OCS-Server.

OCSUMUTIL

Hier sieht man später die verschiedenen Exchange Wahlpläne und die damit verbundenen Autoattendants

Call Routing mit Exchange

Folgende einfache Situation erklärt recht anschaulich die Funktion von OCS in Verbindung mit Exchange. Gegeben ist eine Umgebung mit einem OCS-Server als "Mittelpunkt", welcher auf der einen Seite einen Exchange UM Client hat, der den OCS-Server als Gateway verwendet und auf der anderen Seite über einen Mediation Server an ein Gateway zur Telefonanlage verbunden ist.

  • Benutzer 1 ruft Benutzer 2 an
    Die Anfrage landet zuerst als "SIP INVITE" beim OCS-Server, welcher die angefragte Adresse (Benutzer 2) )im Active Directory nachschlägt um dessen OCS Status zu können. Wenn der Anwender OCS aktiviert ist, dann sucht der OCS in seiner Sitzungstabelle die Endgeräte, an denen der Benutzer angemeldet ist und sendet einen "SIP INVITE" an diese Endgerät.
  • Benutzer 2 nicht erreicht
    Wenn der Benutzer 2 nicht per OCS erreichbar ist, weil er entweder eine Umleitung eingerichtet hat, nicht angemeldet ist oder nicht OCS-enabled ist, dann schaut OCS nach "UM"-Einträgen.
  • Exchange UM wird gerufen
    Wenn der Benutzer "UM"-enabled ist, dann nutzt OCS die Daten aus der ProxyAdresse, den Rufnummernplan und den damit verbundenen UM-Server. Der Ruf wird an den Exchange 2007 UM Server geleitet (SIP INVITE). Dabei wird die SIP-Adresse als "Diversion"-Feld addiert, so dass Exchange den Anruf direkt an die Sprachmailbox durchstellt.
  • Exchange UM antwortet
    Exchange sendet an OCS eine Bestätigung zurück und beide Partner tauschen Daten aus, dass die Gegenstelle für die Datenverbindung der Benutzer 1 ist.
  • Exchange UM Verbindungsaufbau
    Exchange baut dann eine RTP-Verbindung zum Benutzer 1 auf, spielt die Willkommensmeldung ab und nimmt die Sprachnachricht entgegen. Die Nutzdaten werden also direkt zwischen dem Benutzer 1 und Exchange UM ausgetauscht.
  • Exchange übergibt an Hub/Transport
    Die aufgezeichnete Nachricht wird dann über den Hub/Transport zur Mailbox des Benutzers übertragen.

Dieses und ähnliche Szenarien finden Sie auf verschiedenen Seiten beschrieben, z.B. http://www.ocspedia.com/Misc/How_OCS_Selects_UM_Server.htm

Weitere Links