Microsoft Lync Server
Header
Si estáis pensando en implementar los grupos de respuesta en vuestra organización, debéis​ en cuenta la distintas capacidades de carga de Lync Server en función de la versión que tengáis

Lync_IVR_Esquema.jpg

Aqui os dejo algunos artículos sobre los grupos de respuesta que había escrito hace un tiempo

Lync: Grupos de Respuesta (Parte I)

Lync: Grupos de Respuesta (Parte II)

Lync: Grupos de Respuesta (Parte III)

Lync: Grupos de Respuesta (Parte IV)

Antes de implementar cualquier flujo de trabajo debéis revisar la siguiente tabla:

Métrica Grupo de Servidores Enterprise Edition (con 8 servidores front-end) Por servidor Standard Edition
Llamadas entrantes por segundo
16
2
Llamadas simultáneas conectadas a la respuesta interactiva de voz (IVR) o música en espera
480
60
Sesiones anónimas simultáneas (sin mensajería instantánea)
224
28
Sesiones anónimas simultáneas (con mensajería instantánea)
64
8
Agentes activos (formal e informal).
1200
1200
Número de grupos de búsqueda
400
400
Número de grupos de IVR (uso del reconocimiento de voz)
200
200

 

Esta tabla se sustenta siempre y cuando se utilicen archivos wav mono de 16 bits a 16khz para los archivos de audio del grupo de respuesta. Si utilizamos otros formatos (wma, etc..) esta tabla variará, pero como referencia creo que nos viene muy bien.

Espero que os sea de utilidad!!

​Seguro que muchos de vosotros tenéis un EDGE de Lync 2013 en vuestra organización, o estáis planificando la implementación de uno. El EDGE ofrece diferentes servicios, pero para ello necesita tener disponibles diferentes puertos desde y hacia InternetPuertos_EDGE_Lync_2013.png

La única diferencia notable con respecto a Lync 2010 es la inclusión inclusión del puerto 5269/TCP para el protocolo extensible de mensajería y presencia (XMPP). Lync Server 2013 implementa de manera opcional un proxy XMPP en el Servidor perimetral o Grupo de servidores perimetrales y el servidor de la puerta de enlace XMPP en el Servidor front-end o Grupo de servidores Front-END

Aqui os dejo un resumen  de las comunicaciones que debemos permitir para las comunicaciones de XMPP (Federar Lync 2013 con Google Talk)

Protocolo/Puerto Origen Destino Descripición
5269/TCP
Cualquiera
Servidor perimetral de acceso
Comunicaciones entrantes desde servidores federados XMPP hacia el EDGE (Ejemplo: Google Talk)
5269/TCP
Servidor perimetral de acceso
Cualquiera
Comunicación saliente con servidores XMPP federados (Ejemplo: Google Talk)
XMPP/MTLS/23456
Cualquiera
Interfaz Interna
Tráfico de XMPP interno de la puerta de enlace de XMPP en el Servidor front-end o Grupo de servidores front-end al Servidor perimetral

 

También tenemos otra serie de puertos en las comunicaciones internas del EDGE

Protocolo/Puerto Origen Destino Descripción
XMPP/MTLS/23456
Cualquiera que ejecute el servicio de puerta de enlace de XMPP
Interface Interna
Tráfico de XMPP saliente del servicio de puerta de enlace de XMPP que se ejecuta en Servidor Standard Edition, Servidor Standard Edition o grupo de servidores
MTLS/TCP/50001 ​Cualquiera ​Interface Interna
Recopilación de registros y comandos del controlador del servicio de registro centralizado (ClsController.exe) o del agente (ClasAgent.exe)
​MTLS/TCP/50002 Cualquiera​ ​Interface Interna ​Recopilación de registros y comandos del controlador del servicio de registro centralizado (ClsController.exe) o del agente (ClasAgent.exe)
MTLS/TCP/50003​ ​Cualquiera ​Interface Interna ​Recopilación de registros y comandos del controlador del servicio de registro centralizado (ClsController.exe) o del agente (ClasAgent.exe)

 

Espero que os sea de utilidad!!!

​Una de la cosas que debemos  tener en cuenta son las renovaciones de los certificados de nuestros servidores de Lync, pero muchas veces nos enteramos de que tenemos que renovarlos el mismo día que el cliente nos alerta de que no se pueden conectar los usuarios. En ese momento nos conectamos a los servidores para tratar de analizar cual es el problema y … nos encontramos con el siguiente ID de Evento: 19022

 Certificados_Lync_Renovar_DigiCert_63.png
Este evento se genera en el propio servidor en donde tenemos instalado Lync Server, y nos alerta de que en X días los certificados expirarán. Esto representa un gran problema sino estamos alertados con anterioridad de esta circunstancia, puesto en caso de no renovarlos antes de su expiración, los servicios de nuestros servidores no se iniciarían. La renovación de los certificados suele ser más o menos rápida, depende del proveedor que tengáis. También es cierto que todos los proveedores de certificados nos avisan entre 30 y 60 días antes de que expira el certificado, pero siempre lo harán al contacto que hemos habilitado en el momento de la compra del mismo. Si es vuestro cliente quien recibe la alerta y no os avisa, pues seguro que es muy probable que os encontréis con la situación en la que los certificados hayan expirado.
 
Desde luego esto tiene fácil solución, el problema es que al no haberlo previsto ahora los usuarios no se podrán conectar y ahí tenemos el verdadero problema. Si bien es cierto que los servidores deberían estar monitorizados vía SCOM o herramientas similares, pero claro está que no todos los clientes tienen este tipo de soluciones de monitorización. Yo quiero mostraros una solución casera y sin coste que seguro que os vendrá bien. Como el servidor nos alerta cada vez que queden menos de 10 días para expirar los certificados, vamos a ver como podemos crear un sistema de alerta sencillo y que nos avise por e-mail de que los certificados de uno de los servidores está a punto de expirar.
 
Yo utilizaré varias herramientas, por un lado una herramienta gratuita para enviar e-mails desde la línea de comandos como es SendEmail, esto nos permitirá alertanos vía e-mail con la información del evento. Lo que haré será crear una tarea programa de Windows que se ejecute cuando se produzca el evento 19022, y con PowerShell crearé un fichero de texto con la información del evento 19022. Ahora os detallo paso a paso como he configurado esta alerta, lo primero que he hecho es descargarme el SendEmail y crear una carpeta en C: con el nombre Send_Mail y en donde voy a colocar el SendMail y los dos scripts que voy a crear.
 
Lo primero es crear una script de PowerShell que nos permita identificar el evento 19022 y extraer sus descripición a un fichero de texto para posteriormente enviarlo por correo. Tenemos un cmdlet para analizar vía CLI los eventos del sistema: Get-WinEvent.
 
Este script lo que hace es buscar todos los eventos con el ID 19022 (id=19022) dentro de los registros de Lync Server (logname="Lync Server") creados en el mismo dia (StartTime=(Get-Date).date}) y luego enviará el resultado obtenido a un fichero de texto con el nombre CerExp.txt (lo creará automáticamente al ejecutarse el script) (>C:\Send_Email\CerExp.txt). Este script de PowerShell lo he guardado en la misma carpeta que tengo el SendMail y con el nombre Event_19022.ps1
Certificados_Lync_Renovar_DigiCert_61.png
Si lo ejecutamos el resultado sería el siguiente (he modificado el script para que mostrase el resultado que quiero, porque es un evento anterior a este artículo)
Certificados_Lync_Renovar_DigiCert_62.png
Ahora debemos configurar un proceso bat o cmd para ejecutar el sendmail, y enviar el fichero CerExp.txt como adjunto. Si ejecutamos el SendMail podemos ver la sintaxis del comando
 
Synopsis:  sendEmail.exe -f ADDRESS [options]
  Required:
    -f ADDRESS                from (sender) email address
    * At least one recipient required via -t, -cc, or -bcc
    * Message body required via -m, STDIN, or -o message-file=FILE
  Common:
    -t ADDRESS [ADDR …]     to email address(es)
    -u SUBJECT                message subject
    -m MESSAGE                message body
    -s SERVER[:PORT]          smtp mail relay, default is localhost:25
  Optional:
    -a   FILE [FILE …]      file attachment(s)
    -cc  ADDRESS [ADDR …]   cc  email address(es)
    -bcc ADDRESS [ADDR …]   bcc email address(es)
    -xu  USERNAME             username for SMTP authentication
    -xp  PASSWORD             password for SMTP authentication
  Paranormal:
    -b BINDADDR[:PORT]        local host bind address
    -l LOGFILE                log to the specified file
    -v                        verbosity, use multiple times for greater effect
    -q                        be quiet (i.e. no STDOUT output)
    -o NAME=VALUE             advanced options, for details try: –help misc
        -o message-content-type=<auto|text|html>
        -o message-file=FILE         -o message-format=raw
        -o message-header=HEADER     -o message-charset=CHARSET
        -o reply-to=ADDRESS          -o timeout=SECONDS
        -o username=USERNAME         -o password=PASSWORD
        -o tls=<auto|yes|no>         -o fqdn=FQDN
 
  Help:
    –help                    the helpful overview you're reading now
    –help addressing         explain addressing and related options
    –help message            explain message body input and related options
    –help networking         explain -s, -b, etc
    –help output             explain logging and other output options
    –help misc               explain -o options, TLS, SMTP auth, and more
Yo lo único que he hecho es enviar el correo y especificar la dirección de origen, destino, servidor, asunto, cuerpo del mensaje y fichero adjunto:
 
Dirección de Origen: soporte@asirsl.com
Direeción de Destino: sbuitrago@asirsl.com
Asunto: Certificados a punto de expirar en el servidor EDGE de ASIR
Cuerpo: Los certificados configurados para el servicio de autenticacion de audio y video de LS están a punto de expirar, se adjunta un fichero la informacion del evento
Adjunto: CerExp.txt 
 
sendEmail.exe -f soporte@asirsl.com -s smtp.asirsl.com:25 -t sbuitrago@asirsl.com -u "Certificados a punto de expirar en el servidor EDGE de ASIR" -m "Los certificados configurados para el servicio de autenticacion de audio y video de LS estan a punto de expirar, se adjunta un fichero la informacion del evento" -a CerExp.txt
 
Ahora lo único que debemos hacer es abrir un fichero de texto y copiar el siguiente código:
 
PowerShell -command .\Event_19022.ps1
sendEmail.exe -f soporte@asirsl.com -s smtp.asirsl.com:25 -t sbuitrago@asirsl.com -u "Certificados a punto de expirar en el servidor EDGE de ASIR" -m "Los certificados configurados para el servicio de autenticacion de audio y video de LS están a punto de expirar, se adjunta un fichero la informacion del evento" -a CerExp.txt
 
Guardamos el fichero como .BAT o .CMD con el nombre Send_Email_Certificados (o el nombre que queráis no es relevante) dentro de la carpeta Send_Email. Como todos los ficheros están la misma ubicación (c:\Send_Mail\) en el script no le indico ninguna ruta para lanzar el sendEmail.exe o Event_19022.ps1, en caso contrario debéis modificarlo según vuestra ínstalación. Como podéis observar en la raíz de la carpeta Send_Mail  se encuentran todos los ficheros que necesitamos: sendEmail.exe, Event_19022.ps1 y Send_Mail_Certificados.bat
Certificados_Lync_Renovar_DigiCert_60.png
Lo normal es que antes de ponerlo en producción probemos que funciona correctamente, para ello ejecutamos el Send_Email_Certificados y debería realizar las siguientes tareas:
  1. Crear o actualizar el fichero CerExp.txt con la descripción del evento 19022
  2. Enviar un e-mail a la cuenta de destino sbuitrago@asirsl.com (el e-mail que le he indicado) con el fichero adjunto
 Esperamos unos segundos y si todo ha funcionado correctamente debemos tener en nuestra bandeja de entrada el correo con el adjunto deseado
Renovar_Certificado_Lync_DigiCert_22.png
Renovar_Certificado_Lync_DigiCert_23.png

Ahora por último debemos crear una tarea programada para que ejecute el script Send_Mail_Certificados.bat. Abrimos el Programador de Tareas y creamos una tarea nueva

 
Certificados_Lync_Renovar_DigiCert_40.png
Escribimos el nombre de la tarea que vamos a crear
Certificados_Lync_Renovar_DigiCert_41.png
 
nos vamos a la pestaña desencadenadores para especificar cuando queremos que se ejecute esta tarea
Certificados_Lync_Renovar_DigiCert_42.png
como os había comentado antes, nos interesa que se ejecute cuando se registre el evento 19022, para ello elegimos las siguientes opciones y pulsamos en aceptar
Certificados_Lync_Renovar_DigiCert_43.png
 
Certificados_Lync_Renovar_DigiCert_44.png
 
ahora vamos a la pestaña acciones para indicarle que debe ejecutarse el script Send_Mail_Certificados.bat, para ello pulsamos en Nueva
Certificados_Lync_Renovar_DigiCert_45.png
Buscamos el script dentro de  C:\Send_Mail y pulsamos en Aceptar
Certificados_Lync_Renovar_DigiCert_51.png
Certificados_Lync_Renovar_DigiCert_52.png
Configuramos que se ejecute la tarea tanto si está iniciada la sesión por parte del usuario que especifiquemos a continuación para que ejecute la tarea y pulsamos en Aceptar
Certificados_Lync_Renovar_DigiCert_47.png
 
Ahora nos solicita el usuario y contraseña con el cual queremos ejecutar dicha tarea, introducimos el usuario deseado y pulsamos en Aceptar
Certificados_Lync_Renovar_DigiCert_49.png
Ahora tenemos nuestro sistema de alertas, es bastante rudimentario pero sino contamos con presupuesto para adquirir ciertas herramientas profesionales seguro que será de gran ayuda. Ahora cada vez que el sistema registre el evento 19022 nos enviará un correo, y podremos enterarnos de que el certificado está a punto de caducar. Como os comentaba anteriormente de estas cosas ya se encarga el proveedor si es un certificado público, de lo contrario debéis tener anotado la fecha de expiración del certificado o bien utilizar algo similar a esto para que no se os olvide!!
 
Y ahora que tenemos la alerta creada, quedaría el segundo paso que sería renovar el certificado. En mi caso utilizo certificados de DigiCert, por lo que 60 días antes ya me están alertando de que tengo que renovarlo. Lo que tenemos que hacer es acceder a la Web de DigiCert y solicitar la renovación del certificado
Certificados_Lync_Renovar_DigiCert_1.png
 
Elegimos los años de validez del certificado, en mi caso en elegido 1 año. Por lo que al año siguiente debo realizar el mismo proceso que ahora os estoy describiendo. Además podemos especificar los nombres del certificado, en mi caso he cambiado uno nombre edgeocs.asirsl.com por edge.asirs.com (esto me obligará a crear de nuevo el CSR: Creación de CSR para Lync de forma sencilla)
Certificados_Lync_Renovar_DigiCert_2.png
 
Cubrimos los datos de contacto y le indicamos que los datos técnicos son los mismos que los datos de contacto, así evitamos tenemos que escribirlos de nuevo y pulsamos en Continue
Certificados_Lync_Renovar_DigiCert_3.png
 
Elegimos la forma de pago
Certificados_Lync_Renovar_DigiCert_4.png
 
ya tenemos nuestra orden de renovación en proceso, si tenemos que enviarleyo
Certificados_Lync_Renovar_DigiCert_5.png
Como os había comentado anteriormente he cambiado uno de los nombres del certificado, así que tengo que volver a crear el CSR (Creación de CSR para Lync de forma sencilla), y como tal DigiCert nos informa de ello (sino es imposible completar la solicitud de renovación)
Certificados_Lync_Renovar_DigiCert_80.png
Para hacerlo de forma rápida voy a utilizar la utilidad que DigiCert tiene a disposición de los clientes: Digicert Certificate Utility. Nos muestra los certificados del equipo y podemos pulsar directamente en Create CSR
Certificados_Lync_Renovar_DigiCert_6.png
 
Como tenía seleccionado uno de los certificados (además el que se corresponde con el certifidado que quiero renovar, pero podría ser cualquier otro) me indica si quiero importar los atributos de este certificado para la nueva solicitu y le indico que si.
Certificados_Lync_Renovar_DigiCert_7.png
 
De esta forma me cubrirá ya los datos en la nueva solicitud, y como os fijáis aun tengo el nombre edgeocs.asirsl.com
Certificados_Lync_Renovar_DigiCert_8.png
por lo que lo cambio por edge.asirsl.com y pulsamos en generate
Certificados_Lync_Renovar_DigiCert_9.png
ahora podemos pulsar en copiar o guardar el fichero, en función de si lo vamos a enviar ahora o más tarde debemos elegir una u otra opción
Certificados_Lync_Renovar_DigiCert_10.png
Yo lo voy a guardar para posteriormente continuar con la solicitud de renovación del certificado
Certificados_Lync_Renovar_DigiCert_12.png
 
Ahora abrimos de nuevo la solicitud del certificado en DigiCert y pulsamos en Submit CSR que es lo que tenemos pendiente por enviar al proveedor
Certificados_Lync_Renovar_DigiCert_13.png
 
seleccionamos el software de servidor en donde vamos a instalar el certificado y ahora pulsa mos en Upload a CSR (también podemos pegar el CSR si en la solicitud hubieramos pulsado en Copiar)
Certificados_Lync_Renovar_DigiCert_14.png
 
ahora pulsamos en Continue
Certificados_Lync_Renovar_DigiCert_15.png
y nos muestra el resumen de la solicitud, ahora toca esperar unos minutos hasta que se complete por parte de DigiCert.
Certificados_Lync_Renovar_DigiCert_16.png
Este proceso suele llevar entre 15 y 30 min, la verdad es que son muy rápidos y esto siempre es de agradecer. Si ahora nos vamos  la página principal de nuestro panel podemos comprobar el estado de la solicitud
Certificados_Lync_Renovar_DigiCert_17.png
Una vez que se haya completadola solicitud del certificado debemos descargárnoslo
Certificados_Lync_Renovar_DigiCert_18.png
 
pulsamos en Download
Certificados_Lync_Renovar_DigiCert_19.png

Elegimos el tipo de certificado a descargar

Certificados_Lync_Renovar_DigiCert_20.png
ahora nos queda importalo, para ello volvemos a iniciar la utilidad de DigiCert y pulsamos en Import y seleccionamos el certicado que nos hemos descargado
Certificados_Lync_Renovar_DigiCert_22.png

Escribimos un nombre descriptivo para posteriormente reconocerlo a la hora de importarlo y pulsamos en Finalizar

Certificados_Lync_Renovar_DigiCert_23.png
Ahora ya tenemos nuestro certifidado renovado e importado en nuestro servidor de Lync (en mi caso en el EDGE)
Certificados_Lync_Renovar_DigiCert_24.png
Certificados_Lync_Renovar_DigiCert_25.png
Por último para completar todo el proceso únicamente nos queda asignarlo al EDGE, para ello ejecutamos el asistente de implementación de Lync y pulsamos en Instalar o actualizar el sistema Lync Server
 
Certificados_Lync_Renovar_DigiCert_26.png
 
Solicitar, instalar  o asignar certificados
Certificados_Lync_Renovar_DigiCert_27.png
Seleccionamos los certificados de servidor perimetral y pulsamos en Asignar
Certificados_Lync_Renovar_DigiCert_28.png
 
No muestra la siguiente advertencia y pulsamos en
Certificados_Lync_Renovar_DigiCert_29.png
pulsamos en siguiente
Certificados_Lync_Renovar_DigiCert_30.png
 
seleccionamos el certificado a importar y pulsamos en siguiente (yo me he colado y no he puesto el nombre descriptivo, pero por la fecha lo reconozco)

Certificados_Lync_Renovar_DigiCert_31.png
pulsamos en Siguiente
Certificados_Lync_Renovar_DigiCert_32.png
Una vez que haya finalizado la asignación del certificado nos volverá a la pantalla de Asistente para certifiados y podemos ver que ya lo tenemos asignado
Certificados_Lync_Renovar_DigiCert_34.png
 
Por último y muy importante sobre todo tratándose de un servidor perimetral debemos reiniciar los servicios de Lync para que actualice la asignación del nuevo certifidado sobre los distintos servicios del EDGE. Para automatizar este proceso podemos ejecutar los siguientes cmdlets: Start-CsWindowsService y Stop-CsWindowsService
Certificados_Lync_Renovar_DigiCert_35.png
 
Por último vamos a revisar el visor de eventos y verificar que todo ha iniciado sin problemas
Certificados_Lync_Renovar_DigiCert_36.png
Para verificar que todo funciona correctamente podéis iniciar sesión en Lync desde fuera de la organización y ver si os inicia sin problemas, y si tenéis alguna federación con otras compañías o sistemas de IM públicos verificad que todo está correcto.
 
Aqui os dejo como adjunto mi humilde script y demás ficheros por si los necesitáis Send_Email_Scripts.zipSend_Email_Scripts.zip
 
En mi caso el cambio de uno de los nombres del certificado no implica cambio alguno en la topología, puesto que lo utilizo para otros servicios fuera del AV, Webconf y Acceso. En el caso de que hubiese sido alguno de estos tres servicios si tendría que modificar la topología y volver a publicarla para que se replicase al EDGE.
 
Espero que os sea de utilidad!!!

Dentro del conjunto de pruebas que estoy realizando para ver distintas opciones y compatibilidades, hoy he probado el siguiente escenario:

  • Cliente Móvil 2013 en un iPad 2​
  • Cliente Móvil 2013 en un Nokia 820 con Windows Phone 8
  • Cliente Lync 2013 de Escritorio

Los usuarios pertenecen a organizaciones diferentes y con versiones de Lync Server diferentes. Los dominios de ambas organizaciones están federados (Federación y Acceso de Usuarios Externos), por lo que la comunicación entre los distintos usuarios está habilitada. Lo que se quiere probar es que un usuario de Lync Server 2010 puede contarse sin problemas con usuarios que está en un Lync Server 2013, para ello contamos con tres usuarios que dos pertencen a la misma organización  y están en el Lync Server 2013 y el tercer usuario lógicamente está en un Lync Server 2010. 

Lo que probado primero es a establecer una videoconferencia uno a uno entre un usuario de Lync Server 2010 y otro de 2013 pero cada uno en clientes diferentes (los clientes 2010 no soportan audio ni video por IP en el cliente móvil) compatibles con AV, por lo que sería así:

  • Cliente Móvil 2013 en un Nokia 820 con Windows Phone 8 (usuario de Lync Server 2013)
  • Cliente Lync 2013 de Escritorio (usuario de Lync Server 2010)

Y este es el resultado es este, el de la imagen más grande es la que se proyecta desde la webcam del cliente Lync de Escritorio y la pequeña es la del móvil

Lync_Federate_User_AV_Mobile.png

Ahora lo que he probado es a crear una conferencia de tres usuarios y conectarnos

  • Cliente Móvil 2013 en un iPad 2​ (usuario de Lync Server 2013)
  • Cliente Móvil 2013 en un Nokia 820 con Windows Phone 8 (usuario de Lync Server 2013)
  • Cliente Lync 2013 de Escritorio (usuario de Lync Server 2010)

La imagen que os muestro es una captura de pantalla desde el Nokia 820 y la cámara empleada es la posterior para poder mostrar el resto de participantes (Portátil con el cliente Lync 2013 de escritorio y el iPad2)

wp_ss_20130314_0004_1.png

Como véis está funcionado muy bien, con la llega del CU1 para Lync 2013 y el cliente para móvil nos ofrece múltiples posibilidades (Lync Mobile 2013: Utilidad Práctica).

Espero que os haya gustado!!!