Ayant été (énormément) pris par le boulot, nous y voilà tout de même: la finalisation de notre lab UC afin de le rendre opérationel !Où en étions-nous ? Ah oui ! Dans notre numéro précédent, nous avions installé un pool OCS Standard et un serveur de Mediation. Il nous reste à configurer:- Le DNS, afin de supporter la configuration automatique des clients OCS;
- SipX (nous allons voir brièvement l'installation, mais surtout la configuration des plans de numérotation et des passerelles)
- Et enfin, last but not least, la partie téléphonie d'OCS et l'activation de la téléphonie pour des utilisateurs.
Configuration du DNS
C'est la partie facile. Dans mon exemple, j'ai utilisé un domaine SIP unique: uc-lab.com - si vous voulez supporter plus d'un domaine SIP, répetez la configuration DNS pour chaque.
- Sur votre serveur DNS (ici, le contrôleur de domaine), lancez la console de gestion DNS (dnsmgmt.msc)
- Créez une zone pour votre domaine SIP (uc-lab.com) - personellement, je la configure de manière à ce qu'elle soit intégrée Active Directory...
- Créez ensuite un entregistrement de type SRV (New Other Records... puis Service Locator (SRV))
- Dans les propriétés du service, utilisez ces informations: Service = _sipinternaltls Protocol = _tcp Priority = 0 Weight = 0 Port number = 5061 Host = sv-ocs.corp.uc-lab.net.
Validez puis créez un nouvel enregistrement de type SRV avec les propriétés suivantes: { service=_sip, protocol=_tls, priority=0, weight=0, port=5061, host=sv-ocs.corp.uc-lab.net. }. Enfin, créez un enregistrement de type A avec les propriétés suivantes = { IP=10.0.2.101, name=sip.uc-lab.com. }Une fois les ajouts effectués dans le DNS, femez la console et ouvrez une fenêtre de commandes. A l'aide de la commande nslookup, nous allons vérifier que la configuration DNS est correcte. Une fois dans l'interface nslookup, exécutez les commandes suivantes: - set type=SRV
- _sipinternaltls._tcp.uc-lab.com
- _sip._tls.uc-lab.com
Ces deux dernières commandes doivent retourner les informations que nous avons entré précédemment, comme montré dans cette capture d'écran:
Installation et configuration de SipXL'installation de SipX a la bonne idée d'être simplifiée par rapport à une installation de Linux "classique". Il faudra toutefois penser à configurer quelques détails non négligeables: une IP, le mot de passe du superutilisateur "root" et les quelques autres options comme le clavier, la date et l'heure. N'oubliez pas de désactiver les services DNS, NTP et DHCP sur le serveur SipX, il seront complètement inutiles ici et en double usage par rapport à notre contrôleur de domaine Windows (pour le DNS et le NTP, le DHCP n'étant vraiment pas utile dans notre contexte).
Une fois SipX installé, il va falloir le configurer... Au premier démarrage, SipX configurera la base postgresql, il faudra déterminer le nom de domaine SIP pour SipX (par exemple, voip.uc-lab.com) et créer les enregistrements SRV et/ou A demandés par SipX. ATTENTION: SipX est sensible sur la configuration du nom de domaine SIP utilisable. C'est modifiable par la suite mais une vraie galère ! Faites attention, vérifiez tout deux fois.
- un enregistrement A { IP=10.0.2.110, host=voip.uc-lab.com. }
- un autre, pour le nom de la machine physique { IP=10.0.2.110, host=sipx.corp.uc-lab.net. }
- des enregistrement SRV tels que recommandés par la commande sipx-dns (ex: sipx-dns voip.uc-lab.com sipx.corp.uc-lab.net) ==> { service=_sip, protocol=_tcp, priority=1, weight=0, port=5060, host=sipx.corp.uc-lab.net. } et { service=_sip, protocol=_udp, priority=1, weight=0, port=5060, host=sipx.corp.uc-lab.net. }
- n'oubliez pas que ces enregistrement sont à mettre dans un sous-domaine nommé voip (ou une zone nommée voip.uc-lab.com) !
Et hop, une petite capture (ndlr: le DNS Windows ne supporte pas les NAPTR):
Vérifiez que les enregistrements DNS sont corrects à coup de nslookup. Après configuration du DNS, faites un petit reboot de votre serveur SipX... assurez vous que le service sipxpbx démarre sans accroc.
Une fois tout ce petit monde en fonctionnement, naviguez sur l'interface Web et connectez-vous avec l'utilisateur superadmin et le mot de passe défini au préalable.
L'interface est simple, il suffira de définir quelques petites choses :)
- Une passerelle: menu Devices ==> Gateway: ajoutez une passerelle de type SIP Trunk avec les paramètres correspondant à votre installation. Name=OCSMediationServer, Address=sv-ocsms.corp.uc-lab.net, Description=ce que vous voulez, Route=(vide)
- Affichez les paramètres avancés (click sur "Show Advanced Settings") et configurer le port (5060) et le protocole (TCP), cela évitera à SipX de se poser la question le moment venu...
- Validez avec OK. Une fois de retour sur l'interface de gestion des passerelles, mettez à jour la configuration de SipX avec le bouton "Send All Profiles".
- Allons ensuite déclarer la règle de routage vers OCS, c'est dans System ==> Dial Plans puis Add new rule ==> Custom...
- Alors là, il y a plein de paramètres :) -- je vais donc les lister un à un:
- Enabled: à cocher
- Name: OCSDialRule
- Description: comme vous voulez :)
- Dialed Number: Prefix = 3 and 2 digits (n'oubliez pas de cliquer sur "Add") - cela nous permettra de router les extensions de 300 à 399 vers OCS. Nous verrons comment nous amuser avec les numéros E.164 plus tard...
- Ne configurez pas de permissions.
- Resulting Call: Dial = + and append dialed number (nous reviendrons plus tard sur cette partie si l'on veut simulez quelque chose de plus "représentatif de la réalité")
- Ajoutez la passerelle OCSMediationServer puis validez avec OK.
Une fois de retour dans l'interface de gestion des Dial Plans, cochez la case correspondant à la règle créée ci-dessus et cliquer sur "Activate" en haut à droite. Validez lorsque demandé.
Il va falloir maintenant créer un utilisateur SipX, afin de simuler à l'aide d'un SIP Phone, un téléphone d'entreprise... Allez donc dans le menu Users ==> Users puis cliquez sur "Add User". Logiquement, le premier utilisateur crée aura l'extension 200, configurez les propriétés et n'oubliez pas le "SIP Password" qui vous permettra de configurer le SIP Phone.
Une fois tout ce petit monde paramétré, pensez à redémarrer SipX. En shell, par la commande service sipxpbx restart. C'est conseillé à chaque fois que la configuration des passerelles et règles de routage sont modifiées, et force la mise à jour des fichier XML de configuration dans /etc/sipxpbx/.
Configurez une SIP Phone afin de vous connecter à SipX. Personnellement, j'utilise X-Lite. Il suffit d'utiliser l'extension "200", le mot de passe configuré précédement et comme nom de domaine "voip.uc-lab.com". Si vous avez du mal à vous connecter, forcez la connexion par le proxy en utilisant le FQDN ou l'IP du serveur SipX.
Configuration de la téléphonie sur OCS
Nous y voilà ! Comme dirait l'autre "yapuka!" ... En effet, la configuration d'OCS est assez rapide mais doit être faire dans un ordre précis... Assurez vous d'abord que votre serveur OCS Standard est allumé et fonctionne correctement. Pour cela, créez un compte et connectez vous avec Communicator.
Vérifiez ensuite que votre serveur OCS Mediation fonctionne, à l'aide de la console d'administration d'OCS, vérifiez que le service tourne.
OK ? Tout va bien ? On continue...
Dans le console OCS, allez sur la configuration de la forêt, puis Voice Properties. Il va falloir créer une localisation et des règles de normalisation:
- Créer un "Location Profile", nommez-le "OCSDP"
- Ajoutez ensuite une règle de normalisation, nommez là "2xx"
- Dans la section "Translation" entrez "^2(\d{2})$" comme "pattern" puis "2$1" comme expression resultante
- Vérifez qu'en entrant "201" (sans les guillemets) dans la zone de test, le resultat est "201"
- Dans l'onglet "Route", créez une nouvelle route nommée "toSipX"
- Dans la zone d'expression régulière, entrez "^2(\d{2})$"
- Ajouter un "Phone Usage", celui par défaut fera l'affaire...
- Ajoutez le serveur de Mediation OCS comme passerelle puis validez et retournez dans la console d'administration OCS.
Une fois de retour dans la console, ouvrez le conteneur "Mediation Servers" puis édtier les propriétés du serveur de médiation. Ici, éditer le "Default Location Profile" et choisissez "OCSDP".
Normalement, tout ce qui concerne la partie "Next Hop Connection" est déjà configuré, assurez vous que:
- Office Communcations Server next hop soit "sv-ocs.corp.uc-lab.net" et le port "5061"
- PST Gateway next hop soit "10.0.2.110" (l'adresse IP du serveur SipX) et le port "5060"
Validez et redémarrez le service de Mediation OCS.
Cette opération doit aussi être faite sur le pool OCS. Sous "Standard Edition Servers", avec le clic droit de la souris, aller dans "Properties" puis "Front-end Properties". Dans l'onglet "Voice", selectionnez "OCSDP" comme profil de localisation par défaut pour le pool. Validez, revenez dans la console OCS et redémarrez les services OCS.
Nous y sommes presque (sisisisisi :)) - il ne reste qu'à configurer notre utilisateur OCS afin d'être activé pour la téléphonie. Editez ses propriétés (par l'interface OCS par exemple) puis dans "Additional options" cliquez sur "Configure". Là, cochez "Enable Enterprise Voice" et dans "Line URI" entrez "tel:+300". Validez, attendez maximum 5 minutes et reconnectez vous sur Communicator avec cet utilisateur.
Appeller l'utilisateur OCS
Pour appeler l'utilisateur OCS, rien n'est plus simple: il suffit de composer le "300" sur votre SIP Phone. Si vous n'avez rien raté, Communicator doit se mettre à sonner en affichant comme appellant "+200".
Appeller depuis OCS/Communicator
Appeller depuis OCS est facile aussi. Composez le "200" puis validez. Votre SIP Phone va se mettre à sonner et l'appellant sera "+300". Nous verrons ultérieurement comment finalisez la configuration afin de faire quelque chose de plus "pro" et pouvant s'intégrer à des IP-PBX classiques ou ne supportant pas les URI SIP au format E.164 avec un symbole + (comme Cisco Call Manager par exemple).
J'imagine que cela ne fonctionnera pas du 1er coup dans votre lab... quelques pistes:
- si, lorsque vous composez depuis votre SIP Phone, ce dernier vous jette violemment avec une sonnerie répétitive et rapide, il s'agit d'une erreur dans la communication. Vérifiez que votre serveur SipX peut contacter le serveur de médiation: vérifiez le DNS, le réseau (IP, masque, ping, telnet sur le port 5060, etc), la configuration (n'hésitez pas à redémarrer le service SipX)
- utilisez le Netmon de Windows ou WireShark afin de regarder où ça bloque. Filtrez dans un premier temps sur le protocole SIP (5060 tcp/up, 5061/tcp) - je doute que vouz ayez à ce stade des soucis de protocole Audio (RTP/RTCP) ou de codecs.
Amusez vous bien !