Translate

lundi 30 novembre 2009

TUTORIEL: Intégration Exchange 2007/2010, SIPnPBX et SIP Trunk Freephonie!

Hier, j'expliquais comment intégrer Exchange UM avec Asterisk/Trixbox et Freephonie. Aujourd'hui nous allons voir comment en quelques minutes nous pouvons réitérer cette intégration avec un petit bijou de simplicité nommé PBXnSIP. Merci à Benoit Q de m'en avoir parlé, car je ne connaissais pas!

Étant parfois un peu fainéant, je ne vais pas réécrire la totalité des étapes de configuration Exchange, vous les trouverez dans la première et la seconde partie des articles consacrés à Asterisk/Trixbox.

Installation de PBXnSIP

PBXnSIP est un IP-PBX bien ficelé, qui tourne sur Windows, Linux ou Mac OS ! Contrairement à Asterisk, il n'est ni gratuit ni Open Source mais reste abordable pour des TPE/PME.
Pour mes tests, j'utilise une licence de démo permanente mais dont la durée des appels est limitée. Aucune chance donc que je ne l'utilise pour une "vraie" démo. Cependant, il est possible d'utiliser une licence de démo parfaitement fonctionnelle, mais limitée dans le temps (14 jours) -- cela est peut-être une meilleure option pour vous...

Pour mon lab, j'utilise une machine virtuelle Windows Server 2003 SP2 32-bit avec 256 Mo de mémoire. L'installation de PBXnSIP se fait sans accroc en quelques secondes. Lisez le guide d'installation et les instructions sur le site PBXnSIP (configuration du support du TOS et configuration du redémarrage du service en cas de crash... peu important dans un lab, mais à considérer en production).

Dans le même esprit que ma Trixbox, j'ai deux interfaces, dont celle connectée en interne a une route statique par mon interface privée afin de joindre mon serveur UM qui est dans un sous-réseau spécifique.

L'autre interface est bien évidemment connectée à mon réseau "maison", directement NATé à Internet via ma Freebox. Cette interface n'a aucun service type "Client Microsoft" ou "Partage de fichiers/imprimantes" et ne s'enregistre pas dans le DNS. Netbios/TCP est aussi désactivé.

Bref, comme d'habitude, adaptez votre serveur à vos besoin. L'essentiel est que vous puissiez joindre votre serveur UM d'un côté et Internet de l'autre.

Si vous avez joué avec une Trixbox, n'oubliez pas de l'éteindre, en particulier pour tester les appels entrants lorsque la configuration PBXnSIP sera terminée !

Configuration de PBXnSIP

L'interface d'administration de PBXnSIP est accessible au travers d'un navigateur. Par défaut elle s'exécute sur le port 80. Il suffit donc d'aller sur http://localhost et vous de vous authentifier avec le compte 'admin' (mot de passe = vide). Vous pourrez le changer ultérieurement.

La première étape consiste a enregistrer votre n° de licence. Pour cela allez dans "Settings" ==> "Licence". Copiez-collez le n° reçu et faites "Save".



Aller ensuite dans la configuration des domaines en cliquant sur "Domains". Vous y trouverez des domaines pré-configuré. Personnellement je les ai détruits afin de comprendre ce que je recréais au fur et à mesure. A vous de voir...

Il importe de configurer ces paramètres dans votre domaine:
  • Default Dial Plan: vous n'en avez pas pour l'instant, nous le positionnerons plus tard...
  • Calling own extension number goes to mailbox: No ==> Si vous laissez à "Yes", vous aurez des problèmes plus tard en utilisant le Play-on-Phone depuis Outlook Web App (Exchange appellera PBXnSIP qui appellera votre boîte vocale Exchange)
  • External Voice Mail System: 1000 ==> cela correspond au "Pilot Number" Exchange UM qui sera associé à votre UM IP Gateway correspondant à votre serveur PBXnSIP. J'ai volontairement utilisé le même numéro pilote que pour mon Asterisk, cela n'est pas gênant puisqu'ils ne sont pas associés à la même UM IP Gateway. 


Sauvegardez ("Save") puis allez faire un tour du côté de l'onglet "Trunks".

Configuration du SIP Trunk Exchange

Ajouter un SIP Trunk de type "SIP Gateway" avec les paramètres suivants:
  • Name: ExchangeUM
  • Type: SIP Gateway
  • Direction: Inbound and Outbound
  • Domain: 192.168.101.20
  • Account:
  • Username: Anonymous
  • Password/Password (repeat):
  • Outbound Proxy: sip:192.168.101.20:5060;transport=tcp
  • Accept Redirect: Yes ==> requis pour le support des 302/Redirect
  • Trunk requires out of band-DTMF tones: Yes ==> requis pour que le DTMF fonctionne au travers du SIP Trunk Freephonie
  • Remote Party/Privacy Indication: RFC3325 (P-Asserted-Identity)
  • Assume that calls come from: 2000 ==> fausse extension qui sera créée pour rediriger vers notre UM Auto Attendant mais qui nous servira aussi à appeler depuis Exchange vers l'extérieur


Sauvegardez avec "Save" puis créer le SIP Trunk Freephonie.

Configuration du SIP Trunk Freephonie

Ajouter un SIP Trunk de type "SIP Registration" avec les paramètres suivants:
  • Name: Freephonie
  • Type: SIP Registration
  • Direction: Inbound and Outbound
  • Domain: freephonie.net
  • Account: 09XXXXXXXX
  • Username: 09XXXXXXXX
  • Password/Password (repeat):
  • Outbound Proxy: sip:freephonie.net:5060;transport=udp
  • Remote Party/Privacy Indication: Remote Party-Id ==> Car Freephonie utilise Asterik !!!
  • Send call to extension: 2000 ==> la pseudo-extension qui sera dirigée vers l'Attendant UM de notre choix


Sauvegardez avec "Save" puis allez faire un tour du côté de l'onglet "Accounts". Au final vos SIP Trunks existants ressembleront à ceci:




Configuration des extensions

Ajoutez les extensions 2001, 2002, ... dont les noms doivent correspondre aux extensions UM déclarées dans Exchange.

Ajoutez une extension 2000 avec un PIN/mot de passe top secret... Nommez la comme vous le souhaitez (peu importe, ce qui compte c'est qu'elle existe...). Une fois celle-ci créée, éditez les propriétés de cette extension afin d'ajouter un transfert inconditionnel vers le numéro pilote de votre standard automatique (j'utilise 1000 pour le Subscriber Access et 1900 pour l'Auto Attendant).





Au final, vos extensions ressembleront à ceci:



Nous y sommes presque, il nous reste à configurer les règles de routage. Allez pour cela dans l'onglet "Dial-Plans".

Configuration du Dial Plan

Ajouter un Dial Plan, nommez le comme vous le souhaitez cela n'a que peu d'importance, si ce n'est de s'y retrouver dans un environnement du "monde réel" :)

Ajoutez les règles pour les numéros pilotes 1000 et 1900 vers le SIP Trunk ExchangeUM. La règle 0* permet de composer n'importe quel numéro préfixé par 0 et de passer le reste au SIP Trunk. Par exemple, composer 00112345678 passera 0112345678 au SIP Trunk Freephonie.



Note: OCS-MS est un SIP Trunk vers mon Mediation Server OCS 2007 R2 (oui ça marche aussi très bien!). Je compose 5xxxx pour appeler l'extension xxxx déclarée dans OCS (les règles de normalisation faisant le reste).

Maintenant à vous de jouer !!!

N'oubliez pas de créer votre UM IP Gateway dans la configuration UM d'Exchange, le Hunt Group qui va bien, et de l'associer avec le bon numéro pilote au bon UM Dial Plan.

Voilà, si je n'ai rien oublié (ce que je ne garanti pas vu que j'ai tapé cet article très très vite), votre environnement est prêt. Vous devriez vous retrouver dans un environnement fonctionnellement similaire à ce que nous avions avec Asterisk/Trixbox.

Post-mortem

Grâce à notre extension fictive, nous pouvons effectuer des appels depuis Exchange (Play-on-Phone, contacter un n° externe depuis l'annuaire...) sans devoir utiliser une "ruse" comme avec Asterisk. Bon point pour PBXnSIP.

Le MWI d'Exchange 2010 ne fonctionne cependant pas mieux. Tout comme avec Asterisk, PBXnSIP refuse les messages NOTIFY en dehors d'un dialogue SIP établi. Rigolo, quand on sait que Cisco Call Manager sait très bien le faire !

1 commentaire: