BroadNet
Fundamentos Principiante

Fundamentos del SMS

Cómo se construye, codifica y segmenta un SMS — desde el límite de 160 caracteres y GSM 03.38 hasta las confirmaciones de entrega y el A2P frente al P2P.

5 lecciones4 min de lecturaBasado en estándares · a su propio ritmo
DiagramaCómo llega un mensaje A2P al teléfono
  1. Su aplicaciónSe envía a través de REST API o SMPP
  2. Plataforma BroadNetValida, enruta y factura cada mensaje
  3. SMSC del operadorConexión directa con el operador
  4. Terminal del abonadoEl mensaje se entrega
La confirmación de entrega (DLR) regresa por la misma ruta hacia su webhook
Lección 01

La anatomía de un SMS

El SMS — Short Message Service — se estandarizó como parte de GSM y transporta una carga útil de 140 bytes. Ese tamaño fijo es el origen de todos los límites de caracteres que encontrará: todo lo relacionado con la longitud del SMS consiste, en realidad, en encajar en 140 bytes.

Un mensaje viaja como MO (mobile-originated — enviado desde un teléfono) o como MT (mobile-terminated — entregado a un teléfono). El tráfico de aplicación a persona es casi en su totalidad MT: su plataforma envía el mensaje y la red lo entrega al suscriptor.

Entre el envío y el teléfono se encuentra el SMSC (Short Message Service Centre), que almacena el mensaje y lo reenvía cuando el destinatario está localizable. Si el teléfono está apagado, el SMSC retiene el mensaje hasta que expira el periodo de validez.

Lección 02

Codificación: GSM de 7 bits frente a UCS-2

El texto latino sencillo utiliza el alfabeto predeterminado GSM de 7 bits definido en GSM 03.38. Como cada carácter ocupa 7 bits, 140 bytes contienen 160 caracteres — el conocido límite de un solo segmento.

Un puñado de símbolos comunes (como { } [ ] ~ ^ | \ y el símbolo del euro) residen en una tabla de extensión y cuestan dos caracteres cada uno. Es fácil superar el límite de un segmento sin darse cuenta cuando el texto contiene alguno de estos.

En el momento en que un mensaje contiene cualquier carácter fuera de ese alfabeto — árabe, cirílico, chino o un emoji — todo el mensaje cambia a UCS-2, una codificación Unicode de 16 bits. Ahora cada carácter ocupa 2 bytes, por lo que un solo segmento contiene solo 70 caracteres.

Lección 03

Segmentación y concatenación

Cuando el texto supera un segmento, se divide y se vuelve a ensamblar en el teléfono. Para ello se añade a cada parte un pequeño User Data Header (UDH), que consume espacio de la carga útil. Por eso los segmentos concatenados contienen menos caracteres que uno independiente.

En GSM de 7 bits, los segmentos concatenados contienen 153 caracteres cada uno en lugar de 160; en UCS-2 contienen 67 en lugar de 70. Un mensaje de 300 caracteres en latino son tres segmentos; la misma longitud en árabe son cinco. Se factura por segmento, así que la codificación determina directamente el coste.

Un error común y evitable es un mensaje que queda justo por encima de un límite — 161 caracteres se convierten en dos segmentos y duplican el precio de cada envío. Recortar unas pocas palabras, o eliminar un símbolo de la tabla de extensión, puede reducir a la mitad la factura a gran escala.

Lección 04

Confirmaciones de entrega y estado

Una confirmación de entrega (DLR) es la confirmación de la red sobre lo que le sucedió a un mensaje. Informa un estado terminal como entregado, no entregado, expirado o rechazado, y a menudo un código de error específico del operador que explica el motivo.

Los DLR son esenciales para la conciliación y la medición de calidad. Solicitarlos solo donde se consumen mantiene el tráfico limpio; una confirmación de entrega con estado «entregado» confirma que el teléfono recibió el mensaje, mientras que un recibo de expirado significa que nunca fue alcanzable dentro del periodo de validez.

Como los códigos de error de los operadores varían entre rutas, los remitentes maduros los normalizan en una taxonomía coherente — suscriptor ausente, número inválido, bloqueado como spam — para poder comparar la calidad entre destinos.

Lección 05

A2P frente a P2P

El P2P (persona a persona) es el SMS conversacional que un humano envía a otro. El A2P (aplicación a persona) es tráfico programático de software: alertas, OTP, notificaciones y marketing. Se ven idénticos en el teléfono, pero son comercial y técnicamente distintos.

Los operadores tarifican y enrutan el A2P de forma diferente y esperan que llegue por canales oficiales y facturados. El A2P entregado a través de rutas P2P para evitar las tarifas de terminación es una ruta gris — más barata de entrada, pero propensa al filtrado, a una mala capacidad de entrega y a la exposición al incumplimiento normativo.

Entender esta división es la base de todo lo que sigue: la calidad del enrutamiento, las reglas de sender ID y los firewalls existen porque los operadores deben distinguir el tráfico A2P legítimo y pagado de la evasión.

Conclusiones clave
  • La carga útil de un SMS es de 140 bytes; por eso el GSM de 7 bits contiene 160 caracteres y el UCS-2 solo 70.
  • Cualquier carácter que no sea GSM (árabe, emoji) cambia todo el mensaje a UCS-2 y reduce el límite.
  • Los segmentos concatenados cuestan espacio de cabecera (153/67 caracteres) y se paga por segmento.
  • Los DLR cierran el circuito de la entrega; el A2P y el P2P se ven iguales pero se enrutan y tarifican de forma distinta.
Ponlo en práctica

Construye con lo que acabas de aprender.

Habla con un ingeniero profesional sobre tu caso de uso, o abre la documentación para desarrolladores y envía un mensaje a través de las rutas que se describen en este curso.

¿Por qué aprender de BroadNet
  • Desde2003
  • Países200+
  • Enlaces del operador1,000+