Kako konfigurirati polje Validity Period v SMPP

Kaj je polje Validity Period?

Validity Period v SMPP (Short Message Peer-to-Peer Protocol) je polje v PDU-jih, kot je submit_sm, ki določa, kako dolgo bo SMSC poskušal dostaviti sporočilo, preden ga zavrže. To polje je ključno za:

  • Preprečevanje neskončnih ponovnih poskusov za nedostavljiva sporočila
  • Upravljanje virov shranjevanja SMSC
  • Obvladovanje časovno občutljive vsebine (npr. OTP-ji, promocije)

Oblika in struktura polja

Validity period uporablja enako obliko absolutnega časa kot načrtovani čas dostave (specifikacija SMPP v3.4):

YYMMDDhhmmssnnp

Kjer komponente ustrezajo obliki načrtovanega časa dostave. Podprte so tudi običajne bližnjice relativnega formata:

Oblika Primer Opis
Absolutna 231215235959000+ 15. dec. 2023 23:59:59 UTC+0
Relativna 000003000000000R 3 dni od časa oddaje
Posebne vrednosti:
- NULL: Uporabi privzeto veljavnost SMSC (običajno 24-72 ur)
- 00: Privzeta veljavnost SMSC (zastareli sistemi)

Ključne oblike Validity Period

1. Absolutni časovni format

YYMMDDhhmmssnnp // Celotna oblika
231215143000000+  // 15. dec. 2023 14:30:00 UTC+0

2. Relativni časovni format

00000X000000000R // X = Dnevi (00-99)
000003000000000R  // 3 dni veljavnosti

Primeri uporabe

1. Potečeni OTP (kratka veljavnost)

validity_period: "000000010000000R" // 1 ura veljavnosti
    

2. Promocijska akcija (podaljšana veljavnost)

validity_period: "000007000000000R" // 7 dni veljavnosti
    

3>Potek ob polnoči (absolutni čas)

validity_period: "231215235959000+" // Poteče 15. dec. 2023 23:59:59 UTC+0
    

Primeri SMPP PDU-jev

Primer 1: 24-urna veljavnost (relativni format)

0000001D  // Dolžina ukaza (29 bajtov)
00000004  // ID ukaza (SubmitSM)
00000001  // Zaporedna številka
...
00        // Prioritetna zastavica
00        // Načrtovani čas dostave
303030303234303030303030305200  // "00002400000000R" (24 ur)
00        // Registrirana dostava
...
    

Primer 2: Absolutni čas poteka

0000002A  // Dolžina ukaza (42 bajtov)
00000004  // ID ukaza (SubmitSM)
00000002  // Zaporedna številka
...
00        // Načrtovani čas dostave
3233313231323332353935393030302B00  // "231212235959000+" (12. dec. 2023 23:59:59 UTC+0)
...
    

Interakcije z drugimi polji

  • scheduled_delivery_time: Odštevanje veljavnosti se začne od načrtovanega časa, če je nastavljen
  • priority_flag: Sporočila z visoko prioriteto lahko na nekaterih SMSC-jih preglasijo nastavitve veljavnosti
  • registered_delivery: Potrdila o dostavi se pošljejo tudi po poteku veljavnosti

Pogoste napake

  • Uporaba relativnega formata brez končnice 'R'
  • Nastavitev veljavnosti, daljše od omejitev SMSC (npr. največ 30 dni)
  • Neujemanje časovnih pasov med načrtovanim časom in veljavnostjo
  • Predpostavka, da vsi SMSC podpirajo relativni format (preverite pri ponudniku)
Opomba o obnašanju SMSC:
Številni SMSC-ji relativne periode ob prejemu sporočila pretvorijo v absolutne časovne žige. Odštevanje se nadaljuje tudi ob ponovnem zagonu SMSC.

Validity Period v primerjavi z privzetimi nastavitvami SMSC

Vrednost Validity Period Obnašanje SMSC
NULL ali 00 Uporabi privzeto vrednost SMSC (razlikuje se glede na ponudnika)
Eksplicitna vrednost Spoštuje vrednost (v mejah SMSC)
Pretečen časovni žig Sporočilo se takoj zavrže

Zaključek

Polje Validity Period je ključnega pomena za nadzor življenjskega cikla sporočil v SMPP. Medtem ko absolutni časovni žigi zagotavljajo natančnost, relativni formati ponujajo preprostost za običajne primere uporabe. Vedno uskladite nastavitve veljavnosti s pravilniki SMSC in preizkusite robne primere (npr. prehode na poletni čas). Za podrobnejše implementacije glejte SMPP v3.4, razdelek 5.2.18 in dokumentacijo GSM 03.40.

More information