Microsoft Lync Server
Header

En muchas ocasiones debemos modificar el número de teléfono de una llamada entrante en nuestro Lync, puesto que es un número sin normalizar el formato E.164. Por ejemplo, podemos recibir una llamada en nuestro Lync al número 7005602 y debemos normalizarlo al número +5620 que será el número de teléfono de un usuario de Lync, para ello debemos manipular los dígitos con una regla de normalización dentro de un plan de marcado, porque sino nos encontraremos que la llamada no se podrá recibir en Lync puesto que no es un número normalizado (E.164). Si abrimos las Lync Server 2013 Logging Tool para tratar de analizar el problema nos encontraremos con el siguiente error:

TL_INFO(TF_PROTOCOL) [0]197C.251C::04/10/2013-02:00:09.524.0015e444 (SIPStack,SIPAdminLog::ProtocolRecord::Flush:2420.idx(196))[471010078] $$begin_record
Trace-Correlation-Id: 471010078
Instance-Id: 29070
Direction: outgoing;source="local"
Peer: srv-lync02.asirsl.com:59378
Message-Type: response
SIP/2.0 404 No matching rule has been found in the dial plan for the called number.
Start-Line: SIP/2.0 404 No matching rule has been found in the dial plan for the called number.
From: <sip:7005602;phone-context=DefaultProfile@asirsl.com;user=phone>;epid=A95C7C2F98;tag=acf78fa966
To: <sip:7005602;phone-context=DefaultProfile@asirsl.com;user=phone>;tag=45E6A42AB53F8982BCD0EDFC31433997
Call-ID: c22b9f72b655472c9f94ade6cdb31207
CSeq: 29210 SERVICE
Via: SIP/2.0/TLS 192.168.250.83:59378;branch=z9hG4bK6b357755;ms-received-port=59378;ms-received-cid=1CF000
Content-Length: 0
ms-diagnostics: 14006;reason="Unable to find a potentially matching regex";source="SRV-LYNC03.ASIRSL.COM";CalledNumber="7005602";ProfileName="DefaultProfile";appName="TranslationService"
$$end_record
trunk_incoming_call-18.png

Como este número no está normalizado, debemos crear una regla de normalización en algún plan de marcado para manipular los digitos que sean necesarios para enviar la llamada al +5602. Por defecto todas las llamadas entrantes utilizarán el plan de marcado Global (Default, el cual podemos modificar pero no eliminar), pero  podemos crear distintos planes de marcado para controlar las llamadas entrantes de forma más específica.

trunk_incoming_call-3.png

Un plan de marcado nos permite tener un conjunto de reglas de normalización (formato de los números utilizados por los usuarios estandarizado en el E.164), que se utilizarán para el enrutamiento de las llamadas. Los planes de marcado se pueden asignar en los siguientes ámbitos:

  • Plan de marcado de usuario: se puede asignar a usuarios, grupos u objetos de contacto individuales
  • Plan de marcado de grupo: puede crearse en el nivel de servicio para cualquier registrador o puerta de enlace de RTC de la topología
  • Plan de marcado de sitio: puede crearse para un sitio en su totalidad, salvo los usuarios, grupos u objetos de contacto que estén asignados a un plan de marcado de grupo o de usuario
  • Plan de marcado global: El plan de marcado predeterminado que se instala con el producto. El plan de marcado global se puede editar, pero no eliminar. Este plan de marcado se aplica a todos los usuarios, grupos y objetos de contacto de Telefonía IP empresarial incluidos en la implementación, a menos que se configure y asigne un plan de marcado de ámbito más específico

Comentado esto, debemos tener un plan de marcado con su correspondiente regla de normalización que nos permita manipular el número  enviado a Lync (7005602) y convertilo a un número normalizado (+5602) que se corresponde un número de teléfono utilizado en LYnc. Si tenemos una o varias puertas de enlace de RTC en nuestra implementación, podemos configurar el plan de marcado para la puerta de enlace de RTC por la que nos llegue la llamada. Esto nos permitirá tener distintos planes de marcado, lo que a posteriori nos facilitará la gestión de los mismos.

En el ejemplo que quiero mostraros, únicamente debemos cambiar el numero recibido en nuestro Lync Server (7005602  sin normalizar) por el +5602 normalizado, además teniendo en cuenta que la llamada nos llegará por un gateway en concreto (cme.asirsl.com), por lo que configuraremos un plan de marcado de Grupo. Para ello nos vamos al Panel de Control de Lync Server – Enrutamiento de Voz – Plan de Marcado – Agregar – Plan de marcado de grupo

trunk_incoming_call-4.png
 
Seleccionamos el servicio (PstnGateway) sobre el cual queremos configurar el plan de marcado, y pulsamos en Aceptar
trunk_incoming_call-5.png

Ahora debemos agregar las reglas de normalización que necesitemos, en este ejemplo solo crearemos la que necesitamos para normalizar el número 7005602, para ello pulsamos en Agregar

trunk_incoming_call-6.png
 
Escribimos un nombre y descripción
trunk_incoming_call-7.png

configuramos como vamos a manipular los dígitos según nuestras necesidades:

Longitud: como mínimo 3 dígitos

Dígitos que se quitarán: los 3 primeros dígitos

Dígitos que se agregarán: el símbolo +

De esta forma si alguien llama al número 7005602 se normalizará a +5602 que es el número asociado a un usuario de Lync
trunk_incoming_call-8.png

Al final de esta pantalla tenemos una casilla para verificar que el resultado es el esperado, pulsamos en Aceptar para guardar nuestra regla de normalización

trunk_incoming_call-9.png

Ahora ya tenemos nuestro plan de marcado con la regla de normalización que necesitamos, y desde esta pantalla tenemos también la posibilidad para probar las reglas de normalziación en función del número marcado. Esto es  muy cómodo cuando tenemos muchas reglas de normalización, y queremos verificar si alguna de las reglas coincide con el número a probar

trunk_incoming_call-10.png
Por último nos queda confirmar todos los cambios realizados y ya tenemos nuestro plan de marcado preparado para normalizar el número 7005602
trunk_incoming_call-11.png

nos muestra un resumen de los cambios a confirmar y pulsamos en Aceptar

trunk_incoming_call-12.png

Una vez completado el proceso de confirmación de los cambios, ya tenemos nuestro plan de marcado listo

trunk_incoming_call-13.png

trunk_incoming_call-14.png
 
Ahora volvemos a enviar una llamada a nuestro Lync Server con el número 7005602 y la llamada  se enviará al usuario con el número +5602. Si abrimos las Lync Server 2013 Logging Tool, podemos comprobar que  se utilizará la regla de normalización Normalizar_700_a_+5602.
trunk_incoming_call-19.png
trunk_incoming_call-21.png
ahora podemos contestar la llamada enviada a Lync Server con el número 7005602 desde el usuario con el número de telefóno +5602
trunk_incoming_call-20.png
Este es un ejemplo muy sencillo, además he tratado de simular una llamada al Lync con el número 7005602 y normalizarlo al número +5602, pero vosotros lo podéis complicar todo lo que sea necesario.
 

Aqui os dejo una tabla de ejemplos de reglas de normalización de la Web de MSFT  escritas como expresiones regulares de .NET Framework

Nombre de regla Descripción Modelo de número Traducción Ejemplo
Extensión4dígitos
Convierte extensiones de 4 dígitos
^(\d{4})$
+1425555$1
0100 se convierte en +14255550100
Extensión_5_dígitos
Convierte extensiones de 5 dígitos
^5(\d{4})$
+1425555$1
50100 se convierte en +14255550100
7_dígitos_a_Redmond
Convierte números de 7 dígitos en números locales de Redmond
^(\d{7})$
+1425$1
5550100 se convierte en +14255550100
7_dígitos_a_Dallas
Convierte números de 7 dígitos en números locales de Dallas
^(\d{7})$
+1972$1
5550100 se convierte en +19725550100
10_dígitos_a_EEUU
Convierte números de 10 dígitos en los Estados Unidos
^(\d{10})$
+1$1
2065550100 se convierte en +12065550100
LD_a_EEUU
Convierte los números con prefijos de larga distancia de Estados Unidos
^1(\d{10})$
+$1
12145550100 se convierte en +2145550100
Intl_a_EEUU
Convierte los números con prefijos internacionales de Estados Unidos
^011(\d*)$
+$1
01191445550100 se convierte en +91445550100
Operador_Redmond
Convierte 0 al operador de Redmond
^0$
+14255550100
0 se convierte en +14255550100
Prefijo_sitio_Redmond
Convierte los números con prefijo de red (6) y prefijo de sitio de Redmond (222)
^6222(\d{4})$
+1425555$1
62220100 se convierte en +14255550100
Prefijo_sitio_NY
Convierte los números con prefijo de red (6) y prefijo de sitio de Nueva York (333)
^6333(\d{4})$
+1202555$1
63330100 se convierte en +12025550100
Prefijo_sitio_Dallas
Convierte los números con prefijo de red (6) y prefijo de sitio de Dallas (444)
^6444(\d{4})$
+1972555$1
64440100 se convierte en +19725550100
 
Espero que os haya sido de utilidad!!!