Ako nakonfigurovať pole ESM Class v SMPP
Nastavenia ESM class v Ozeki SMS Gateway
Ozeki SMS Gateway umožňuje manuálnu konfiguráciu poľa ESM class (Obrázok 1)
Čo je pole ESM Class?
Extended Service Message (ESM) Class v SMPP je 1-bajtové pole v SMPP PDU, ktoré riadi pokročilé funkcie spracovania správ.
Používa sa v operáciách submit_sm, deliver_sm a data_sm na určenie:
- Typu správy (napr. SMS, doručovací doklad)
- Správania doručovacieho dokladu
- Prítomnosti UDH (User Data Header)
- Priority a smerovacích príznakov správy
Štruktúra a bitová maska ESM Class
ESM class je bitová maska, kde každý bit alebo skupina bitov aktivuje špecifické funkcie:
| Bity | Popis |
|---|---|
| 7 | Režim správy: 0 = Predvolený, 1 = Datagram |
| 6 | Typ správy: 0 = Normálna, 1 = Doručovací doklad |
| 5 | UDHI indikátor: 1 = UDH je prítomný v dátovej časti |
| 4 | Reply Path: 1 = Vyžiadaná odpoveď |
| 3-2 | Priorita správy (00 = Normálna, 01 = Interaktívna, 10 = Urgentná, 11 = Nouzová) |
| 1-0 | Rezervované |
Bežné hodnoty ESM Class
| ESM (Hex) | Binárne | Popis |
|---|---|---|
| 0x00 | 00000000 | Predvolené (žiadne špeciálne spracovanie) |
| 0x04 | 00000100 | Nastavený príznak UDHI (UDH je prítomný) |
| 0x08 | 00001000 | Vyžiadaná odpoveď |
| 0x20 | 00100000 | Doručovací doklad (bit 6 = 1) |
| 0x30 | 00110000 | Urgentná priorita + doručovací doklad |
| 0x60 | 01100000 | Datagramový režim + doručovací doklad |
Kľúčové prípady použitia
1. Zreťazené SMS (UDHI príznak)
Pri odosielaní viacdielnych správ nastavte bit 5 (UDHI=1) a zahrňte User Data Header (UDH) do dátovej časti. Príklad pre 3-dielnu správu:
ESM Class: 0x40 (binárne 01000000: UDHI povolené)
Dátová časť:
05 00 03 02 01 // UDH (5 bajtov: IEI=00, IEDL=03, časť 1 z 2)
C8329BFD06 // GSM-7 dátová časť ("Ahoj")
2. Žiadosti o doručovací doklad
Nastavte bit 6 (0x20) na vyžiadanie doručovacieho dokladu. Často kombinované s poľom registered_delivery:
ESM Class: 0x20 (binárne 00100000) registered_delivery: 0x01 (žiadosť o doklad)
3. Prioritné správy
Použite bity 3-2 na určenie priority správ. Príklad pre urgentnú prioritu:
ESM Class: 0x10 (binárne 00010000: Urgentná priorita)
Príklady SMPP PDU
Príklad 1: Základná SMS (ESM=0x00)
0000001D // Dĺžka príkazu (29 bajtov)
00000004 // ID príkazu (SubmitSM)
00000001 // Poradové číslo
00 // Zdrojový TON
00 // Zdrojový NPI
736F7572636500 // Zdrojová adresa ("source")
00 // Cieľový TON
00 // Cieľový NPI
36353433323100 // Cieľová adresa ("654321")
00 // ESM Class (0x00: Predvolené)
00 // Protokol ID (PID)
00 // Priorita
00 // Čas naplánovaného doručenia
00 // Platnosť
00 // Registrované doručenie
00 // Nahradiť ak je prítomné
00 // Kódovanie dát (DCS=0x00)
00 // Predvolené ID správy
07 // Dĺžka správy (7 septetov)
C8329BFD06DDDF72 // Dátová časť ("Ahoj!")
Príklad 2: Zreťazená SMS (ESM=0x40)
00000025 // Dĺžka príkazu (37 bajtov)
00000004 // ID príkazu (SubmitSM)
00000002 // Poradové číslo
00 // Zdrojový TON
00 // Zdrojový NPI
736F7572636500 // Zdrojová adresa ("source")
00 // Cieľový TON
00 // Cieľový NPI
36353433323100 // Cieľová adresa ("654321")
40 // ESM Class (0x40: UDHI povolené)
00 // Protokol ID (PID)
00 // Priorita
00 // Čas naplánovaného doručenia
00 // Platnosť
00 // Registrované doručenie
00 // Nahradiť ak je prítomné
00 // Kódovanie dát (DCS=0x00)
00 // Predvolené ID správy
0C // Dĺžka správy (12 bajtov)
0500030201C8329BFD06DDDF72 // UDH + "Ahoj" (Časť 1/2)
Príklad 3: Doručovací doklad (ESM=0x20)
0000001D // Dĺžka príkazu (29 bajtov)
00000004 // ID príkazu (SubmitSM)
00000003 // Poradové číslo
00 // Zdrojový TON
00 // Zdrojový NPI
736F7572636500 // Zdrojová adresa ("source")
00 // Cieľový TON
00 // Cieľový NPI
36353433323100 // Cieľová adresa ("654321")
20 // ESM Class (0x20: Doručovací doklad)
00 // Protokol ID (PID)
00 // Priorita
00 // Čas naplánovaného doručenia
00 // Platnosť
01 // Registrované doručenie (žiadosť o doklad)
00 // Nahradiť ak je prítomné
00 // Kódovanie dát (DCS=0x00)
00 // Predvolené ID správy
07 // Dĺžka správy (7 septetov)
C8329BFD06DDDF72 // Dátová časť ("Ahoj!")
Interakcie s inými poľami
- UDHI (ESM) + DCS: Ak je UDHI nastavené, uistite sa, že DCS podporuje UDH (napr. GSM-7 alebo 8-bit).
- ESM Class + registered_delivery: Použite obidve na explicitnú žiadosť o doručovacie doklady.
- Priority Bits + Priority Flag: Niektoré SMSC uprednostňujú správy na základe bitov ESM namiesto samostatného poľa priority.
Bežné problémy
- Nastavenie UDHI bez zahrnutia platného User Data Header.
- Použitie príznakov doručovacieho dokladu (ESM=0x20) bez nastavenia
registered_delivery. - Nesúlad bitov priority ESM s samostatným poľom
priority_flag.
Záver
Trieda ESM je výkonný nástroj na ovládanie správania správ v SMPP. Jej bitmaskový dizajn umožňuje funkcie ako zreťazenie, potvrdenia o doručení a priorizáciu. Vždy overte podporu SMSC pre pokročilé príznaky a dôkladne otestujte konfigurácie. Pre autoritatívne informácie sa obráťte na špecifikáciu SMPP v3.4 alebo v5.0.