Kako konfigurisati SMPP ESM Class polje

Podešavanja ESM klase u Ozeki SMS Gateway-u

Ozeki SMS Gateway vam omogućava ručno podešavanje ESM class polja (Slika 1)

Slika 1 - Podešavanje ESM class polja

Šta je ESM Class polje?

Extended Service Message (ESM) Class u SMPP je 1-bajtno polje u SMPP PDU-ima koje kontroliše napredne funkcije rukovanja porukama. Koristi se u submit_sm, deliver_sm, i data_sm operacijama da specificira:

  • Tipove poruka (npr. SMS, potvrda o isporuci)
  • Ponašanje potvrde o isporuci
  • Prisustvo UDH (User Data Header)
  • Prioritet poruke i flagove za rutiranje

Struktura ESM Class i bitmask

ESM klasa je bitmask gde svaki bit ili grupa bitova aktivira specifične funkcije:

Bitovi Opis
7 Mod slanja poruka: 0 = Podrazumevano, 1 = Datagram
6 Tip poruke: 0 = Normalna, 1 = Potvrda o isporuci
5 UDHI indikator: 1 = UDH prisutan u sadržaju
4 Putanja odgovora: 1 = Zahtevana putanja odgovora
3-2 Prioritet poruke (00 = Normalan, 01 = Interaktivan, 10 = Hitno, 11 = Hitno hitno)
1-0 Rezervisano

Uobičajene vrednosti ESM Class

ESM (Hex) Binarno Opis
0x00 00000000 Podrazumevano (bez specijalnog rukovanja)
0x04 00000100 UDHI flag postavljen (UDH prisutan)
0x08 00001000 Zahtevana putanja odgovora
0x20 00100000 Potvrda o isporuci (bit 6 = 1)
0x30 00110000 Hitni prioritet + potvrda o isporuci
0x60 01100000 Datagram mod + potvrda o isporuci
Napomena: Mnogi SMSC-ovi ignorišu rezervisane bitove (1-0). Nivoi prioriteta (bitovi 3-2) zavise od mreže.

Ključni slučajevi upotrebe

1. Spojeni SMS (UDHI flag)

Prilikom slanja višedelnih poruka, postavite bit 5 (UDHI=1) i uključite User Data Header (UDH) u sadržaj. Primer za 3-delnu poruku:

ESM Class: 0x40 (binarno 01000000: UDHI omogućen)
Sadržaj: 
05 00 03 02 01  // UDH (5 bajta: IEI=00, IEDL=03, deo 1 od 2)
C8329BFD06       // GSM-7 sadržaj ("Zdravo")

2. Zahtevi za potvrdom o isporuci

Postavite bit 6 (0x20) da zatražite potvrdu o isporuci. Često se kombinuje sa registered_delivery poljem:

ESM Class: 0x20 (binarno 00100000)
registered_delivery: 0x01 (zahtev za potvrdom)

3. Poruke sa prioritetom

Koristite bitove 3-2 da postavite prioritet poruka. Primer za hitni prioritet:

ESM Class: 0x10 (binarno 00010000: Hitni prioritet)

Primeri SMPP PDU-a

Primer 1: Osnovni SMS (ESM=0x00)

0000001D  // Dužina komande (29 bajta)
00000004  // ID komande (SubmitSM)
00000001  // Redni broj sekvence
00        // Source TON
00        // Source NPI
736F7572636500  // Source adresa ("source")
00        // Dest TON
00        // Dest NPI
36353433323100  // Destinaciona adresa ("654321")
00        // ESM Class (0x00: Podrazumevano)
00        // Protocol ID (PID)
00        // Prioritet
00        // Vreme planirane isporuke
00        // Period važenja
00        // Registrovana isporuka
00        // Zameni ako postoji
00        // Kodiranje podataka (DCS=0x00)
00        // Podrazumevani ID poruke
07        // Dužina poruke (7 septeta)
C8329BFD06DDDF72  // Sadržaj ("Zdravo!")

Primer 2: Spojeni SMS (ESM=0x40)

00000025  // Dužina komande (37 bajta)
00000004  // ID komande (SubmitSM)
00000002  // Redni broj sekvence
00        // Source TON
00        // Source NPI
736F7572636500  // Source adresa ("source")
00        // Dest TON
00        // Dest NPI
36353433323100  // Destinaciona adresa ("654321")
40        // ESM Class (0x40: UDHI omogućen)
00        // Protocol ID (PID)
00        // Prioritet
00        // Vreme planirane isporuke
00        // Period važenja
00        // Registrovana isporuka
00        // Zameni ako postoji
00        // Kodiranje podataka (DCS=0x00)
00        // Podrazumevani ID poruke
0C        // Dužina poruke (12 bajta)
0500030201C8329BFD06DDDF72  // UDH + "Zdravo" (Deo 1/2)

Primer 3: Potvrda o isporuci (ESM=0x20)

0000001D  // Dužina komande (29 bajta)
00000004  // ID komande (SubmitSM)
00000003  // Redni broj sekvence
00        // Source TON
00        // Source NPI
736F7572636500  // Source adresa ("source")
00        // Dest TON
00        // Dest NPI
36353433323100  // Destinaciona adresa ("654321")
20        // ESM Class (0x20: Potvrda o isporuci)
00        // Protocol ID (PID)
00        // Prioritet
00        // Vreme planirane isporuke
00        // Period važenja
01        // Registrovana isporuka (zahtev za potvrdom)
00        // Zameni ako postoji
00        // Kodiranje podataka (DCS=0x00)
00        // Podrazumevani ID poruke
07        // Dužina poruke (7 septeta)
C8329BFD06DDDF72  // Sadržaj ("Zdravo!")

Interakcije sa drugim poljima

  • UDHI (ESM) + DCS: Ako je UDHI postavljen, osigurajte da DCS podržava UDH (npr. GSM-7 ili 8-bit).
  • ESM Class + registered_delivery: Koristite oba da eksplicitno zatražite potvrdu o isporuci.
  • Prioritet bitovi + Prioritet flag: Neki SMSC-ovi daju prioritet porukama na osnovu ESM bitova umesto zasebnog prioritetnog polja.

Uobičajene greške

  • Postavljanje UDHI bez uključivanja validnog User Data Header-a.
  • Korišćenje flagova za potvrdu o isporuci (ESM=0x20) bez postavljanja registered_delivery.
  • Neusklađenost ESM prioritet bitova sa zasebnim priority_flag poljem.

Zaključak

ESM klasa je moćan alat za kontrolu ponašanja poruka u SMPP-u. Njen dizajn sa bitmaskom omogućava funkcije kao što su spajanje, potvrde i prioritizacija. Uvek proverite da li SMSC podržava napredne flagove i temeljito testirajte konfiguracije. Za autoritativne detalje, pogledajte SMPP specifikaciju v3.4 ili v5.0.

More information