Az SMPP ESM Class mező konfigurálása

Ozeki SMS Gateway ESM class beállítások

Az Ozeki SMS Gateway lehetővé teszi az ESM class mező manuális konfigurálását (1. ábra)

1. ábra - ESM class mező beállítása

Mi az az ESM Class mező?

Az Extended Service Message (ESM) Class az SMPP-ben egy 1 bájtos mező az SMPP PDU-kban, amely speciális üzenetkezelési funkciókat vezérel. A submit_sm, deliver_sm és data_sm műveletekben használják a következők meghatározására:

  • Üzenettípusok (pl. SMS, kézbesítési visszaigazolás)
  • Kézbesítési visszaigazolás viselkedése
  • UDH (User Data Header) jelenléte
  • Üzenet prioritás és útválasztási jelzők

ESM Class szerkezet és bitmaszk

Az ESM class egy bitmaszk, ahol minden bit vagy bitcsoport specifikus funkciókat aktivál:

Bitek Leírás
7 Üzenetküldési mód: 0 = Alapértelmezett, 1 = Datagram
6 Üzenettípus: 0 = Normál, 1 = Kézbesítési visszaigazolás
5 UDHI jelző: 1 = UDH jelen van a hasznos adatban
4 Válaszút: 1 = Válaszút kérése
3-2 Üzenet prioritás (00 = Normál, 01 = Interaktív, 10 = Sürgős, 11 = Vészhelyzet)
1-0 Fenntartott

Gyakori ESM Class értékek

ESM (Hex) Bináris Leírás
0x00 00000000 Alapértelmezett (nincs speciális kezelés)
0x04 00000100 UDHI jelző beállítva (UDH jelen van)
0x08 00001000 Válaszút kérése
0x20 00100000 Kézbesítési visszaigazolás (6. bit = 1)
0x30 00110000 Sürgős prioritás + kézbesítési visszaigazolás
0x60 01100000 Datagram mód + kézbesítési visszaigazolás
Megjegyzés: Sok SMSC figyelmen kívül hagyja a fenntartott biteket (1-0). A prioritási szintek (3-2 bitek) hálózatfüggőek.

Kulcsfontosságú használati esetek

1. Összefűzött SMS (UDHI jelző)

Több részből álló üzenetek küldésekor állítsa be az 5. bitet (UDHI=1) és helyezzen el egy User Data Header (UDH)-t a hasznos adatban. Példa egy 3 részes üzenethez:

ESM Class: 0x40 (bináris 01000000: UDHI engedélyezve)
Hasznos adat: 
05 00 03 02 01  // UDH (5 bájt: IEI=00, IEDL=03, 1. rész a 2-ből)
C8329BFD06       // GSM-7 hasznos adat ("Hello")

2. Kézbesítési visszaigazolás kérése

Állítsa be a 6. bitet (0x20) a kézbesítési visszaigazolás kéréséhez. Gyakran kombinálják a registered_delivery mezővel:

ESM Class: 0x20 (bináris 00100000)
registered_delivery: 0x01 (visszaigazolás kérése)

3. Prioritásos üzenetküldés

Használja a 3-2 biteket az üzenetek prioritásának beállításához. Példa sürgős prioritásra:

ESM Class: 0x10 (bináris 00010000: Sürgős prioritás)

Példa SMPP PDU-k

1. példa: Alapszintű SMS (ESM=0x00)

0000001D  // Parancs hossza (29 bájt)
00000004  // Parancs azonosító (SubmitSM)
00000001  // Sorszám
00        // Forrás TON
00        // Forrás NPI
736F7572636500  // Forráscím ("source")
00        // Cél TON
00        // Cél NPI
36353433323100  // Célcím ("654321")
00        // ESM Class (0x00: Alapértelmezett)
00        // Protokoll azonosító (PID)
00        // Prioritás
00        // Ütemezett kézbesítési idő
00        // Érvényességi idő
00        // Regisztrált kézbesítés
00        // Csere, ha jelen van
00        // Adatkódolás (DCS=0x00)
00        // SM alapértelmezett üzenet azonosító
07        // SM hossz (7 szeplett)
C8329BFD06DDDF72  // Hasznos adat ("Hello!")

2. példa: Összefűzött SMS (ESM=0x40)

00000025  // Parancs hossza (37 bájt)
00000004  // Parancs azonosító (SubmitSM)
00000002  // Sorszám
00        // Forrás TON
00        // Forrás NPI
736F7572636500  // Forráscím ("source")
00        // Cél TON
00        // Cél NPI
36353433323100  // Célcím ("654321")
40        // ESM Class (0x40: UDHI engedélyezve)
00        // Protokoll azonosító (PID)
00        // Prioritás
00        // Ütemezett kézbesítési idő
00        // Érvényességi idő
00        // Regisztrált kézbesítés
00        // Csere, ha jelen van
00        // Adatkódolás (DCS=0x00)
00        // SM alapértelmezett üzenet azonosító
0C        // SM hossz (12 bájt)
0500030201C8329BFD06DDDF72  // UDH + "Hello" (1. rész/2)

3. példa: Kézbesítési visszaigazolás (ESM=0x20)

0000001D  // Parancs hossza (29 bájt)
00000004  // Parancs azonosító (SubmitSM)
00000003  // Sorszám
00        // Forrás TON
00        // Forrás NPI
736F7572636500  // Forráscím ("source")
00        // Cél TON
00        // Cél NPI
36353433323100  // Célcím ("654321")
20        // ESM Class (0x20: Kézbesítési visszaigazolás)
00        // Protokoll azonosító (PID)
00        // Prioritás
00        // Ütemezett kézbesítési idő
00        // Érvényességi idő
01        // Regisztrált kézbesítés (visszaigazolás kérése)
00        // Csere, ha jelen van
00        // Adatkódolás (DCS=0x00)
00        // SM alapértelmezett üzenet azonosító
07        // SM hossz (7 szeplett)
C8329BFD06DDDF72  // Hasznos adat ("Hello!")

Interakciók más mezőkkel

  • UDHI (ESM) + DCS: Ha az UDHI be van állítva, győződjön meg arról, hogy a DCS támogatja az UDH-t (pl. GSM-7 vagy 8 bites).
  • ESM Class + registered_delivery: Mindkettőt használja a kézbesítési visszaigazolások kéréséhez.
  • Prioritás bitek + Prioritás jelző: Néhány SMSC az ESM bitek alapján rangsorolja az üzeneteket a különálló prioritás mező helyett.

Gyakori buktatók

  • UDHI beállítása érvényes User Data Header nélkül.
  • Kézbesítési visszaigazolás jelzők (ESM=0x20) használata a registered_delivery beállítása nélkül.
  • ESM prioritás bitek és a különálló priority_flag mező eltérése.
Összefoglalás

Az ESM osztály hatékony eszköz az SMPP-ben történő üzenetkezelés szabályozására. Bitsorozatos kialakítása lehetővé teszi olyan funkciókat, mint az összefűzés, nyugták és prioritizálás. Mindig ellenőrizze az SMSC támogatását a fejlett jelzőbitekre, és alaposan tesztelje a konfigurációkat. A hiteles részletekért tekintse meg az SMPP specifikáció 3.4-es vagy 5.0-es verzióját.

More information