SMPP - Peer-to-Peer protokol za kratka sporočila

Zdravo! Čeprav takojšnji messengerji in družbena omrežja vsak dan nadomeščajo tradicionalne načine komuniciranja, to ne zmanjšuje priljubljenosti SMS-ov. Preverjanje na priljubljenem spletnem mestu ali obvestilo o transakciji ponavlja, da živijo in bodo živeli. Ste pomislili, kako vse skupaj deluje? Zelo pogosto se protokol SMPP uporablja za pošiljanje množičnih sporočil, o čemer bomo razpravljali v razdelku.

Habré je že imel članke o smpp, 1,2, vendar njihov namen ni bil opis samega protokola. Seveda lahko takoj začnete od vira - specifikacije, vendar mislim, da bi bilo lepo, če bi obstajal povzetek njegove vsebine. Razložil bom na primeru v3.4.Vesel sem vaše objektivne kritike.

Protokol SMPP je protokol za sporočanje enakovrednih. To pomeni, da je vsak enakovredni/zvezdniški strežnik enak. V najpreprostejšem primeru je shema pošiljanja sporočil SMS videti takole:

SMPP - Peer-to-Peer protokol za kratka sporočila

Če pa nacionalni operater nima poti, zaprosi za to posrednika v neko oddaljeno regijo - SMS vozlišče. Včasih morate za pošiljanje enega SMS-a zgraditi verigo med več državami ali celo celinami.

O protokolu

SMPP je protokol aplikacijskega sloja, ki temelji na izmenjavi PDU-jev in se prenaša preko TCP/IP ali X25 sej za pošiljanje sms in ussd sporočil. Običajno se SMPP uporablja v načinu trajne povezave, kar prihrani čas. SMPP uporablja komunikacijski model odjemalec-strežnik.

Komunikacijski način

SMPP - Peer-to-Peer protokol za kratka sporočila

Izmenjava sporočil med pošiljateljem in SMS centrom prek SMPP se lahko izvaja v naslednjih načinih:

Oddajnik (oddajnik) - prenos sporočila v eno smer, po vrsti
Sprejemnik (sprejemnik) - samo prejemanje sporočil iz SMS centra.
Transreceiver (oddajnik) - Izmenjava sporočil med SMS centrom in uporabnikom

Struktura

SMPP - Peer-to-Peer protokol za kratka sporočila

Dolžina sporočila

Eno SMS sporočilo lahko vsebuje 70 znakov pri tipkanju v cirilici in ne več kot 157 latiničnih znakov + 3 UDH Če pošljete SMS z velikim številom znakov, bo le-to razdeljeno na več segmentov in združeno v sprejemni napravi. V primeru segmentacije se število znakov zmanjša za glave sporočila, ki označujejo del sporočila. Zato ob pošiljanju velikega SMS sporočila le-to vsebuje največ 153 latiničnih znakov oziroma 67 netipičnih znakov.

Shema kodiranja podatkov

Vendar morajo biti znaki kodirani, da prenesejo sporočilo. V protokolu SMPP je za kodiranje odgovorno posebno polje - Data Coding Scheme ali DCS. To je polje, ki določa, kako naj bodo sporočila prepoznana. Poleg tega polje DCS vključuje:

  • nabor znakov, ki določa kodiranje;
  • razred sporočila;
  • zahteva za samodejni izbris po branju;
  • indikacija stiskanja sporočila;
  • jezik oddajnega sporočila;

Standardna 7-bitna abeceda (GSM 03.38). Razvit je bil za sistem sporočanja v GSM. To kodiranje je primerno za angleščino in številne latinske jezike. Vsak znak je sestavljen iz 7 bitov in je kodiran v oktet.

UTF-16 (v GSM UCS2) Za vključitev manjkajočih znakov v 7-bitno abecedo je bilo razvito kodiranje UTF-16, ki dodaja dodatne znake (vključno s ciriličnimi) z zmanjšanjem velikosti sporočila s 160 na 70, ta vrsta kodiranja skoraj popolnoma ponavlja Unicode.

8-bitni uporabniško definirani podatki. Ti vključujejo KOI8-R in Windows-1251. Čeprav se zdi, da je ta rešitev bolj ekonomična v primerjavi z istim UTF-16. Obstaja razumno vprašanje združljivosti na različnih napravah. Ker je treba v tem primeru obe napravi konfigurirati vnaprej.

Razred sporočila

  • Class0 ali flash, sporočilo, ki se shrani v pomnilnik telefona na zahtevo uporabnika;
  • Class1 ali tiste, ki so shranjeni v pomnilniku telefona;
  • Class1 ali tiste, ki so shranjeni v pomnilniku telefona;
  • Class2, mora zagotoviti, da je sporočilo shranjeno v pomnilniku mobilnega terminala, sicer mora SMS centru sporočiti obvestilo o nemožnosti shranjevanja;
  • Class3 - v tem primeru bi moral telefon poslati obvestilo, da je sporočilo mogoče shraniti, ne glede na količino pomnilnika v napravi. Ta vrsta sporočila pomeni, da je sporočilo doseglo cilj;

Vrsta sporočila

Tiho sporočilo (SMS0) Vrsta sporočila SMS brez vsebine. Takšno SMS sporočilo pride brez obvestila in ni prikazano na zaslonu naprave.

PDU

Vsaka operacija pdu je seznanjena in je sestavljena iz zahteve in odgovora. Na primer: ukaz, ki pravi, da je bila povezava vzpostavljena (bind_transmitter / bind_transmitter_resp) ali da je bilo sporočilo poslano (deliver_sm / deliver_sm_resp)

SMPP - Peer-to-Peer protokol za kratka sporočila

Vsak paket pdu je sestavljen iz dveh delov - glave (header) in telesa (body). Struktura glave je enaka za kateri koli paket pdu: ukazna dolžina je dolžina paketa, id je ime paketa, statusni ukaz pa označuje, ali je bilo sporočilo poslano uspešno ali neuspešno.

Dodatni parametri TLV

TLV (Tag Length Value) ali dodatna polja. Takšni parametri se uporabljajo za razširitev funkcionalnosti protokola in so neobvezni. To polje je določeno na koncu polja pdu. Na primer, z uporabo TLV dest_addr_np_information lahko organizirate prenos informacij o prenosu številke.

Ton in Npi

Parameter TON (Type of Number) obvešča SMSC o formatu naslavljanja in vrsti omrežja.
NPI (Numbering Plan Identification) parameter, ki označuje načrt oštevilčenja.

SMPP - Peer-to-Peer protokol za kratka sporočila

Izvorni naslov sporočila ali alfa ime

Sporočila, poslana na telefon, so v dveh različicah: številska in abecedna. Številke so lahko dolge (podobne telefonski številki) ali kratke. Včasih imajo operaterji omejitve pri pošiljanju iz nevtralnih imen, kot so Infosms, Alert itd. Včasih operaterji ne dovolijo prometa, če ime ni registrirano v njihovem omrežju. Vendar je to bolj lastnost operaterja.

Faze oddaje

SMPP - Peer-to-Peer protokol za kratka sporočila

SMS-ODDAJ pošilja sporočilo MO FSM (kratko sporočilo z mobilnega terminala)
SMS-ODDAJ POROČILO — potrditev, da je bilo sporočilo poslano prek SMSC
SRI SM (SendRoutingInfo) - SMSC prejme informacije od HLR o lokaciji MSC/VLR naročnika
SRI SM RESP — odgovor HLR v zvezi s stališčem naročnika
MT-FSM - po prejemu lokacije se pošlje sporočilo z operacijo "Posreduj kratko sporočilo".
MT-FSM-ACK — odgovor SMSC, da je sporočilo poslano
SMS POROČILO O STANJU — SMSC pošlje status dostave sporočila.

Stanje dostave sporočila

SMS POROČILO O STANJU ima lahko več vrednosti:
DELIVRD sporočilo uspešno dostavljeno
ZAVRNJENO — SMS center zavrnil sporočilo
IZKUŠENO - sporočilo se odstrani iz čakalne vrste za pošiljanje po koncu TTL (življenjska doba sporočila)
RAZDEL - drugi primeri nedobave
UNKNOWN– Nobenega odgovora.

Napake pri prenosu

Včasih razlogi, zaradi katerih SMS sporočila niso dostavljena naročniku. Posledica teh razlogov je pojav napak. Napake so vrnjene v PDUs_sms_resp. Vse napake lahko razdelimo na začasne (Temporary) in trajne (Permanent).

Na primer, absent_subscriber je začasen, naročnik ni na voljo ali ni na spletu, in trajen - naročnik ne obstaja. Glede na napake, ki se pojavijo, se oblikuje pravilnik za ponovno pošiljanje teh sporočil.

Na primer, če je bil naročnik zaposlen in je prejel napako MT slušalka je zasedena, lahko sporočilo ponovno pošlje po nekaj minutah, če pa je naročnik blokiral storitev prejema sporočila, ponovno pošiljanje ne bo smiselno. Seznam napak najdete na straneh SMSC, na primer kot to.

Vir: www.habr.com

Dodaj komentar