Enrutamiento de SMS
Con Ozeki SMS Gateway puedes configurar múltiples conexiones de red móvil para enviar mensajes SMS. Para controlar qué conexión se utiliza para enviar un SMS a la red móvil, puedes usar el enrutamiento de SMS.
Introducción al enrutamiento de SMS
Este documento te brinda una introducción al enrutamiento de SMS. Cubre los conceptos básicos del procedimiento de enrutamiento de SMS en Ozeki SMS Gateway. Aprenderás sobre la tabla de enrutamiento; descubrirás qué es una regla de enrutamiento y obtendrás ejemplos simples de enrutamiento. Ejemplos más avanzados y más información están disponibles en la guía de enrutamiento de SMS para proveedores de servicios SMS, la guía sobre cómo copiar y reenviar mensajes de texto SMS a múltiples destinos y en la guía de enrutamiento de SMS de menor costo. Si deseas modificar los números de teléfono y el texto de los mensajes durante la lectura, visita la página sobre cómo modificar un mensaje SMS sobre la marcha.
¿Qué es el enrutamiento de SMS?
El enrutamiento de SMS es el procedimiento utilizado por Ozeki SMS Gateway para decidir a dónde debe ser reenviado un mensaje de texto SMS. El enrutamiento de SMS se basa en coincidencia de patrones y permite la modificación de mensajes. Las soluciones de enrutamiento de SMS son utilizadas por proveedores de servicios SMS y grandes organizaciones.
¿Qué tipos de enrutamiento de SMS existen?
Enrutamiento de SMS simple: Dirige fácilmente mensajes SMS a destinos deseados usando reglas de enrutamiento sencillas. Optimiza la entrega de mensajes con una configuración mínima.
Enrutamiento de SMS de menor costo: Maximiza el ahorro de costos al enrutar inteligentemente mensajes SMS a través de los canales más económicos disponibles. Reduce los gastos de SMS sin comprometer la entrega.
Enrutamiento de SMS de respaldo: Garantiza un servicio SMS ininterrumpido con un enrutamiento de respaldo confiable. Mantén un alto tiempo de actividad y evita la pérdida de mensajes en caso de fallas en el canal principal.
Balanceo de carga con enrutamiento de SMS: Distribuye el tráfico de SMS de manera uniforme a través de múltiples canales para evitar sobrecargas y mejorar el rendimiento. Aumenta la estabilidad y capacidad de respuesta del sistema.
Bloqueo de mensajes SMS internacionales: Evita que se envíen SMS internacionales no deseados o que mensajes no solicitados lleguen a tu sistema. Protégete contra spam, fraude y cargos excesivos.
Asignar números de teléfono de usuario a rutas: Gestiona eficientemente los números de teléfono de usuario asignándolos a rutas SMS específicas. Optimiza el enrutamiento de envío y recepción de SMS y mejora la experiencia del cliente.
Cómo configurar el enrutamiento de SMS (Lista rápida de instrucciones)
Para configurar el enrutamiento de SMS, necesitas iniciar la aplicación Ozeki SMS y abrir la tabla de enrutamiento haciendo clic en el botón "Rutas" de la barra de herramientas.
Para configurar el enrutamiento de SMS, sigue estos pasos rápidos:
- Abre Ozeki SMS Gateway en el escritorio de Windows
- Inicia sesión con el nombre de usuario "admin"
- Abre la aplicación SMS Gateway
- Encuentra la barra de herramientas en la parte superior
- Busca el botón "Rutas" en la barra de herramientas
- Haz clic en el botón "Rutas" de la barra de herramientas
- Esto mostrará la tabla de enrutamiento
- Haz clic en "Crear nueva ruta" para crear una ruta SMS
- Completa el formulario de creación de ruta
- Haz clic en Aceptar para crear la nueva ruta
- Usa las flechas rojas y verdes para mover la regla a la posición deseada
¿Qué hace el enrutamiento de SMS?
El enrutamiento asigna una "Conexión de destino" al mensaje. En otras palabras, selecciona la conexión de destino a la que debe ser reenviado el mensaje. En Ozeki SMS Gateway todo es una "Conexión". Una conexión es un punto final de mensajería que puede enviar y recibir un mensaje. Aunque las conexiones se muestran en grupos (por ejemplo: usuarios SMS, enlaces de red móvil, etc.), siguen siendo conexiones idénticas cuando se trata de enrutamiento.
El enrutamiento de SMS es el procedimiento que se utiliza para decidir a dónde debe ser reenviado un mensaje SMS. Este procedimiento se ejecuta cuando un mensaje de entrada se envía a la tabla de enrutamiento (Figura 2). La tabla de enrutamiento ejecuta el algoritmo de enrutamiento y devuelve un mensaje de salida, que es idéntico al mensaje de entrada, pero tiene una "Conexión de destino" asignada. Después del procedimiento de enrutamiento, el mensaje de salida se reenvía a la "Conexión de destino".
¿Qué es una regla de enrutamiento de SMS?
La tabla de enrutamiento de SMS consta de reglas de enrutamiento. Una regla de enrutamiento tiene una condición de coincidencia, un conjunto de comandos modificadores y un destino. Cuando se envía un SMS, primero se pasa a la tabla de enrutamiento, donde se compara con las reglas de enrutamiento. Si una regla "coincide" con el SMS, ejecuta los modificadores y reenvía el mensaje al destino. La coincidencia se realiza en función de condiciones configuradas, como la conexión del remitente, el número de teléfono del remitente, el texto del mensaje, el período de servicio, etc. Las reglas de modificación solo se aplican si el SMS cumple con las condiciones de coincidencia. Si las condiciones de coincidencia no se cumplen, se prueba la siguiente regla de enrutamiento en la tabla de enrutamiento.
¿Cómo se ejecutan las reglas de enrutamiento de SMS?
Para cada mensaje que se envía, se ejecuta la tabla de enrutamiento. La ejecución se realiza de arriba hacia abajo: Si una regla coincide, se asigna el destino ("Conexión de destino") y el enrutamiento se detiene. El mensaje se reenvía al destino seleccionado.
¿Cómo se muestra la tabla de enrutamiento?
Si abres la pantalla de inicio, verás dos vistas de la tabla de enrutamiento principal. En la parte superior encontrarás una tabla filtrada que solo muestra las "rutas de entrada", y en la parte inferior verás una tabla filtrada que solo muestra las "rutas de salida". En la práctica, llamamos ruta de entrada a una ruta donde la "Conexión de origen" se clasifica como una conexión de red SMS. Todo lo demás es una ruta de salida.
Esta distinción se hace porque la mayoría de los usuarios piensan en términos de rutas de entrada y salida. Aunque no hay diferencia entre estas reglas en el sistema de enrutamiento de Ozeki, es mejor presentar la tabla de enrutamiento de esta manera. Las personas lo entienden mejor si las rutas se organizan por su conexión de origen ("Conexión de origen") en grupos y solo se presentan estos grupos filtrados. Si deseas convertirte en un experto en enrutamiento, siempre usa la tabla de enrutamiento principal en lugar de las vistas filtradas, porque te dará una mejor idea de lo que le sucede a un mensaje determinado.
¿Cómo puedo crear una regla de enrutamiento?
Si deseas crear una regla de enrutamiento, abre la tabla de enrutamiento principal haciendo clic en el botón "Rutas" de la barra de herramientas y haz clic en "Crear nueva Ruta". Esto mostrará el formulario de creación de ruta. Observa las pestañas "Coincidir" y "Modificar" en este formulario. Estas son las páginas donde puedes definir condiciones de coincidencia y comandos de modificación.
¿Qué pasa si no veo mi conexión?
Los sistemas SMS grandes pueden tener un número muy grande de conexiones. Para simplificar la vida, las conexiones "De" y "Para" ofrecidas se filtran por defecto. Las conexiones poco utilizadas están ocultas. Esto puede llevar a que no encuentres tu conexión en la lista.
Si no ves la conexión con la que deseas trabajar en las listas "De" o "Para", simplemente haz clic en el botón de Engranaje delante del cuadro combinado que contiene la lista de conexiones. Esto abrirá un diálogo donde puedes seleccionar otros tipos de conexión para que se muestren en la lista.
Enrutamiento de SMS predeterminado (Ejemplo 1)
Antes de adentrarnos en configuraciones de enrutamiento complejas, es una buena idea entender la tabla de enrutamiento predeterminada. En la tabla de enrutamiento predeterminada verás dos rutas: out_sms e in_admin. La ruta out_sms se utiliza para reenviar mensajes de los llamados "usuarios SMS" a "conexiones SMS". Las "conexiones SMS" son un grupo de conexiones que se utilizan para conectar tu sistema a la red móvil. La ruta in_admin es una regla creada automáticamente para reenviar una copia de cada SMS entrante al usuario admin. Puedes notar el modo "Copiar" en la tabla de enrutamiento. Más información sobre cómo enviar una copia de un SMS a un usuario determinado se puede encontrar en la guía sobre cómo reenviar un SMS entrante a múltiples destinos.
Para entender cómo funciona la ruta out_sms, creamos dos conexiones cliente SMPP SMS a dos operadores de red móvil diferentes. Llamaremos a estas conexiones SMPP_client_1 y SMPP_client_2. (En este ejemplo no modificaremos la tabla de enrutamiento predeterminada). Enviaremos un SMS desde el usuario admin, haciendo clic en el botón "Nuevo" de la barra de herramientas. En esta configuración, un SMS de admin saldrá a través de SMPP_client_1 o SMPP_client_2. El sistema seleccionará aleatoriamente la primera conexión SMS disponible para el mensaje saliente. La ruta utilizada es la ruta "out_sms", que reenvía SMS desde "Cualquier_Usuario_SMS" a "Cualquier_Conexión_SMS".
Cuando se usa la ruta predeterminada, el SMS enviado por admin es reenviado por la ruta llamada "out_sms"
Vale la pena mencionar que esta selección aleatoria de ruta no es exactamente aleatoria. De hecho, un algoritmo de balanceo de carga distribuye la carga entre las conexiones de red móvil con capacidad disponible, teniendo en cuenta la capacidad previamente medida de cada conexión.
Enrutamiento de SMS por origen (Ejemplo 2)
El siguiente ejemplo muestra cómo se puede usar el enrutamiento de SMS para asignar un destino fijo a un origen específico. En nuestro ejemplo, queremos que todos los mensajes SMS enviados por admin salgan por SMPP_Client_1. Esta configuración se usa muy a menudo, porque es frecuente que un usuario necesite siempre usar una conexión de red móvil específica. Para lograr esto, podemos crear una ruta simple de origen a destino.
Para demostrar cómo funciona esta configuración, podemos usar el mismo número de conexiones que en el Ejemplo 1. Podemos agregar una ruta adicional a nuestra tabla de enrutamiento que reenviará SMS desde admin a SMPP_Client_1. La ruta asegurará que un SMS de admin sea forzado a salir por SMPP_client_1. En esta configuración, SMPP_client_2 no se utilizará en absoluto.
Enrutamiento de SMS por prefijo de número de teléfono (Ejemplo 3)
El siguiente ejemplo demuestra cómo se puede realizar el enrutamiento de SMS basado en prefijos de números de teléfono. Esta es una tarea común porque a menudo deseas enviar ciertos mensajes pertenecientes a una red identificada por un prefijo de número de teléfono a cierta conexión. Por ejemplo, si deseas enrutar SMS dirigidos a Hungría, enrutarías mensajes SMS enviados al prefijo +36.... a la red Vodafone Hungría. También podrías configurar una segunda ruta que enrute prefijos +44.... a la red T-Mobile en el Reino Unido.
La siguiente figura demuestra cómo puedes definir un prefijo de número de teléfono como una condición de coincidencia. El ejemplo utiliza una expresión regular de tipo pcre. Esta expresión se usa para coincidir con la dirección del destinatario ("Número de teléfono de destino") para decidir si se debe aplicar la ruta o no.
Enrutamiento de SMS por coincidencia completa de número de teléfono (Ejemplo 4)
Si posees un conjunto de números de teléfono, puedes asignar un número de teléfono único a tus clientes o usuarios. En este caso, querrás enrutar mensajes SMS entrantes enviados a un número de teléfono particular a un usuario particular. El Ejemplo 4 muestra la configuración de enrutamiento para lograr este objetivo.
En este ejemplo, agregamos dos usuarios HTTP: http_user_1 y http_user_2 que recibirán los mensajes entrantes. Uno tendrá asignado el número de teléfono +3633333333, el otro tendrá asignado el número de teléfono +3644444444. Ahora creamos dos rutas con coincidencia completa de número de teléfono. Estas rutas reenviarán cualquier SMS enviado a estos números de teléfono a los usuarios correspondientes.
Como puedes ver en la figura anterior, el campo "De" está configurado como "Cualquier_Conexión_SMS". Esto se debe a que queremos que todos los mensajes SMS enviados al número de teléfono +3633333333 sean enrutados a http_user_1 independientemente de qué conexión SMS los reciba. El destino ("Para") para esta ruta está fijado a http_user_1. Si miras la figura de abajo, verás que en este caso especificamos el número de teléfono completo en la condición de coincidencia del destinatario. Observa que no ponemos la barra (/) delante ni detrás del número de teléfono. Esto se debe a que no realizamos una coincidencia de patrón de expresión regular en este caso. Simplemente hacemos una comparación estricta de números de teléfono.
La configuración para http_user_2 es muy similar. La diferencia es el campo de destino ("Para") y el número de teléfono ingresado en el cuadro de grupo "Dirección de destino" en la pestaña "Coincidir" de la regla de enrutamiento. También puedes notar que estas dos rutas se llamarán route_3 y route_4.
Si trabajas con muchas rutas, es una buena idea agregar nombres significativos a las rutas, para que puedas identificarlas rápidamente. Hay nombres mejores que los predeterminados route_3 o route_4 utilizados en este ejemplo.
Enrutamiento de SMS por palabras clave (Ejemplo 5)
El siguiente ejemplo trata sobre el enrutamiento de SMS basado en palabras clave en el texto del mensaje. Esta característica se usa a menudo en juegos de preguntas, votaciones por SMS o servicios de búsqueda de contenido basados en palabras clave. En este ejemplo, enrutamos cualquier SMS proveniente de Cualquier_Conexión_SMS que contenga la palabra "vote" a http_user_2.
Al mirar la siguiente Figura, puedes notar que usamos coincidencia de expresiones regulares. En este patrón de expresión regular (también llamado patrón regex), colocamos un patrón .* delante y después de la palabra. Esto le dice al motor regex que la palabra clave "vote" puede estar en cualquier parte del mensaje. Esta condición coincidirá con los siguientes textos de SMS: "Hola, aquí está mi voto: rojo" o "vote rojo" o "No voy a votar".
También puedes considerar agregar el modificador insensible a mayúsculas y minúsculas llamado "i" que significa ignorar mayúsculas y minúsculas si esperas que la palabra clave se envíe en minúsculas o mayúsculas. El patrón "/.*vote.*/i" coincidiría con "vote", "Vote", "VOTE" o "vOtE".
Enrutamiento de SMS por texto y período de tiempo (Ejemplo 6)
Es útil saber que también hay una condición de coincidencia de período de servicio disponible, que se puede usar para limitar el tiempo de vida de esta regla. Esta combinación: coincidencia de palabras clave de texto y período de servicio a menudo se usan juntos para servicios de contenido SMS que operan durante un período de tiempo determinado. En este ejemplo, enrutamos cualquier SMS proveniente de Cualquier_Conexión_SMS que contenga la palabra "vote" entre el 2021-04-01 00:000:00 y el 2021-04-30 24:00:00 a http_user_2.