Sawubona! Nakuba izithunywa nezinkundla zokuxhumana kushintsha izindlela zokuxhumana ezivamile nsuku zonke, lokhu akukuphazamisi ukuduma kwe-SMS. Ukuqinisekiswa kusayithi elidumile, noma isaziso sokuthenga siyaphindwa, bayaphila futhi bazophila. Wake wazibuza ukuthi konke kusebenza kanjani? Ngokuvamile, iphrothokholi ye-SMPP isetshenziselwa ukuthumela imiyalezo eminingi, okuzoxoxwa ngayo ngezansi.
Sezivele zikhona izindatshana ku-HabrΓ© mayelana ne-smpp,
Iphrothokholi ye-SMPP iphrothokholi yokulayeza kontanga kuya kontanga. Lokhu kusho ukuthi iseva ngayinye yontanga/yehabhu inamalungelo alinganayo. Esimeni esilula, uhlelo lwemiyalezo ye-SMS lubukeka kanje:
Kodwa-ke, uma u-opharetha kazwelonke engenawo umzila endaweni ethile ekude, ucela umlamuli walokhu - ihabhu le-SMS. Ngezinye izikhathi, ukuze uthumele i-SMS eyodwa, udinga ukwakha uchungechunge phakathi kwamazwe amaningana, noma ngisho namazwekazi.
Mayelana nephrothokholi
I-SMPP iyiphrothokholi yesendlalelo sohlelo lokusebenza esekelwe ekushintshanisweni kwe-PDU futhi idluliselwa nge-TCP / IP, noma izikhathi ze-X25 zokudlulisa imilayezo ye-SMS ne-ussd. Ngokuvamile, i-SMPP isetshenziswa kumodi eqhubekayo, esiza ukonga isikhathi. I-SMPP isebenzisa imodeli yokuxhumana yeklayenti-server.
Imodi yokuxhumana
Ukushintshisana kwemiyalezo phakathi komthumeli nesikhungo se-SMS nge-SMPP kungenziwa ngalezi zindlela ezilandelayo:
Transmitter (transmitter) - ukudlulisa umlayezo ohlangothini olulodwa, eyodwa ngesikhathi
Umamukeli - wamukela kuphela umlayezo ovela esikhungweni se-SMS.
I-Transreceiver (i-transceiver) - Ukushintshaniswa kwemiyalezo phakathi kwesikhungo se-SMS nomsebenzisi
isakhiwo
Ubude bomlayezo
Umlayezo we-SMS owodwa ungaqukatha izinhlamvu ezingu-70 uma uthayipha ngesiCyrillic futhi ungabi ngaphezu kwezinhlamvu zesiLatini ezingu-157 + 3 UDH Uma uthumela i-SMS enenani elikhulu lezinhlamvu, izohlukaniswa ibe izingxenye ezimbalwa futhi ihlanganiswe kudivayisi eyamukelayo. Esimeni sokuhlukaniswa, inani lezinhlamvu lincishiswa izihloko zemiyalezo, ezibonisa ingxenye yomlayezo. Ngakho-ke, uma uthumela umlayezo we-SMS omkhulu, uqukethe izinhlamvu zesiLatini ezingu-153 noma izinhlamvu ezingu-67 ezingavamile.
Uhlelo Lokufaka Ikhodi Yedatha
Nokho, izimpawu zidinga umbhalo wekhodi ukuze udlulise umlayezo. Kuphrothokholi ye-SMPP, inkambu ekhethekile inesibopho sombhalo wekhodi - I-Data Coding Scheme, noma i-DCS. Lena inkambu ecacisa ukuthi imilayezo kufanele yaziwe kanjani. Ngaphezu kwalokho, inkambu ye-DCS ihlanganisa:
- isethi yohlamvu echaza umbhalo wekhodi;
- isigaba somlayezo;
- isicelo sokususwa okuzenzakalelayo ngemva kokufunda;
- isibonakaliso sokucindezelwa komlayezo;
- ukusakaza ulimi lomlayezo;
Ama-alfabhethi ajwayelekile angu-7-bit (GSM 03.38). Yakhelwe uhlelo lwemiyalezo ye-GSM. Lokhu kufakwa kwekhodi kulungele isiNgisi kanye nenani lezilimi zesiLatini. Uhlamvu ngalunye luqukethe amabhithi angu-7 futhi lufakwe ikhodi ku-octet.
UTF-16 (ku-GSM UCS2) Ukuze ufake izinhlamvu ezingekho ku-alfabhethi ye-7-bit, umbhalo wekhodi we-UTF-16 wathuthukiswa, owengeza izinhlamvu ezengeziwe (kuhlanganise nesiCyrillic) ngokunciphisa usayizi womlayezo usuka ku-160 uye ku-70; lolu hlobo lombhalo wekhodi cishe iphindaphinda ngokuphelele i-Unicode.
8-bit idatha echazwe umsebenzisi. Lokhu kufaka phakathi i-KOI8-R ne-Windows-1251. Nakuba lesi sixazululo sibonakala sinomnotho kakhulu uma siqhathaniswa ne-UTF-16 efanayo. Umbuzo ozwakalayo uvela wokuhambisana kumadivayisi ahlukene. Ngoba kulokhu, zombili izisetshenziswa kufanele zilungiselelwe kusengaphambili.
Ikilasi lomlayezo
- I-Class0, noma i-flash, umyalezo ogcinwe kumemori yocingo ngokwesicelo somsebenzisi;
- I-Class1, noma lezo ezigcinwe kumemori yefoni;
- I-Class1, noma lezo ezigcinwe kumemori yefoni;
- I-Class2 kufanele iqinisekise ukuthi umlayezo ulondolozwe kumemori yetheminali yeselula, ngaphandle kwalokho kufanele yazise isikhungo se-SMS mayelana nokungenzeki kokulondoloza;
- I-Class3 - kulokhu, ifoni kufanele ithumele isaziso sokuthi umlayezo ungagcinwa, kungakhathaliseki inani lememori kudivayisi. Lolu hlobo lomlayezo lusho ukuthi umlayezo ufinyelele kumamukeli;
Uhlobo Lomlayezo
Umlayezo othulile (SMS0) Uhlobo lomlayezo we-SMS ngaphandle kokuqukethwe. Le SMS ifika ngaphandle kwesaziso futhi ayiboniswa esikrinini sedivayisi.
I-PDU
Ukusebenza ngakunye kwe-pdu kubhanqiwe futhi kuqukethe isicelo nempendulo. Isibonelo: umyalo othi uxhumano lusunguliwe (bind_transmitter / bind_transmitter_resp), noma ukuthi umlayezo udlulisiwe (deliver_sm / deliver_sm_resp)
Iphakethe ngalinye le-pdu linezingxenye ezimbili - unhlokweni nomzimba. Isakhiwo sikanhlokweni siyafana kunoma yiliphi iphakethe le-pdu: ubude bomyalo ubude bephakethe, i-id igama lephakethe, futhi umyalo wesimo ubonisa ukuthi umlayezo udluliselwe ngempumelelo noma ngephutha.
Amapharamitha e-TLV engeziwe
I-TLV (Inani Lobude Bomaka), noma izinkambu ezengeziwe. Imingcele enjalo isetshenziselwa ukwandisa ukusebenza kwephrothokholi futhi ayidingeki. Le nkambu ivela ekugcineni kwenkambu ye-pdu. Njengesibonelo, usebenzisa i-TLV dest_addr_np_information, ungahlela ukudluliswa kolwazi mayelana nokuphatheka kwenombolo.
UTon noNpi
Ipharamitha ye-TON (Uhlobo Lwenombolo) yazisa i-SMSC mayelana nefomethi yekheli kanye nohlobo lwenethiwekhi.
Ipharamitha ye-NPI (Numbering Plan Identification) ebonisa uhlelo lwezinombolo.
Ikheli lomthombo womlayezo, noma igama le-alpha
Imilayezo ethunyelwa ocingweni lwakho iza ngezinhlobo ezimbili: idijithali ne-alfabhethi. Izinombolo zedijithali zingaba zinde (zifane nenombolo yocingo) noma zibe zifushane. Kwesinye isikhathi opharetha banemikhawulo ekuthumeleni kusuka kumagama angathathi hlangothi, ngokwesibonelo, i-Infosms, Isaziso njll. Kwesinye isikhathi opharetha ngeke bavumele ithrafikhi uma igama lingabhalisiwe kunethiwekhi yabo. Nokho, lezi izici kunalokho opharetha.
Izigaba zokuthumela
I-SMS-THUMELA - lokhu kuthumela umlayezo we-MO FSM (umlayezo omfushane ovela esikhumulweni seselula)
I-SMS-THUMELA UMBIKO β isiqinisekiso sokuthi umlayezo uthunyelwe yi-SMSC
I-SRI SM (SendRoutingInfo) - I-SMSC ithola ulwazi kwa-HLR mayelana nendawo ye-MSC/VLR yobhalisile
I-SRI SM RESP - impendulo evela ku-HLR mayelana nenyama yendawo yokubhalisa
I-MT-FSM β ngemva kokuthola indawo, umlayezo uthunyelwa kusetshenziswa umsebenzi othi βDlulisa Umlayezo Omfishaneβ
I-MT-FSM ACK β impendulo evela ku-SMSC yokuthi umlayezo uthunyelwe
I-SMS-UMBIKO WEsimo - I-SMSC ithumela isimo sokulethwa komlayezo.
Isimo sokulethwa komlayezo
I-SMS-UMBIKO WEsimo ingathatha amanani amaningana:
DELIVRD umlayezo ulethwe ngempumelelo
KWAKHIWE β Umlayezo unqatshwe isikhungo se-SMS
ILANDELWE β umlayezo uyasuswa kulayini wokuthumela ngemva kokuphela kwe-TTL (impilo yonke yomlayezo)
UNDELIV - amanye amacala wokungalethiki
ONGAZIWAYO-akukho mpendulo etholiwe mayelana nokuthunyelwa.
Amaphutha okudlulisa
Kwesinye isikhathi kuba nezizathu zokuthi kungani imilayezo ye-SMS ingalethwa kobhalisile. Umphumela walezi zizathu wukwenzeka kwamaphutha. Amaphutha abuyiselwa ku-PDUs_sms_resp. Wonke amaphutha angahlukaniswa abe okwesikhashana (Okwesikhashana) futhi unomphela (Okungunaphakade).
Njengesibonelo, u-absent_subscriber angabhekwa njengowesikhashana - obhalisile akatholakali noma akekho ku-inthanethi, futhi unomphela - obhalisile akekho. Kuye ngamaphutha avelayo, inqubomgomo yokuthumela kabusha le milayezo iyakhiwa.
Isibonelo, uma obhalisile ematasa ocingweni futhi ethola iphutha le-handset ye-MT imatasa, umlayezo ungathunyelwa kabusha ngemuva kwemizuzu embalwa, noma kunjalo, uma isevisi yokwamukela umlayezo wobhalisile ivinjiwe, ukuthumela kabusha futhi ngeke kuzwakale. Ungathola uhlu lwamaphutha emakhasini e-SMSC, isibonelo, njenge
Source: www.habr.com