Microsoft Lync Server
Header

Cómo crear nuevos estados de presencia en Lync 2010, Lync 2013 y Skype For Business (Actualizado 13-10-2015)

noviembre 12th, 2015 | Posted by Santiago Buitrago in Lync Server

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
External WebSite (Skype For Business)
Estados Skype For Business_1.png
Internal WebSite (Skype For Business
Estados Skype For Business_1.png
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
 
Skype For Business
Estados Skype For Business_3.png

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_pool/presencia.xml
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
 
Skype For Business Server 2015  
 
Get-CsClientPolicy -Identity Global | Select-Object Custom* | fl
Estados Skype For Business_4.png
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
 
Actualización 13-10-2015:  Skype for Business Server 2015 y Office 2016
Estados Skype For Business.png

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 previamente debemos crear la política correspondiente (New-CsClientPolicy), luego asignar el fichero XML a esta nueva política (Set-CsClientPolicy -Identity Nombre_Politica -CustomStateUrl "https://fqdn_pool/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!!!

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *