Az SMPP Érvényességi Idő mező konfigurálása

Mi az az Érvényességi Idő mező?

Az Érvényességi Idő az SMPP (Short Message Peer-to-Peer Protocol) protokollban egy nullával lezárt sztring mező, amely olyan PDU-kban (pl. submit_sm) található, és meghatározza, hogy az SMSC meddig próbálkozik egy üzenet kézbesítésével, mielőtt eldobná. Ez a mező kritikus fontosságú a következőkhez:

  • Megakadályozza a végtelen újraküldéseket kézbesíthetetlen üzenetek esetén
  • Kezeli az SMSC tároló erőforrásait
  • Időérzékeny tartalmak kezelése (pl. OTP-k, promóciók)

A mező formátuma és szerkezete

Az érvényességi idő ugyanazt az abszolút időformátumot használja, mint az ütemezett kézbesítési idő (SMPP v3.4 specifikáció):

YYMMDDhhmmssnnp

Ahol az összetevők megegyeznek az ütemezett kézbesítési idő formátumával. A relatív formátumú rövidítések is támogatottak:

Formátum Példa Leírás
Abszolút 231215235959000+ 2023. dec. 15., 23:59:59 UTC+0
Relatív 000003000000000R 3 nap a beküldés időpontjától
Speciális értékek:
- NULL: Az SMSC alapértelmezett érvényességi idejét használja (általában 24-72 óra)
- 00: SMSC alapértelmezett érvényességi idő (régi rendszerek)

Kulcsfontosságú érvényességi idő formátumok

1. Abszolút időformátum

YYMMDDhhmmssnnp // Teljes formátum
231215143000000+  // 2023. dec. 15., 14:30:00 UTC+0

2. Relatív időformátum

00000X000000000R // X = Napok (00-99)
000003000000000R  // 3 nap érvényesség

Használati esetek

1. OTP lejárat (rövid érvényesség)

validity_period: "000000010000000R" // 1 óra érvényesség
    

2. Promóciós kampány (hosszabb érvényesség)

validity_period: "000007000000000R" // 7 nap érvényesség
    

3. Éjféli lejárat (abszolút idő)

validity_period: "231215235959000+" // Lejár 2023. dec. 15., 23:59:59 UTC+0-kor
    

Példa SMPP PDU-k

1. példa: 24 órás érvényesség (relatív formátum)

0000001D  // Parancs hossza (29 bájt)
00000004  // Parancs azonosító (SubmitSM)
00000001  // Sorszám
...
00        // Prioritás jelző
00        // Ütemezett kézbesítési idő
303030303234303030303030305200  // "00002400000000R" (24 óra)
00        // Regisztrált kézbesítés
...
    

2. példa: Abszolút lejárati idő

0000002A  // Parancs hossza (42 bájt)
00000004  // Parancs azonosító (SubmitSM)
00000002  // Sorszám
...
00        // Ütemezett kézbesítési idő
3233313231323332353935393030302B00  // "231212235959000+" (2023. dec. 12., 23:59:59 UTC+0)
...
    

Kapcsolat más mezőkkel

  • scheduled_delivery_time: Az érvényességi idő visszaszámlálása az ütemezett időponttól kezdődik, ha be van állítva
  • priority_flag: A magas prioritású üzenetek felülírhatják az érvényességi idő beállításokat egyes SMSC-eken
  • registered_delivery: A kézbesítési visszaigazolások akkor is elküldésre kerülnek, ha az érvényességi idő lejárt

Gyakori buktatók

  • A relatív formátum használata 'R' utótag nélkül
  • Túl hosszú érvényességi idő beállítása az SMSC korlátokhoz képest (pl. max. 30 nap)
  • Időzóna eltérés az ütemezett idő és az érvényességi idő között
  • Az feltételezés, hogy minden SMSC támogatja a relatív formátumot (ellenőrizze a szolgáltatóval)
SMSC viselkedés megjegyzés:
Sok SMSC a relatív időtartamokat abszolút időbélyegekké alakítja az üzenet fogadásakor. A visszaszámlálás tovább folytatódik, még akkor is, ha az SMSC újraindul.

Érvényességi idő vs SMSC alapértelmezések

Érvényességi idő érték SMSC viselkedés
NULL vagy 00 Az SMSC alapértelmezett értékét használja (szolgáltatótól függően változik)
Explicit érték Figyelembe veszi az értéket (az SMSC korlátain belül)
Múltbeli időbélyeg Az üzenet azonnal elvetésre kerül

Összegzés

Az Érvényességi Idő mező létfontosságú az SMPP-ben történő üzenetéletciklus szabályozásához. Míg az abszolút időbélyegek pontosságot biztosítanak, a relatív formátumok egyszerűséget nyújtanak a gyakori használati esetekhez. Mindig koordinálja az érvényességi beállításokat az SMSC szabályzatokkal, és tesztelje a határeseteket (pl. nyári időszámítás átmenet). Részletes megvalósításokhoz tekintse meg az SMPP v3.4 5.2.18 szakaszát és a GSM 03.40 dokumentációt.

More information