Unified Communication

InstallDatabase Skype Monitoring “failed with the operating system error 5(Access is denied.)”

Posted on Actualizado enn

Skype for Business Monitoring  Server “failed with the operating system error 5(Access is denied.)”

Normalmente en la instalaciones de Lync o Skype for Business es el propio cliente el que suele aprovisionarnos de una instancia SQL a la que haremos referencia para instalar nuestras BBDD de Back End o  en este caso una instancia para instalar las BBDD de Monitoring Server donde nuestro Front End registra los datos necesarios para luego a través de Reporting Service poder consultarlos.

Pero no siempre es así, y muchas veces nos tenemos que enfrentar a instalar nosotros mismos un SQL Server, instancias, Reporting, etc ..  Al final como en muchas otras cosas, uno aprende a base de experiencia y de encontrarse errores y problemas. Para ello, yo siempre aconsejo hacer pruebas en nuestro laboratorio, para poder enfrentarnos a la instalación en el cliente con cierta seguridad. En este articulo, contare uno de esos casos que me encontré.

La BBDD de Monitoring la íbamos a instalar en una instancia de un servidor SQL remoto, creo que era la tercera vez que iba a instalar un servidor SQL, monte la instancia, configure el Reporting Service y comprobe que podía acceder sin problemas SQL Server Management Studio con el usuario Administrador de Skype.

El siguiente paso, asociar la nueva instancia SQL como Monitoring del Front End desde la topología.

Capturetopo

Hasta aquí todo correcto, pero una vez publicada la topología, lance el siguiente comando para instalar las BBDD en el servidor SQL del Monitoring.

Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn cvtsql01.xxxxxx.com

Apareció el siguiente error

Capture_error

Error. “Directory lookup for the file “x”   filed with the operating system error 5(Access is denied.)”

En este caso el problema era que el servicio en el servidor SQL de la instancia “Monitor” estaba corriendo con la cuenta “NT Service” que por defecto al crear la instancia estaba así.

Service01.

Al cambiarla a “local system account” y hacer un “restart” del servicio puede crear de forma correcta las BBDD desde el Servidor Front End

Service02..JPG

Como conclusión a la hora de implementar la monitorización en la infraestructura de Skype o Lync hay que tener en cuenta las cuentas con las que ejecutamos los servicios de las BBDD, como dije al principio no soy experto en SQL pero de esta manera conseguí solventar este problema, y de momento tras actualizaciones, reinicios, etc… parece que el servicio esta aguantando y no da problemas

Saludos!

 

HTTP Authentication failed – Kemp Reverse Proxy & Lync Server 2013

Posted on Actualizado enn

Buenas de nuevo a todos,

Dos artículos en dos días seguidos, no me lo creo ni yo 🙂 Bueno, espero seguir este ritmo.

Esta vez traigo algo un poco mas llamativo técnicamente, en concreto es un problema que me encontré a la hora de integrar un “Reverse Proxy” del fabricante Kemp Technologies, con una instalación de Microsoft Lync Server 2013.

Normalmente me gusta dividir en tres fases las instalaciones de Lync/Skype, primero suelo desplegar la parte interna (Front End, Back End, Trusted Application Server, Monitoring, etc...), después la integración con la Voz (Mediation Server, SBC – Gateway, Lync Phone Edition, etc …) y por ultimo la parte Publica o Externa (Edge Server y Rever Proxy). Para mi siempre esta ultima parte la mas complicada, ya que la gestión de los firewall, DMZ, IP Publica, NAT, etc … suele ser un quebradero de cabeza normalmente.

Pero normalmente si el cliente no tiene ya su propio Reverse Proxy y decide poner uno, como fue este caso, solemos recomendar uno, de los que están certificados para Lync/Skype como el de Kemp Technologies, además suele ser fácil de instalar y trae sus propias plantillas de configuración para Lync/Skype en la que solo hay que rellenar las IP’s, cargar los certificados, etc …

Lync 2013 and Skype for Business Configuration Templates and Installation Guides

https://kemptechnologies.com/loadmaster-documentation/#c7842

En este caso, el entorno que tenia configurado era algo parecido a esto:

Kemp000

 

 

Como podréis ver una instalación sencilla, en la que incluso para no tener muchos problemas con las rutas decidimos conectar el Interfaz “eth0” directamente a la VLAN de Servidores donde estaba el propio Front End.

Una vez configurados los servicios virtuales en el Proxy Reverso y cargados los Certificados. Comprobé que los servicios estaban arriba.

 Kemp001.jpg

Parecía que todo estaba bien, y en este caso para realizar las primeras pruebas lo mejor es utilizar la pagina que todos ya conocemos, el analizador de conectividad de Microsoft . Una vez lanzada la prueba de “lyncdiscover” mi sorpresa fue que el resultado daba el siguiente error:

Kemp002

 Parecía un error en el método de autenticación, en concreto el error decía:

HTTP authentication test failed

Y mas tarde respondía

Elapsed Time: 100015 ms.

Lo primero que hice fue sacar trazas en el Fron End, tanto de Wireshark como de logging tool de Lync para ver si había algún error pero parecía todo correcto. Tras varias conversaciones con el fabricante encontramos la solución, tan simple como marcar la siguiente opción:

Subnet Originating Requests en las Standard Options del Virtual Service

Kemp003

De esta manera la prueba con el Analizador de Conectividad de Microsoft pasaba correctamente

Kemp004

Espero que si os encontráis algún error como este, en un escenario parecido en el que hay un Proxy Reverso Kemp “jugando” con esta opción encontréis la solución.

Saludos

 

 

Perdida del registro de llamadas en Skype for Business (KB3114351) SOLUCIONADO

Posted on Actualizado enn

Buenos días,

Parece que ya hay solución al problema que comente en el articulo anterior:

En la ultima actualización publicada por Microsoft para Skype for Business lo publican:

Aquí podéis descargar el paquete de actualización publicado el 9 de Febrero del 2016

https://support.microsoft.com/en-us/kb/3114732

 

Perdida del registro de llamadas en Skype for Business (KB3114351)

Posted on Actualizado enn

Por fin consigo sacar un hueco para escribir otro pequeño artículo, estas últimas semanas están siendo de locura en lo que al trabajo respecta pero espero volver a coger el buen habito de compartir mis experiencias con las Comunicaciones Unificadas de Microsoft, no se me olvidan los post que tengo pendientes pero de momento os dejo esto que me he encontrado esta semana y que no quería dejar escapar.

En un cliente nos hemos encontrado varias incidencias en las que los usuarios de “Skype for Business” habían perdido el registro de llamadas perdidas y conversaciones. Cuando entraban aparecía la lista vacía, y días antes todo parecía haber funcionado bien

Captura1

En el cliente Skype no había ningún error típico de perdida de conexión con Outlook o Exchange Server y tras revisar toda la configuración, incluso intuir que podía ser uno de los Front End del Pool descubrimos que el problema era la actualización:

“Security Update for Skype for Business 2015 (KB3114351)”

El equipo de soporte había liberado la actualización y según se lanzaba en los clientes los usuarios iban perdiendo el registro.

Tras desinstalar la actualización el cliente empezó a funcionar correctamente.

Provisionar Teléfonos Polycom VVX (Parte 1: Configuración del Servidor FTP y los parametros DHCP)

Posted on Actualizado enn

Quizás este no sea uno de los artículos del blog más llamativo técnicamente, pero si es cierto que la primera vez que te “topas” con un aprovisionamiento de teléfonos Polycom para Lync, puedes tener muchos quebraderos de cabeza, esto me ocurrió a mí a la hora de desplegar 600 teléfonos del modelo VVX410 y 600 en un cliente.

Hay innumerables páginas y blogs que explican cómo provisionar estos teléfonos, como es el blog de Jeff, un referente en el mundo Polycom y Lync/Skype4B. Pero pocas quizás que cuenten todo el proceso, tanto la configuración del Servidor FTP, la configuración del DHCP, las opciones del fichero de configuración e incluso tareas de mantenimiento como es actualizar el dispositivo o mandar un reinicio de forma remota, por ello, he dividido todo el proceso en los siguiente artículos que iré publicando


  • Parte 1: Configuración del Servidor FTP y los parámetros DHCP.
  • Parte 2: Configuración DHCP para Lync Phone Edition.
  • Parte 3: Opciones del fichero de configuración
  • Parte 4: Script para cambiar el PIN a los usuarios
  • Parte 5: Reiniciar los dispositivos de forma remota

Además no solo explicaré el proceso, si no también contare mi experiencia con un despliegue.


Preparar el Servidor FTP de aprovisionamiento

Para provisionar los teléfonos necesitaremos montar un servidor FTP al cual los teléfonos se conectaran para descargar su fichero de configuración e incluso desde el cual podemos lanzar una actualización de versión para los mismos.

Hay infinidad de servidores FTP, muchos conocidos y famosos como “filezilla” pero yo en mi caso utilicé un servidor FTP/TFTP que usaba en mis años de técnico Networking para actualizar la versión de los Switches Avaya/Nortel, este servidor se llama “3CDaemon“.

Pero independientemente de la elección por un servidor FTP u otro, lo más importante y que hay que tener en cuenta es que, los teléfonos Polycom VVX tienen por defecto las siguientes credenciales:

User: PlcmSpIp
Password: PlcmSpIp

Con lo cual, el servidor FTP que usemos debe permitir poder añadir un usuario con el mismo usuario y contraseña. Algunos de ellos por políticas de seguridad de password no lo permite.

Configurar el Servidor FTP

Con el servidor FTP instalado, lo arrancamos y entramos en la configuración.

ftp1

Desde la configuración añadiremos el usuario “PlcmSpIp” en “Profile Name”

ftp2

A continuación, pulsaremos en “Set/Change Password” para añadir la password

ftp3

Ya tenemos el usuario, ahora le daremos todos los permisos

ftp4

Y seguidamente, seleccionamos el directorio donde el teléfono descargara su fichero de configuración, en este caso he llamado a la carpeta “UCS”

ftp5

Por ultimo, aplicamos los cambios y salvamos la configuración

ftp6

Probar el FTP

Una vez configurado el FTP, podremos probarlo lanzando una petición desde nuestro interprete de comandos lanzando “ftp ucs.mrlync.com” y poniendo el usuario y la clave

probar ftp

** Una vez configurado, instalado y probado el servidor de aprovisionamiento, recomiendo de momento dejar parado el FTP y levantarlo cuando tengamos todo el despliegue preparado

Parar FTP

Descargar el contenido de la carpeta UCS

A continuación vamos a descargar el paquete de software del teléfono que será el contenido que incluiremos en nuestra carpeta UCS, previamente asociada al FTP.

Para descargar los paquetes de software de Polycom podemos hacerlo desde el siguiente enlace

http://downloads.polycom.com/voice/voip/uc_sw_releases_matrix.html

Yo siempre recomiendo inicialmente descargar la misma versión que los teléfonos tienen cargada localmente, ya habrá tiempo de actualizarla. En mi caso la versión por defecto que traían los teléfonos era la 5.3.1:

ucs

Una vez identificada la versión, descargar la versión “Split” y seguidamente descomprimir todo el contenido en la carpeta UCS

Configuración del DHCP para modelos VVX

Una vez tenemos nuestro Servidor FTP preparado, vamos a configurar los parámetros del DHCP que el teléfono “necesita” para saber cúal es su servidor de aprovisionamiento.

Primero, si no lo tenemos dar de alta en el DNS el nombre de nuestro servidor. En mi caso el servidor se llamara ucs.mrlync.com.

Si no lo tenemos, agregamos la opción 160 del DHCP con el nombre “UCS Boot Server

Una vez tenemos nuestra opción 160 en el DHCP, ponemos como valor de la cadena la dirección de nuestro FTP “ftp://ucs.mrlync.com”

Captura1

Realizamos lo mismo con la opción 66 del DHCP añadiendo la dirección del DHCP

Captura2

Otra opción que debemos configurar, es el servidor de tiempo NTP, esto es fundamental, normalmente es la dirección IP de nuestro Domain Controller.

Captura3

Estos son los parámetros configurables para que el teléfono VVX conozca su servidor de aprovisionamiento. Existe otro valor, que es el “Time Offset“, donde le daremos al teléfono la hora local. En este caso yo lo configuro en fichero de configuración que distribuiremos luego a los teléfonos.

Una vez hayamos configurado los parámetros en el DHCP daremos un reinicio al teléfono con el FTP parado y una vez reiniciado veremos que en el teléfono debe aparecer la dirección de nuestro servidor DHCP la cual está cogiendo de las opciones DHCP que hemos configurado.

mainScreen

Para que los teléfonos VVX se puedan registrar en Lync, hay que aprovisionarles de un certificado para la comunicación TLS con el servidor. Este certificado podemos provisionarlo desde el FTP a través del fichero de configuración, o bien configurar las opciones del DHCP para Lync Phone Edition. A mí personalmente me gusta hacerlo a través de estas opciones, porque de esta manera el cliente tiene todo listo si el día de mañana quiere conectar un modelo Polycom CX en su red.

En el siguiente articulo explicare como hacerlo

Parte 2: Configuración DHCP para Lync Phone Edition.

Cambiar el parametro “FailOverTimeout” para las llamadas PSTN en Lync

Posted on Actualizado enn

Recientemente nos encontramos con un problema a la hora de “tracear”. En concreto algunas llamadas que no se cursaban correctamente entre los clientes Lync/Skype contra algunos números externos, en esta ocasión era  numeración de Emergencia (062, 112, 091, etc …)

Concretamente cuando realizábamos la batería de llamadas y poníamos una traza de Wireshark en nuestros Mediation Server, veíamos lo siguiente:

Captura1

A los 10 segundos nuestro Mediation Sever enviaba siempre un “CANCEL” y la llamada no llegaba a cursarse:

Captura2

Indagando por la red dimos con la solución. Lync por defecto espera 10 segundos a que la llamada progrese y si no lo hace manda una opción “CANCEL” y la corta, no pudiendo ver de esta manera por qué la llamada no se cursa, o quizás este tipo de llamadas a números  de Emergencia estaban tardando más de lo normal en cursarse y con esta “restricción” no conseguían progresar.

Aunque parezca que Lync es un sistema bastante “restringido” a la hora de configurar sobre todo las opciones SIP que enviamos a nuestros TRUNKS, existen algunos ficheros de configuración en los cuales podemos cambiar (con mucho cuidado) parámetros como es el caso de “FailOverTimeour”. Esta opción por defecto está a 1000

      <add key=”FailOverTimeout” value=”10000″/>
<add key=”MinGwWaitingTime” value=”1″/>
<add key=”MaxGwWaitingTime” value=”20″/>
<add key=”FailuresForGatewayDown” value=”10″/>
<add key=”FailuresForGatewayLessPreferred” value=”25″/>
<!– Valid values are between 5 and 600 –>
<add key=”HealthMonitoringInterval” value=”300″/>
<!– Valid values are between 60 and 3600 –>
<add key=”GatewayStateReportingInterval” value=”1800″ />

Cambiándola a 2000 conseguimos subir a 20 segundos el tiempo que tarda nuestro Lync en enviar el “CANCEL”.

El fichero se llama “OutboundRouting.exe.config” y lo podemos encontrar en la ruta del servidor “C:\Program Files\Microsoft\Lync Server 2013\Server\Core“.

Captura3JPG

El fichero lo podemos Editar con “XML Notepad”, por ejemplo:

Captura4

La manera mas correcta de proceder a la hora de modificar ficheros de configuración de este tipo en Lync, o al menos la que aconsejo, es siempre hacerlo parando servicios de forma ordenada, servidor a servidor, lo que llamamos comúnmente “drenar los servidores”, y mas en arquitecturas con mas de un servidor en los Pool.