La cadena PDU no solo contiene el mensaje, sino que lleva información del centro de servicio SMS (AT+CSCA?), hora de llegada, tipo de mensaje, información sobre el que envía el SMS, vigencia del SMS, nº de caracteres del SMS, tipo de llamada (nacional ó internacional), tipo de alfabeto usado…
SMS decodificado y recibido en formato PDU
PDU Decodificación: | 07914356060018F2040B914356554985 F200002050825142950006416650DA0C 02 |
---|---|
Number | +34655594582 |
Texto | ALARMA |
SMSC | +34656000812 |
Validez | NA |
Tipo | Deliver |
MR | 0 |
---------------------------------------------------------------------------------------------------------------------------------------------------------
Ejemplo recibimos el SMS con el texto “ALARMA” el: 28/05/02 a las 15:24:59 zona 00
+CMGL: 12,1,,25
07914356060018F2040B914356554985F200002050825142950006416650DA0C02
Tipo PDU: Tipo Protocolo de la Unidad de Datos.
+CMGL: 12,1,,25
07914356060018F2040B914356554985F200002050825142950006416650DA0C02
Estructura del SMS recibidos en formato PDU
DCS: Dirección Centro de Servicio.DCS... | Tipo.PDU. | DO... | PID... | NR... | COD... | TR... | LD. | DATOS.. |
Tipo PDU: Tipo Protocolo de la Unidad de Datos.
DO: Dirección de Origen del mensaje.
PID: Protocolo Identificación.
NR:
COD: Codificación trama de Datos.
TR: Tiempo Recepción.
LD: Longitud Datos.
DATOS: Datos codificados.
PID: Protocolo Identificación.
NR:
COD: Codificación trama de Datos.
TR: Tiempo Recepción.
LD: Longitud Datos.
DATOS: Datos codificados.
---------------------------------------------------------------------------------------------------------------------------------------------------------
DCS: Dirección Centro de Servicio
07914356060018F2040B914356554985F200002050825142950006416650DA0C02
07914356060018F2 donde …
07914356060018F2
|
LNº: longitud nº Dirección Centro de Servicio.
07 = numero de octetos (pares de caracteres hexadecimales o decimales) que forman el campo dirección centro servicio.
TLL: tipo de llamada
91 = nº con prefijo internacional (nacional 81) (internacional 91)
Nº CS: numero del centro de servicio.
4356060018F2 = nº +34656000812
Se pondrá el número del centro de servicio que utilizamos invirtiendo el orden por pares la F se pone cuando la longitud del número es impar.
Si en este campo ponemos 00 se toma automáticamente el valor del nº del centro de servicio (dado por at+csca)
04 donde...
4356060018F2 = nº +34656000812
Se pondrá el número del centro de servicio que utilizamos invirtiendo el orden por pares la F se pone cuando la longitud del número es impar.
Si en este campo ponemos 00 se toma automáticamente el valor del nº del centro de servicio (dado por at+csca)
---------------------------------------------------------------------------------------------------------------------------------------------------------
Tipo PDU: Tipo Protocolo de la Unidad de Datos
07914356060018F2040B914356554985F200002050825142950006416650DA0C02Tipo PDU: Tipo Protocolo de la Unidad de Datos
04 donde...
|
PC: Path contestación (0 No, 1 Sí)
CD: Cabecera datos (0 Sin, 1 Con)
RE: Petición reporte de estado (0 No, 1 Sí). Este campo lo rellena el centro de servicio.
RD: permite que el centro de SMS acepte un SMS-SUBMIT para un mensaje que todavía está en el centro. (0 Sí, 1 No)
TIPO: 0 0 Tipo SMS recibido
---------------------------------------------------------------------------------------------------------------------------------------------------------
DO: Dirección de Origen
07914356060018F2040B914356554985F200002050825142950006416650DA0C02
0B914356554985F2 donde …0B914356554985F2
|
LNº: longitud nº Dirección Centro de Servicio.
0B = número de semioctetos (pares de caracteres hexadecimales. 11=0B semioctetos)
TLL: tipo de llamada
91 = nº con prefijo internacional (nacional 81) (internacional 91)
TLL: tipo de llamada
91 = nº con prefijo internacional (nacional 81) (internacional 91)
Nº CS: numero del centro de servicio.
4356060018F2 = nº +34656000812Se pondrá el número del centro de servicio que utilizamos invirtiendo el orden por pares la F se pone cuando la longitud del número es impar.
4356060018F2 = nº +34656000812Se pondrá el número del centro de servicio que utilizamos invirtiendo el orden por pares la F se pone cuando la longitud del número es impar.
---------------------------------------------------------------------------------------------------------------------------------------------------------
PID: Protocolo Identificación
07914356060018F2040B914356554985F200002050825142950006416650DA0C02
00
---------------------------------------------------------------------------------------------------------------------------------------------------------
COD: Codificación trama de Datos. 07914356060018F2040B914356554985F200002050825142950006416650DA0C02
00
Indica el alfabeto con el que se codifica la trama (alfabeto por defecto= codificación a 7 bits o codificación a 8 bits) e indica tipo de SMS.
0000 0 0 00 Alfabeto a 7 bits
1111 0
0 7 bits
1 8 bits
00 mensaje clase 0 (se muestra en el display inmediatamente)
01 mensaje clase 1 ME
10 mensaje clase 2 SIM
11 ensaje clase 3 TE
TR: Tiempo Recepción.
0000 0 0 00 Alfabeto a 7 bits
1111 0
0 7 bits
1 8 bits
00 mensaje clase 0 (se muestra en el display inmediatamente)
01 mensaje clase 1 ME
10 mensaje clase 2 SIM
11 ensaje clase 3 TE
---------------------------------------------------------------------------------------------------------------------------------------------------------
TR: Tiempo Recepción.
07914356060018F2040B914356554985F200002050825142950006416650DA0C02
20508251429500 donde...
20508251429500
20508251429500
Día | Mes | Año | Hora | Minutos | Segundos | Zona Horaria |
02/05/28, 15:24:59+00
Indica cuando se ha recibido el SMS.
---------------------------------------------------------------------------------------------------------------------------------------------------------
07914356060018F2040B914356554985F200002050825142950006416650DA0C02
06
nº de octetos que forman los datos del mensaje.
Ejemplo: si el mensaje está formado por la siguiente cadena 416650DA0C02
El campo LD se rellenará con 06 (ya que hay 6 octetos= 2 caracteres hexadecimal)---------------------------------------------------------------------------------------------------------------------------------------------------------
Ejemplo: si el mensaje está formado por la siguiente cadena 416650DA0C02
El campo LD se rellenará con 06 (ya que hay 6 octetos= 2 caracteres hexadecimal)---------------------------------------------------------------------------------------------------------------------------------------------------------
DATOS: Datos codificados
07914356060018F2040B914356554985F200002050825142950006416650DA0C02
416650DA0C02
ALARMA, codificado a 7 bits (con el alfabeto indicado en el campo codificación de datos)
Para transformarlo a octetos se toma el número de caracteres de la siguiente letra que nos falten para llegar a 8, cuando se hayan tomado caracteres de una letra para la anterior, esta se queda sin esos caracteres y los debe tomar de la siguiente letra
07914356060013F11100098126064321F50000A706416650DA0C02
07 = nº octetos que forman el campo dirección centro servicio
91 = nº con prefijo internacional
4356060013F1 = nº centro servicio 34656000131
LNº: longitud nº centro servicio. Nº de octetos (pares de caracteres hexadecimales o decimales) que forman el nº del centro de servicio más 1 octeto que indica tipo de llamada nacional o internacional.
Si en este campo ponemos 00 se toma automáticamente el valor del nº del centro de servicio (dado por at+csca)
TLL: tipo de llamada:
Nº CS: nº centro de servicio.
TIPO PDU: Tipo Protocolo de la Unidad de Datos
0000 0 0 00 Alfabeto a 7 bits
1111 0
0 7 bits
1 8 bits
00 mensaje clase 0 (se muestra en el display inmediatamente)
01 mensaje clase 1 ME
10 mensaje clase 2 SIM
11 ensaje clase 3 TE
PV: Periodo de Vigencia del sms
Valor de PV:
0 a 143 (PV+1)*5 minutos
144 a 167 12horas+(PV-143)*30 minutos
168 a 196 (PV-1) *1 día
197 a 255 (PV-192)*1 semana
Ejemplo AA: (AA=170-> 170-166=4 * 1 día=4 días )
LD: Longitud de la cadena de datos.
Nº de octetos que forman los datos del mensaje.
DATOS: Datos codificado a 7 bits (con el alfabeto indicado en el campo codificación de datos)
---------------------------------------------------------------------------------------------------------------------------------------------------------
Codificador online: http://es.wammu.eu/tools/pdu-encode/
................... A | ...................... L | ........................ A | .......................... R | ............................ M | ................... A | |
Hexadecimal | 41 | 4C | 41 | 52 | 4D | 41 |
Binario | 1000001 | 100110 0 | 10000 01 | 1010 010 | 100 1101 | 10 00001 |
0 1000001 | 01 1001100 | 010 1000001 | 1101 1010010 | 00001 1001101 | 10 00001 | |
Codific.7bits | 41 | 66 | 50 | DA | 0C | 02 |
Codificación de la palabra HOLA:
|
Para transformarlo a octetos se toma el número de caracteres de la siguiente letra que nos falten para llegar a 8, cuando se hayan tomado caracteres de una letra para la anterior, esta se queda sin esos caracteres y los debe tomar de la siguiente letra
1 1001000 | 00 100111 1 | 001 10011 00 | 1000 001 |
C8 | 27 | 33 | 08 |
---------------------------------------------------------------------------------------------------------------------------------------------------------
Estructura de los SMS para enviar en formato PDU
DCS... | Tipo.PDU. | NR. | DD... | PID. | COD... | PV... | LD... | DATOS.. |
07914356060013F11100098126064321F50000A706416650DA0C02
07 = nº octetos que forman el campo dirección centro servicio
91 = nº con prefijo internacional
4356060013F1 = nº centro servicio 34656000131
11 = tipo PDU (SMS para enviar. Formato Periodo Vigencia Relativo(1 octeto)
00 = número de referencia.
09 = número de semioctetos (caracteres) del teléfono de envío
81 = nº sin prefijo internacional
26064321F5 = nº teléfono de envío 62064321F5
81 = nº sin prefijo internacional
26064321F5 = nº teléfono de envío 62064321F5
00 = protocolo identificación
00 = codificación trama de datos a 7 bits. Alfabeto por defecto
A7 = periodo de vigencia del SMS.
06 = nº de octetos que forman los datos del mensaje.
416650DA0C02 = datos “ALARMA” codificado a 7 bits.---------------------------------------------------------------------------------------------------------------------------------------------------------
DCS: Dirección Centro de Servicio
Estructura de los SMS enviados en formato PDU
DCS... | Tipo.PDU. | DD. | PID.. | NR. | COD... | PV... | LD... | DATOS.. |
DCS: Dirección Centro de Servicio
|
Si en este campo ponemos 00 se toma automáticamente el valor del nº del centro de servicio (dado por at+csca)
TLL: tipo de llamada:
Nº CS: nº centro de servicio.
TIPO PDU: Tipo Protocolo de la Unidad de Datos
|
PC: Path contestación (0 No, 1 Sí)
CD: Cabecera datos (0 Sin, 1 Con)
PRE: Petición reporte de estado (0 No, 1 Sí)
PV: campo Periodo Vigencia presente (0 0 No, 01 Reservado, Sí como entero, Sí como semiocteto)
RD: permite que el centro de SMS acepte un SMS-SUBMIT para un mensaje que todavía está en el centro. (0 Sí, 1 No)
TIPO: 0 1 Mensaje de envío
DD: Dirección destino.
Se rellenará igual que el campo Dirección centro de servicio, poniendo el nº de teléfono del destinatario del SMS. En el campo longitud nº se contarán por semioctetos sin contar la F en caso de que haya habido que ponerla.
Ejemplo: nº 34676543524(11=0B semioctetos) en el campo DD será 0B914376563425F4)
PID: Protocolo Identificación.
Lo pondremos a 00
NR: Número de referencia
COD: Codificación trama de datos
Indica el alfabeto con el que se codifica la trama (alfabeto por defecto= codificación a 7 bits o codificación a 8 bits) e indica tipo de SMS.
CD: Cabecera datos (0 Sin, 1 Con)
PRE: Petición reporte de estado (0 No, 1 Sí)
PV: campo Periodo Vigencia presente (0 0 No, 01 Reservado, Sí como entero, Sí como semiocteto)
RD: permite que el centro de SMS acepte un SMS-SUBMIT para un mensaje que todavía está en el centro. (0 Sí, 1 No)
TIPO: 0 1 Mensaje de envío
DD: Dirección destino.
Se rellenará igual que el campo Dirección centro de servicio, poniendo el nº de teléfono del destinatario del SMS. En el campo longitud nº se contarán por semioctetos sin contar la F en caso de que haya habido que ponerla.
Ejemplo: nº 34676543524(11=0B semioctetos) en el campo DD será 0B914376563425F4)
PID: Protocolo Identificación.
Lo pondremos a 00
NR: Número de referencia
COD: Codificación trama de datos
Indica el alfabeto con el que se codifica la trama (alfabeto por defecto= codificación a 7 bits o codificación a 8 bits) e indica tipo de SMS.
0000 0 0 00 Alfabeto a 7 bits
1111 0
0 7 bits
1 8 bits
00 mensaje clase 0 (se muestra en el display inmediatamente)
01 mensaje clase 1 ME
10 mensaje clase 2 SIM
11 ensaje clase 3 TE
PV: Periodo de Vigencia del sms
Valor de PV:
0 a 143 (PV+1)*5 minutos
144 a 167 12horas+(PV-143)*30 minutos
168 a 196 (PV-1) *1 día
197 a 255 (PV-192)*1 semana
Ejemplo AA: (AA=170-> 170-166=4 * 1 día=4 días )
LD: Longitud de la cadena de datos.
Nº de octetos que forman los datos del mensaje.
DATOS: Datos codificado a 7 bits (con el alfabeto indicado en el campo codificación de datos)
---------------------------------------------------------------------------------------------------------------------------------------------------------
Codificador online: http://es.wammu.eu/tools/pdu-encode/
Decodificador online: http://es.wammu.eu/tools/pdu-decode/
Ejemplos PDU: http://www.blogelectronica.com/TEMP/Ejemplos-sms-pdu.txt ---------------------------------------------------------------------------------------------------------------------------------------------------------
Ejemplos PDU: http://www.blogelectronica.com/TEMP/Ejemplos-sms-pdu.txt ---------------------------------------------------------------------------------------------------------------------------------------------------------