images Hay dos formas de enviar y recibir mensajes SMS, en modo texto y en modo PDU (Protocol Description Unit). El modo texto es una representación de la cadena de bits contenida en el campo de datos del modo PDU. No todos los teléfonos soportan el modo texto, sobre todo los teléfonos mas antiguos. El envío de mensajes en modo texto es mas sencillo ya que no requiere de ningún tipo de codificación del texto que se quiere enviar. El modo PDU permite enviar datos  que se pueden obtener, por ejemplo, de un microcontrolador. En esta ocasión se explicará el funcionamiento del modo PDU en formato de 7 y 8 bits.

La organización ETSI especifica que los mensajes SMS puede ser de hasta 160 caracteres, siendo cada caracter de 7 bits, siguiendo el alfabeto de 7 bits. Los mensajes SMS con datos de usuario en formato de 8 bits (máximo 140 bytes), no son visualizados por los teléfonos como mensajes de texto.

La trama PDU, no sólo contiene el mensaje, sino que también incluye otra meta-información que permite realizar una correcta gestión del SMS. Debido a la complejidad de la trama PDU, sólo se explicarán las opciones básicas para poder enviar un mensaje SMS.

 

Trama de envío (SMS-SUBMIT)

1-12 Bytes

1 Byte

1 Byte

2-12 Bytes

1 Byte

1 Byte

O,1 o 7 Bytes

1 Byte

0-140 Bytes

SCA

TIPO PDU

MR

DA

PID

DCS

VP

UDL

UD

 

Trama de recepción (SMS-DELIVER)

1-12 Bytes

1 Byte

2-12 Bytes

1 Byte

1 Byte

7 Bytes

1 Byte

0-140 Bytes

SCA

TIPO PDU

OA

PID

DCS

SCTS

UDL

UD

 

SCA (Service Center address):

Número de teléfono del Centro de Servicio

La longitud de este campo puede variar entre 1 y 12 bytes, como mínimo es un byte.

1 Byte

0-1 Byte

Número de teléfono del centro de servicios  0-10 bytes

LONGITUD

TIPO

DIGITO 2

DIGITO 1

DIGITO 4

DIGITO 3

DIGITO 6

DIGITO 5

DIGITO 8

DIGITO 7

DIGITO 10 ó F

DIGITO 9

 

Longitud: Número de bytes requeridos para el número del centro de servicios mas un byte para el tipo de número.

Tipo de número: 81 para números nacionales y 91 para internacionales. Para mas información ver GSM 04.08 capítulo 10.5.4.6

Teléfono: Número telefónico del SMCS, se deben intercambiar los dígitos. Si es un número impar de dígitos es necesario rellenar con una F.

Si el campo longitud es cero, se toma como número del centro de servicios el que este configurado por defecto en el teléfono móvil.

 

PDU-TYPE:

El formato de este campo varia dependiendo si se trata de un mensaje para envío o de un mensaje recibido.

Bit

7

6

5

4

3

2

1

0

ENVIO

RP

UDHI

SRR

VPF

RD

MTI

RECEPCION

RP

UDHI

SRI

 

MMS

MTI

RP (Reply Path): Indica si existe ruta de respuesta.

UDHI (User Data Header Indicator):Indica si los datos de usuario contienen cabecera.

SRR (Status Report Request):Indica si se ha solicitado un informe de estado.

SRI (Status Report Indication):Indica si el SME ha solicitado un informe de estado.

VPF (Validity Period Format):Indica si el campo VP está presente y el formato.

0 0 Campo VP no está presente.

0 1 Reservado

1 0 Campo VP presente como entero (relativo).

1 1 Campo VP presente como un semi-octeto (absoluto).

MMS (More Messages to Send): Indica si existen mas mensajes en el SMSC para enviar al MS.

RD (Reject Duplicate):Rechazar duplicados. Indica al SMSC que acepte (0) o rechace (1) un SMS-SUBMIT de un mensaje que todavía está almacenado en el SMSC el cual tiene el mismo MR y DA y proviene del mismo OA. 

 MTI (Message Type Indicator): Tipo de mensaje.

0 0 SMS-DELIVER (SMSC ==> MS)
0 0 SMS-DELIVER REPORT (MS ==> SMSC, es generado automáticamente por el móvil, después de recibir un SMS-DELIVER)
0 1 SMS-SUBMIT (MS ==> SMSC)
0 1 SMS-SUBMIT REPORT (SMSC ==> MS)
1 0 SMS-STATUS REPORT (SMSC ==> MS)
1 0 SMS-COMMAND (MS ==> SMSC)
1 1 Reservado

MR (Menssage Reference)

Número sucesivo de 0 a 255. Para los mensajes enviados se puede rellenar con 0x00, el teléfono móvil se encarga de rellenar este campo con el número que corresponda.

OA(Originator Address)

Numero de teléfono del emisor del mensaje SMS.

1 Byte

0-1 Byte

Número de teléfono del centro de servicios  0-10 bytes

LONGITUD

TIPO

DIGITO 2

DIGITO 1

DIGITO 4

DIGITO 3

DIGITO 6

DIGITO 5

DIGITO 8

DIGITO 7

DIGITO 10 ó F

DIGITO 9

Longitud: Número de bytes del número de origen del SMS.

Tipo de número: 81 para números nacionales y 91 para internacionales. Para mas información ver GSM 04.08 capítulo 10.5.4.6

Teléfono: Número telefónico de origen del SMS, se deben intercambiar los dígitos. Si es un número impar de dígitos es necesario rellenar con una F.

Si el campo longitud es cero, se toma como número del centro de servicios el que este configurado por defecto en el teléfono móvil.

DA (Destination Address)

Numero de teléfono del receptor del mensaje SMS, tiene el mismo formato que el campo OA.

PID (Protocol Identifier)

Indica al SMSC como procesar el mensaje SMS ( FAX, VOZ, etc.).

DCS (Data Coding Scheme)

Indica la codificación de los datos de usuario.

Grupo de codificación
bits 7-4

bits 3-0

0000

Indicación de alfabeto

Mensaje sin especificación en el MS

0000 Alfabeto por defecto (Datos de usuario codificados en formato de 7 bit)

0001-1111 reservado

0001-1110 Grupos de codificación reservados.
1111

Codificación de datos/Clase del mensaje

bit 3 esta reservado, siempre 0
bit 2 (codificación del mensaje)

0 Alfabeto por defecto (codificación de 7 bit por caracter en los datos de usuario)
1 (codificación de 8 bit por caracter en los datos de usuario)

bit 1 bit 0 (message class)
0 0 Class0 el mensaje es escrito inmediatamente en el display
0 1 Class1 ME (Mobile Equipment) el mensaje se almacena en el ME
1 0 Class2 SIM specific message el mensaje se almacena en el SIM
1 1 Class3 TE (Terminate Equipment) el mensaje se almacena en el TE

SCTS (Service Center Time Stamp)

Indica cuando se ha recibido el mensaje SMS en el SMSC.

Año Mes Día Hora Minuto Segundo Zona horaria Dígito 2 Dígito 1 Digito 2 Digito 1 Digito 2 Dígito 1 Digito 2 Digito 1 Digito 2 Digito 1 Digito 2 Digito 1 Dígito 2 Digito 1

VP (Validity Period)

Indica el tiempo de validez del mensaje SMS, el formato depende del valor de VP (relativo o absoluto).

Para el formato relativo el valor se calcula según la siguiente tabla:

Valor Tiempo
0-143 (VP +1) x 5 minutos
144-167 12 horas + ((VP-143) x 30 minutos)
168-196 (VP-166) x 1 día
197-255 (VP-192) x 1 semana

Para el formato absoluto, se indica la fecha y la zona horaria, intercambiando los dígitos:

Año Mes Día Hora Minuto Segundo Zona horaria Dígito 2 Dígito 1 Digito 2 Digito 1 Digito 2 Dígito 1 Digito 2 Digito 1 Digito 2 Digito 1 Digito 2 Digito 1 Dígito 2 Digito 1

UDL (User Data Length)

Indica el número de caracteres de los datos de usuario.

UD (User Data)

Datos de usuario. La codificación depende del formato seleccionado en el campo DCS. En el formato de 8 bits los caracteres se toman directamente de la codificación hexadecimal de cada caracter, pero en el formato de 7 bits es necesario realizar una agrupación de los septetos para formar octetos.

Los caracteres se codifican en binario formando septetos, a continuación se cogen los bits menos significativos del siguiente septeto para formar un octeto y se colocan como bits mas significativos del octeto que se está formando, este proceso se repite hasta finalizar todos los caracteres.

Paso Caracter H o l a
1 HEX 48 6F 6C 61
2 Binario 1001000 1101111 1101100 1100001
3 Bits a desplazar 1001000 1101111 1101100 1100001
4 Bits desplazados 11001000 00110111 00111011 00001100
5 Conversión HEX C8 37 3B 0C

 

Ejemplos:

1ª fila es el campo de la trama PDU.

2ª fila explicación.

3ª fila trama PDU ha enviar.

 

LONGITUD SCA

TIPO PDU

MR

LONGITUD NUMERO DESTINO

TIPO NUMERO DESTINO

NUMERO DESTINO

PID

DCS

VP

UDL

UD

SMSC por defecto

 

 

7 dígitos

Nacional

Número 1234567

 

7 bits

4 días

5 caracteres

"Hello" codificado en formato de 7 bits

00

11

00

07

81

214365F7

00

00

AA

05

E8329BFD06

 

LONGITUD
SCA

TIPO NUMERO SCA

NUMERO SCA

TIPO PDU

MR

LONGITUD NUMERO DESTINO

TIPO NUMERO DESTINO

NUMERO DESTINO

PID

DCS

VP

UDL

UD

 

 

+491710760000

 

 

 

 

1234567

 

8 bits

4 días

5 caracteres

"Hello" codificado en formato de 8 bits

07

91

947101670000

11

00

07

81

214365F7

00

F6

AA

05

68656C6C6F

 

LONGITUD
SCA

TIPO NUMERO SCA

TIPO PDU

MR

LONGITUD NUMERO DESTINO

TIPO NUMERO DESTINO

NUMERO DESTINO

PID

DCS

VP

UDL

UD

 

 

 

 

 

 

123456789

 

7 bits

24 horas

4 caracteres

"Hola" codificado en formato de 7 bits

01

80

11

00

09

81

21436587F9

00

00

A7

04

C8373B0C

 

Abreviaturas:

SMSC: Short Message Service Center .

MS: Mobile Station.

SME: Short Message Entity.

SMS-MO: Short Message Service-Mobile Originated.

OA: Originator Address.

DA: Destination Address.

 

Links:

http://stud.usv.ro/~amurariu/SMS%20and%20PDU%20format.htm

http://www.dreamfabric.com/sms/