Az SMPP Registered Delivery mező konfigurálása

Mi a Registered Delivery mező?

Az SMPP-ben a Registered Delivery mező egy 1 bájtos bitmaszk olyan PDU-kban, mint a submit_sm és a data_sm, amely szállítási visszaigazolásokat és nyugtákat vezérel. Lehetővé teszi a küldők számára, hogy nyomon kövessék az üzenetek kézbesítési állapotát az SMSC által generált visszaigazolásokon keresztül. Fő funkciói:

  • Végső kézbesítési visszaigazolások kérése (sikeres/sikertelen)
  • Köztes kézbesítési értesítések engedélyezése
  • SME (Short Message Entity) nyugták kezelése

A mező szerkezete és bitmaszkja

Az SMPP v3.4-ben definiált mező a következő bitmaszk szerkezetet használja:

Bit Leírás
0 SMSC kézbesítési visszaigazolás (0 = letiltva, 1 = engedélyezve)
1 SME eredetű nyugta (0 = letiltva, 1 = engedélyezve)
2 Köztes értesítés (0 = letiltva, 1 = engedélyezve)
3-7 Fenntartva
Megjegyzés: Sok SMSC csak a 0. bitet támogatja (SMSC visszaigazolások). Ellenőrizze a szolgáltatója képességeit.

Gyakori értékek

Érték (Hex) Bináris Leírás
0x00 00000000 Nincs visszaigazolás kérve
0x01 00000001 Csak SMSC kézbesítési visszaigazolás
0x03 00000011 SMSC visszaigazolás + SME nyugta
0x05 00000101 SMSC visszaigazolás + köztes értesítések

Használati esetek

1. Alapvető kézbesítési visszaigazolások

registered_delivery: 0x01  // Végső kézbesítési állapot kérése
    

2. Magas megbízhatóságú üzenetküldés

registered_delivery: 0x05  // Visszaigazolás + köztes értesítések
    

3. Kétirányú kommunikáció

registered_delivery: 0x03  // SMSC és SME kézbesítés megerősítése
    

Példa SMPP PDU-k

1. példa: Nincs visszaigazolás (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 osztály
00        // Protokoll azonosító
00        // Prioritás jelző
00        // Kézbesítési idő ütemezése
00        // Érvényességi idő
00        // Registered Delivery (0x00: Nincs visszaigazolá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: SMSC kézbesítési visszaigazolás (0x01)

0000001D  // Parancs hossza (29 bájt)
00000004  // Parancs azonosító (SubmitSM)
00000002  // Sorszám
...
00        // Érvényességi idő
01        // Registered Delivery (0x01: SMSC visszaigazolás)
00        // Csere, ha jelen van
...
    

3. példa: Köztes értesítések (0x05)

0000001D  // Parancs hossza (29 bájt)
00000004  // Parancs azonosító (SubmitSM)
00000003  // Sorszám
...
05        // Registered Delivery (0x05: SMSC visszaigazolás + köztes értesítések)
...
    

Kézbesítési visszaigazolás formátuma

Az SMSC-k a visszaigazolásokat deliver_sm PDU-kon keresztül küldik, a következő formátumban:

id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:STATUS err:EEE
    

Példa visszaigazolás egy kézbesített üzenethez:

id:1896384752 sub:001 dlvrd:001 submit date:2310151430 done date:2310151431 stat:DELIVRD err:000
    

Interakciók más mezőkkel

  • esm_class: A 6. bit (kézbesítési visszaigazolás jelző) meg kell egyezzen a registered_delivery beállításokkal
  • validity_period: Meghatározza, hogy az SMSC meddig próbálkozik a kézbesítéssel, mielőtt sikertelen visszaigazolást küld
  • message_id: Kritikus fontosságú a visszaigazolások és az eredeti üzenetek összerendeléséhez

Gyakori buktatók

  • Visszaigazolások engedélyezése, de a deliver_sm PDU-k figyelésének elmulasztása
  • Feltételezés, hogy minden SMSC támogatja az SME nyugtákat (0x02)
  • A registered_delivery és esm_class jelzők eltérése
  • Az SMSC által meghatározott visszaigazolási korlátok figyelmen kívül hagyása
Számlázási megjegyzés:
Egyes szolgáltatók extra díjat számítanak fel a kézbesítési visszaigazolásokért. Ellenőrizze a díjszabást az engedélyezés előtt.

Összegzés

A Registered Delivery mező elengedhetetlen az SMS kézbesítési állapotának nyomon követéséhez az SMPP-ben. Míg az alapvető visszaigazolási kezelés (0x01) széles körben támogatott, az olyan fejlett funkciók, mint a köztes értesítések, SMSC-specifikus tesztelést igényelnek. Mindig implementáljon robusztus visszaigazolás-elemzést és korrelálja az üzeneteket a message_id segítségével. Részletes viselkedésért tekintse meg az SMPP v3.4 5.2.17 szakaszát és a szolgáltatója dokumentációját.

More information