Microsoft Lync Server
Header

Cuando iniciamos sesión en nuestro cliente de Lync, unas de las tareas que realiza es la descarga de la libreta de direcciones. En función del tamaño de nuestra organización, tendremos un tiempo de espera u otro el tener la lista actualizada, es bastante común tratar de realizar una búsqueda de algún contacto de nuestra organización y encontrarnos con el siguiente aviso:

Sincronizar_Libreta_Direcciones_1.jpg

Esto ocurre porque la sincronización de la libreta de direcciones comienza de forma aleatoría, pero podemos forzar que se intente en el mismo instante que hemos iniciado sesión. Vamos a ver que tenemos que añadir a nuestro registro para cambiar este comportamiento. Para poder realizar este cambio os recuerdo que debéis ejecutarlo desde una línea de comandos con derechos adminsitrativos.

Lync 2010

reg add HKCU\Software\Policies\Microsoft\Communicator /v GalDownloadInitialDelay /t REG_DWORD /d 0 /f

Sincronizar_Libreta_Direcciones_4.jpg

Lync 2013

reg add HKLM\Software\Policies\Microsoft\Office\15.0\Lync /v GalDownloadInitialDelay /t REG_DWORD /d 0 /f
Sincronizar_Libreta_Direcciones_3.jpg

Ahora podemos volver a iniciar sesión en nuestro Lync y veremos que de forma casi inmediata ya podemos buscar los contactos de nuestra organización (siempre teniendo en cuenta el tamaño de cada organización mostrará antes o después los resultados)

Sincronizar_Libreta_Direcciones_2.jpg
 
 
Los ficheros que se descarga el cliente Lync son los siguientes: GalContacts.db y GalContacts.db.idx  y están en la siguients ubicaciones:
 
Lync 2010
Sincronizar_Libreta_Direcciones_6.jpg
 
Lync 2013
Sincronizar_Libreta_Direcciones_5.jpg

Espero que os sea de utilidad!!!

Actualización sobre esta funcionalidad para Lync 2012, funciona correctamente sin hacer nada más copiar el fichero de presencia al mismo directorio que en Lync 2010!!!

Voy a explicaros como podéis ampliar el listado de estados que trae por defecto el cliente Lync. Para ello tenemos que crear un fichero XML y publicarlo en una ruta de red compartida, local, en un servidor web via HTTP o HTTPS. Además vamos a ver los requisitos que debe cumplir:

  • El texto puede contener como máximo 64 caracteres
  • El cmdlet CustomStateURL nos permitirá distintas opciones de configuración: Ruta de Red o Local, HTTP y HTTPS
  • Los estados pueden ser configurados únicamente como: Ocupado, No Molestar o Disponible
  • Se pueden crear como máximo 4 Estados Nuevos

Nosotros aqui vamos a ver la forma de publicar el fichero XML  vía HTTPS, y lo haremos en el IIS de nuestro Front-END o Director donde ya tenemos los Servicios Web de nuestro Lync Server. Los primero que debemos hacer es crear el fichero XML, y guardarlo con el nombre que queramos, en nuestro caso le he llamado presencial.xml  

<?xml version="1.0"?>
<customStates xmlns="http://schemas.microsoft.com/09/2009/communicator/customStates">
  <customState ID="1" availability="online">
    <activity LCID="3082">Documentando</activity>
  </customState>
  <customState ID="2" availability="busy">
    <activity LCID="3082">En una Webcast</activity>
  </customState>
  <customState ID="3" availability="busy">
    <activity LCID="3082">Formacion Online</activity>
  </customState>
  <customState ID="4" availability="do-not-disturb">
    <activity LCID="3082">Reunion de Equipo</activity>
  </customState>
</customStates>

Vamos describir las distintas partes del XML:

customState ID: Indicamos la posición del Estado en nuestro Listado

activity LCID: le indicamos el código del idioma del cliente Lync para el cual va a estar disponible (ID de Localización de Microsoft)

availability: Estado de nuestra Presencia

Tenemos que modificar el texto que queremos que se muestre cuando despleguemos el listado de estados, <activity LCID="3082">Documentando</activity> y con esto tendríamos configurado nuestro XML. Si queremos en el mismo XML podemos configurar varios idiomas:

  <?xml version="1.0"?>
<customStates xmlns="http://schemas.microsoft.com/09/2009/communicator/customStates">
  <customState ID="1" availability="online">
    <activity LCID="1033">Working from Home</activity>
    <activity LCID="3082">Trabajando desde Casa</activity>
  </customState>
  <customState ID="2" availability="busy">
    <activity LCID="1033">In a Live Meeting</activity>
    <activity LCID="3082">En una Reunión Online </activity>
  </customState>
  <customState ID="3" availability="busy">
    <activity LCID="1033">Meeting with Customer</activity>
    <activity LCID="3082">En una reunion con un cliente</activity>
  </customState>
  <customState ID="4" availability="do-not-disturb">
    <activity LCID="1033">Auditing</activity>

    <activity LCID="3082">Auditando</activity>
      </customState>
</customStates>
Una vez que hemos modificado correctamente nuestro XML, debemos copiarlo en la ruta adecuada para tener acceso desde nuestros Clientes Lync. Como lo que queremos es tener acceso vía HTTPS, lo vamos a copiar dentro de la carpeta Internal Website y External Website de nuestro Front-END o Director:
 
External Website (Lync 2010)
Lync_Estados_1.png
Internal Website (Lync 2010)
Lync_Estados_3.png
 
External Website (Lync 2013)
Lync_2013_Presencia_1.jpg

Internal Website (Lync 2013)

Lync_2013_Presencia_2.jpg
 
De esta forma podremos tener acceso desde cualquier ubicación, dentro o fuera de la red coporativa. Para comprobar que el fichero es accesible, escribimos el nombre FQDN de nuestra URL que alberga los Webservices de Lync y debemos ver algo parecido a esto:
 
Lync 2010
Lync_Estados_4.png
 
Lync 2013
Lync_2013_Presencia_4.JPG

Como podemos observar, estamos visualizando en el navegador el contenido de nuestro XML, por lo que inicialmente estaría correcto. Ahora debemos modificar nuestra política de usuario para que nuestros clientes Lync puedan consultar esta URL con los nuevos estados. Para ello abrimos una consola de Powershell de Lync y escribimos el siguiente cmdlet:

 
Ejemplo: Set-CsClientPolicy -Identity Nombre_Politica -CustomStateUrl "https://fqdn/presencia.xml
Nuestro CMDLET: Set-CsClientPolicy -Identity ASIR -CustomStateUrl "https://lync.asirsl.com/presencia.xml
 
Ahora podemos ejecutar este cmdlet y ver que se ha aplicado correctamente:
 
Lync 2010
 
Get-CsClientPolicy -Identity Global | Select-Object Custom* | fl
 
Lync_Estados_5.png
 
Lync 2013
 
Get-CsClientPolicy -Identity Global | Select-Object Custom* | fl
Lync_2013_Presencia_5.jpg
Como vemos se ha aplicado correctamente la configuración deseada, ahora únicamente debemos iniciar sesión de nuevo en nuestro cliente Lync y  tendremos nuestros estados disponibles:
 
Lync 2010
Lync_Estados_0.png
 
Lync 2013
 
Lync_2013_Presencia_3.jpg

Sin que decir tiene que debemos tener publicada la URL en donde tengamos el XML, tanto desde dentro como desde fuera de nuestra red. Si tenemos una instalación típica de Lync, ya debemos tener publicados los Servicios Web correspondientes con el FQDN adecuado, por lo que esto lo doy por hecho.

 
Como os había comentado este ejemplo habla únicamente de la publicación del XML vía HTTPS, pero también podéis hacerlo vía HTTP o directamente con acceso a carpetas locales o compartidas. Aqui os dejo varios ejemplos sacados de la Web de Microsoft:
 

Desde luego esto es lo más cómodo y transparente para el usuario, además nos permite cambiarlo en cualquier momento sin tener que realizar distintas configuraciones. Comentaros también que podemos crear tantos ficheros XML  como queramos,  tenerlos publicados y aplicados siempre a distintas políticas de usuarios. Se puede dar el caso de que queráis distintas opciones de presencia según el usuario o usuarios que se conecten. Para ello previsamente debemos crear la política correspondiente (New-CsClientPolicy), luego asignar el fichero XML a esta nueva politica (Set-CsClientPolicy -Identity Nombre_Politica -CustomStateUrl "https://fqdn/presencia2xml”) y posteriormente establecer la política a los usuarios que se desee (Grant-CSClientPolicy)
 
Como veis poco hay que hacer, dejar todo el mismo sitio y cambiar la URL del fichero de presencia si hemos cambiado algo en nuestra topología, en mi caso he configurado la versión Enterprise con un Pool de dos servidores y he modificado la dirección de los servicios Web, eso si, he copiado el fichero en ambos (no os olvidéis)
 
Espero que os sea de utilidad!!!

​Excelente noticia publicada por MSFT, el presidente Obama (USA) utilizó Lync para mantener a todo su personal comunicado en una de sus campañas en Chicago y otros estados.

Noticia

REDMOND, Wash. — April 3, 2013 — The Obama for America campaign selected Microsoft Lync as the communications platform for hundreds of campaign staff in its Chicago headquarters and in some states for the 2012 elections. The campaign needed to upgrade from a private branch exchange (PBX) system to a more flexible cloud-based solution that could scale and adapt to support thousands of mission-critical calls in multiple locations at any given time.
“When the campaign began in 2011, we couldn’t predict how big it would get or when, so scalability and deployment efficiency were two of the most important features for us,” said Rajeev Chopra, president of the MIS Department Inc. in Chicago and chief information officer at Obama for America. “Controlling our systems with Lync also provided much more flexibility.”
As part of the deployment, the campaign’s primary phone number and headquarters voter hotline were managed through Lync in order to handle calls that numbered in the hundreds of thousands per day. Over 2,000 people were connected via Lync; this number increased at key points in the campaign, such as during the debates and the Democratic National Convention, and Lync was able to quickly and easily scale to meet demand.
The ability to work from anywhere also created benefits that expanded beyond the campaign staff and volunteers. Because they were able to be fully mobile on Lync and move from the office to the field without needing to transfer their phone number every time, the IT staff was able to free up time and support other mission-critical activities to keep the campaign running smoothly.
“It was really useful to see how Lync could adapt to the way our multilocation operation works,” Chopra said. “We didn’t start with Lync in every office, but we deployed it in our Chicago headquarters, and those employees were able to seamlessly transition to the field while retaining their infrastructure. This ensured their focus remained on reaching out directly to voters and not on technology limitations."
“On election day, volunteers wanted to keep answering phones, even when their relief had arrived. Instead of turning people away from headquarters, we were able to plug them in, light up a port and place them anywhere there was an empty desk,” Chopra said. “Our voter protection hotline was able to be increased at any time.”
More information about how organizations are turning to Microsoft technology is available on the Microsoft Customer Spotlight newsroom.
Founded in 1975, Microsoft (Nasdaq “MSFT”) is the worldwide leader in software, services and solutions that help people and businesses realize their full potential.
 
Note to editors: For more information, news and perspectives from Microsoft, please visit the Microsoft News Center at http://www.microsoft.com/news. Web links, telephone numbers and titles were correct at time of publication, but may have changed. For additional assistance, journalists and analysts may contact Microsoft’s Rapid Response Team or other appropriate contacts listed at http://www.microsoft.com/news/contactpr.mspx.
 

​Vamos a ver como podemos habilitar la opción Offline en Lync 2010 y 2013, en ambos casos podemos hacerlo vía PowerShell o modificando el registro del equipo.

Lync 2010 PowerShell

Get-CSClientPolicy | Set-CSClientPolicy -EnableAppearOffline $true

Lync 2010 Registro

Reg Add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Communicator" /V "EnableAppearOffline" /D 1 /T REG_DWORD /F

Aparecer_Offline_Lync2013_4.jpg

Lync 2013 PowerShell

Get-CSClientPolicy | Set-CSClientPolicy -EnableAppearOffline $true
 
Lync 2013 Registro

También comentaros que en Lync 2013 tiene un pequeño bug y es que cuando iniciamos sesión no podemos establecer nuestro estado a Offline porque no está disponible!!!

Aparecer_Offline_Lync2013_3.jpg

Por lo que para establecer nuestro estado a Offline debemos hacerlo desde la barra de tareas
Aparecer_Offline_Lync2013_2.jpg

o también podemos hacelro desde el systray

Aparecer_Offline_Lync2013_8.jpg
En Lync 2010 podemos establecer nuestro estado a Offline directamente desde el inicio de sesión

Aparecer_Offline_Lync2013_5.jpg

Una vez que hemos establecido nuestro estado a Offline vamos a ver como vemos nosotros al resto de usuarios y el resto de usuarios a nosotros:

Nosotros  a ellos: claramente los vemos conectados si han iniciado sesión y como véis nosotros tenemos el estado "sin conexión"

Aparecer_Offline_Lync2013_6.jpg

Ellos a nosotros: nos ven desconectados

Aparecer_Offline_Lync2013_7.jpg

Espero que os sea de utilidad!!!

Seguro que muchos de vosotros habréis utilizado BITS (Background Intelligent Transfer Service) en muchas circunstancias, pero habéis pensado que también puede ser útil para Lync? Pues si, ahora podemos configurar que la descarga de la Libreta de Direcciones se haga utilizando BITS (Background Intelligent Transfer Service ), para ello únicamente tengmos que crear una clave de registros y tener BITS habilitado. Únicamente os voy a comentar que clave del registro debéis crear y en donde. Esto lo podéis hacer mediante una GPO como he explicado en otros artículos, así que os dejo el enlace de uno de ellos para que os refresque la memoria si os habéis olvidado: Deshabilitar IM en Lync 2013 (Parte I).

Lo que tenemos que hacer es crear la siguiente clave de registro

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Office\15.0\Lync]
"EnableBitsForGalDownload"=dword:00000001
 
Lync_GAL_Bits_1.jpg
 
Antes de poder utilizarlo debemos estar seguros de que el Servicio de transferencia inteligente en segundo plano (BITS) está iniciado y en automático
 
Lync_GAL_Bits_2.jpg
Una vez que hemos revisado todo e iniciemos sesión en Lync  ya nos descargaríamos la Libreta de Direcciones de forma más "eficiente", aprovechando el ancho de banda inactivo de la red.
 
Espero que os sea de utilidad!!