Kako konfigurirati polje ESM Class v SMPP
Nastavitve ESM class v Ozeki SMS Gateway
Ozeki SMS Gateway vam omogoča ročno konfiguriranje polja ESM class (Slika 1)
Kaj je polje ESM Class?
Extended Service Message (ESM) Class v SMPP je 1-bajtno polje v SMPP PDU-jih, ki nadzoruje napredne funkcije obdelave sporočil.
Uporablja se v operacijah submit_sm
, deliver_sm
in data_sm
za določanje:
- Vrste sporočil (npr. SMS, potrdilo o dostavi)
- Obnašanja potrdila o dostavi
- Prisotnosti UDH (User Data Header)
- Prioritete sporočila in zastavic za usmerjanje
Struktura in bitna maska ESM Class
ESM class je bitna maska, kjer vsak bit ali skupina bitov aktivira posebne funkcije:
Bit | Opis |
---|---|
7 | Način pošiljanja: 0 = Privzeto, 1 = Datagram |
6 | Vrsta sporočila: 0 = Običajno, 1 = Potrdilo o dostavi |
5 | UDHI indikator: 1 = UDH je prisoten v nosilcu |
4 | Pot odgovora: 1 = Zahtevana pot odgovora |
3-2 | Prioriteta sporočila (00 = Običajno, 01 = Interaktivno, 10 = Nujno, 11 = Izredno) |
1-0 | Rezervirano |
Pogoste vrednosti ESM Class
ESM (Hex) | Binarno | Opis |
---|---|---|
0x00 | 00000000 | Privzeto (brez posebne obdelave) |
0x04 | 00000100 | Nastavljena zastavica UDHI (UDH prisoten) |
0x08 | 00001000 | Zahtevana pot odgovora |
0x20 | 00100000 | Potrdilo o dostavi (bit 6 = 1) |
0x30 | 00110000 | Nujna prioriteta + potrdilo o dostavi |
0x60 | 01100000 | Datagram način + potrdilo o dostavi |
Ključni primeri uporabe
1. Združeni SMS (UDHI zastavica)
Pri pošiljanju večdelnega sporočila nastavite bit 5 (UDHI=1) in vključite User Data Header (UDH) v nosilec. Primer za 3-delno sporočilo:
ESM Class: 0x40 (binarno 01000000: UDHI omogočen) Nosilec: 05 00 03 02 01 // UDH (5 bajtov: IEI=00, IEDL=03, del 1 od 2) C8329BFD06 // GSM-7 nosilec ("Hello")
2. Zahteva za potrdilo o dostavi
Nastavite bit 6 (0x20) za zahtevo po potrdilu o dostavi. Pogosto kombinirano s poljem registered_delivery
:
ESM Class: 0x20 (binarno 00100000) registered_delivery: 0x01 (zahteva po potrdilu)
3. Prednostno pošiljanje
Uporabite bite 3-2 za določanje prioritete sporočila. Primer za nujno prioriteto:
ESM Class: 0x10 (binarno 00010000: Nujna prioriteta)
Primeri SMPP PDU-jev
Primer 1: Osnovni SMS (ESM=0x00)
0000001D // Dolžina ukaza (29 bajtov) 00000004 // ID ukaza (SubmitSM) 00000001 // Zaporedna številka 00 // Vir TON 00 // Vir NPI 736F7572636500 // Naslov pošiljatelja ("source") 00 // Cilj TON 00 // Cilj NPI 36353433323100 // Naslov prejemnika ("654321") 00 // ESM Class (0x00: Privzeto) 00 // Protokol ID (PID) 00 // Prioriteta 00 // Čas načrtovane dostave 00 // Veljavnost 00 // Registrirana dostava 00 // Zamenjaj, če je prisoten 00 // Kodiranje podatkov (DCS=0x00) 00 // Privzeti ID sporočila 07 // Dolžina sporočila (7 septetov) C8329BFD06DDDF72 // Nosilec ("Hello!")
Primer 2: Združeni SMS (ESM=0x40)
00000025 // Dolžina ukaza (37 bajtov) 00000004 // ID ukaza (SubmitSM) 00000002 // Zaporedna številka 00 // Vir TON 00 // Vir NPI 736F7572636500 // Naslov pošiljatelja ("source") 00 // Cilj TON 00 // Cilj NPI 36353433323100 // Naslov prejemnika ("654321") 40 // ESM Class (0x40: UDHI omogočen) 00 // Protokol ID (PID) 00 // Prioriteta 00 // Čas načrtovane dostave 00 // Veljavnost 00 // Registrirana dostava 00 // Zamenjaj, če je prisoten 00 // Kodiranje podatkov (DCS=0x00) 00 // Privzeti ID sporočila 0C // Dolžina sporočila (12 bajtov) 0500030201C8329BFD06DDDF72 // UDH + "Hello" (Del 1/2)
Primer 3: Potrdilo o dostavi (ESM=0x20)
0000001D // Dolžina ukaza (29 bajtov) 00000004 // ID ukaza (SubmitSM) 00000003 // Zaporedna številka 00 // Vir TON 00 // Vir NPI 736F7572636500 // Naslov pošiljatelja ("source") 00 // Cilj TON 00 // Cilj NPI 36353433323100 // Naslov prejemnika ("654321") 20 // ESM Class (0x20: Potrdilo o dostavi) 00 // Protokol ID (PID) 00 // Prioriteta 00 // Čas načrtovane dostave 00 // Veljavnost 01 // Registrirana dostava (zahtevano potrdilo) 00 // Zamenjaj, če je prisoten 00 // Kodiranje podatkov (DCS=0x00) 00 // Privzeti ID sporočila 07 // Dolžina sporočila (7 septetov) C8329BFD06DDDF72 // Nosilec ("Hello!")
Interakcije z drugimi polji
- UDHI (ESM) + DCS: Če je UDHI nastavljen, zagotovite, da DCS podpira UDH (npr. GSM-7 ali 8-bit).
- ESM Class + registered_delivery: Uporabite oba za eksplicitno zahtevo po potrdilu o dostavi.
- Prioritetni biti + Prioritetna zastavica: Nekateri SMSC dajejo prednost sporočilom na podlagi bitov ESM namesto ločenega polja prioritete.
Pogoste napake
- Nastavitev UDHI brez vključitve veljavnega User Data Headerja.
- Uporaba zastavic za potrdilo o dostavi (ESM=0x20) brez nastavitve
registered_delivery
. - Neujemanje prioritetnih bitov ESM s samostojnim poljem
priority_flag
.
Zaključek
Razred ESM je zmogljivo orodje za nadzor obnašanja sporočil v SMPP. Njegova zasnova z bitno masko omogoča funkcije, kot so združevanje, potrditve in prioritizacija. Vedno preverite podporo SMSC za napredne zastavice in temeljito preizkusite konfiguracije. Za avtoritativne podrobnosti glejte specifikacijo SMPP v3.4 ali v5.0.