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 |
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
ésesm_class
jelzők eltérése - Az SMSC által meghatározott visszaigazolási korlátok figyelmen kívül hagyása
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
- Az SMPP Szolgáltatás Típus mező konfigurálása
- Az SMPP Telefonszám mezők konfigurálása
- Az SMPP ESM Class mező konfigurálása
- Az SMPP PID mező konfigurálása
- Az SMPP Prioritás mező konfigurálása
- Az SMPP Ütemezett Idő mező konfigurálása
- Az SMPP Érvényességi Idő mező konfigurálása
- Az SMPP Regisztrált kézbesítés mező konfigurálása
- Az SMPP Csere, ha jelen van mező konfigurálása
- Az sm_default_msg_id mező konfigurálása
- Az SMPP DCS mező konfigurálása
- Az SMPP SM Hossz mező kiszámítása
- Hogyan helyezzünk adatot az SMPP SM mezőbe