Cerrar
InicioComunicaciones UnificadasMicrosoft Teams: Migrar Usuarios a Teams desde SkypefB On-Premises y Configurar SIP Trunk vía SBC

Microsoft Teams: Migrar Usuarios a Teams desde SkypefB On-Premises y Configurar SIP Trunk vía SBC

Hoy voy a documentar un proceso que últimamente se está dando mucho: migrar usuarios de SkypefB On-Premises a Teams y habilitarlos para VoIP vía Direct Routing. Cada vez son más las empresas que, quieren dar el salto a Teams con todos los servicios habilitados incluyendo los servicios de VoIP.

Si tenemos las configuraciones en base a las recomendaciones de MSFT, será bastante sencillo, de lo contrario tendremos que ir configurando/adaptando previamente las diferentes configuraciones en nuestro entorno. Lo que os mostraré hoy es algo que hecho recientemente:

  • Quitar un dominio SIP de un Skype for Business On-Premises (tenemos 4)
  • Mover los usuarios a un Teams en un tenant diferente al de otros dominios SIP que tenemos registrados en el Skype For Business
  • Habilitar los servicios de VoIP para los usuarios migrados
  • Configurar un SIP Trunk entre el SBC para Direct Routing y SkypefB, lo que nos permitirá que los usuarios de Skype transferir llamadas a usuarios de Teams cuando se reciben de la PSTN

Aquí os dejo una pequeña infografía global de la topología con la que contamos:

El esquema es “algo complejo”, pero ahora os detallo que tenemos en el:

  • Un ADDS con varios UPN que tiene cuentas de diferentes dominios
  • Todos los dominios están configurados en un Skype For Business On-Premises, con entornos híbridos en cada tenant
  • En Skype tenemos un SIP Trunk configurado con un operador SIP que nos provee diferentes DDI  (cada dominio interno representa una empresa diferente)
  • Los usuarios de los diferentes dominios SIP configurados en SkypefB On-Premises están sincronizados con diferentes tenants (si, si 1 ADDS y 3 AzureAD Connect sincronizando diferentes OU a diferentes Tenants)

Básicamente es esto y ahora, ¿Qué queremos? Pues sencillo:

  • Migrar usuarios de uno de los dominios SIP de SkypefB On-Premises a Teams con Direct Routing
    • Configurar LineUri como extensiones internas
  • Quitar la configuración híbrida con dicho dominio
  • Habilitar los usuarios para VoIP en Teams utilizando Direct Routing
  • Permitir que los usuarios de SkypefB On-Premises (que aún están en entorno híbrido) puedan recibir llamadas de la PSTN (mediante el SIP Trunk comentado anteriormente) y que transfiera llamadas a los usuarios y/o colas de llamadas del tenant al cual hemos migrado los usuarios.

Voy a documentar lo esencial, el resto dejaré referencias a otros artículos que tengo publicados o enlaces de MSFT donde se explicará con mayor definición el proceso. Pero bueno, intentaré que las cosas más “críticas” puedan quedar aclaradas.

Antes de nada, ¿con qué contamos?:

  • Tenant sincronizado con AzureAD
  • Un SBC ya configurado con el Tenant para dar servicios de VoIP a los usuarios
  • Usuarios con sus licencias correspondientes:
  • Cuentas de recursos, colas y operadores automáticos ya configurados

¿Qué haremos?

  • Mover usuarios a Teams
  • Asignar numeraciones como extensiones a los usuarios
  • Quitar el entorno híbrido con el SkypefB On-Premises

Para mover los usuarios de SkypefB a Teams, podemos hacerlo de varias formas, pero yo os voy a comentar como sería el proceso vía PowerShell. Como en mi caso quiero establecer en LineUri del usuario extensiones internas, antes de nada debemos asegurarnos que los usuarios no tienen nada configurado en On-Premises (si fuese así, debéis quitarlo: Get-CsUser -OU “cadena-ldap-de-la-ou-donde-tenéis-usuarios” | Set-CsUser -LineUri $Null). Luego, otra cosa a tener en cuenta antes de migrar, es que todos los usuarios tengan la licencia base de O365 asignada y con el producto Skype For Business Online Plan 2 activado, sino os dará error al migrar usuarios. Y por último, pero esto ya deberíais tenerlo si o si, es que tengáis habilitado el tenant de destino el espacio de direcciones compartido habilitado (SharedSipAddressSpace: + info https://docs.microsoft.com/es-es/skypeforbusiness/hybrid/configure-federation-with-skype-for-business-online).

Si cumplimos con todo lo anterior, pues vamos al lío. Desde el Skype For Business On-Premises ejecutaremos el siguiente cmdlet:

$cred=get-credential

Get-CsUser -OU “cadena-ldap-de-la-ou-donde-tenéis-usuarios” -Filter {EnterprisevoiceEnabled -eq $True} | Move-CsUser -Target “sipfed.online.lync.com” -Credential $cred

Se os solicitará credenciales de un administrador del Tenant de destino, las introducís y automáticamente se iniciará el proceso de migración de los usuarios. Una vez completado, si todo ha ido correctamente ahora veréis que los usuarios parecen así en el Centro de administración de SkypefB On-Premises:

Ahora, vía PowerShell (módulo de Teams) habilitaremos la VoIP, buzón de voz y asignaremos la extensión a los usuarios:

Set-CsUser -Identity “usuario” -EnterpriseVoiceEnabled $true -HostedVoiceMail $true -OnPremLineURI tel:+8000

Luego, como hemos creado previamente un plan de marcado y directiva de voz en Teams, se la asignaremos a los usuarios de la siguiente forma:

Con esto, los usuarios ya estarían en Teams y con los servicios de VoIP habilitado para Direct Routing, ya tenemos usuarios llamando sin problema. Otra cosa, que como teníamos un proveedor de VoIP configurado en SkypefB, ahora tenemos que pasar la configuración del troncal al SBC para que los usuarios sigan utilizando sus DDI, etc..  aquí os dejo algunos artículos sobre troncales en el SBC, etc..

Pues una vez que, tenemos a nuestros usuarios en Teams, vamos a modificar varias configuraciones para deshacer el entorno híbrido (+ info si queremos decomisar al 100% el SkypefB On-Premises: https://docs.microsoft.com/en-us/skypeforbusiness/hybrid/cloud-consolidation-disabling-hybrid | no es mi caso):

  • Cambiar DNS: los registros DNS que teníamos para apuntando a los servidores de SkypefB On-Premises, pues ahora los cambiaremos para los servidores de SFBO (+ info https://docs.microsoft.com/es-es/skypeforbusiness/troubleshoot/online-configuration/dns-configuration-issue)
  • Quitar el espacio de direcciones compartido: para ello desde una consola de PowerShell de Teams (Connect-MicrosoftTeams) ejecutaremos el siguiente cmdlet: Set-CsTenantFederationConfiguration -SharedSipAddressSpace $false
  • Configurar la directiva de la organización para cambiar el modo de convivencia entre Teams y Skype y dejar a Solo Teams.

Ahora si, ya tenemos a todos nuestros usuarios en Teams, desconectados del entorno híbrido (en mi caso compartido con otros dominios sip) y con todos los servicios de voz migrados (esto lo había hecho antes de mover los usuarios: colas, cuentas de recursos, etc..).

Una vez que tenía todo esto listo, ahora que, los usuarios de Teams puedan llamar a los usuarios de Skype utilizando sus “extensiones” internas configuradas en su LineUri. Esto podéis verlo como un entorno de migración o convivencia con otras plataformas, que en este caso es Skype pero había sido semanas anteriores con teléfonos Cisco. Dicho esto, ahora os detallo las extensiones que tenemos en los usuarios de Teams y los de Skype:

  • Teams: rango de 8000-8999
  • SkypefB: rango de 4000-4999

Lo que queremos es que, los usuarios de Skype puedan llamar a usuarios de Teams (al tener un entorno híbrido de SkypefB On-Premises como solución de voz y otro diferente solo en Teams, la comunicación de usuarios entre los propios tenants en Teams tiene muchas lagunas) y al revés utilizando sus extensiones, pero sobre todo cuando se reciben llamadas externas y se quieren transferir entre las diferentes plataformas. Esta configuración es muy sencilla, utilizaremos el SBC para que realice el enrutamiento necesario entre SkypefB y Teams.

Una vez puesto en situación, empezamos por la configuración del troncal SIP que haremos desde el SBC hacia Skype. Pues bien, accedemos al portal web de administración de nuestro SBC (AnyNode) y pulsamos en Wizard, vamos a la sección de Add, seleccionamos Node y pulsamos en Start:

Elegimos la opción Create a SIP Node – PBX o Other Voice over IP System:

Con AnyNode ya tenemos un montón de plantillas a elegir, buscamos Microsoft Skype for Business y pulsamos en Next:

Seleccionamos la interface de red de nuestra VM donde tenemos nuestro AnyNode y pulsamos en Next:

Aquí definimos el puerto de escucha que utilizaremos en este troncal, el cual definiremos luego en el SkypefB On-Premises como puerto de destino del troncal SIP.

Sino sabemos si el puerto ya lo estamos utilizando, podéis ejecutar en una línea de comandos netstat -an | find “:numeropuerto” y comprobaréis si tenéis algún servicio ya a la escucha:

Escribimos el nombre o dirección IP del servidor de Skype for Business On-Premises y el número de puerto al que nos conectaremos:

Aquí definimos una pequeña Whitelist para que solo permitamos las conexiones en este troncal desde el servidor de Skype For Business On-Premises y pulsamos en next:

A continuación,vamos a configurar la manipulación de dígitos en llamadas entrantes para las sesiones SIP, pulsamos en  Add…

Elegimos la opción Wildcard Pattern Manipulation y pulsamos en next:

Básicamente aquí lo que haré será manipular el número al que llaman los usuarios y normalizarlos al estándar E.164. Como estoy definiendo las entrantes (las llamadas desde SkypefB), indico que cuando se llame a una extensión del rango 8000 le añadamos el signo +:

Que solo haga solo en el número al que se ha llamado (Destination Dial String) y pulsamos en Next:

Por último, especificamos un nombre para esta regla:

Ahora, haremos lo mismo para las salientes, las que van desde Teams hasta SkypefB:

Ahora las llamadas serán a los números de Skype, los cuales, habíamos comentado que son las extensiones 4000:

Más de lo mismo, definimos un nombre pulsamos en Finish:

Una vez que hemos completado los asistentes de la manipulación de dígitos, pulsamos en Next:

Establecemos los dominios de ruteo donde vamos a poder manejar este troncal. Yo he seleccionado en varios dominios de ruteo, porque los voy a utilizar en varios dominios, pero sino sería solo donde tengamos el Teams de los usuarios migrados (pulsamos en next):

Por último, definimos un nombre al troncal y pulsamos en Finish.

Y listo, ya tenemos nuestro nuevo nodo que será un troncal hacia el Skype for Business On-Premises.

Antes de continuar con otras configuraciones, vamos a configurar el troncal SIP del lado del Skype For Business On-Premises. Desde el generador de topologías nos vamos a la sección de Componentes compartidos – Puertas de enlace RTC – Nueva puerto de enlace IP/RTC:

Escribimos el nombre o la IP del SBC a la que nos conectaremos (en mi caso será un FQDN que me llevará la IP Privada de la MV a la cual llego mediante una VPN con Azure):

Si queremos definir una tarjeta de red local del Front-End la podemos elegir y sino lo dejamos por defecto, pulsamos en siguiente:

Ahora escribimos el puerto de escucha para este troncal del SBC (5090 en mi caso) y el puerto local (al que se conectará el SBC para terminar el troncal), si tenemos todo bien configurado pulsamos en Finalizar:

Como siempre en Skype for Business, ahora toca publicar la topología:

Pulsamos en Siguiente:

Y esperar a que se complete con éxito:

Ya que estamos con Skype vamos a configurar algunas cosas:

  • Plan de Marcado
  • Ruta de Voz

Como ya tendremos algún plan de marcado de Sitio o Usuario, simplemente añadimos una nueva regla de normalización y esta sería la mía para las extensiones 8xxx:

Una vez guardada la podemos testear y vemos que se ajusta a la definición de ExtensionesTeams que hemos configurado anteriormente:

Esto nos permitirá que los usuarios únicamente escriban la extensión 8000 por ejemplo y se normalice automáticamente. Aquí os muestro un ejemplo, el usuario escribe 8100 y el sistema  ya lo normaliza a +8100 (que es lo que tenemos en los usuarios de Teams):

Ahora debemos configurar una ruta de voz para indicarle al Skype For Business On-premises que, cuando alguien quiera llamar a números que empiecen por 8 más 4 dígitos más (los ocho miles), envíe las llamadas por el troncal anteriormente configurado. Esto lo podemos hacer directamente desde alguna Directiva de Voz que ya tengamos, aquí la configuración:

  • Dígitos iniciales: +8 (el número ya normalizado)
  • Troncos asociados: nuestro troncal con el SBC

 

Una vez asociada a la directiva de voz, la podemos testar y vemos que si alguien marca alguna extensión de los ocho miles, encuentra la ruta de salida de esta llamada:

Esta ruta debemos agregarla en todas las directivas de voz en las cuales queramos que los usuarios puedan llamar a los usuarios de Teams, sino, no la agreguemos.

Con esto, ya tenemos la configuración finalizada de Skype for Business, esto ya permite que los usuarios de Skype puedan llamar a usuarios de Teams (en otro tenant, etc..) llamando a su extensión.

Pues ahora nos toca realizar algunas modificaciones en el SBC y en Teams, todo en función de como tengamos algunas configuraciones, pero bueno, yo voy a mostraros una configuración en la que tenemos que definir reglas de marcado en Teams (permitir las llamadas a los cuatro miles) y en el SBC rutas de voz.

Empezamos por el SBC, nos vamos al dominio de ruteo donde tengamos configurado el troncal SIP con Skype For Business, pulsamos en Add y nuevamente en Add

Empezamos definiendo como origen de la llamada desde Skype For Business:

Aquí debemos definir cuando la llamada pasará por esta ruta, por lo pulsamos en configure para modificar la condición en la que las llamadas tienen que coincidir con el patrón a definido (por defecto, entrarían todas las llamadas):

Elegimos Match Wildcard Pattern:

Y según las opciones de wildcard que tenemos, definimos que será para las llamadas que empiecen por +4 y luego otros tres dígitos cualquiera:

Y para ser más finos en nuestro trabajo, configuraremos también el destino de la llamada:

Elegimos la misma opción que antes pero ahora el destino serán la extensiones ocho mil de Teams:

Una vez que ya tenemos definido las reglas por las que haremos que las llamadas pasen por esta ruta:

Ahora definiremos que una vez que coincidan con los filtros anteriores, enrutaremos las llamadas ..

Al nodo de Teams donde tenemos los usuarios con las extensiones ocho miles:

El resto de opciones las podemos dejar por defecto e ir a la opción ELIN Dial String Rewriting y pulsar en Finish:

Pulsamos en Next:

Escribimos un nombre a la ruta: SkypeFB to Microsoft Teams:

Y aquí la tenemos, las llamadas se enrutarán al Teams siempre cuando vengan del SkypeFB y coincidan con el patrón definido. Ahora, debemos hacer lo mismo, pero al revés, por lo que seleccionamos la ruta creada y pulsamos en clone:

Ahora tenemos la misma regla duplicada:

La tenemos que editar y configurarla al contrario (origen destino del troncal y los filtros de la numeración), deberían quedar así las dos rutas de voz:

Con esta configuración, pasarán por el SBC las llamadas que coincidan con el patrón establecido y se enrutarán según desde donde proceda el origen de la llamada. Por último, en el Centro de administración Microsoft de Teams,  en la rutas de Voz si las que tenemos definidas no incluye las extensiones internas, las añadiremos:

Y en los planes de marcado más de lo mismo, debemos definir como se aplicará la normalización a las extensiones internas de SkypefB. En este caso, básicamente y como siempre, las normalizamos con el signo + y el número introducido por el usuario.

Pues listo, ahora si, si desde Skype llamamos a un usuario de Teams … llamada completada!!

Si revisamos el log del SBC, podemos ver la llamada claramente:

  • De Teams a Skype

  • De Skype a Teams

También podemos añadir un número de teléfono o extensión a las cuentas de recursos utilizadas para las colas u operadores automáticos. Aquí tenemos las cuentas de recursos que tengo, las cuales ya tienen también una número de teléfono del rango de los ocho miles. Con esto, se podría llamada directamente al 8200 y llamar a la cola de Empresa.

Para asignar estos números de teléfono, debemos hacerlo con el siguiente cmdlet: Set-CsOnlineApplicationInstance -Identity <<nombre-cuenta>>  -OnpremPhoneNumber +8xxx.

Como podéis comprobar es muy sencillo, útil y nos dará mucho juego para interconectar diferentes plataformas entre si.

Ahora, como siempre, os toca probarlo a vosotros!!!

Microsoft Intune: Pr
Microsoft Azure: Pas
NO HAY COMENTARIOS

DEJA UN COMENTARIO

Este sitio web utiliza cookies. Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra política de cookies. ACEPTAR

Aviso de cookies
Share This