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)

Slika 1 - Nastavitev polja ESM class

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
Opomba: Mnogi SMSC ignorirajo rezervirane bite (1-0). Stopnje prioritete (biti 3-2) so odvisne od omrežja.

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.

More information