Microsoft Lync Server
Header

Algo debemos tener siempre presente en cualquier infraestructura a implementar, es que debe​ estar siempre actualizada. No solo a nivel de sistema operativo, sino también de toda las herramientas que hayamos implementado, además de los servicios adyacentes a la solución. Por ejemplo, cuando implementamos Lync tenemos varios componentes que debemos mantener actualizados:

  • Sistema Operativo
  • Lync Server
  • SQL Server Express
    • Lync Server Enterprise: RTCLOCAL, LYNCLOCAL
    • Lync Serve Standard: RTCLOCAL, LYNCLOCAL, RTC

Update_SQL_2012_SP1_Lync 2013_1.png

Lo que siempre tenemos actualizado es el Sistema Operativo y el Lync Server, pero algo muy importante también es que tengamos actualizado el SQL Server Express instalado en todos los servidores de Lync …. Estas actualizaciones nos llegan por el servicio de actualizaciones local o bien mediante WSUS si lo tenemos desplegado, pero yo recomienmdo que antes de actualizar la versión de SQL Server tengamos un backup actualizado y a mano (Lync Server 2013: Backup con PowerShell) y luego nos "lanzamos" a actualizarlo. También os comento que es un paso más que trivial, pero si he visto que algunos clientes aún tienen esa actualización pendiente e imagino que será por "miedo" al que podrá pasar. La instalación como digo es trival y vosotros no tenéis nada que hacer, simplemente pulsar en Instalar en la ventana de actualizaciones y se instalará de forma automática sin vuestra intervención. Pero antes, me gustaría dejaros aquí un script de Pat Richard (MVP de Lync) que nos permite saber que versión de SQL Server tenemos instalada en nuestro servidor de Lync: getInfo-SqlServer.rargetInfo-SqlServer.rar (http://www.ehloworld.com/1697)
Update_SQL_2012_SP1_Lync 2013_4.png
 
Ahora iniciamos el proceso de instalación de la actualización y esperamos a que finalice y se reinicie el servidor
Update_SQL_2012_SP1_Lync 2013_3.png
Una vez que hemos reiniciado el servidor, volvemos a lanzar el script y podemos ver que ya se ha actualizado al SP1 del SQL Server Express 2012 del servidor
Update_SQL_2012_SP1_Lync 2013_5.png
 
Lo único que debéis tener en cuenta son dos cosas:
  • Backup actualizado: simplemente por si pasa algo muy muy raro o lo hacéis sobre una versión de Lync Standard
  • Reincio del servidor (recomendado): tendréis una ventana de corte basado en el tiempo de reinicio del servidor e inicio de los servicios de los servidores
Me repito, la actualización del SQL Server Express 2012 local es trivial, no tendréis problemas, pero nunca está de más tener el backup a mano por si pasase cualquier cosa muy muy muy rara. Pero vamos, la idea es que tengáis claro que no solo hay que actualizar el Sistema Operativo y Lync Server, sino también el resto de soluciones instaladas en el servidor/es.
Espero que os sea de utilidad!!!

Es posible que en algún momento os encontréis con que el proceso LysSvc.exe os esté consumiendo un alto % de CPU, lo que hará que el servidor se encuentre con un rendimiento muy degradado. Esto hará que el sistema se vuelva inestable y los servicios que se ejecutan sobre el servidor dejen de responder en tiempo, teniendo problemas incluso para enviar un IM a otro usuario ….

LYSS_High_CPU_Usage_1.png

El proceso LysSvc.exe se utiliza para la integración del archivado y el UCS (Unified Contact Store),  por diseño utiliza los EWS de Exchange y SQL para el almacenamiento. El problema viene dado cuando se reinicia un Front-END de forma no controlada o se han eliminado un Front-END  y se han quedado datos huérfanos. Esto puede probar que el proceso LysSvc.exe no sepa que hacer con ellos, y entra en un bucle que degradará el rendimiento de nuestro servidor. Para comprobar que eso es así, debemos analizar algunos datos desde el monitor de sistemas revisando los contadores:Current number of Storage Service stale queue items desde la opción LS:LYSS – Storage Service API. Abrimos el Monitor de Rendimiento de nuestro servidor y pulsamos en Agregar (Control + N)

 LYSS_High_CPU_Usage_4.png

Buscamos el contador LS:LYSS – Storage Service API

LYSS_High_CPU_Usage_5.png
y seleccionamos el contador LYSS – Current number of Storage Service stale queue items

LYSS_High_CPU_Usage_6.png

Ahora seleccionamos el tipo de gráfico, porque lo que queremos ver es un informe

LYSS_High_CPU_Usage_7.png

LYSS_High_CPU_Usage_8.png
Si nos encontramos valores superiores a 50.000  (este no es mi caso como se ve en el ejemplo) debemos ejecutar el siguiente comando CleanuUpStorageServiceData.exe que viene con las Resource Kit de Lync 2013 (http://technet.microsoft.com/en-us/library/jj945604.aspx) para que elimine todos los datos húerfanos del grupo de servidores y el proceso LysSvc.exe recupere la normalidad. Para ello nos vamos a la siguiente ruta: "C:\Program Files\Microsoft Lync Server 2013\ResKit\StorageService" y ejecutamos la aplicación CleanupStorageServiceData.exe desde una línea de comandos:

LYSS_High_CPU_Usage_9.png

Cuando finalice la ejecución de este proceso, el sistema volvería a la normalidad en cuestión de minutos. Pero que ocurre cuando el problema no viene dado por los valores recomenados no se superan, porque el proceso LysSvc.exe no depende de ningún servicios, simplemente se ejecuta y poco más. La única forma que yo he encontrado para detenerlo es Finalizando el proceso desde el administrador de tareas:

LYSS_High_CPU_Usage_2.png

Con esto el proceso se "recicla" y se vuelve a ejecutar con normalidad y de forma instantánea, solo tenemos que dejar abierto el Administrador de tareas y lo podemos ver en ejecución pero con un uso de CPU del 0% (entre 0% y 5% serían los valores normales)

LYSS_High_CPU_Usage_3.png
El proceso vuelve a funcionar con normalidad y el servidor recupera la estabilidad en cuestión de segundos, la solución no es muy ortodoxa pero al no depender de más servicios y dada su naturaleza no presenta problema alguno para los servicios del pararlo de tal forma. Una vez que el proceso vuelve a la ejecución (casi de forma instantánea) sus procesos vuelven a ejecutarse con total normalidad.

Espero que os sea de utilidad!!!

Como sabéis para publicar los servicios web de Lync necesitamos hacerl mediante un reverse-proxy (Lync Server: Reverse-Proxy requisito indispensable), y como la TMG 2010 Microsoft ha decidido ya hace algún tiempo no darle continuidad nos hemos tenido que ir buscando soluciones alternativas. Una de las que nos ofrece MSFT y de forma gratuita es IIS ARR, lo que nos permite de forma sencilla publicar nuestros servicios (Cómo podemos publicar nuestros servicios de Lync (Exchange, WAC, …) vía reverse-proxy (IIS ARR)), pero es posible que nos encontremos que hay usuarios con dispostivos móviles Android / iPhone que presenten problemas y cortes en sus sesiones con el siguiente mensaje: La información del servidor ha cambiado. Reinicia Lync

Your_server_configuration_has_changed_1.jpg

 Por defecto cuando publicamos los servicios para Lync via IIS ARR cambiamos el valor Proxy Timeout a 200 segundos (valor recomendado por MSFT: http://technet.microsoft.com/es-ES/library/gg429712.aspx)

Your_server_configuration_has_changed_3.jpg

Con dispositivos con iOS o Android debemos aumentar este tiempo por encima de los 900 segundos, por ejemplo 960 segundos

Your_server_configuration_has_changed_4.jpg

Por que comento que por encima de los 900 segundos, porque si abrimos el Web.config del UCWA Ext/Int (C:\Program Files\Microsoft Lync Server 2013\Web Components\Ucwa\Ext) veremos los siguientes valores por defecto:

Your_server_configuration_has_changed_6.jpg
En este caso lo normal es que no sea el Proxy quien se encargue de cerrar la conexión, de tal que forma que si el sistema lo hará por defecto en 900 segundos nosotros le demos un valor por encima del mismo. El establecerlo a 960 es porque he visto ingenieros que lo han establecido a ese valor, pero la verdad tampoco han espeficado el porqué.  Yo creo que con subirlo por encima de los 900 segundos si el problema es la desconexión por inactividad, debería quedar resuelto.

El causante de las desconexiones debería ser en este caso el IIS ARR con los valores recomendados por Microsoft, porque por ejemplo mirar lo que comentan en un KB sobre los dispositivos con Android:

On the Android device platform, the Lync application can run in the background. Therefore, unlike other mobile device platforms, push notifications are not required for Android devices. The only way to exit the Lync application on an Android device is to explicitly sign out of Lync. This version of the Lync application is not supported on devices with Tegra 2 chipsets.
 
Para dispositivos Windows Phone o IOS, mirad los tiempos de desconexión:
 
On Windows Phone, Lync signs out automatically if the user has not used the application for a period of time, as follows:
  • If the user has enabled push notifications, Lync signs out after 10 days of inactivity.
  • If the user has not enabled push notifications, Lync signs out after 1 hour.

On iPhone and iPad, Lync signs out automatically if the user has not used the application for a period of time, as follows:

  • If the mobile client has not contacted the server for 10 days due to loss of network connectivity or other issues.

Como vemos cada cliente Lync tiene su particularidad en cuanto a las desconexiones, por lo que si el problema es que se desconecta antes de completarse ese tiempo establecido, el problema está en el IIS ARR o Proxy que hayamos configurado.

Espero que os sea de utilidad!!

 

Para los usuarios de Android ya tenéis disponible la versión de Lync para tablets y nuevas mejoras muy interesantes, aquí tenéis el enlace de descarga
Lync_2013_Android_Mayo_2014_1.PNG
Aquí tenéis un enlace de Microsoft sobre los requisitos para la instalación de esta versión: http://technet.microsoft.com/en-us/library/hh690980.aspx
  • The Android device must be running Android 4.0 or a later phone- or tablet-oriented operating system, including tablets, except those with the Tegra2 chip.
  • The device must have a 1.2 GHz dual core or higher CPU.
  • The device camera (front/rear) resolution should be VGA or higher.
  • Other hardware requirements should be aligned with Android 4.0 Compatibility Definition Document.

 

Microsoft ha liberado  una nueva actualización para Lync 2013 vía Windows Update o descarga directa​ (http://support.microsoft.com/kb/2880980), con esta actualización pasaremos de la versión 15.0.4605.1000  a la versión 15.0.4615.1000

Lync_update_2014_mayo.png
Enlaces de descarga directa:
32-bit Collapse this imageExpand this image
(http://www.microsoft.com/downloads/details.aspx?FamilyId=6b2c1a27-6663-4f73-b1c0-440dd841bbd8)

64-bit Collapse this imageExpand this image

(http://www.microsoft.com/downloads/details.aspx?FamilyId=a536ea4c-f63d-4864-839b-f07e5854b210)
Corrige los siguientes problemas:
2961173 (http://support.microsoft.com/kb/2961173/ ) Incorrect emoticons in a conversation after you install Office 2013 SP1 or a later version of Lync 2013
2961174 (http://support.microsoft.com/kb/2961174/ ) Update reports NMOS in QoE for calls between Lync 2013 and a Lync mobile client
2961175 (http://support.microsoft.com/kb/2961175/ ) Cannot hear the voice in an audio/video call in Lync 2013
Additionally, this update resolves the Lync 2013 issues that are described in the following KB articles:

 

  • 2880474

    Description of the Lync 2013 update: April 2014

  • 2863908

    Description of the Lync 2013 update 2863908: March, 2014

  • 2817430

    Description of Microsoft Office 2013 Service Pack 1 (SP1)

  • 2825630

    Description of the Lync 2013 update 15.0.4551.1005: November 7, 2013

  • 2817465

    MS13-054: Description of the security update for Lync 2013: July 9, 2013

  • 2768004

    Description of the Lync 2013 update 15.0.4481.1004: May 2013

  • 2760556

    Description of the Lync 2013 update 15.0.4481.1000: March 2013

  • 2760512

    Description of the Lync 2013 update: February 2013

Espero que os sea de utilidad!!!