Oblika poročila o dostavi SMPP

Poročila o dostavi SMPP pošlje SMPP strežnik SMPP odjemalcu, ko so besedilna sporočila uspešno dostavljena na mobilno napravo. Prvotno SMS sporočilo pošlje SMPP odjemalec z uporabo smpp submit_sm zahteve. Ko SMPP strežnik sprejme submit_sm, vrne odgovor submit_sm_resp z referenčnim ID-jem SMS-a. Poročilo o dostavi pride kasneje. Vsebuje čas dostave in referenčni ID SMS-a, ki identificira sporočilo. Spodnji dokument razlaga vsebino PDU poročila o dostavi SMPP in ponuja primer poročila o dostavi.

Kakšna je oblika poročila o dostavi SMPP

Poročilo o dostavi SMPP je prejeto kot standardno besedilno sporočilo. Besedilo sporočila ima posebno obliko, ki vsebuje različna polja o prvotno poslanem SMS-u. Ta polja se lahko uporabijo za določitev stanja dostave SMS-a.

Primer poročila o dostavi
Poročilo o dostavi prejeto. +44251234567->+0000000 'Dostavljeno; Za: +44251234567; Ob: 2022-10-03 12:07:00; 
Ref: 636445148; id:636445148 sub:000 dlvrd:001 datum pošiljanja:2210031207 datum zaključka:2210031207 
stat:DELIVRD err: besedilo:'

Uspešna dostava prijavljena na admin@localhost. ID naloge: cdfd66e1-880e-4ead-a559-7ca46d9ec669. 
Dostavljeno; Za: +44251234567; Ob: 2022-10-03 12:07:00; Ref: 636445148; id:636445148 sub:000 dlvrd:001 
datum pošiljanja:2210031207 datum zaključka:2210031207 stat:DELIVRD err: besedilo:
Kako prejeti poročilo o dostavi SMPP

Za prejem poročila o dostavi SMPP

  1. Povežite SMPP odjemalca
  2. Povežite se kot transceiver
  3. Pošljite SMS z uporabo submit_sm PDU
  4. Zabeležite ID SMS-a iz submit_sm_resp
  5. Počakajte, da SMS pride do mobilne naprave
  6. Prejmite PDU poročila o dostavi SMS-a
  7. Povežite ID SMS-a s poslanim sporočilom
  8. Zabeležite časovni žig dostave SMS-a
Parametri poročila o dostavi SMPP

SMPP podpira potrditve / poročila o dostavi (DLR) za SMS sporočila, tako da lahko vaša aplikacija določi izide dostave.

Vračanje potrditve / poročila o dostavi sporočila (DLR) je odvisno od vrednosti, nastavljene v polju registered_delivery sporočila, ki je bilo prvotno poslano iz ESME v MC z operacijo submit_sm. To je mogoče konfigurirati za scenarije brez dostave in samo dostave, kar lahko povzroči okoliščine, ko potrdilo ne bo vrnjeno. Potrdila o dostavi sporočil so vrnjena v operacijah deliver_sm in data_sm.

Naslednja polja so pomembna v operacijah deliver_sm in data_sm, ko se uporabljajo za prenos potrdil o dostavi.

  • izvorni naslov (tj. source_addr_ton, source_addr_npi, source_addr) - Izvorni naslov bo vzet iz ciljnega naslova prvotnega kratkega sporočila, ki je ustvarilo potrdilo o dostavi. Potrdilo se prikaže, kot da izvira od prejemnika prvotnega registriranega sporočila.
  • ciljni naslov (tj. dest_addr_ton, dest_addr_npi, destination_addr) - Ciljni naslov bo vzet iz izvornega naslova prvotnega kratkega sporočila, ki je ustvarilo potrdilo o dostavi. Potrdilo je naslovljeno na SME, ki je prvotno poslal registrirano sporočilo.
  • esm_class - Bit 2 v esm_class je nastavljen na 1, kar pomeni, da je sporočilo MC potrdilo o dostavi. Če je bit 5 nastavljen, potem je sporočilo vmesno obvestilo.
  • message_state TLV - Označuje končno stanje prvotnega sporočila. Glejte Stanja sporočil spodaj.
  • network_error_code TLV - Glejte Kode napak spodaj.
  • receipted_message_id TLV - ID sporočila, ki ga je MC vrnil ESME v PDU submit_sm_resp.
MC potrdilo o dostavi

Ta vrsta sporočila se uporablja za prenos MC potrdila o dostavi. MC ob zaznavanju končnega stanja registriranega sporočila običajno ustvari novo potrdilno sporočilo, naslovljeno na pošiljatelja prvega sporočila. MC potrdilo o dostavi je nato dostavljeno ESME v operaciji deliver_sm ali data_sm.

ESME-to-MC: Nastavite bita 0 in 1 v polju registered_delivery operacije submit_sm za zahtevo po MC potrdilu o dostavi.

Bit 1Bit 0Pomen
00brez potrdila
01potrdilo zahtevano ob končnem uspehu ali neuspehu dostave
10potrdilo zahtevano ob končnem neuspehu dostave
11potrdilo zahtevano ob končnem uspehu dostave (samo SMPP v5)

MC-to-ESME: Bit 2 v polju esm_class sporočila deliver_sm označuje, da je potrdilo MC potrdilo o dostavi.

Vmesno obvestilo

Vmesno obvestilo je posebna oblika sporočila, ki ga lahko MC pošlje ESME za dostavo mobilnega sporočila. Zagotavlja vmesno stanje poskusa dostave sporočila.

Običajna uporaba je poročanje o izidu poskusov dostave med življenjsko dobo ponovitev sporočila znotraj MC. To se lahko uporablja za sledenje različnim razlogom, zakaj sporočilo ni bilo dostavljeno na cilj, in za profiliranje razpoložljivosti naročnika.

Podpora za funkcionalnost vmesnih obvestil je specifična za implementacijo MC in ponudnika storitev MC ter presega obseg te specifikacije.

ESME-to-MC: Nastavite bit 4 v polju registered_delivery PDU submit_sm za zahtevo po vmesnem obvestilu.

MC-to-ESME: Bit 5 v polju esm_class sporočila deliver_sm označuje, da je potrdilo vmesno obvestilo.

Potrdilo v polju short_message

Številni API-ji pred različico 3.4 in centri za sporočila, ki podpirajo različico 3.3, verjetno imajo način za posredovanje informacij o potrdilu znotraj polja short_message. To velja za potrdila o dostavi MC in vmesna obvestila. Specifični formati teh informacij so odvisni od SMS prehoda in platforme SMSC ter presegajo obseg specifikacije. Vendar pa naslednje prikazuje običajen pristop:

id:123A456B sub:1 dlvrd:1 submit date:1702281424 done date:1702281424 stat:DELIVRD err:0 text:


Polja so določena na naslednji način:

Polje Velikost (oktetov) Opis
id Spremenljivo ID sporočila, ki ga je SMSC dodelil sporočilu ob prvotnem oddajanju.
sub 3 Število prvotno oddanih kratkih sporočil. Vrednost je lahko dopolnjena z vodilnimi ničlami.
dlvrd 3 Število dostavljenih kratkih sporočil. Vrednost je lahko dopolnjena z vodilnimi ničlami.
submit date 10

Čas in datum, ko je bilo kratko sporočilo oddano. V primeru sporočila, ki je bilo nadomeščeno, je to datum, ko je bilo prvotno sporočilo nadomeščeno. Format je naslednji:

YYMMDDhhmm kjer:
YY zadnji dve številki leta (00-99) MM = mesec (01-12)
DD dan (01-31)
hh ura (00-23)
mm minuta (00-59

done date 10 Čas in datum, ko je kratko sporočilo doseglo svoje končno stanje. Format je enak kot pri submit date.
stat 7 Končno stanje sporočila. Glejte Stanja sporočil spodaj. Besedilo stanja je lahko skrajšano.
err 3 Koda napake omrežja ali SMSC za sporočilo. Glejte Kode napak spodaj.
text 20 Neuporabljeno polje, rezultat bo prazen.
Izboljšave Ozeki SMPP

Ker smo implementirali zelo veliko število povezav SMPP, smo odkrili naslednje težave v različnih implementacijah:

Ugotovitev 1:

Vrednost polja ID v poročilu o dostavi (ki ga v Ozeki imenujemo Submit Reference) se pogosto razlikuje od ID-ja, ki ga prejmemo od ponudnika SMS storitev. Najpogostejša razlika je, da je prvotni ID vrnjen kot standardno celo število, ID v poročilu o dostavi pa je vrnjen kot šestnajstiško število. To se lahko zgodi tudi obratno. Dobra stvar je, da se v tem primeru, ko se pretvorijo nazaj, številki ujemata, zato se lahko poročila o dostavi ujemajo. Implementacije Ozeki SMS izvajajo različne preverjanje in lahko pravilno obravnavajo opisano situacijo.

Ugotovitev 2:

Vrednost datumskih polj pogosto pride v nestandardnem formatu. Ozeki trenutno razčlenjuje datumska polja z naslednjimi vzorci. Na konfiguracijskem obrazcu programske opreme lahko določite tudi svoj vzorec za datumska polja.

  • "yyMMddHHmm",
  • "yyMMddHHmmss",
  • "dd-MMM-yyHH:mm",
  • "dd-MMM-yyHH:mm:ss",
  • "dd-MMM-yy HH:mm",
  • "dd-MMM-yy HH:mm:ss",
  • "yyyyMMddHHmmss",
  • "yyyyMMddHHmm",
  • po meri

Stanja sporočil

Naslednji seznam vsebuje dovoljena stanja za kratko sporočilo. MC vrne vrednost message_state ESME-ju kot del odziva query_sm_resp, query_broadcast_sm_resp ali deliver_sm potrditve o dostavi PDU.

Vmesna stanja so stanja, ki se lahko spreminjajo. Končna stanja so stanja, ki predstavljajo končno stanje življenjskega cikla sporočila.

Na primer, sporočilo v ponovnem poskusu lahko vrne stanje ENROUTE. V nekem trenutku v prihodnosti bo to sporočilo bodisi poteklo ali pa bo dostavljeno. Stanje se bo nato spremenilo v EXPIRED ali DELIVERED. Tako je sporočilo v stanju ENROUTE vmesno stanje.

Sporočilo v stanju DELIVERED ali EXPIRED se ne more spremeniti v drugo stanje. Ta stanja so torej končna stanja.

<

Ko pošljete SMS sporočilo, je potrditev njegovega prihoda na prejemnikov telefon ključnega pomena. SMS uporablja dvostopenjski sistem potrjevanja, da to zagotovi.

Ko posredujete svoje sporočilo v center za storitve kratkih sporočil (SMSC) mobilnega omrežja, prejmete "poročilo o oddaji sporočila." To poročilo pomeni, da je SMSC sprejel vaše sporočilo za dostavo. Vključuje tudi edinstveni identifikator, pogosto imenovan "referenca sporočila" ali "callback ID," ki omogoča sledenje sporočilu znotraj sistema SMSC.

Po sprejemu je sporočilo shranjeno v SMSC, dokler dostava ni mogoča. To se lahko zakasni, če je prejemnikov telefon izklopljen, kar lahko podaljša čakanje na več dni. Ko postane prejemnikov telefon na voljo, se sporočilo dostavi. Po uspešni dostavi se "poročilo o dostavi" pošlje nazaj pošiljatelju kot ločeno SMS sporočilo.

To potrditveno SMS sporočilo vsebuje:

  • Telefonsko številko prejemnika: Potrjuje, da je namenjeni prejemnik prejel sporočilo.
  • Referenco sporočila (callback ID): Ustreza identifikatorju iz prvotnega poročila o oddaji, kar zagotavlja jasno povezavo med obema stopnjama.
  • Časovni žig dostave: Navaja točen čas, ko je sporočilo prispelo na prejemnikov telefon.
Pomembno je omeniti, da se "poročilo o dostavi" običajno nanaša na to potrditveno SMS sporočilo, ki ga prejme pošiljatelj. Vsa mobilna omrežja ne ponujajo poročil o dostavi, nekatera pa zahtevajo, da jih uporabnik aktivira.

Ali lahko prilagodim, kako dolgo je sporočilo shranjeno v SMSC?

Čeprav SMS sporočila ponujajo priročen način komunikacije, je ključnega pomena zagotoviti, da sporočilo pravočasno prispe do prejemnika. Tu pride v poštev koncept "roka veljavnosti."

Rok veljavnosti se nanaša na časovno obdobje, ko je SMS sporočilo shranjeno v centru za storitve kratkih sporočil (SMSC), če prejemnikov telefon ni na voljo. Če sporočilo po tem obdobju ostane nedostavljeno, se samodejno izbriše iz SMSC, kar prepreči zakasnjeno dostavo.

Prednosti uporabe roka veljavnosti:

  • Časovno občutljiva sporočila: Predstavljajte si, da pošljete sporočilo o časovno občutljivem dogodku, kot je oddaja v živo. Nastavitev ustreznega roka veljavnosti zagotovi, da sporočilo ni dostavljeno po končanem dogodku, kar bi ga naredilo nepomembno.
  • Učinkovitost omrežja: Z omejevanjem nepotrebnih poskusov dostave na nedosegljive telefone rok veljavnosti optimizira omrežne vire.
Medtem ko nekatera mobilna omrežja ponujajo možnost neposredne nastavitve roka veljavnosti za odhodna sporočila, je privzeta nastavitev pogosto najvišja možna vrednost omrežja (običajno en teden). To vrednost lahko prilagodite prek vgrajenih možnosti menija v telefonu.

Pomembno je zapomniti, da vsa mobilna omrežja ne ponujajo uporabniško nastavljivih rokov veljavnosti, nekatera pa lahko zahtevajo uporabniško aktivacijo za poročila o dostavi (potrditev, da je sporočilo prispelo do prejemnika).

More information

 

Stanje sporočila Vrednost Tip
SCHEDULED 0 Vmesno
Sporočilo je načrtovano. Dostava še ni bila iniciirana. Sporočilo, poslano z načrtovanim časom dostave, lahko vrne to stanje, ko se poizve. Ta vrednost je bila dodana za SMPP v5.0. MC-ji, ki podpirajo starejše različice SMPP v3.3 in SMPP v3.4, bodo verjetno vrnili ENROUTE za načrtovana sporočila.
ENROUTE
ali EN_ROUTE
1 Vmesno
Sporočilo je v stanju enroute. To je splošno stanje, ki opisuje sporočilo kot aktivno znotraj MC. Sporočilo je lahko v ponovnem poskusu ali poslano v mobilno omrežje za dostavo do mobilne naprave.
DELIVERED 2 Končno
Sporočilo je dostavljeno na cilj. Sporočilo je bilo dostavljeno na cilj. Nadaljnje dostave ne bodo več potekale.
EXPIRED 3 Končno
Veljavnost sporočila je potekla. Sporočilo ni bilo dostavljeno v svojem veljavnem obdobju in/ali obdobju ponovnih poskusov. Nadaljnji poskusi dostave ne bodo več izvedeni.
DELETED 4 Končno
Sporočilo je bilo izbrisano. Sporočilo je bilo preklicano ali izbrisano iz MC. Nadaljnji poskusi dostave ne bodo več izvedeni.
UNDELIVERABLE 5 Končno
Sporočilo je nedostavljivo. Sporočilo je naletelo na napako pri dostavi in je trajno nedostavljivo. Nadaljnji poskusi dostave ne bodo več izvedeni. Določene omrežne ali notranje napake MC povzročijo trajno nedostavo sporočila. Primeri takšnih napak so neznan naročnik ali omrežna napaka, ki nakazuje, da je bila ciljna mobilna naprava zavrnjena za storitev SMS ali ne podpira SMS.
Next: Kaj je SMPP simulator