Translate

vendredi 13 février 2009

Construire son lab Unified Communications - 4ème partie - Configuration OCS/OCS R2 et Exchange 2007 Unified Messaging

Un de me lecteurs (peut être mon seul lecteur :)) m'a récemment posé plein de questions sur "comment on connecte OCS et l'Exchange UM". J'étends donc ma série "Construire son lab Unified Communications" afin de répondre à ses questions.

Je vous rappelle les chapitres précédents:

Dans cette quatrième partie, nous allons faire fit de la partie IP-PBX. Le serveur SipX et le serveur de Mediation OCS peuvent donc rester éteints. Entre temps, j'ai mis à jour mon lab vers OCS R2, mais les principes fondamenteux ne changent pas.

Première partie - Création d'un Dial Plan UM pour Exchange

La première étape consiste à créer un Dial Plan pour Exchange, et faire en sorte qu'il soit pensé pour l'intégration OCS.

La création du Dial Plan se fait dans la partie "Organization Configuration" de la console Exchange. Il est aussi possible de le créer au travers du Shell Exchange (ma méthode préferée :)). Je vais ici documenter la version en mode graphique.

Tout d'abord, il faut déterminer le nom du Dial Plan, et quelle sera la longueur des extensions qu'il utilisera, etc etc... Dans mon exemple, il s'appellera "OCSDP" mais dans la vraie vie, on choisira un nom qui correspond au site téléphonique qui sera en respect avec l'emplacement des utilisateurs. Ne pas oublier qu'il est possible de créer plusieurs Dial Plans pour un même Pool OCS. Les "Location Profiles" feront le reste côté OCS.

Chose importante: le nom complet qualifié du Dial Plan Exchange UM sera utilisé pour le "Location Profile" d'OCS. Il est proscrit donc d'utiliser des espaces, ou caractères non conforme à la norme DNS. Utilisez le symbole "-" en lieu et place d'un espaces, ne mettez pas d'accent, etc.

Création du Dial Plan:
  1. Dans la console Exchange ==> Organization ==> Unified Messaging. Selectionnez "New UP Dial Plan",
  2. Nom = OCSDP",
  3. Number of digits in extension numbers = 4 (utiliser ce que vous voulez, valeur par défaut = 5),
  4. URI Type = Secured (OCS R2 avec MOC R2 ou OCS avec MOC 2007) ou SIP Secured (OCS avec MOC 2007 ou OCS R2 avec MOC 2007) -- se réferrer à: OCS R2, Exchange UM et la securité
  5. Puis faites "New"
  6. Équivalent PowerShell = new-UMDialPlan -Name 'OCSDP' -NumberOfDigitsInExtension '4' -URIType 'SipName' -VoIPSecurity 'Secured'

Suite à la création du Dial Plan "OCSDP", une stratégie UM a été ajoutée dans l'onglet "UM Mailbox Policies". Pour mes tests, je désactive les codes PIN complexes, je réduis à 4 la longueur minimale du PIN et je retire l'expiration (par défaut = 60 jours).


Association de la passerelle OCS:

Une fois le Dial Plan créé, il suffit de l'associer à une passerelle et à un (ou plusieurs) serveur UM. Il est possible de le faire à la main, ou avec l'aide du script ExchUMUtil.ps1 fourni dans Exchange.

Il faut pour cela disposer d'un accès en lecture à la configuration OCS dans Active Directory, et bien sûr des droits nécessaire dans l'organisation Exchange (Exchange Organization Admins). Le script va détecter le ou les pools OCS installés, créer la ou les passerelles IP Exchange UM si nécessaire et le "Hunt Group" associé.

Une fois la modification effectuée, utilisez le Shell afin de configurer la passerelle correspondante au Pool OCS sur le port 5061. Ce paramètre n'est utile que si OCS doit être utilisé pour passer des appels depuis Exchange, et a son importance dans un tel cas. Dans la plupart des implémentations, les appels sortants depuis Exchange ne sont pas passés à OCS mais directement à une passerelle IP ou un IP-PBX.

ex: Set-UMIPGateway NomDeLaGateway -Port 5061 pour une passerelle en SIP/TLS ou SIP/MTLS (comme OCS)

Il faut maintenant associer le ou les serveurs UM au noueau Dial Plan. Ceci permettra d'activer Exchange UM pour ce Dial Plan et on aura presque fini la partie Exchange UM! Aller dans la section "Server Configuration" puis "Unified Messaging".

Éditez les propriétés de votre serveur UM et ajoutez le nouveau Dial Plan OCS. Validez avec OK.

Revenez ensuite dans la partie "Organization Configuration" et rafraichissez votre onglet "UM Dial Plans". Votre Dial Plan est maintenant associé à une passerelle et à un serveur UM.

Ensuite, allez dans l'onglet "UM Auto Attendants" et créez un nouvel Auto Attendant associé au Dial Plan OCS.

  1. Nom = OCSDP_AA
  2. Associated Dial Plan = OCSDP
  3. Extension numbers = au choix, j'ai utilisé 1999 - idéalement il faut choisir une extension et un numéro de téléphone au format E.164. Dans notre lab, nul besoin de se prendre la tête :)
  4. N'oubliez pas de le créer comme activé et activé pour la voix (sauf si cela vous pose un problème =°)).
Voilà... nous en avons terminé avec la partie Exchange !!! Pas trop tôt me diez-vous... ;)


Seconde partie - Création du Location Profile OCS, des contacts pour l'intégration et génération (forcée) du carnet d'adresses OCS

Afin qu'OCS s'intègre à Exchange, il va maintenant falloir configurer la partie ... OCS. Et oui, ce n'est pas automatique, et il reste un peu de boulot !

Création du Location Profile OCS:

C'est assez simple même si dans la vraie vie (quand on utilise OCS pour une téléphonie d'Enterprise) c'est un peu plus compliqué.

Nous allons ici définir une localisation OCS et y associer nos serveurs. Nous verrons dans la troisième partie la configuration de l'utilisateur sur la partie OCS et pour finir... Exchange.

  • Dans votre console OCS, faîtes un clic-droit sur la forêt et allez selectionner "Voice Properties". Là, créez un nouveau "Location Profile". C'est ici que le nom de votre localisation OCS doit correspondre à votre nom complet qualifié (FQDN) de votre Dial Plan Exchange.
  • Normalement ce sera NomDuDialPlan.domaineracine.extension. Par exemple: OCSDP.monlab.local. Si vous avez un doute, allez vérifier le FQDN de votre Dial Plan Exchange en Shell Exchange avec la commande, il s'agit de la propriété "PhoneContext":

(Get-UMDialPlan NomDuDialPlan).PhoneContext. Par exemple, (Get-UMDialPlan OCSDP).PhoneContext

La valeur retournée est celle suit doit être mise dans le nom du Location Profile OCS. Au besoin faites un copier-coller... :)


Avant de pouvoir finir de créer le Location Profile, il va falloir ajouter au moins une règle de normalisation. Nous sommes dans un lab, alors nous allons faire moyennement propre... :). Vu que je suis sur OCS R2, j'ai des possibilités supplémentaires, mais je vais rester dans la configuration classique OCS 2007.
  • Name = ce que vous voulez
  • Description (optionnel) = ce que vous voulez
  • Phone pattern regular expression = ^(\d{4})$ - ce qui signifie que nous allons normaliser ce que l'utilisateur va entrer dans Communicator - de 0000 à 9999
  • Translation pattern = +$1 - ce qui signifie que ce que nous avons capturé ci-dessus entre les parenthèses sera précédé du + dans le numéro résultant
  • La zone en bas permet de tester l'expression régulière. Ici on entre "1234" et ça se transforme en "+1234"... Si vous obtenez ce résultat, tout va bien, validez.

Une fois revenus à la fenête de création du Location Profile, validez par OK. Si vous ne l'avez pas déjà fait, allez configurer les "Phone Usage" et "Policy".

Créez tout par défaut, ce ne sera pas significatif dans notre lab. Ensuite, allez dans la propriété "Front-end" de votre Pool (ou de votre serveur si vous êtes en édition OCS standard).

Dans l'onglet "Voice", associez le Location Profile précédemment créé comme étant celui par défaut. Vous pourrez faire de même ultérieurement si vous avez un Serveur de Médiation, ce n'est pas requis dans notre configuration pour l'instant.

Une fois sélectionné le Location profile par défaut, validez avec OK.


Création des contacts OCS pour Exchange UM
:

La dernière étape avant de passer à la configuration des comptes utilisateurs...

Il vous faut maintenant mettre la main sur OcsUmUtil.exe, qui est fourni dans OCS R2 dans \Program Files\Common Files\Microsoft Office Communications Server 2007 R2\Support et dans \Microsoft Office Communications Server 2007\Server\Support pour va version OCS 2007 (R1).

Executez OcsUmUtil.exe, il va se lancer en mode interactif.
  1. Exchange UM Forest = nom complet qualifé (FQDN) de la forêt où est installé Exchange, par exemple: maforet.local. Une fois le FQDN entré, cliquez sur "Load Data".
  2. Une fois la configuration chargée, vous allez retrouver vos Dial Plan Exchange (ou plutôt leur PhoneContext correspondant).

Comme vous le verrez, le Dial Plan nouvellement créé a un petit point d'exclamation annoté, cela signifie que les contacts pour l'Exchange UM n'ont pas été trouvé dans Active Directory et OCS.

  1. Sélectionnez le Dial Plan UM et en base à droite de l'outil, cliquez sur le bouton "Add"
  2. Choisissez une OU dans l'AD où créer le contact, un nom, etc. Dans le doute laissez les valeurs par défaut
  3. Assurez-vous que le type du contact est "Subscriber Access", ce qui signifie que ce contact servira à appeller Outlook Voice Access depuis Communicator
  4. Validez avec OK
  5. Répetez l'opération pour le contact de type "Auto Attendant"


Ouvrez une console Active Directory et allez vérifier que les contacts ont bien été créés à l'emplacement voulu.

Troisième partie - Activation d'un utilisateur et connexion à Exchange UM

Activation de la téléphonie pour un utilisateur:


Avant de pouvoir "jouer", nous allons activer un utilisateur. Il faut que celui-ci soit activé pour la téléphonie... je pars du principe qu'il est déjà activé pour OCS.

  1. Allez dans les propriétés "Communications" de l'utilisateur, et sélectionnez "Enable Enteprise Voice" et dans la "Line URI", entrez un numéro de téléphone au format E.164, précédé du type "tel:". Par exemple: "tel:+1501",
  2. N'oubliez pas de choisir le "Location profile" auquel doit être associé l'utilisateur. Si vous choissez "(None)", celui par défaut associé au Pool OCS sera utilisé.
  3. (option) Revenez dans les propriétés générales et définissez le n° de téléphone de l'utilisateur. Mettez-le directement au format E.164, ce qui évitera de recourir à une personalisation des règles de normalisation de génération du carnet d'adresses. Les "x" derniers chiffres du numéro seront utilisés par Exchange lors de l'activation de la messagerie unifiée pour l'utilisateur, ce qui est pratiiiiiiiiiiiiique :)


Activation de la Messagerie Unifiée pour notre utilisateur
:


Nous allons maintenant revenir à notre cher Exchange 2007 et activer la messagerie unifiée pour notre utilisateur, John Smith... N'oubliez pas que l'utilisateur doit au préalable avoir une boîte aux lettres Exchange 2007.

L'activation se fait simplement par la console Exchange, dans la section "Recipient Configuration" ==> "Mailboxes". Choisissez "Enable Unified Messaging" et suivez l'assistant.
  1. Choisissez l'UM Mailbox Policy. Cellle-ci determinera le Dial Plan de l'utilisateur (une Policy = un Dial Plan, mais un Dial Plan = plusieurs policies possibles)
  2. Si un n° de téléphone est défini dans l'AD et que ses x derniers chiffres correspondent à l'extension de l'utilisateur, laissez Exchange décider.
  3. La SIP URI est l'adresse SIP de l'utilisateur, telle que définie dans OCS. Il n'y a pas de raison de la changer.

L'exemple ci-dessus en ligne de commande donne ceci en Powershell:

'corp.ngwp-demo.org/NGWP Corp/Provisioned Users/John Smith' Enable-UMMailbox -PinExpired $false -UMMailboxPolicy 'OCSDP Default Policy' -Extensions '1501' -SIPResourceIdentifier 'John.Smith@ngwp-demo.com'

Ca peut servir, car en ligne de commande il est possible d'allouer plus d'une extension à l'utilisateur. Par exemple, une extension pour le FAX... Sans bien sûr la possibilité d'utiliser ce modèle de ligne de commande afin d'activer plusieurs utilisateurs d'un coup.

Suite à l'activation, allez vérifiez les propriétés de l'utilisateur. Dans la partie "Mailbox Features" l'UM est désormais activé et l'utilisateur a désormais des adresses de messagerie de type EUM associées à sa boîte aux lettres.


Mise à jour du carnet d'adresses OCS (optionnel):

Normalement, OCS met sont carnet d'adresses à jour toutes les nuits (à 1h30 du matin je crois par défaut). C'est sympa mais quand on s'amuse dans un lab on n'a pas nécessairement envie d'attendre le lendemain que Mister OCS nous ait fait grâce de sa génération de carnet d'adresses ;)

Afin d'accélerer le mouvement, forcez la génération avec la commande abserver.exe -syncNow
L'exécutable abserver.exe se trouve dans le sous-dossier Server\Core de votre installation d'OCS ou OCS R2.

Allez prendre un café et fumer une cigarette le temps que le processus soit terminé...

Connection aux services et tests:

Voilà, notre utlisateur est activé, tout va bien... il suffit maintenant de se connecter avec son compte depuis un poste lambda avec Outlook et Communicator installés...

  • Exchange a envoyé la notification avec le PIN
  • Si vos Web Services Exchange 2007 sont bien configurés, vous avec l'onglet Voice Mail accessible depuis Outlook 2007
  • Ici, pas de Telephone access number, nous n'en avons pas défini sur le Dial Plan
  • L'utilisateur a maintenant la possibilité d'appeler sa messagerie vocale depuis Communicator (cf: Call Voice Mail) et l'Auto Attendant Exchange.

Nous en avons terminé avec la mise en œuvre de l'intégration OCS et Exchange UM.
A vous de jouer, personnaliser, tester ! C'est en forgeant que l'on devient forgeron parait-il ;) !

Mise à jour Exchange - Update Rollup 6 pour Exchange 2007 SP1

Au cas où vous ne l'ayez pas remarqué, Microsoft a publié mardi dernier l'Update Rollup 6 pour Exchange 2007 SP1.

La raison pour cette publication est la correction d'un bug de sécurité important qui pourrait compromettre la confidentialité des environnements Exchange d'une Entreprise...
Bulletin de sécurité: http://www.microsoft.com/technet/security/bulletin/ms09-feb.mspx

La liste complète des corrections incluses dans ce Rollup est ici: http://support.microsoft.com/kb/942846