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
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.
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
Seleccionamos el servicio (PstnGateway) sobre el cual queremos configurar el plan de marcado, y pulsamos en Aceptar
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
Escribimos un nombre y descripción
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
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
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
Por último nos queda confirmar todos los cambios realizados y ya tenemos nuestro plan de marcado preparado para normalizar el número 7005602
nos muestra un resumen de los cambios a confirmar y pulsamos en Aceptar
Una vez completado el proceso de confirmación de los cambios, ya tenemos nuestro plan de marcado listo
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.
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
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
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!!!