Jak nakonfigurovat pole ESM Class v SMPP

Nastavení ESM třídy v Ozeki SMS Gateway

Ozeki SMS Gateway umožňuje ruční konfiguraci pole ESM class (Obrázek 1)

Obrázek 1 - Nastavení pole ESM class

Co je pole ESM Class?

Extended Service Message (ESM) Class v SMPP je 1bajtové pole v SMPP PDU, které řídí pokročilé funkce zpracování zpráv. Používá se v operacích submit_sm, deliver_sm a data_sm k určení:

  • Typu zpráv (např. SMS, doručenka)
  • Chování doručenky
  • Přítomnosti UDH (User Data Header)
  • Priorit a směrovacích příznaků zpráv

Struktura ESM Class a bitová maska

ESM class je bitová maska, kde každý bit nebo skupina bitů aktivuje specifické funkce:

Bity Popis
7 Režim zasílání: 0 = Výchozí, 1 = Datagram
6 Typ zprávy: 0 = Normální, 1 = Doručenka
5 UDHI indikátor: 1 = UDH přítomno v obsahu
4 Cesta odpovědi: 1 = Vyžadována cesta odpovědi
3-2 Priorita zprávy (00 = Normální, 01 = Interaktivní, 10 = Naléhavá, 11 = Nouzová)
1-0 Rezervováno

Běžné hodnoty ESM Class

ESM (Hex) Binárně Popis
0x00 00000000 Výchozí (žádné speciální zpracování)
0x04 00000100 Nastaven příznak UDHI (UDH přítomno)
0x08 00001000 Vyžádána cesta odpovědi
0x20 00100000 Doručenka (bit 6 = 1)
0x30 00110000 Naléhavá priorita + doručenka
0x60 01100000 Datagramový režim + doručenka
Poznámka: Mnoho SMSC ignoruje rezervované bity (1-0). Úrovně priority (bity 3-2) závisí na síti.

Klíčové případy použití

1. Skládané SMS (UDHI příznak)

Při odesílání vícedílných zpráv nastavte bit 5 (UDHI=1) a přidejte User Data Header (UDH) do obsahu. Příklad pro 3dílnou zprávu:

ESM Class: 0x40 (binárně 01000000: UDHI povoleno)
Obsah: 
05 00 03 02 01  // UDH (5 bajtů: IEI=00, IEDL=03, část 1 z 2)
C8329BFD06       // GSM-7 obsah ("Ahoj")

2. Žádosti o doručenku

Nastavte bit 6 (0x20) pro vyžádání doručenky. Často kombinováno s polem registered_delivery:

ESM Class: 0x20 (binárně 00100000)
registered_delivery: 0x01 (žádost o doručenku)

3>Prioritní zasílání zpráv

Použijte bity 3-2 k nastavení priority zpráv. Příklad pro naléhavou prioritu:

ESM Class: 0x10 (binárně 00010000: Naléhavá priorita)

Příklady SMPP PDU

Příklad 1: Základní SMS (ESM=0x00)

0000001D  // Délka příkazu (29 bajtů)
00000004  // ID příkazu (SubmitSM)
00000001  // Pořadové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cílový TON
00        // Cílový NPI
36353433323100  // Cílová adresa ("654321")
00        // ESM Class (0x00: Výchozí)
00        // Protokol ID (PID)
00        // Priorita
00        // Čas plánovaného doručení
00        // Platnost
00        // Registrované doručení
00        // Nahradit-pokud-přítomno
00        // Kódování dat (DCS=0x00)
00        // Výchozí ID zprávy SM
07        // Délka SM (7 septetů)
C8329BFD06DDDF72  // Obsah ("Ahoj!")

Příklad 2: Skládané SMS (ESM=0x40)

00000025  // Délka příkazu (37 bajtů)
00000004  // ID příkazu (SubmitSM)
00000002  // Pořadové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cílový TON
00        // Cílový NPI
36353433323100  // Cílová adresa ("654321")
40        // ESM Class (0x40: UDHI povoleno)
00        // Protokol ID (PID)
00        // Priorita
00        // Čas plánovaného doručení
00        // Platnost
00        // Registrované doručení
00        // Nahradit-pokud-přítomno
00        // Kódování dat (DCS=0x00)
00        // Výchozí ID zprávy SM
0C        // Délka SM (12 bajtů)
0500030201C8329BFD06DDDF72  // UDH + "Ahoj" (Část 1/2)

Příklad 3: Doručenka (ESM=0x20)

0000001D  // Délka příkazu (29 bajtů)
00000004  // ID příkazu (SubmitSM)
00000003  // Pořadové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cílový TON
00        // Cílový NPI
36353433323100  // Cílová adresa ("654321")
20        // ESM Class (0x20: Doručenka)
00        // Protokol ID (PID)
00        // Priorita
00        // Čas plánovaného doručení
00        // Platnost
01        // Registrované doručení (žádost o doručenku)
00        // Nahradit-pokud-přítomno
00        // Kódování dat (DCS=0x00)
00        // Výchozí ID zprávy SM
07        // Délka SM (7 septetů)
C8329BFD06DDDF72  // Obsah ("Ahoj!")

Interakce s dalšími poli

  • UDHI (ESM) + DCS: Pokud je UDHI nastaveno, ujistěte se, že DCS podporuje UDH (např. GSM-7 nebo 8-bit).
  • ESM Class + registered_delivery: Použijte obojí k explicitnímu vyžádání doručenky.
  • Prioritní bity + Prioritní příznak: Některé SMSC upřednostňují zprávy na základě bitů ESM místo samostatného pole priority.

Běžné problémy

  • Nastavení UDHI bez zahrnutí platného User Data Header.
  • Použití příznaků doručenky (ESM=0x20) bez nastavení registered_delivery.
  • Nesoulad prioritních bitů ESM s samostatným polem priority_flag.
Závěr

Třída ESM je výkonný nástroj pro ovládání chování zpráv v SMPP. Její bitová maska umožňuje funkce jako spojování, potvrzení o doručení a priorizaci. Vždy ověřte podporu pokročilých příznaků u SMSC a důkladně testujte konfigurace. Pro autoritativní detaily se obraťte na specifikaci SMPP v3.4 nebo v5.0.

More information