Especificaciones técnicas de SMPP
Descubra las especificaciones técnicas de la solución SMPP de OVHcloud
Las ofertas de SMS de OVHcloud solo están disponibles en los siguientes países: Francia, Reino Unido, Irlanda, España, Italia y Polonia.
Objetivo
Descubra las especificaciones técnicas de la oferta SMPP de OVHcloud.
Glosario
- PDU: Protocol Data Unit es el objeto/entidad que permite intercambiar solicitudes y respuestas
- SMPP: Short Message Peer to Peer Protocol
- SMSC: Short Message Service Center (servidor)
- ESME: External Short Message Entity (cliente)
- UDH: User Data Header
- SM: Short Message
- DLR: Delivery Receipt
- PTT: Premium Tracking Technical es un código de error comunicado en el mensaje de un DLR
- MT: Mobile Terminated
- MO: Mobile Originated
Para obtener más información sobre las abreviaturas, consulte la página 10 de las especificaciones SMPP de smpp.org.
Presentación
¿Para qué sirve SMPP?
SMPP (Short Message Peer-to-Peer) es un protocolo que permite intercambiar SMS con los operadores telefónicos y por parte de los proveedores de contenido. Generalmente utiliza dos conexiones TCP/IP, una para el envío y otra para la recepción de datos.
¿Cuáles son las ventajas de SMPP frente a la oferta estándar de SMS?
- El protocolo está estandarizado y permite integrarse con numerosas herramientas del mercado
- Permite obtener un caudal elevado con poca latencia
¿Cuál es el uso habitual del envío de un SMS por SMPP?
La aplicación de envío de SMS del cliente (ESME) dispone de tres medios de comunicación con el SMSC:
- Transmitter: emisión de un mensaje
- Receiver: recepción de un mensaje
- Transceiver: emisión y recepción de un mensaje
Encontrará información adicional sobre los medios de comunicación en el capítulo Lista de PDU.
Una vez establecida la conexión entre el ESME y un SMSC de OVHcloud, se pueden realizar la emisión o la recepción de un mensaje.
La autenticación de la conexión al SMSC se realiza con el system_id (identificador), la password y la dirección IP de su aplicación.
La oferta SMPP de OVHcloud permite:
- El envío de SMS con (o sin) acuse de recibo (DLR)
- La recepción de un mensaje enviado desde un móvil
Número virtual*: canal transaccional únicamente
Especificaciones técnicas
Descripción de los protocolos
Bind Request
Un ESME puede conectarse en uno de los tres modos siguientes: Transmitter, Receiver, Transceiver.
Estas solicitudes de conexión se gestionan conforme a la especificación del protocolo SMPP v3.4.
Bind Response
Durante el proceso de conexión, el ESME realiza una solicitud de Bind proporcionando el system_id (identificador) y su password.
Esta información, junto con la IP de su aplicación, se utiliza para autenticar la solicitud de conexión.
A continuación, el SMSC envía una respuesta con un estado que define si la autenticación se ha realizado correctamente o no.
Lista de PDU
bind_transceiver y bind_transceiver_resp
Este tipo de bind se utiliza para iniciar una conexión que permite la comunicación bidireccional entre el SMSC y el ESME (es la fusión de los modos transmitter y receiver).
bind_transmitter y bind_transmitter_resp
Este tipo de bind se utiliza para iniciar una conexión que solo permite la comunicación del ESME hacia el SMSC (envío de SMS a un móvil). El SMSC envía las respuestas asociadas a los PDU de solicitud por la misma conexión.
bind_receiver y bind_receiver_resp
Este tipo de bind se utiliza para iniciar una conexión que solo permite la comunicación del SMSC hacia el ESME (envío de acuse de recibo (DLR) o de mensajes enviados desde un móvil). El ESME envía las respuestas asociadas a los PDU de solicitud por la misma conexión.
unbind y unbind_resp
Solicitud de cierre de una conexión iniciada por el SMSC o el ESME. La parte que recibe la solicitud devuelve una respuesta cuando está lista para cortar la conexión.
El SMSC de OVHcloud cierra (unbind) las conexiones cada 24 h; el ESME debe volver a conectarse automáticamente.
outbind
No compatible
submit_sm y submit_sm_resp
El submit_sm lo utiliza un ESME para enviar un SMS al SMSC con el fin de transmitirlo a un número de teléfono móvil.
Parámetros obligatorios:
source_addrpuede ser un número internacional, un número alfanumérico o un número shortcode:- alfanumérico: estos números de teléfono se componen de letras y cifras (ej.: ovh123).
source_addr_ton= 5source_addr_npi= 0
- shortcode: estos números de teléfono contienen entre 3 y 8 cifras (ej.: 38069). El shortcode solo sirve para avisar a nuestro servicio de que vamos a tener que utilizar uno. El shortcode real utilizado para enviar el SMS lo definirá el operador de telecomunicaciones.
source_addr_ton= 3source_addr_npi= 1
- internacional: estos números de teléfono se componen del identificador del país y del número habitual sin el primer 0 (por ejemplo, 33601020304).
source_addr_ton= 1source_addr_npi= 1
- alfanumérico: estos números de teléfono se componen de letras y cifras (ej.: ovh123).
destination_addrdebe ser un número internacional (ej.: 33600000001)dest_addr_ton= 1dest_addr_npi= 1
Parámetros opcionales:
El submit_sm_resp es la confirmación de la correcta recepción del submit_sm por parte del SMSC.
Contiene un message_id, que es el identificador del mensaje del SMSC y permite establecer el vínculo con el acuse de recibo (DLR) enviado más tarde cuando el móvil ha recibido el SMS (siempre que se haya especificado la solicitud de un DLR en el submit_sm).
deliver_sm y deliver_sm_resp
El deliver_sm lo emite el SMSC para enviar un acuse de recibo (DLR) al ESME si este lo ha solicitado en el submit_sm, o cuando se recibe un SMS entrante (respuesta a un shortcode o un SMS enviado a un número virtual).
Parámetros obligatorios:
Parámetros opcionales:
Parámetros específicos de OVHcloud:
Nuestro servicio intenta enviar los deliver_sm al ESME durante un máximo de 7 días.
Códigos de error de los acuses de recibo (DLR)
enquire_link y enquire_link_resp
PDU utilizado por el SMSC y el ESME para comprobar si una conexión sigue activa.
Se recomienda respetar un intervalo de 30 segundos entre cada solicitud.
generic_nack
PDU devuelto por el SMSC cuando un PDU no es compatible o está dañado.
query_sm y query_sm_resp
No compatibles.
cancel_sm y cancel_sm_resp
No compatibles.
replace_sm y replace_sm_resp
No compatibles.
alert_notification
No compatible.
submit_multi y submit_multi_resp
No compatibles.
data_sm y data_sm_resp
No compatibles.
Estados de los PDU de respuesta
Todo PDU de respuesta (los que terminan en _resp) tiene un estado. La especificación SMPP proporciona una lista de estados genéricos (SMPP 3.4, 5.1.3 command_status) comunes a todos los SMSC.
Un rango específico de estados está reservado a los SMSC. Estos son los que utiliza OVHcloud:
Data Coding Scheme
El data coding lo utilizan el submit_sm y el deliver_sm para codificar el mensaje.
Lista de los data coding compatibles:
- GSM 03.38 (GSM 7 bits)*
- UCS2
GSM 03.38*: esta codificación representa cada carácter en un septeto, pero algunos clientes SMPP lo representan en un octeto. Dado que el formato de octeto es el más utilizado, su cuenta SMPP está configurada en este formato de forma predeterminada. Si experimenta problemas de codificación con su cliente SMPP, póngase en contacto con el soporte de OVHcloud para que se modifique el formato.
TLV
Un TLV (Tag, Length, Value) permite enriquecer un PDU añadiéndole información opcional. Algunos son comunes y los utilizan varios SMSC, y otros pueden ser más específicos de OVHcloud.
Sistema de identificación
System ID
El system_id es el identificador de conexión SMPP; se genera en forma de una cadena de caracteres aleatorios.
Password
La password se genera y se proporciona cada vez que se crea una cuenta SMPP.
Lista de IP autorizadas
Es necesaria una lista de IP para autorizar a la máquina o máquinas a conectarse al SMSC.
Tipo de conexión
- Conexión segura: conexión cifrada con TLS 1.3 como mínimo.
- Conexión no segura: conexión que no dispone de cifrado TLS por necesidades de retrocompatibilidad (todos los intercambios están en claro y, por tanto, son visibles para terceros).
Límites de envío
Conexión por zona
De forma predeterminada, una cuenta SMPP solo puede tener un par Transmitter/Receiver o un Transceiver por zona.
Windowing
De forma predeterminada, una cuenta SMPP puede procesar hasta un máximo de 10 mensajes simultáneamente.
Caudal autorizado
De forma predeterminada, una cuenta SMPP puede procesar hasta un máximo de 20 mensajes por segundo y por conexión.
Versión del protocolo
La versión del protocolo es la 3.4.
Lista de clientes SMPP probados por OVHcloud
- Kannel 1.4.5
Más información
Gestionar una cuenta de SMS SMPP
Interactúe con nuestra comunidad de usuarios.