Cerrar
InicioMicrosoft TEAMSDirect Routing: Normalización de Teléfonos de Usuario en Llamadas Entrantes

Direct Routing: Normalización de Teléfonos de Usuario en Llamadas Entrantes

Hace unas semana había publicado una “guía rápida” de como configurado un SBC (AnyNode) con Direct Routing para Microsoft Teams: Microsoft Teams: Configuración de Direct Routing vía SBC de AnyNode en Azure. Hoy vamos a comentar algunas configuraciones que poco a poco vamos a ir necesitando en función de que vayamos portando numeraciones, incorporando usuarios a Teams y que ocurre cuando quitamos una Plan de Llamadas a los usuarios.

Este articulo se centrará en:

  • Plan de llamadas: retirar el plan de llamadas a los usuarios
  • Número de usuario: configurar un número de teléfono directo a nuestro usuario(s) de Teams
  • Llamada entrante: probar una llamada entrante hacia el número asociado al usuario

Esta una configuración muy sencilla, básicamente consiste en asociar un número de teléfono de nuestro ITSP (proveedor de Voz) a un usuario de Teams y, que posteriormente, podamos llamar a dicho número y que el usuario pueda contestar a la llamada. Esto nos servirá para cuando queramos migrar numeraciones hacia usuarios de Teams, pero en próximos artículos veremos como asociarlos a los Auto Attendant.

Para empezar, como casi siempre, aquí va una pequeña infografía que hace referencia al artículo de hoy:

Pues con el objetivo claro, empezamos. Lo primero es conocer que ocurre cuando un usuario tiene el licenciamiento adecuado para utilizar Teams como centralita, vamos, que podemos realizar y recibir llamadas mediante nuestro cliente Teams (descripción simplista, hace más cosas). Cuando el usuario tiene las licencias de Phone System y un Plan de Llamadas (Nacional y/o Internacional) se le asignará un número de teléfono (online), el cual ser utilizará para ser identificado cuando realicemos una llamada y será nuestro número directo cuando alguien nos quiera llamar/devolver la llamada.

Hasta ahí,  espero que todo claro. Ahora bien, cuando nos vamos a Direct Routing existen múltiples razones por la que querer utilizar este servicio:

  • Integración con PBX locales
  • Integración teléfonos IP no Teams
  • Ahorro de costes (aquí me quedo yo)
  • Flexibilidad de uso

Yo me voy a centrar en el ahorro de costes, puesto que con Microsoft tienes unos planes de llamadas con unos costes fijos (10€ -> 1200 minutos a números nacionales y 10€ –> 600 minutos a números internacionales) que muchos usuarios no consumen en un mes. También es cierto que, todos los minutos de los usuarios que tienen lo mismos planes se suman en una bolsa de minutos para el mes, porque lo que un usuario puede consumir 100 minutos y otro 2000, pero aun así, sigue teniendo un coste fijo (también hay planes de 5€ –> 120 minutos) el cual es posible que quieras quitártelo. Ahí es cuanto entra en juego Direct Routing, porque nos permite conectarnos con Teams y luego que nuestras llamadas (entrantes y salientes (sobre todo)) las cursemos por nuestro propio ITSP con sus tarifas correspondientes.

“Aclarado” esto, entendiendo que para utilizar Direct Routing los usuarios necesitan un Plan de O365 que soporte añadirle el add-on de Phone System, nuestros usuarios ya estarían licenciados correctamente. Pero, antes de continuar con el artículo, comentaros que le podemos añadir si queremos un plan de llamadas, de tal forma que si la llamada no se puede cursar por el SBC lo hará por el plan de llamadas. Está claro que esto es funcional, pero entonces poco ahorro obtenemos a excepción de pasar de un plan de llamadas de 10€ a 5€.

Ahora si, vamos a centrarnos en lo que queremos hacer, que es retirarle la licencia del Plan de Llamadas a un usuario pero que siga teniendo el Phone System habilitado (necesario para Direct Routing):

Una vez que a un usuario le retiramos un plan de llamadas, automáticamente se le quitará el número de teléfono que tenía asignado:

Hasta aquí todo normal, pero ahora si queremos añadir un número de teléfono directo que contratamos a nuestro ITSP se lo tenemos que asociar al usuario, para eso, lo haremos mediante PowerShell. Antes de nada, debemos conectarnos para ello, aquí tenéis que descargar los módulos necesarios, instalarlo y luego conectarse:

Conectarse con sus credenciales de administrador

Import-Module MicrosoftTeams
$userCredential = Get-Credential
$sfbSession = New-CsOnlineSession -Credential $userCredential
Import-PSSession $sfbSession

Conectarse mediante una cuenta de administrador con autenticación multifactor

Import-Module MicrosoftTeams
$sfbSession = New-CsOnlineSession
Import-PSSession $sfbSession

Una vez conectados, podemos ver si el usuario ya tiene algún teléfono asociado con el siguiente cmdlet: Get-CsOnlineuser -Identity <nombre-usuario> |ft OnPremLineUri:

Ahora, para asociar el número de teléfono al usuario utilizamos Set-CsUser -Identity <nombre-usuario> -OnPremLineUri TEL+NúmeroTeléfono

Este proceso es inmediato, si ahora volvemos a revisar el usuario en el Centro de administración de Microsoft Teams podemos observar que ya tiene el número de teléfono asociado:

Desde el cliente de Teams ya podríamos ver el número asignado:

Ahora mismo el usuario tiene el número de teléfono asignado, pero si ahora cursamos una llamada a dicho número, la llamada fallará como se ve en las sesiones activas del AnyNode. Esto ocurre porque el número al que hemos llamado va sin normalizar al estándar E.164 como es normal, nosotros no llamamos marcando el símbolo + y luego el código del país y luego el número, simplemente marcamos el número final del usuario con el prefijo que corresponda. Siendo esto así, cuando marcamos el 98610000 (número simulado) esa llamada llegará al ISTP y nos la enviará al SBC y él a su vez la intentará enviar  Teams, pero fallará porque el número del usuario está normalizado el estándar E.164: +349861xxxxxxx

Que tenemos que hacer, pues manipular los dígitos del número llamado desde el punto de vista del SBC, vamos que tenemos que convertir el 9861xxxxxxx en +349861xxxxxxx (+34 porque estoy en España, cada uno de vosotros tendréis que hacerlo en función de vuestra localización) para que lo que le enviemos a Teams tenga una coincidencia con el usuario que tiene ese número asociado.

Para esto, nos conectamos al SBC, nos vamos a la sección de ConfigurationNodesITSP que tengamos configurado y pulsamos en SIP Node y luego desplegamos la configuración de URI and Dial String Mapping:

En la sección SIP dial string manipultacions … pulsamos en Add:

Nos aparecerá un asistente muy sencillo de seguir, elegimos la opción de Prefix and Suffix Manipulation y pulsamos en next

Aquí es donde realmente vamos a definir la manipulación de los números de teléfono en función de varios patrones, en mi caso como es un número de usuario único esta sería mi configuración:

  • Prefix: escribo el número de teléfono completo
  • Suffix: lo dejo en blanco
  • Delete Leading Characters: no quiero borrar ningún dígito inicial del número
  • Delete Trailing Characters: no quiero borrar ningún dígito final del número
  • Add Prefix: aquí escribimos +34 para que añada al número indicado en la sección Prefix
  • Add Suffix: lo dejamos en blanco

Una vez que hayamos cubiertos correctamente todos los campos, pulsamos en Next:

Ahora indicamos que se aplicará en Destination Dial String y pulsamos en Next: 

Escribimos un nombre para la regla, de tal forma que luego la podáis identificar con facilidad y pulsamos en Finish:

Listo, ya tenemos nuestra regla de manipulación de dígitos finalizada, para que sea aplicada ahora debemos pulsar en Commit para que se quede aplicada automáticamente:

Si ahora volvemos a intentar llamar al usuarios, veremos que la llamada entra sin problemas en el cliente Teams:

Y sin problema podemos contestar la llamada:

Si volvemos a revisar las sesiones activas en el SBC veremos como entra la llamada y ya se manipulan los dígitos de la llamada, ya vemos el número normalizado en Inbound y cuando se envía (Outbound) sin manipular pero ya previamente normalizado el número:

Y claramente, ya vemos la llamada conectada:

Pues como podéis apreciar, así se configura un número de usuario  y se manipulan los dígitos de la llamada para que puedan recibirla el usuario.

Ahora vamos a ver como podemos quitarle el número de teléfono al usuario, lo haremos nuevamente con PowerShell:

Y ahora que no tenemos el número OnPrem de usuario asociado, si queremos añadir uno de los números de usuarios que nos provee Microsoft desde el Centro de administración de Microsoft Teams veremos que nos dar un error …

Tranquilos, este error es porque al usuario le habíamos retirado el plan de llamadas y sin plan de llamadas no se le puede asignar un número de teléfono al usuario. Lo que tenemos que hacer es volver a añadir el plan de llamadas:

Y nuevamente podemos volver a asignarle un número de usuario que nos ha dado Microsoft:

Si queréis hacer la asignación del número de Microsoft vía Powershell, este sería el cmdlet Set-CsOnlineUser -Identity <nombre-usuario> -LocationID xxxx -TelephoneNumber <E.164>, pero como necesitamos el LocationID de la ubicación de emergencia, primero lo debemos localizar con el cmdlet Get-CsOnlineLisLocation:

Y una vez obtenido, entonces si que podemos ejecutar el cmdlet correspondiente: Set-CsOnlineUser -Identity <nombre-usuario> -LocationID xxxx -TelephoneNumber <E.164>

Hasta aquí ha llegado este artículo, espero que os haya gustado y os sea de utilidad!!

Microsoft Azure File
Cloud VoiceMail: Hab
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