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)
Internal Website (Lync 2010)
External Website (Lync 2013)
Internal Website (Lync 2013)
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 2013
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”
Ahora podemos ejecutar este cmdlet y ver que se ha aplicado correctamente:
Lync 2010
Get-CsClientPolicy -Identity Global | Select-Object Custom* | fl
Lync 2013
Get-CsClientPolicy -Identity Global | Select-Object Custom* | fl
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
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!!!