Como se hizo la demo de la Mensajeria Unificada de Exchange 2007
Hola
Esto es algo que tenía a medio escribir casi desde que empezó la Gira de Lanzamiento de Office 2007, Windows Vista y Exchange 2007, allá a mediados de Noviembre. Durante su preparación le estuvimos dando vueltas a la manera de enseñar un entorno real y operativo de la Mensajería Unificada de Exchange 2007 sin tener que andar cargando por carreteras y aeropuertos con PBXs y/o gateways reales. Bastante penoso era ya pasar por los detectores dos maletas, con ocho portátiles, router, Wireless, switch de monitor y teclado, cableado, ratones, llaves USB, y un par de teléfonos IP.
La solución era entoces o utilizar el Sip Phone que viene incluido en Exchange para probar el sistema, que aunque hace su función es francamente mejorable, o encontrar una IP-PBX basada en software y que fuese totalmente funcional y compatible con Exchange 2007.
Tras el primer evento en Madrid, un expositor se acerco a nosotros diciendo tener en sus manos una solución completa de teléfonos IP y una IP-PBX software que funcionaban a la perfección. Los teléfonos son de la marca Snom, que tienen incluso un softphone idéntico al real que fué el que utilizamos para sacar el audio a través del PC y que se oyera por los sistemas de megafonía. La IP-PBX es de pbxnsip. Esta centralita iba instalada en el propio equipo donde reside el propio Exchange 2007, pero modificando los puertos para que no existieran conflictos con los puertos coincidentes (SIP, Web, etc.). En la foto de la derecha, sacada durante nuestra estancia en el TechEd IT Forum de Barcelona, podéis ver como quedaba todo. A través de un simple router wireless conectado a Internet se podían hacer y recibir llamadas desde exterior.
Así es que ésta ha sido la solución que hemos utilizado en la demo, y estos son los pasos que seguimos para montarla:
1.- Habilitar la Mensajería Unificada y configurarlas en Exchange 2007: No me quiero extender en ello, porque está todo perfectamente explicado en el TechCenter. En las puertas de enlace IP, simplemente pondremos la IP o el nombre fqdn de la máquina donde instalaremos la pbx, en nuestro caso, la propia máquina.
2.- Instalar pbxnsip: Hay dos cosas fundamentales que deben cumplir las PBX/Gateways para trabajar con Exchange 2007. La primera es soportar SIP sobre TCP, no solamente UDP como es habitual en el mundo de la VoIP. Los que vinísteis a la gira de seguridad que hicimos de Septiembre a Octubre sabéis que es la unica manera de poder securizar las comunicaciones utilizando TLS. La segunda es que se debe soportar el "Diversion Header" (que va en el mensaje INVITE) del standard SIP, que permitirá redirigir la llamadas al usuario adecuado. Las versiones de pbxnsip que cumplen ambas condiciones son las iguales o superioes a la 2.0. Las podéis descargar de éste enlace, en sus versiones para Win32 y Linux.
https://www.pbxnsip.com/download/
Ojo, porque esta ip-pbx no es gratis. Podéis solicitar un código de demo totalmente funcional en este enlace:
https://www.pbxnsip.com/demo_license.php
La instalación es un msi que simplemente copia los ficheros necesarios al sistema y registra un servicio implementado en forma de ejecutable. La interfaz de administración está basada en una consola Web, aunque una vez pillado el tranquillo puedes tocar michas cosas directamente en los ficheros de configuracion basados en xml. El principal es pbx.xml por lo que inicialmente puede bastar con parar el servicio "pbxnsip pbx", modificarlo todo en dicho fichero y volver a arrancarlo.
3.- Administración y configuración de pbxnsip: En nuestro caso, lo primero que hacemos es cambiar el puerto por el que escucha su servicio web para que no colisione con el IIS que está moviendo el OWA. También cambiamos los puertos SIP.
Por último en este apartado, introducimos el código de la licencia para ser capaces de que los clientes (teléfonos) se registren.
El siguiente paso es configurar el dominio de la centralita. No hará falta crear ninguno nuevo, sino editar y configurar el que aparece por defecto. Lo más importante es poner en el External Voicemail System 9$u. Ahora veremos por qué cuando definamos los troncales y el Plan de Marcado.
Los troncales definen diferentes conexiones con otros sistemas de telefónía. En nuestro caso definiremos uno para conectar las llamadas de buzón a Exchange 2007, y otro que nos conecta con una centralita que a su vez esta conectada ya al sistema PSTN. Las reglas de cómo y cuando queremos usar estos troncales de definen en el Plan de Marcado (Dial Plan) y en él especificamos a dónde enrutaremos la llamada cuando el número marcado no coincida con ninguna de las extensiones definidas en el sistema.
Primeramente creamos el troncal para Exchange 2007, de tipo Outbound Proxy, usuario anónimo, y lo más importante: Para el proxy ponemos la IP del Exchange con el role de UM, ponemos el puerto 5065 y ponemos como transporte TCP.
Posteriormente creamos un troncal al sistema telefónico que nos conecta con el mundo exterior. Perdonad que oculte datos, pero es que se trata del sistema real de la gente de Snom. Como podéis observar es de tipo SIP registration, es decir que nuestra centralita se comporta de cara a ese sistema como una extension más, en este caso la 300. Si alguien conectado a ese otro sistema marca esa extension le decimos que la llamada se transfiera a la extensión 101 de nuestro sistema local.
Lo último que nos queda entonces es definir el plan de marcado, es decir, como se usarán estos troncales. En nuestro caso las reglas son las siguientes. Si el número empieza por 9, quitamos este primer dígito y enviamos la llamada por el troncal de Exchange 2007. Es decir, cuando llamemos a alguien y no esté, tras el tiempo especificado se agregará un 9 al numero marcado y la llamada se "divertirá" (perdón) al troncal de Exchange. Si por el contrario marcamos un numero que no empiece por 9 y que no este definido como extensión local (ahora vemos esta parte), la llamada se irá intacta por el troncal de Snom. Esta es la razón por la que poníamos 9$u, el 9 vale para enviarlo por el troncal de Exchange, y el $u para redirigir al usuario adecuado en funcion de la extension de la que provenga la llamada. En lugar del 9 puede usarse cualquier otro dígito o conjunto de dígitos (0, 8, 99), siempre y cuando el esquema sea consistente:
Y para terminar, no nos queda más remedio que duplicar las extensiones que hemos asignado a cada usuario en Exchange 2007:
Por supuesto, todo esto se puede complicar con diferentes planes de marcado, agentes automáticos, etc. Y una nota importante. Toda esta configuración está sin securizar ya que no estamos usando TLS por debajo. Cuando tenga un rato probaré a meter los certificados pertinentes a todos los componentes para que de esa manera nadie con un simple Cain o Wireshark (ex-Ethereal) pueda sacar las comunicaciones sin el menor esfuerzo (como hacía Chema en la gira "Secretos en Red").
4.- Configuración de los teléfonos IP: Los teléfonos físicos llevan incluido un pequeño servicio web para administrarlos, que está totalmente simulado en su versión softphone. Permiten varias identidades, pero lo importante para cada una de ellas es poner como "registar" la IP del equipo que corre pbxnsip y como "outbound proxy" la IP y el puerto donde escucha pbxnsip, en nuestro caso, recordemos, el 5560. Para cada identidad, ponemos el nombre y apellidos que queramos que salga en el display, y ponemos el número de extensión y la contraseña que hemos definido en la pbx.
Si alguien se atreve a probarlo, cosa muy recomendable, que nos deje por aqui los comentarios de que le ha parecido el sistema, más aun si consigue integrarlo con algún otro sistema de telefonía real.
Credits: Thanks to Oliver and Christian for their help and support to have this system working during the roadshow. Sorry for not writting this post in English, but I'd like to keep as much of this blog as possible in Cervante's language.
Saludos
Comments
Anonymous
January 01, 2003
¡Pero si no te ha dado ni tiempo a leerlo! Ya te digo. Pero es que andar como el baúl de la Piquer descentra una barbaridad. Me quemaba en los drafts (tengo uno sobre el eDNI pendiente desde hace 7 meses) SaludotesAnonymous
February 19, 2007
Muy bien David !! Ya hacia falta que publicaras este articulo !.Anonymous
February 19, 2007
Que me vas a contar.... Yo ya voy coleccionando "pegatinas" en el pasaporte. Un saludo.Anonymous
February 21, 2007
Pedazo explicación, la estábamos esperando!!. Muchas gracias.Anonymous
September 03, 2010
pero ya en estos días se pueden encontrar nuevas alternativas comunicativas vía telefónica, y es claro que hay oportunidades de gran montaje y proyección en estos sistemas de integración telefónica