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 SMPPDoruč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ávyDoruč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
- Pripojte SMPP klienta
- Pripojte sa ako transceiver
- Odošlite SMS pomocou PDU submit_sm
- Zaznamenajte ID SMS z odpovede submit_sm_resp
- Čakajte na doručenie SMS do mobilného zariadenia
- Prijmite PDU doručovacej správy SMS
- Porovnajte ID SMS s odoslanou správou
- Zaznamenajte časovú pečiatku doručenia SMS
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.
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 1 | Bit 0 | Význam |
---|---|---|
0 | 0 | žiadne potvrdenie |
0 | 1 | potvrdenie požadované pri konečnom výsledku úspešného alebo neúspešného doručenia |
1 | 0 | potvrdenie požadované pri konečnom výsledku neúspešného doručenia |
1 | 1 | potvrdenie 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 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
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: |
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. |
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 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 SGSNAko 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.
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.
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
- SMPP specification
- SMPP protocol version comparison
- SMPP PDU logging
- How to use SMPP API with programming languages
- Secure SMPP connection over SSL TLS
- SMPP delivery report format
- What is an SMPP simulator
- SMPP error codes
- How to send a test SMPP SMS message
- SMPP PDU decode
- SMPP Character encoding
- SMPP wireshark