SMPP bind usando bind_transceiver
Esta página trata sobre el procedimiento de enlace SMPP. El enlace SMPP es la solicitud de configuración de conexión en el enlace SMPP. Esta guía explica cómo un servidor SMPP enviando una solicitud de enlace SMPP. Explica las diferencias entre los modos de conexión posibles (transmisor, receptor y transceptor) y ofrece información sobre cómo conectar múltiples clientes usando la misma cuenta de usuario SMPP.
¿Qué es el enlace SMPP?
El enlace SMPP es el primer PDU enviado después de establecer un enlace SMPP. El software SMPP, como la pasarela SMS Ozeki, envía el PDU de enlace SMPP para iniciar sesión en un SMSC. Un PDU de enlace SMPP contiene el nombre de usuario y la contraseña.
¿Cómo se crea una conexión SMPP?
Cuando configuras una conexión SMPP, se realizan los siguientes pasos:
- El cliente SMPP inicia la conexión
- Se establece el enlace TCP/IP
- En conexiones SMPPS se realiza el handshake SSL
- El cliente establece el número de secuencia del PDU bind_transceiver en 0
- El cliente introduce el nombre de usuario SMPP en el PDU bind_transceiver
- El cliente introduce la contraseña SMPP en el PDU bind_transceiver
- El cliente envía el PDU bind_transceiver
- El servidor verifica el nombre de usuario (ID del sistema SMPP) y la contraseña
- Si la autenticación es correcta, se establece el código de error 0.
- El servidor devuelve el PDU bind_transceiver_resp.
- El cliente SMPP está listo para enviar SMS
Explicación de la configuración de conexión SMPP
La Figura 1 explica la configuración de la conexión SMPP. Puedes ver que el cliente SMPP inicia la conexión y se utiliza una única transacción para la autenticación. También puedes ver que, después de un inicio de sesión exitoso, se pueden enviar mensajes SMS usando el PDU submit_sm. Y los informes de entrega entrantes y los mensajes SMS entrantes se pueden recibir usando el PDU deliver_sm.
Introducción a las solicitudes de enlace SMPP
Las solicitudes de enlace SMPP se utilizan para configurar una conexión SMPP. Son enviadas por el cliente SMPP al servidor SMPP cuando el cliente intenta iniciar sesión. Hay 3 tipos de solicitudes de enlace: SMPP bind_transmitter, SMPP bind_receiver, SMPP bind_transceiver. El SMPP bind_transmitter solo se puede usar para enviar mensajes SMS, el bind_receiver solo para recibir mensajes SMS y el bind_transceiver se puede usar para ambos. El SMPP bind_transceiver es el método más común. Es popular porque permite que una sola conexión envíe y reciba mensajes SMS al mismo tiempo.
¿Qué es bind_transmitter?
El PDU SMPP bind_transmitter es enviado por las conexiones del cliente SMPP para conectarse de una manera dedicada al envío de mensajes SMS. Esta conexión no se puede usar para recibir mensajes SMS. Este método de enlace rara vez se usa. La mayoría de los clientes ahora se conectan usando bind_transceiver.
¿Qué es bind_receiver?
El PDU SMPP bind_receiver es enviado por las conexiones del cliente SMPP para conectarse de una manera dedicada a la recepción de mensajes SMS. Esta conexión no se puede usar para enviar mensajes SMS. Este método de enlace rara vez se usa. La mayoría de los clientes ahora se conectan usando bind_transceiver.
¿Qué es bind_transceiver?
El PDU SMPP bind_transceiver es enviado por las conexiones del cliente SMPP para conectarse de una manera que permite tanto enviar como recibir mensajes SMS. La mayoría de las conexiones de clientes SMPP se configuran usando este método de conexión.
¿Debo enlazar con transceptor, transmisor o bind_receiver?
De los tres modos de operación SMPP, el cliente SMPP (a menudo denominado ESME) debe elegir el modo bind_transceiver. Esto permite que la misma conexión se use tanto para enviar como para recibir mensajes SMS. Usar una sola conexión bind_transceiver es similar a tener una conexión de transmisor y receptor sobre el mismo enlace de red y permite enviar y recibir simultáneamente.
Tutorial en video sobre la configuración de conexión SMPP
El siguiente video demuestra cómo puedes configurar una conexión de cliente SMPP y cómo puedes enviar un inicio de sesión al servidor SMPP usando el PDU bind_transceiver. El video muestra la perspectiva del cliente SMPP.
¿Cómo se conecta un cliente SMPP al servidor SMPP?
Cuando un cliente SMPP se conecta a tu servidor SMPP, primero establece una conexión TCP/IP. Si usas un servidor SMPP seguro basado en SMPPS, después de establecer la conexión TCP/IP, se realiza un handshake SSL. El siguiente paso ocurre en la capa de aplicación, que es la capa SMPP. En la capa del protocolo SMPP, el primer PDU que envía el cliente es un SMPP bind_transceiver. Este PDU contiene el nombre de usuario (a menudo denominado ID del sistema SMPP) y la contraseña. El servidor verifica estas credenciales de inicio de sesión y decide si se acepta la conexión del cliente. Si los detalles de inicio de sesión son correctos, el servidor devuelve una respuesta SMPP bind_transceiver_resp sin código de error. (Figura 2)
Ejemplo de bind_transceiver SMPP
El siguiente fragmento de registro fue tomado del registro de conexión del cliente SMPP de Ozeki 10. Puedes ver una configuración estándar de conexión SMPP. Si lees el registro, verás que primero se establece el enlace de conexión TCP/IP y después se envía un PDU bind_transceiver SMPP. El servidor SMPP respondió con una respuesta bind_transceiver_resp. La pasarela SMS Ozeki 10 aceptó esta respuesta y escribió "Inicio de sesión exitoso." en el registro.
2021-04-06 12:06:09.082 INFO SMPP_client_1: [TCP client] Conectando a 192.168.93.113:9550. 2021-04-06 12:06:09.082 INFO SMPP_client_1: Conectado desde 192.168.93.6:33444 a 192.168.93.113:9550. 2021-04-06 12:06:09.082 INFO SMPP_client_1: <- 00000030000000090000000000000001736D703100717765313233004F5A454B493130003401012B3030303030303000 2021-04-06 12:06:09.082 INFO SMPP_client_1: -> 0000001C8000000900000000000000014F5A454B4953595354454D00 2021-04-06 12:06:09.082 INFO SMPP_client_1: Inicio de sesión exitoso. 2021-04-06 12:06:09.082 INFO SMPP_client_1: Conexión en línea.
Aceptación de clientes SMPP en el servidor SMPP
Cuando operas tu propio servidor SMPP, crearás nombres de usuario y contraseñas SMPP para aceptar conexiones entrantes de clientes SMPP. Tus clientes ingresarán sus nombres de usuario y contraseñas junto con la dirección IP y el puerto SMPP de tu servidor SMPP en la configuración de su software cliente SMPP. Después de esto, su software se conectará a tu sistema.
Algunos servidores SMPP solo permitirán una única conexión con el mismo nombre de usuario y contraseña. El servidor SMPP Ozeki 10 permite que tus clientes se conecten desde múltiples computadoras simultáneamente. Alternativamente, pueden crear múltiples enlaces TCP desde la misma computadora y conectarse con el mismo nombre de usuario y contraseña. Esto se llama enlace SMPP múltiple.
Cómo usar el enlace SMPP para conectar múltiples clientes SMPP
La Figura 3 muestra cómo un único cliente llamado "Cliente A" puede conectarse al mismo servidor SMPP con un único nombre de usuario y contraseña usando múltiples solicitudes de enlace SMPP. En esta configuración, el cliente puede enviar un PDU bind_transceiver en todos sus enlaces.
Tutorial en video sobre cómo aceptar múltiples conexiones de clientes
El siguiente video muestra cómo puedes configurar la pasarela SMS Ozeki 10 con una única cuenta de usuario SMPP para aceptar múltiples conexiones de clientes. En resumen, no se necesita ninguna configuración especial. Tan pronto como asignas el nombre de usuario y la contraseña a la conexión, múltiples clientes pueden conectarse. En este caso, recomendamos que habilites el registro de bajo nivel SMPP (como se demuestra en el video) para asegurarte de saber dónde terminará cada uno de tus mensajes SMPP. El registro de bajo nivel SMPP te mostrará qué cliente SMPP envió un PDU SMPP en particular y verás la respuesta correspondiente del servidor SMPP.
Depuración de solicitudes bind_transceiver entrantes
Si examinas cuidadosamente el registro de comunicación SMPP, notarás que las solicitudes de enlace SMPP entrantes no están presentes en el archivo de registro de un usuario SMPP en particular. Esto se debe a que, cuando llega este PDU, aún no se ha asignado ningún usuario a la conexión. Para ver las solicitudes de enlace SMPP, debes abrir el formulario de configuración del servidor SMPP. Esto se puede hacer haciendo clic en el botón Avanzado en la barra de herramientas y luego seleccionando la página Detalles del servidor SMPP (Figura 4).
En la página de detalles del servidor SMPP, verás inmediatamente los PDU-s de enlace SMPP entrantes. Vale la pena mencionar que los PDU de respuesta no se enumeran aquí. Para ser más precisos, solo se enumeran aquí para intentos de inicio de sesión fallidos. Una vez que un usuario SMPP ha sido identificado correctamente con un nombre de usuario y contraseña, los registros de las conexiones de clientes SMPP correspondientes se escriben en el registro de ese usuario. (Figura 5)
¿Quién está conectado a mi servidor SMPP?
Si abres la página de detalles de un usuario SMPP, puedes ver los clientes actualmente conectados en la sección "Clientes conectados" del panel izquierdo. Aquí verás los puntos finales TCP/IP remotos para cada cliente. Estos puntos finales se utilizan para identificar las entradas de registro para un cliente dado en el registro de comunicación SMPP de bajo nivel, que puedes encontrar en el panel izquierdo (Figura 6).
¿Cómo se manejan los mensajes entrantes?
Si algún cliente SMPP envía un SMS usando la solicitud SMPP submit_sm, su informe de envío SMPP correspondiente (llamado submit_sm_resp) se devolverá en la misma conexión. Esto permite que los clientes SMPP procesen correctamente los informes de envío de SMS incluso si se ejecutan en diferentes computadoras.
Para los mensajes SMS entrantes y los informes de entrega, la pasarela SMS Ozeki 10 realiza un balance de carga entre los clientes conectados. Esto significa que, a medida que haya capacidad disponible en una conexión de cliente SMPP entrante, los mensajes SMS entrantes y los informes de entrega se enviarán a ese cliente. Si no hay clientes conectados o si las conexiones de los clientes están ocupadas enviando o recibiendo mensajes SMS, los mensajes SMS entrantes se almacenarán en la carpeta de entrada.
Ten en cuenta que los informes de entrega entrantes no se emparejarán con los clientes que los enviaron. Esto se debe a que, cuando llega un informe de entrega, es posible que el cliente que lo envió no esté conectado o esté conectado desde una dirección diferente. Recuerda que los informes de entrega pueden llegar mucho más tarde. Esto significa que es posible que un informe de entrega se devuelva en un enlace diferente al enlace donde se envió el SMS. Esto solo sucede si múltiples clientes están conectados usando el mismo nombre de usuario y contraseña SMPP. Para evitar esta situación, puedes crear múltiples cuentas de usuario SMPP para tu cliente y decirles que deben enlazar con un enlace para cada cuenta de usuario.
More information
- Usuario SMPP
- Cómo configurar un servicio SMPP
- Cómo crear un servidor SMPP seguro con SMPPS
- Enlace transceptor SMPP
- Cómo funcionan los PDU submit_sm y deliver_sm de SMPP
- Certificado SSL seguro para SMPP
- Cómo rastrear un SMS en los registros SMPP
- Códigos de error SMPP y estado
- Introducción al protocolo SMS
- Cómo configurar un límite de enlace