Cómo ajustar los prefijos de números de SMS

En esta guía proporcionamos ejemplos de reglas de enrutamiento que muestran cómo puedes ajustar los prefijos de números de teléfono con reglas de enrutamiento. Si los números de teléfono llegan en varios formatos de los usuarios, necesitamos crear reglas que ajusten cada formato para asegurar que los números se envíen correctamente al proveedor de servicios de SMS.

Introducción

En nuestro ejemplo, el proveedor de servicios de SMS aceptará un número de teléfono en el siguiente formato:

+97466781661

Los usuarios del sistema utilizarán otros formatos para enviar el mensaje. Por ejemplo:

66781661 -> +97466781661
0097466781661 -> +97466781661
97466781661 -> +97466781661
+97466781661 -> +97466781661

Queremos asegurarnos de que todos los formatos anteriores sean aceptados por nuestro proveedor de servicios de SMS. Para lograrlo, crearemos 5 reglas de enrutamiento:

Ruta 1: Agregar el prefijo "+974" a números de teléfono de 8 dígitos
Ruta 2: Cambiar números que comienzan con "00974" para que comiencen con "+974"
Ruta 3: Cambiar números que comienzan con "974" para que comiencen con "+974"
Ruta 4: Dejar números que comienzan con "+974" y enviar el SMS a la red móvil
Ruta 5: Cualquier otra cosa debe enviarse a la papelera de reciclaje

Ruta 1 / Paso 1: Crear la ruta

El primer ejemplo agregará un prefijo al número de teléfono si este tiene exactamente 8 dígitos.

Cambiar esto: 66781661
A esto: +97466781661

Necesitas crear una ruta dedicada para hacer esta modificación. Esta ruta debe coincidir con números de teléfono de 8 dígitos y modificarlos para que tengan el prefijo +974.

Puedes comenzar haciendo clic en el ícono "Rutas" en la barra de herramientas. Después de esto, especifica la conexión "Desde" como "Any_SMS_User" y la conexión "Hacia" como "SMPP_Client_1". Deja el modo como "Mover".

Figura 1 - Crear la ruta

Ruta 1 / Paso 2: Crear una condición de coincidencia

Para que esta ruta coincida con números de teléfono de exactamente 8 dígitos, necesitas agregar una "Condición de coincidencia". La "Condición de coincidencia" verificará la "Dirección de destino" y si el número de teléfono tiene exactamente 8 dígitos, la ruta entrará en efecto.

Condición de coincidencia:

/^\d{8}$/

La condición anterior se puede desglosar así:
iniciar la coincidencia: ^
vienen 8 dígitos: \d{8}
finalizar la coincidencia: $

Figura 2 - Ruta de coincidencia

Ruta 1 / Paso 3: Crear un modificador

Después de que el SMS coincida con este patrón, la regla de modificación entrará en efecto:

/^(\d{8})$/+974$1/

La condición anterior se puede desglosar así:
cambiar esto: ^(\d{8})$
a esto: +974$1

Nota que la sección "a esto" contiene $1. Esto significa que el primer grupo debe colocarse allí. El primer grupo es "(\d{8})". Un grupo está marcado por ( ).

Figura 3 - Modificador

Ruta 1 / Paso 4: Probar la ruta

Para probar el sistema, simplemente envía un SMS a un número de teléfono de 8 dígitos. Nota que después de enviar el mensaje, cuando revises la carpeta de elementos enviados, verás que el número de teléfono "Para" fue cambiado al formato apropiado. Has enviado el SMS a "66781661", pero el SMS fue enviado realmente a "+97466781661".

Enviar mensaje a 66781661
Figura 4 - Enviar mensaje a 66781661

Mensaje enviado a +97466781661
Figura 5 - Mensaje enviado a +97466781661

Las propiedades de la ruta son:

Nombre de la ruta: Ruta 1
Desde: Any_SMS_User@localhost
Hacia: SMPP_client_1@localhost
Modo: Mover
Coincidir con dirección de destino: /^\d{8}$/
Modificar dirección de destino: /^(\d{8})$/+974$1/

La tabla anterior contiene los ajustes que necesitas aplicar.


Ruta 2. - Cambiar prefijo 00971 a +971

La segunda ruta cambiará el prefijo 00 por un signo +. En las redes móviles, los números de teléfono internacionales comienzan con un signo +, mientras que en los sistemas telefónicos clásicos comienzan con 00.

Cambiar esto: 0097466781661
A esto: +97466781661
Condición de coincidencia:
/^00974.*$/

La condición anterior se puede desglosar así:
iniciar la coincidencia: ^
los siguientes dígitos son: 00974
puede venir cualquier cosa después: .*
finalizar la coincidencia: $

Modificador:
/^00974(.*)$/+974$1/

La condición anterior se puede desglosar así:
cambiar esto: ^00974(.*)$
a esto: +974$1

Las propiedades de la ruta son:

Nombre de la ruta: Ruta 2
Desde: Any_SMS_User@localhost
Hacia: SMPP_client_1@localhost
Modo: Mover
Coincidir con dirección de destino: /^00974.*$/
Modificar dirección de destino: /^00974(.*)$/+974$1/

La tabla anterior contiene los ajustes que necesitas aplicar.


Ruta 3. - Cambiar prefijo 971 a +971

La ruta agregará un signo + al número de teléfono. En las redes móviles, los números de teléfono internacionales comienzan con un signo +; a menos que se agregue el signo +, el número será tratado como un número local.

Cambiar esto: 97466781661
A esto: +97466781661
Condición de coincidencia:
/^974.*$/

La condición anterior se puede desglosar así:
iniciar la coincidencia: ^
los siguientes dígitos son: 974
puede venir cualquier cosa después: .*
finalizar la coincidencia: $

Modificador:
/^974(.*)$/+974$1/

La condición anterior se puede desglosar así:
cambiar esto: ^974(.*)$
a esto: +974$1

Las propiedades de la ruta son:

Nombre de la ruta: Ruta 3
Desde: Any_SMS_User@localhost
Hacia: SMPP_client_1@localhost
Modo: Mover
Coincidir con dirección de destino: /^974.*$/
Modificar dirección de destino: /^974(.*)$/+974$1/

La tabla anterior contiene los ajustes que necesitas aplicar.


Ruta 4. - Prefijo +971 a +971 (dejar pasar números correctamente formateados)

La cuarta ruta simplemente coincidirá con el número de teléfono correctamente formateado y dejará pasar el SMS sin modificaciones.

Coincidir con esto: 97466781661
Condición de coincidencia:
/^[+]974.*$/

La condición anterior se puede desglosar así:
iniciar la coincidencia: ^
el siguiente dígito es: +
los siguientes dígitos son: 974
puede venir cualquier cosa después: .*
finalizar la coincidencia: $

Nota que el signo + fue puesto entre corchetes: [+]. Esto se debe a que el signo + es un carácter especial en la sintaxis de expresiones regulares.

Modificador:
Dejar vacío

Si el número de teléfono está correctamente formateado, no se necesita modificación.

Las propiedades de la ruta son:

Nombre de la ruta: Ruta 4
Desde: Any_SMS_User@localhost
Hacia: SMPP_client_1@localhost
Modo: Mover
Coincidir con dirección de destino: /^[+]974.*$/
Modificar dirección de destino:

La tabla anterior contiene los ajustes que necesitas aplicar.


Ruta 5. - Mover cualquier otra cosa a la papelera de reciclaje

Nuestra ruta final moverá cualquier número de teléfono que no coincida con ninguna de las condiciones de enrutamiento anteriores a la papelera de reciclaje.

Coincidir: Cualquier cosa
Sin cambios
Enrutar a: Papelera de reciclaje

Nombre de la ruta: Ruta 5
Desde: Any_SMS_User@localhost
Hacia: SMPP_client_1@localhost
Modo: Descartar
Coincidir con dirección de destino:
Modificar dirección de destino:

La tabla anterior contiene los ajustes que necesitas aplicar.

La tabla de enrutamiento final

Tu tabla de enrutamiento final se verá así:

Nombre de la ruta Desde Coincidir Modificar Modo Hacia
Ruta 1 Any_SMS_User@localhost /^\d{8}$/ /^(\d{8})$/+974$1/ Mover SMPP_client_1@localhost
Ruta 2 Any_SMS_User@localhost /^00974.*$/ /^00974(.*)$/+974$1/ Mover SMPP_client_1@localhost
Ruta 3 Any_SMS_User@localhost /^974.*$/ /^974(.*)$/+974$1/ Mover SMPP_client_1@localhost
Ruta 4 Any_SMS_User@localhost /^[+]974.*$/ Mover SMPP_client_1@localhost
Ruta 5 Any_SMS_User@localhost Descartar

More information