Cómo representar correctamente la clase de mensaje en SMPP

Actualmente estoy tratando de descubrir cómo las clases de SMS están correctamente representadas en SMPP. Sin embargo, ahora estoy completamente confundido por el estándar y su documentación.

En SMS normales tenemos

Class0: SMS flash, que se muestran en la pantalla Class1: Sms normales para almacenar en el sim o internamente en el dispositivo

irando la especificación SMPP, primero encuentro el parámetrodata_coding en elsubmit_sm operación, que se utiliza para configurar el DCS enviado a través de MAP. Hasta donde yo entiendo esto, si queremos establecer explícitamente la clase de mensaje, necesitamos establecer los primeros cuatro bits de este parámetro en unos, luego dos bits que indican la codificación y luego otros dos bits que indican la clase de mensaje. Entonces, para Class1 Sms, estableceríamos1111xx01. ¿Es esto correcto hasta ahora?

Si intentamos configurar este DCS, sin embargo, actualmente también configuramos la codificación de datos en "datos de 8 bits". Parece que varios teléfonos no pueden entender esto. ¿Se especifica esto en cualquier parte? ¿Podemos cambiar esto o se necesita una codificación especial al enviar otras clases de mensajes?

Surge más confusión cuando intentamos usar la forma recomendada SMPPv3.4 de configurar la clase de mensaje. Desde 3.4 hay un parámetro opcional ensubmit_sm operación, llamadadest_addr_subunit. De acuerdo con el estándar, este parámetro debe establecerse en 0 para desconocido, 1 para MS-Display, 2 para equipo móvil, etc. Class0 se codifica como 1, Class1 se codifica como 2 y así sucesivamente. ¿Es esto correcto o hay algún mapeo más complicado detrás de esto?

Además, si establecemosdest_addr_subunit, ¿todavía tenemos que establecer DCS también, o podemos dejar este parámetro en su valor predeterminado?

Respuestas a la pregunta(1)

Su respuesta a la pregunta