Formát doručovacej správy SMPP

Doručovacie správy SMPP sú odosielané SMPP serverom na SMPP klienta po úspešnom doručení textovej správy do mobilného zariadenia. Pôvodná SMS je odoslaná SMPP klientom pomocou smpp submit_sm požiadavky. Keď submit_sm je akceptovaný SMPP serverom, vráti odpoveď submit_sm_resp s referenčným ID SMS. Doručovacia správa príde neskôr. Obsahuje čas doručenia a referenčné ID SMS, ktoré identifikuje správu. Dokument nižšie vysvetľuje obsah PDU doručovacej správy SMPP a uvádza príklad doručovacej správy.

Aký je formát doručovacej správy SMPP

Doručovacia správa SMPP je prijatá ako štandardná textová správa. Text správy má špeciálny formát, ktorý obsahuje rôzne položky o pôvodne odoslanej SMS. Tieto položky môžu byť použité na určenie stavu doručenia SMS.

Príklad doručovacej správy
Doručovacia správa prijatá. +44251234567->+0000000 'Doručené; Komu: +44251234567; Čas: 2022-10-03 12:07:00; 
Ref: 636445148; id:636445148 sub:000 dlvrd:001 dátum odoslania:2210031207 dátum doručenia:2210031207 
stav:DORUČENÉ chyba: text:'

Úspešné doručenie nahlásené admin@localhost. ID úlohy: cdfd66e1-880e-4ead-a559-7ca46d9ec669. 
Doručené; Komu: +44251234567; Čas: 2022-10-03 12:07:00; Ref: 636445148; id:636445148 sub:000 dlvrd:001 
dátum odoslania:2210031207 dátum doručenia:2210031207 stav:DORUČENÉ chyba: text:
Ako prijať doručovaciu správu SMPP

Na prijatie doručovacej správy SMPP

  1. Pripojte SMPP klienta
  2. Pripojte sa ako transceiver
  3. Odošlite SMS pomocou PDU submit_sm
  4. Zaznamenajte ID SMS z odpovede submit_sm_resp
  5. Čakajte na doručenie SMS do mobilného zariadenia
  6. Prijmite PDU doručovacej správy SMS
  7. Porovnajte ID SMS s odoslanou správou
  8. Zaznamenajte časovú pečiatku doručenia SMS
Parametre doručovacej správy SMPP

SMPP podporuje doručovacie potvrdenia / správy (DLR) pre SMS, aby vaša aplikácia mohla určiť výsledok doručenia.

Vrátenie potvrdenia / správy o doručení (DLR) závisí od hodnoty nastavenej v poli registered_delivery správy pôvodne odoslanej z ESME do MC v operácii submit_sm. Toto môže byť nakonfigurované pre scenáre nedoručenia a iba doručenia, čo môže viesť k situáciám, keď potvrdenie nebude vrátené. Potvrdenia o doručení sú vrátené v operáciách deliver_sm a data_sm.

Nasledujúce položky sú relevantné v operáciách deliver_sm a data_sm pri prenose doručovacích potvrdení.

  • zdrojová adresa (t.j. source_addr_ton, source_addr_npi, source_addr) - Zdrojová adresa bude prevzatá z cieľovej adresy pôvodnej krátkej správy, ktorá vygenerovala potvrdenie o doručení. Potvrdenie vyzerá, ako keby pochádzalo od príjemcu pôvodnej registrovanej správy.
  • cieľová adresa (t.j. dest_addr_ton, dest_addr_npi, destination_addr) - Cieľová adresa bude prevzatá zo zdrojovej adresy pôvodnej krátkej správy, ktorá vygenerovala potvrdenie o doručení. Potvrdenie je adresované SME, ktoré pôvodne odoslalo registrovanú správu.
  • esm_class - Bit 2 v esm_class je nastavený na 1, čo indikuje, že správa je MC potvrdenie o doručení. Ak je bit 5 nastavený, potom je správa medzizáverečné oznámenie.
  • message_state TLV - Indikuje konečný stav pôvodnej správy. Pozri Stavy správ nižšie.
  • network_error_code TLV - Pozri Chybové kódy nižšie.
  • receipted_message_id TLV - ID správy, ktoré bolo vrátené ESME MC v PDU submit_sm_resp.
MC potvrdenie o doručení

Tento typ správy sa používa na prenos MC potvrdenia o doručení. MC pri zistení konečného stavu registrovanej správy normálne vygeneruje novú potvrdzovaciu správu adresovanú odosielateľovi prvej správy. MC potvrdenie o doručení je potom doručené ESME v operácii deliver_sm alebo data_sm.

ESME-to-MC: Nastavte bity 0 a 1 v poli registered_delivery operácie submit_sm na požiadanie o MC potvrdenie o doručení.

Bit 1Bit 0Význam
00žiadne potvrdenie
01potvrdenie požadované pri konečnom výsledku úspešného alebo neúspešného doručenia
10potvrdenie požadované pri konečnom výsledku neúspešného doručenia
11potvrdenie požadované pri konečnom výsledku úspešného doručenia (iba SMPP v5)

MC-to-ESME: Bit 2 v poli esm_class správy deliver_sm indikuje, že potvrdenie je MC potvrdenie o doručení.

Medzizáverečné oznámenie

Medzizáverečné oznámenie je špeciálna forma správy, ktorú MC môže poslať ESME pre doručenie mobilnej správy. Poskytuje medzistav pokusu o doručenie správy.

Typické použitie je na hlásenie výsledku pokusov o doručenie počas životnosti správy v MC. Toto môže byť použité na sledovanie rôznych dôvodov, prečo správa nebola doručená na cieľ, a na profilovanie dostupnosti účastníka.

Podpora funkcionality medzizáverečného oznámenia je špecifická pre implementáciu MC a poskytovateľa služieb MC a je mimo rozsahu tejto špecifikácie.

ESME-to-MC: Nastavte bit 4 v poli registered_delivery PDU submit_sm na požiadanie o medzizáverečné oznámenie.

MC-to-ESME: Bit 5 v poli esm_class správy deliver_sm indikuje, že potvrdenie je medzizáverečné oznámenie.

Potvrdenie v poli short_message

Mnohé API pred verziou 3.4 a centrá správ podporujúce verziu 3.3 pravdepodobne majú spôsob, ako odovzdať informácie o potvrdení v poli short_message. Toto platí pre MC doručovacie potvrdenia a priebežné notifikácie. Špecifiká formátu týchto informácií sú špecifické pre SMS bránu a platformu SMSC a sú mimo rozsahu špecifikácie. Avšak, nasledujúci príklad ukazuje typický prístup:

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


Polia sú špecifikované nasledovne:

Pole Veľkosť (oktety) Popis
id Premenná ID správy pridelené správou SMSC pri jej odoslaní.
sub 3 Počet pôvodne odoslaných krátkych správ. Hodnota môže byť doplnená úvodnými nulami.
dlvrd 3 Počet doručených krátkych správ. Hodnota môže byť doplnená úvodnými nulami.
submit date 10

Čas a dátum odoslania krátkej správy. V prípade správy, ktorá bola nahradená, toto je dátum, kedy bola pôvodná správa nahradená. Formát je nasledovný:

RRMMDDhhmm kde:
RR posledné dve číslice roka (00-99) MM = mesiac (01-12)
DD deň (01-31)
hh hodina (00-23)
mm minúta (00-59)

done date 10 Čas a dátum, kedy krátka správa dosiahla svoj konečný stav. Formát je rovnaký ako pri submit date.
stat 7 Konečný stav správy. Pozri Stavy správ nižšie. Text stavu môže byť skrátený.
err 3 Kód chyby siete alebo SMSC pre správu. Pozri Kódy chýb nižšie.
text 20 Nepoužívané pole, výsledok bude prázdny.
Vylepšenia Ozeki SMPP

Keďže sme implementovali veľmi veľký počet SMPP spojení, zistili sme nasledujúce problémy v rôznych implementáciách:

Zistenie 1:

Hodnota poľa ID v doručovacej správe (ktorú v Ozeki nazývame Submit Reference) sa často líši od ID, ktoré dostaneme od poskytovateľa SMS služieb. Najčastejší rozdiel je, že pôvodné ID je vrátené ako štandardné celé číslo a ID v doručovacej správe je vrátené ako hexadecimálne číslo. Môže to byť aj naopak. Dobrou správou je, že v tejto situácii, keď sa čísla prevedú späť, obe čísla sa zhodujú, takže doručovacie správy sa môžu zhodovať. Implementácie Ozeki SMS vykonávajú rôzne kontroly a dokážu správne spracovať opísanú situáciu.

Zistenie 2:

Hodnoty dátumových polí často prichádzajú v neštandardnom formáte. Ozeki momentálne analyzuje dátumové polia pomocou nasledujúcich vzorov. Môžete tiež definovať vlastný vzor dátumového poľa v konfiguračnom formulári softvéru.

  • "rrMMddHHmm",
  • "rrMMddHHmmss",
  • "dd-MMM-rrHH:mm",
  • "dd-MMM-rrHH:mm:ss",
  • "dd-MMM-rr HH:mm",
  • "dd-MMM-rr HH:mm:ss",
  • "rrrrMMddHHmmss",
  • "rrrrMMddHHmm",
  • vlastný

Stavy správ

Nasleduje zoznam povolených stavov pre krátku správu. MC vracia hodnotu message_state ESME ako súčasť odpovede query_sm_resp, query_broadcast_sm_resp alebo doručovacieho potvrdenia deliver_sm PDU.

Prechodné stavy sú stavy, ktoré sa môžu zmeniť. Konečné stavy sú stavy, ktoré predstavujú konečný stav životnosti správy.

Napríklad správa v stave opakovania môže vrátiť stav ENROUTE. V určitom okamihu v budúcnosti táto správa buď expiruje, alebo bude doručená. Stav sa potom zmení na EXPIRED alebo DELIVERED. Preto sa hovorí, že správa v stave ENROUTE je v prechodnom stave.

Správa v stave DELIVERED alebo EXPIRED sa už nemôže zmeniť na iný stav. Tieto stavy sú preto konečné stavy.

Stav správy Hodnota Typ
SCHEDULED 0 Prechodný
Správa je naplánovaná. Doručenie ešte nebolo zahájené. Správa odoslaná s naplánovaným časom doručenia môže vrátiť tento stav pri dotaze. Táto hodnota bola pridaná pre SMPP v5.0. MC podporujúce staršie verzie SMPP v3.3 a SMPP v3.4 pravdepodobne vrátia ENROUTE pre naplánované správy.
ENROUTE
alebo EN_ROUTE
1 Prechodný
Správa je v stave na ceste. Toto je všeobecný stav používaný na opis správy ako aktívnej v rámci MC. Správa môže byť v stave opakovania alebo odoslaná do mobilnej siete na doručenie do mobilného zariadenia.
DELIVERED 2 Konečný
Správa bola doručená do cieľa. Správa bola doručená do cieľa. Žiadne ďalšie pokusy o doručenie sa neuskutočnia.
EXPIRED 3 Konečný
Platnosť správy vypršala. Správa nebola doručená v rámci svojej platnosti a/alebo obdobia opakovania. Žiadne ďalšie pokusy o doručenie sa neuskutočnia.
DELETED 4 Konečný
Správa bola zmazaná. Správa bola zrušená alebo zmazaná z MC. Žiadne ďalšie pokusy o doručenie sa neuskutočnia.
UNDELIVERABLE 5 Konečný
Správa je nedoručiteľná. Správa narazila na chybu pri doručovaní a je považovaná za trvale nedoručiteľnú. Žiadne ďalšie pokusy o doručenie sa neuskutočnia. Niektoré chyby siete alebo interné chyby MC vedú k trvalému nedoručeniu správy. Príklady takýchto chýb by boli neznámy odberateľ alebo chyba siete, ktorá naznačuje, že dané cieľové mobilné zariadenie nemá povolenú službu SMS alebo nepodporuje SMS.
Chybové kódy doručovacích potvrdení SMPP

Chybové kódy vrátené v doručovacích potvrdeniach sa používajú na označenie akýchkoľvek chybových situácií, ktoré nastali pri pokuse o doručenie správy. Chybové kódy sú špecifické pre SMS bránu a platformu SMSC. Nasledujúci prístup je však často používaný:

Kód	Význam
1	MT číslo je neznáme v HLR MT siete
2	MT číslo je neznáme v HLR MT siete
5	MT číslo je neznáme v MSC MT siete
9	MT číslo je klasifikované ako nelegálny odberateľ v MSC MT siete
11	MT HLR vracia chybu „Teleslužba nie je poskytovaná“ ako odpoveď na SRI
12	MT zariadenie je uvedené ako nelegálne na MSC.
13	Zákazník je podľa HLR MT zablokovaný prijímať SMS
15	Zákazník MT je súčasťou CUG, ktorá nemá povolené prijímať SMS
21	SMS nie je podporované v MT sieti.
22	SMS nie je podporované v MSC MT
31	MT zariadenie je zaneprázdnené. Riadiaci kanál signalizácie je používaný. 
	(Pravdepodobne prijíma inú SMS súčasne)
32	GPRS – Rovnako ako vyššie
34	Systémová chyba v MT sieti.
35	Chýbajúce údaje v HLR alebo MSC MT
36	Neočakávaná hodnota údajov prijatá ako odpoveď na FSM alebo SRI
40	Prekročená kapacita pamäte na MT zariadení
41	Chyba protokolu MT zariadenia
42	MT zariadenie nie je vybavené na podporu SMS
43	Typ krátkej správy „0“ nie je podporovaný MT zariadením.
44	MT sieť nie je schopná nahradiť SMS na zariadení zákazníka MT
45	Nešpecifikovaná chyba protokolu na MT zariadení
46	Trieda správy nie je podporovaná na MT zariadení
47	Nešpecifikovaná chyba DCS (Schéma kódovania údajov) na MT zariadení
48	PDU prenosovej vrstvy nie je podporované MT zariadením
49	SIM karta je plná na MT zariadení
50	SIM karta MT zariadenia nie je schopná uložiť správu
51	Chyba na MT zariadení
52	Prekročená kapacita pamäte na MT zariadení
53	Aplikačná sada SIM je zaneprázdnená na MS zariadení
54	Chyba sťahovania údajov SIM na zariadení zákazníka MT
55	Nešpecifikovaná chyba MS zariadenia
60	Neprítomný odberateľ. Dôvod nie je známy
61	Neprítomný odberateľ kvôli vypnutému telefónu
62	Neprítomný odberateľ kvôli nedostupnosti signálu/vybitému batériu
63	Neprítomný odberateľ kvôli obmedzeniu roamingu/obmedzenej oblasti
64	Neprítomný odberateľ kvôli zrušeniu registrácie v HLR
65	Neprítomný odberateľ kvôli vymazaniu v VLR (vypnutý viac ako 24 hodín)
66	Neprítomný odberateľ (GPRS) nemôže byť vyvolaný SGSN
67	Neprítomný odberateľ kvôli odpojeniu GPRS
68	Neprítomný odberateľ kvôli zrušeniu registrácie v HLR (GPRS)
69	Neprítomný odberateľ kvôli vymazaniu GPRS MS v VLR
70	Neprítomný odberateľ kvôli neidentifikovanému odberateľovi na MSC, kam bol odoslaný FSM.
71	Neprítomný odberateľ kvôli neidentifikovanému odberateľovi na SGSN
Ako testovať doručovacie hlásenia SMPP

Môžete vytvoriť konfiguráciu SMPP simulátora, na testovanie hlásení o doručení SMS. V simulátore môže testovacie pripojenie vrátiť hlásenia o úspešnom alebo neúspešnom doručení. Urobí to, ak nakonfigurujete "Žiadosť o doručovacie hlásenie" na karte "Pokročilé" konfiguračného formulára testovacieho pripojenia SMPP. Ak máte túto možnosť povolenú, pre každú odoslanú SMS bude v náhodnom neskoršom čase vrátené hlásenie o doručení s náhodným stavom úspešného alebo neúspešného doručenia.

Často kladené otázky

Čo je doručovací správa?

Pri odosielaní SMS správy je potvrdenie jej prijatia na telefóne príjemcu veľmi dôležité. SMS používa dvojstupňový systém potvrdenia na zabezpečenie tohto.

Po odoslaní správy do centra služby krátkych správ (SMSC) mobilnej siete dostanete "správu o odoslaní". Táto správa znamená, že SMSC prijalo vašu správu na doručenie. Obsahuje tiež jedinečný identifikátor, často označovaný ako "referencia správy" alebo "callback ID", ktorý umožňuje sledovať správu v systéme SMSC.

Po prijatí je správa uložená v SMSC, kým nebude možné ju doručiť. To môže byť oneskorené, ak je telefón príjemcu vypnutý, čo môže predĺžiť čakanie až na niekoľko dní. Keď sa telefón príjemcu stane dostupným, správa je doručená. Po úspešnom doručení je "doručovacia správa" odoslaná späť odosielateľovi ako samostatná SMS správa.

Táto potvrdzujúca SMS obsahuje:

  • Telefónne číslo príjemcu: Potvrdzuje, že správa bola prijatá zamýšľaným príjemcom.
  • Referencia správy (callback ID): Zhoduje sa s identifikátorom z pôvodnej správy o odoslaní, čím poskytuje jasnú väzbu medzi oboma fázami.
  • Časová pečiatka doručenia: Poskytuje presný čas, kedy správa dosiahla telefón príjemcu.
Je dôležité poznamenať, že "doručovacia správa" sa všeobecne vzťahuje na túto potvrdzujúcu SMS, ktorú dostane odosielateľ. Nie všetky mobilné siete ponúkajú doručovacie správy a niektoré vyžadujú ich aktiváciu používateľom.

Môžem upraviť, ako dlho bude správa uložená v SMSC?

Hoci SMS správy poskytujú pohodlný spôsob komunikácie, zabezpečenie, aby správa čo najskôr dosiahla príjemcu, je kľúčové. Tu prichádza na rad pojem "platnosť správy".

Platnosť správy sa vzťahuje na časový rámec, počas ktorého je SMS správa uložená v centre služby krátkych správ (SMSC), ak je telefón príjemcu nedostupný. Ak správa zostane nedoručená po uplynutí tohto obdobia, automaticky sa vymaže z SMSC, čím sa zabráni oneskorenému doručeniu.

Výhody využitia platnosti správy:

  • Časovo citlivé správy: Predstavte si, že posielate text o časovo citlivej udalosti, ako je živý televízny program. Nastavenie vhodnej platnosti zabezpečí, že správa nebude doručená po skončení udalosti, čím sa stane neaktuálnou.
  • Efektívnosť siete: Platnosť správy optimalizuje sieťové zdroje tým, že zabraňuje zbytočným pokusom o doručenie na nedostupné telefóny.
Hoci niektoré mobilné siete ponúkajú možnosť priamo nastaviť platnosť správy pre odchádzajúce správy, predvolené nastavenie je často maximálna hodnota siete (zvyčajne jeden týždeň). Túto hodnotu je možné upraviť prostredníctvom vstavaných možností menu telefónu.

Je dôležité mať na pamäti, že nie všetky mobilné siete ponúkajú používateľom konfigurovateľnú platnosť správy a niektoré môžu vyžadovať aktiváciu používateľom pre doručovacie správy (potvrdenie, že správa dosiahla príjemcu).

More information