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)
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 |
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
.
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
- Jak nakonfigurovat pole Typ služby SMPP
- Jak nakonfigurovat pole Telefonní čísla SMPP
- Jak nakonfigurovat pole Třída ESM SMPP
- Jak nakonfigurovat pole PID SMPP
- Jak nakonfigurovat pole Priorita SMPP
- Jak nakonfigurovat pole Naplánovaný čas SMPP
- Jak nakonfigurovat pole Platnost SMPP
- Jak nakonfigurovat pole Registrované doručení SMPP
- Jak nakonfigurovat pole Nahradit pokud existuje SMPP
- Jak nakonfigurovat pole sm_default_msg_id
- Jak nakonfigurovat pole DCS SMPP
- Jak vypočítat pole Délka SM SMPP
- Jak vložit data do pole SMPP SM