PDU

Una unidad de datos de protocolo es un comando SMPP en el enlace, por ejemplo submit_sm: una cabecera fija y un cuerpo definido por el comando.

Solo definiciones: un término explicado aquí no es un servicio que vendamos.

Una unidad de datos de protocolo es un comando codificado en la red dentro de un protocolo concreto: una cabecera fija y un cuerpo que depende del comando. En SMPP, la cabecera lleva la longitud de comando, el ID de comando, el estado de comando y el número de secuencia.

El cuerpo de un submit_sm lleva las direcciones, la codificación de datos y el campo short_message. Ese campo contiene los datos de usuario y, cuando esm_class lo indica, una UDH; el SMSC lo convierte en la TPDU de 3GPP TS 23.040 en el lado radio.

El decodificador SMPP analiza en el navegador una PDU pegada, pero solo puede leer los bytes que recibe.

Una PDU, campo por campo

command_length
32
command_id
0x00000004
command_status
0x00000000
sequence_number
1
service_type
source_addr_ton
0
source_addr_npi
0
source_addr
dest_addr_ton
0
dest_addr_npi
0
destination_addr
esm_class
0x00
La cabecera es fija; el cuerpo cambia con el comando.
Descripción en texto

Toda PDU empieza con una longitud de comando de cuatro bytes, el ID de comando, el estado de comando y el número de secuencia. Después viene el cuerpo.

Preguntas frecuentes

¿Una PDU es lo mismo que un paquete?

No. Una PDU pertenece a un protocolo concreto con un diseño definido; en el trabajo con SMS suele significar un comando SMPP o el mensaje corto codificado.

¿Por qué una PDU se decodifica como texto incorrecto?

La codificación de datos y la cabecera de datos de usuario son las causas habituales.

¿Se puede decodificar una PDU sin conocer el sentido?

No de forma fiable. Una TPDU en bruto (SMS-SUBMIT frente a SMS-DELIVER) tiene un orden de campos distinto en cada dirección; una PDU SMPP indica su comando en command_id, así que el ID de comando da la dirección.

Más información

Fuentes

  1. 3GPP TS 23.040: realización técnica del servicio de mensajes cortos
  2. 3GPP TS 23.038: alfabetos e información específica del idioma para SMS
  3. SMPP v3.4: cabecera de comando y campo short_message