Cómo autenticar usuarios del servidor SMPP con una base de datos
Cuando operas tu propio servicio de SMS, es posible que desees almacenar información de usuarios en tu servidor de base de datos. Esta información puede usarse para autenticar usuarios que intentan acceder a tu servidor a través de varios canales. Por ejemplo, puedes autenticar conexiones de clientes SMPP, conexiones de API HTTP, clientes SMS UCP o CIMD2 con la misma base de datos de usuarios. Esta guía te proporciona instrucciones paso a paso sobre cómo configurar la autenticación de usuarios por base de datos para una configuración de servidor SMPP. Los pasos son similares para otros canales de servicio que puedas configurar. Puedes usar Microsoft SQL Server, MySQL, Oracle o cualquier otro servidor de base de datos.
Resumen
Si almacenas la información de usuarios de tu servidor SMPP SMS en una tabla de base de datos, debes seguir estos pasos para configurar Ozeki 10 SMS Gateway y consultar tu base de datos cuando un cliente SMPP intente conectarse, para decidir si está autorizado a usar tu servicio.
- Abre el panel de control
- Crea una conexión a la base de datos
- Elige consultas SQL
- Selecciona el tipo de base de datos
- Ingresa los detalles de inicio de sesión de la base de datos
- Crea un nuevo proveedor de autenticación
- Escribe la consulta SELECT SQL para verificar al usuario
- Abre la aplicación SMS Gateway
- Haz clic en Avanzado en la barra de herramientas
- Selecciona la configuración del servidor SMPP
- Abre la pestaña Avanzado
- Selecciona el proveedor de autenticación por base de datos
Paso 1 - Crear una conexión a la base de datos en Ozeki SMS Gateway
El primer paso es abrir la aplicación Panel de Control en Ozeki SMS Gateway. Simplemente navega al escritorio de Ozeki SMS Gateway y, como puedes ver en la Figura 1, abre el Panel de Control haciendo clic en su icono.
Ahora deberías estar en la página principal del Panel de Control, donde puedes crear, modificar o eliminar conexiones. Haz clic en el botón azul Crear nueva conexión y selecciona Aplicación en el cuadro que aparece en el lado derecho de la pantalla (Figura 2).
En este ejemplo usaremos MySQL Database para almacenar los detalles de usuario para el Proveedor de Autenticación. Así que selecciona el tipo de conexión MySQL como muestran las Figuras 3-5.
Luego completa el siguiente formulario con los detalles de conexión. Asegúrate de proporcionar la IP del servidor SQL y el número de puerto. El número de puerto SQL predeterminado suele ser 3306. También necesitas proporcionar el nombre de la base de datos donde están tus usuarios. Finalmente, proporciona el nombre de usuario y contraseña SQL y haz clic en 'Aceptar' (Figura 6).
Finalmente, la conexión fue exitosa como puedes ver en la Figura 7.
Paso 2 - Conectar el Proveedor de Autenticación por Base de Datos a la base de datos SQL
En este paso configuraremos una consulta SELECT en la tabla SQL. Esta consulta SELECT se llamará cuando ocurra un intento de inicio de sesión. Buscará usuarios en la tabla de usuarios. Dirígete a la página del proveedor de autenticación haciendo clic en Proveedores de autenticación en el menú Usuarios (Figura 8).
En la página del Proveedor de autenticación puedes crear, modificar o eliminar proveedores de autenticación. Crea un nuevo proveedor de autenticación haciendo clic en el botón azul Crear nuevo proveedor de autenticación. Se abrirá un nuevo cuadro en el lado derecho de la página. En este cuadro puedes seleccionar entre proveedores de autenticación. Por favor, elige Proveedor de autenticación por base de datos (Figura 9).
Se mostrará un formulario en el cuadro. Debes completar el formulario para configurar el proveedor de autenticación por base de datos. En el campo más importante, debes escribir la consulta SQL como puedes ver en la Figura 10. En el PASO 4 configuraremos una base de datos SQL compatible con esta consulta SQL.
SELECT * FROM user WHERE Password = MD5("${password}") /* Hashea la contraseña y compara el hash. */ and User="${username}";
Paso 3 - Crear Servicio SMPP con Autenticación SQL
El siguiente paso es abrir la aplicación SMS Gateway. Simplemente navega al escritorio de Ozeki SMS Gateway y haz clic en el icono de SMS Gateway. Aquí puedes encontrar el menú Avanzado de SMS Gateway. Para abrirlo, haz clic en el botón "Avanzado" en la página principal. (Figura 11)
En la página Avanzado puedes crear, modificar o eliminar Servicios SMS. Crea un nuevo Servicio SMS haciendo clic en el botón azul Crear nuevo Servicio. Se abrirá un nuevo cuadro en el lado derecho de la página. En este cuadro puedes seleccionar entre Servicios SMS como puedes ver en la Figura 12. Luego elige Servicio SMPP (Figura 13).
Se mostrará un formulario en el cuadro. Debes completar el formulario para configurar el Servicio SMPP. Proporciona un nombre único y un puerto para este servicio como puedes ver en la Figura 14.
Luego, en la pestaña Avanzado del Servicio SMPP, configura el proveedor de autenticación por base de datos en la sección Autenticación de usuario como muestra la Figura 15.
Paso 4 - Crear tabla de base de datos SQL para usuarios
Para usar el Proveedor de Autenticación por Base de Datos, necesitarás tener al menos una tabla SQL que contenga información de inicio de sesión de los usuarios. La tabla debe tener al menos 2 columnas. 1 columna es para el nombre de usuario y la otra es para el hash de la contraseña del usuario. (Figura 16) Ahora necesitarás crear una tabla en la base de datos:CREATE TABLE user ( User VARCHAR(255), Password VARCHAR(255) );
INSERT INTO user (User, Password) VALUES ("Ozeki", MD5('123451')), ("smppuser", MD5("qwe123"));
Finalmente, si un Cliente SMPP se conecta con el nombre de usuario y contraseña que creaste en la base de datos, verás que el Usuario aparece en la sección Usuarios y aplicaciones de SMS Gateway (Figura 18).
Preguntas frecuentes
¿Tu gateway admite clustering en múltiples servidores y cómo ocurre?
Para escenarios que involucran un alto volumen de conexiones de usuarios, Ozeki SMS Gateway
ofrece una solución de clustering para mejorar la escalabilidad del servicio. Un cluster comprende
un grupo de computadoras independientes, cada una equipada con software Ozeki. Cada
instancia de Ozeki se conecta de forma independiente a sus proveedores de servicios SMS designados
y atiende a los usuarios de manera autónoma, sin depender de otros miembros del cluster.
Estrategias de Balanceo de Carga:
El clustering de Ozeki SMS Gateway emplea dos métodos principales para distribuir conexiones de clientes
entre los miembros del cluster:
- Selección de Servidor basada en DNS: Este enfoque utiliza el algoritmo round-robin dentro del servidor DNS. Cuando un cliente consulta por el servicio, el servidor DNS devuelve direcciones IP de un grupo asignado al cluster, distribuyendo efectivamente las conexiones entre los servidores disponibles.
- Enrutador preseleccionado con Traducción de Direcciones de Red (NAT): En este método, un enrutador preconfigurado aprovecha NAT para distribuir el tráfico entrante entre los servidores del cluster. Este enfoque ofrece mayor control sobre el balanceo de carga en comparación con el método basado en DNS.
- Escalabilidad mejorada: El clustering permite escalar horizontalmente, permitiéndote agregar más servidores al cluster para aumentar la capacidad y manejar una base de usuarios en crecimiento.
- Mayor disponibilidad: Si un servidor individual encuentra problemas, los demás miembros del cluster continúan operando, garantizando la continuidad del servicio.
- Rendimiento mejorado: Distribuir la carga entre múltiples servidores reduce la carga en máquinas individuales, lo que lleva a un mejor rendimiento general y tiempos de respuesta más rápidos para los usuarios.
No puedo enviar más de 6 mensajes por segundo, aunque tengo una licencia de 10 MPS. ¿Cuál puede ser el problema? ¿Cuál es el esquema de escalabilidad del software?
¿Experimentas velocidades de entrega de mensajes lentas en Ozeki SMS Gateway? Aquí hay varios
cuellos de botella potenciales para investigar:
Gestión de Cola de Mensajes:
- Tamaño de la Bandeja de Salida: Monitorea el tamaño de tu cola de salida. Idealmente, debería estar entre 100 y 2,000 mensajes. Una cola consistentemente baja (0-100) sugiere mensajes insuficientes para la transmisión. Por el contrario, una cola muy grande (más de 100,000) indica que la fuente de mensajes está sobrecargando el sistema.
- Eliminación Automática de Mensajes: Considera habilitar la eliminación automática de mensajes antiguos en el formulario "Editar/Preferencias del Servidor". Esto evita la acumulación excesiva de la cola y la degradación del rendimiento.
- Rendimiento del Hardware: Utiliza el Administrador de Tareas de Windows para identificar procesos que consuman recursos excesivos de CPU. La desfragmentación de disco, protectores de pantalla, software antivirus o actualizaciones automáticas pueden afectar temporalmente el rendimiento.
- Ancho de Banda de Red: Verifica un ancho de banda de carga adecuado (idealmente superior a 256 Kbps). Minimiza la congestión de la red cerrando aplicaciones que consuman mucho ancho de banda, como transmisión de video o software de intercambio de archivos.
- Limitaciones del Proveedor SMS: En algunos casos, el sistema del proveedor de servicios SMS podría ser más lento que el tuyo. Consulta con ellos sobre configuraciones óptimas de tamaño de ventana dentro del "formulario de configuración del proveedor de servicios SMPP". Un tamaño de ventana más pequeño puede restringir la velocidad de envío al esperar respuestas de confirmación antes de transmitir mensajes adicionales.
- Mantén un Tamaño Óptimo de Cola de Salida: Apunta a un flujo constante de mensajes manteniendo la cola de salida dentro del rango recomendado (100-2,000 mensajes).
- Implementa Eliminación Automática de Mensajes: Configura el software para eliminar automáticamente mensajes antiguos usando el formulario "Editar/Preferencias del Servidor".
- Minimiza el Tráfico Entrante: Si es posible, reduce el volumen de mensajes entrantes, como informes de entrega, para agilizar el proceso de envío.
- Optimiza el Rendimiento del Hardware: Identifica y cierra aplicaciones que consuman muchos recursos a través del Administrador de Tareas de Windows.
- Actualiza el Ancho de Banda de Red (si es necesario): Considera actualizar tu plan de internet para garantizar capacidad de carga suficiente.
- Consulta al Proveedor SMS: Discute configuraciones óptimas de tamaño de ventana con tu proveedor de servicios SMS para mejorar el rendimiento de envío.
More information
- Configuración manual de cuenta de usuario
- Cómo autenticar usuarios del servidor SMPP usando una base de datos
- Cómo autenticar usuarios del servidor SMPP usando LDAP
- Cómo autenticar usuarios del servidor SMPP usando solicitudes HTTP