Especialidad technical

Configurar una conexión SMPP en Marruecos: guía paso a paso para empresas de alto volumen

Configurar smpp marroquí: guía técnica con ejemplos de código para desarrolladores en Marruecos.

Configurar una conexión SMPP en Marruecos: guía paso a paso para empresas de alto volumen
En este artículo
  1. Si está desarrollando la infraestructura de un gran banco marroquí, una cadena de distribución o un operador de logística, rápidamente se dará cuenta de que una simple API REST (HTTP) muestra sus límites. Cuando tiene que enviar 2 millones de notificaciones en el día de Id al-Adha, o redirigir OTP vitales a muy alto volumen, la latencia TCP de una solicitud HTTP se convierte en un obstáculo inaceptable.
  2. SMPP ¿Qué es exactamente y para quién?
  3. Parámetros de conexión a configurar (El Bind)
  4. Probar su conexión en un entorno de pre-producción
  5. Los errores de configuración más frecuentes

Si está desarrollando la infraestructura de un gran banco marroquí, una cadena de distribución o un operador de logística, rápidamente se dará cuenta de que una simple API REST (HTTP) muestra sus límites. Cuando tiene que enviar 2 millones de notificaciones en el día de Id al-Adha, o redirigir OTP vitales a muy alto volumen, la latencia TCP de una solicitud HTTP se convierte en un obstáculo inaceptable.

La solución estándar de la industria de telecomunicaciones es el protocolo SMPP (Short Message Peer-to-Peer).

Aunque es extremadamente rápido y asíncrono, configurar una conexión SMPP directa con las pasarelas marroquíes requiere un rigor de ingeniería absoluto.

SMPP ¿Qué es exactamente y para quién?

El SMPP (actualmente en v3.4 para la mayoría de las pasarelas) es un protocolo binario que funciona en TCP/IP. A diferencia de HTTP, donde se abre y cierra una conexión para cada envío, el SMPP abre un túnel permanente (un Bind) entre su servidor (el ESME) y la pasarela del proveedor (el SMSC).

Lo que aporta: - Transporte masivo: Usted envía un flujo binario continuo. No hay encabezados HTTP pesados. El caudal ya no está limitado por una solicitud HTTP por mensaje. - DLR nativos y asíncronos: Los informes de entrega (Acuerdos de recepción) llegan desde el operador marroquí (IAM, inwi, Orange) directamente a ese mismo túnel TCP. Ya no necesita exponer un webhook en su servidor.

¿Desde cuándo usarlo? El desarrollo de un cliente SMPP toma 10 veces más tiempo que una integración de API.Utiliza SMPP sólo si tu volumen supera los 1 millones de SMS al mes o si tu SLA de OTP requiere un envío a la pasarela en menos de 100 milisegundos.

Parámetros de conexión a configurar (El Bind)

Para establecer una conexión SMPP con una pasarela que la ofrezca (en EnvoiSMS, el SMPP solo se ofrece bajo petición, para grandes volúmenes; por defecto, los envíos pasan por nuestra API REST y su endpoint bulk), su proveedor le proporcionará 4 elementos vitales: IP, puerto, System ID (su login) y contraseña.

Pero debes configurar el comportamiento de tu cliente SMPP de una manera óptima:

  1. Tipo de vínculo: *

Transmitter (TX): Para enviar únicamente mensajes SMS.

  • 'Receiver (RX)': Para recibir solo los DLR y SMS entrantes.
  • Transceiver (TRX): Recomendación estándar. Permite enviar y recibir en la misma conexión TCP.
  1. Tamaño de ventana: Este es el secreto de la velocidad del SMPP. Este es el número de mensajes que puede enviar en el túnel antes de esperar la confirmación (Acknowledge) del servidor.Si el servidor permite una ventana de 50, envía 50 PDUs asíncronos a la vez.
  2. El Enquiry Link (Keep-alive): Dado que el túnel debe permanecer abierto 24/7, tu script debe enviar un enquiry_link cada 30 o 60 segundos para demostrar al servidor operador que todavía estás en línea.

Probar su conexión en un entorno de pre-producción

Nunca se conecte directamente a la dirección de producción.Un loop de error de su código SMPP puede inundar el servidor (DDoS involuntario) y causar la suspensión de su IP.

  1. Conecte a la Sandbox SMPP del proveedor.
  2. Envíe un submit_sm (la solicitud de envío de un SMS) con un número de prueba (por ejemplo: +212600000000).
  3. Verifique la recepción del submit_sm_resp con un estado ESME_ROK (Código 0x00000000), lo que significa que el envío está validado.
  4. Deje su cliente inactivo durante 10 minutos para comprobar que su mecanismo 'enquire_link' mantiene bien la conexión sin Timeout.

Los errores de configuración más frecuentes

  • La codificación DCS (Data Coding Scheme): Este es el problema #1 en Marruecos. En SMPP, debes especificar explícitamente el formato de tu texto. Para el francés estándar, utilice DCS 0x00 (SMSC Default) o 0x01 (ASCII). Para la darija con caracteres árabes, debes obligatoriamente convertir tu texto en hexadecimal y definir el DCS en 0x08 (UCS-2).
  • El formato TON/NPI: Para los números de destino marroquíes internacionales (+212), debe configurar el TON (Type of Number) en 1 (International) y el NPI (Numbering Plan Indicator) en 1 (ISDN/E.164).
  • Ruptura de la cola: Si tu conexión TCP se interrumpe, todos los SMS de tu RAM no confirmados por la puerta se pierden.Tu cliente debe utilizar un sistema externo como Redis o RabbitMQ para asegurarse de que cualquier mensaje no "Acké" se vuelva a la cola para la próxima conexión.

¿Por qué elegir EnvoiSMS para su negocio?

Entrega a Operadores

Rutas locales hacia IAM, Orange e Inwi, con conmutación automática entre rutas y estado de entrega enviado por webhook.

Optimización de Costes

WhatsApp Business API desde 0,65 MAD por mensaje. El mejor retorno de inversión.

Conformidad CNDP

Alojamiento que cumple con las regulaciones de protección de datos personales locales.

¿Cómo seguir el enrutamiento en las redes IAM, Inwi y Orange?
Nuestras rutas locales hacia Maroc Telecom (IAM), Orange e inwi, con conmutación automática entre rutas, devuelven un estado de entrega del operador para cada mensaje, por webhook. El plazo de entrega depende del operador y de la red del destinatario.
¿Cómo gestiona la plataforma el formato de los números marroquíes?
EnvoiSMS normaliza automáticamente los números introducidos (06..., 07..., 00212...) al estándar E.164 (+212) para evitar cualquier fallo en la entrega.

Artículos sugeridos

Formateo de SMS en Marruecos: saltos de línea, codificación GSM-7 frente a UCS-2 y optimización de costes
technical

Formateo de SMS en Marruecos: saltos de línea, codificación GSM-7 frente a UCS-2 y optimización de costes

Formato empresarial de WhatsApp en Marruecos: texto enriquecido, emojis y botones interactivos
technical

Formato empresarial de WhatsApp en Marruecos: texto enriquecido, emojis y botones interactivos

Autenticación WhatsApp en 1-Clic y One-Tap Autofill OTP en Marruecos
technical

Autenticación WhatsApp en 1-Clic y One-Tap Autofill OTP en Marruecos