En la industria de la telefonía celular , los teléfonos móviles y sus redes a veces admiten el servicio de mensajes cortos concatenados (o SMS concatenados ) para superar la limitación en la cantidad de caracteres que se pueden enviar en un solo SMS.transmisión de mensajes de texto (que suele ser 160). Con este método, el dispositivo emisor divide los mensajes largos en mensajes más pequeños y los vuelve a combinar en el extremo receptor. Luego, cada mensaje se factura por separado. Cuando la función funciona correctamente, es casi transparente para el usuario y aparece como un único mensaje de texto largo. Anteriormente, debido a incompatibilidades entre proveedores y la falta de soporte en algunos modelos de teléfonos, no había un uso generalizado de esta función. [ cita requerida ]
A finales de la década de 2000 y principios de la de 2010, esta función se adoptó de forma más generalizada. No solo muchos teléfonos admiten esta función, sino que también existe soporte para la función entre los proveedores de puerta de enlace SMS. La forma en que funciona la concatenación en redes GSM y UMTS se especifica en la especificación SMS punto a punto, 3GPP TS 23.040. [1]
En las redes que no admiten SMS concatenados (ni el esquema estándar ni el simplificado), el mensaje se entrega como mensajes de texto SMS individuales en lugar de un mensaje concatenado.
Cuando no se recibe parte de un SMS concatenado estándar, o se recibe más de una vez, la base de datos del dispositivo receptor puede corromperse, lo que genera problemas continuos con futuros mensajes entre los mismos teléfonos. Hay herramientas gratuitas disponibles para limpiar la base de datos de un dispositivo afectado. [2]
SMS en modo PDU
En términos técnicos, el SMS concatenado también podría denominarse SMS en modo PDU [ dudoso ] . El número de partes que puede contener un mensaje SMS de varias partes o en modo PDU depende técnicamente de un mensaje de cabecera, pero principalmente del dispositivo que envía o recibe el SMS y también del proveedor de servicios.
En teoría, los SMS concatenados pueden constar de hasta 255 mensajes SMS separados que se concatenan para crear un único mensaje SMS largo. Debido a la naturaleza del SMS, la posibilidad de que estas partes del mensaje SMS lleguen en orden es mínima y, por lo tanto, se implementa una estrategia para reconstruir el mensaje largo original.
Envío de un SMS concatenado mediante un encabezado de datos de usuario
Una forma de enviar SMS concatenados (CSMS) es dividir el mensaje en 153 partes de caracteres de 7 bits (134 octetos ) y enviar cada parte con un encabezado de datos de usuario (UDH) al principio. Un UDH se puede usar para varios propósitos y su contenido y tamaño varían en consecuencia, pero un UDH para concatenar SMS se ve así:
- Campo 1 (1 octeto): Longitud del encabezado de datos de usuario, en este caso 05.
- Campo 2 (1 octeto): Identificador de elemento de información, igual a 00 (mensajes cortos concatenados, número de referencia de 8 bits)
- Campo 3 (1 octeto): longitud del encabezado, excluidos los dos primeros campos; igual a 03
- Campo 4 (1 octeto): 00-FF, número de referencia del CSMS, debe ser el mismo para todas las partes del SMS en el CSMS
- Campo 5 (1 octeto): 00-FF, número total de partes. El valor permanecerá constante para cada mensaje corto que constituya el mensaje corto concatenado. Si el valor es cero, la entidad receptora ignorará todo el elemento de información.
- Campo 6 (1 octeto): 00-FF, el número de esta parte en la secuencia. El valor comenzará en 1 y se incrementará para cada mensaje corto que constituya el mensaje corto concatenado. Si el valor es cero o mayor que el valor del campo 5, la entidad receptora ignorará todo el elemento de información. [Especificación ETSI: GSM 03.40 Versión 5.3.0: julio de 1996]
Es posible utilizar un número de referencia CSMS de 16 bits para reducir la probabilidad de que se envíen dos mensajes concatenados diferentes con números de referencia idénticos a un receptor. En este caso, el encabezado de datos de usuario será:
- Campo 1 (1 octeto): Longitud del encabezado de datos de usuario (UDL), en este caso 06.
- Campo 2 (1 octeto): Identificador de elemento de información, igual a 08 (mensajes cortos concatenados, número de referencia de 16 bits)
- Campo 3 (1 octeto): longitud del encabezado, excluidos los dos primeros campos; igual a 04
- Campo 4 (2 octetos): 0000-FFFF, número de referencia del CSMS, debe ser el mismo para todas las partes del SMS en el CSMS
- Campo 5 (1 octeto): 00-FF, número total de partes. El valor permanecerá constante para cada mensaje corto que constituya el mensaje corto concatenado. Si el valor es cero, la entidad receptora ignorará todo el elemento de información.
- Campo 6 (1 octeto): 00-FF, el número de esta parte en la secuencia. El valor comenzará en 1 y se incrementará para cada mensaje corto que constituya el mensaje corto concatenado. Si el valor es cero o mayor que el valor del campo 5, la entidad receptora ignorará todo el elemento de información. [Especificación ETSI: GSM 03.40 Versión 5.3.0: julio de 1996]
Ejemplo de UDH para un sms dividido en dos partes:
05 00 03 CC 02 01 [mensaje] 05 00 03 CC 02 02 [mensaje]
Tenga en cuenta que si hay un UDH y la codificación de datos es el alfabeto de 7 bits predeterminado, los datos del usuario deben estar alineados con palabras de 7 bits después del UDH. [3] Esto significa que se deben insertar hasta 6 bits de ceros al comienzo del [mensaje].
Por ejemplo, con un UDH que contiene una sola parte,
05 00 03 CC 01 01
el UDH es un total de (número de octetos x tamaño de bit de octetos) 6 x 8 = 48 bits de longitud. Por lo tanto, se debe anteponer un solo bit de relleno al mensaje. Por lo tanto, la UDH es (bits para UDH / bits por septeto) = (48 + 1) / 7 = 7 septetos de longitud.
Con un mensaje de "Hola mundo", el [mensaje] se codifica como
90 65 36 FB 0D BA BF E5 6C 32
ya que necesita anteponer los bits menos significativos del siguiente carácter de 7 bits, mientras que sin relleno, el [mensaje] sería
C8 32 9B FD 06 DD DF 72 36 19
y el UDL es 7 (septetos de encabezado) + 11 (septetos de mensaje) = 18 septetos.
Ver también
Referencias
- ^ Especificación SMS punto a punto, 3GPP TS 23.040
- ^ "Problema 28697 - android - Los mensajes SMS entrantes de varias partes pueden estar dañados, y la última parte se sustituye por una parte de un mensaje anterior. - Proyecto de código abierto de Android - Rastreador de problemas - uk.co.scytmo.smsmultipartcleaner-1- aplicación v1.0.apk " . code.google.com .
- ^ Jeroen (18 de febrero de 2009). "Combinar mensajes SMS" .