SMPP - Protokol Pesen Singkat Peer-to-Peer

Halo! Sanaos utusan instan sareng jaringan sosial ngagentos metode komunikasi tradisional unggal dinten, ieu henteu ngirangan popularitas SMS. Verifikasi dina situs populér, atawa bewara urus repeats maranéhna hirup tur bakal hirup. Dupi anjeun mikir ngeunaan kumaha eta sadayana jalan? Sering pisan, protokol SMPP dipaké pikeun ngirim pesen bulk, anu bakal dibahas dina cut.

Habré geus boga artikel ngeunaan smpp, 1,2, tapi tujuanana henteu ngajelaskeun protokol sorangan. Tangtosna, anjeun tiasa langsung ngamimitian ti sumberna - spésifikasi, tapi kuring pikir bakal hadé lamun aya kasimpulan eusina. Kuring bakal ngajelaskeun ngagunakeun v3.4 sabagé conto. Kami bungah pikeun kritik obyektif Anjeun.

Protokol SMPP nyaéta protokol olahtalatah peer-to-peer. Ieu ngandung harti yén unggal peer / hub server sarua. Dina kasus pangbasajanna, skéma olahtalatah SMS sapertos kieu:

SMPP - Protokol Pesen Singkat Peer-to-Peer

Sanajan kitu, lamun operator nasional teu boga jalur a, anjeunna nanya hiji perantara pikeun ieu sababaraha wewengkon terpencil - hiji hub SMS. Sakapeung, pikeun ngirim hiji SMS, anjeun kedah ngawangun ranté antara sababaraha nagara, atanapi bahkan buana.

Ngeunaan protokol

SMPP mangrupikeun protokol lapisan aplikasi anu dumasar kana bursa PDU sareng dikirimkeun ngaliwatan TCP / IP, atanapi sesi X25 pikeun ngirim pesen sms sareng ussd. Biasana SMPP dianggo dina modeu sambungan pengkuh, ieu ngaheéat waktos. SMPP ngagunakeun modél komunikasi klien-server.

Modeu komunikasi

SMPP - Protokol Pesen Singkat Peer-to-Peer

Bursa pesen antara pangirim sareng pusat SMS ngalangkungan SMPP tiasa dilaksanakeun dina modeu ieu:

Pamancar (pamancar) - pangiriman pesen dina hiji arah, dina gilirannana
Panarima (receiver) - ngan ukur nampi pesen ti pusat SMS.
Transreceiver (transceiver) - bursa pesen antara puseur SMS jeung pamaké

struktur

SMPP - Protokol Pesen Singkat Peer-to-Peer

Panjang talatah

Hiji pesen SMS tiasa ngandung 70 karakter nalika ngetik dina Cyrillic sareng henteu langkung ti 157 karakter Latin + 3 UDH Upami anjeun ngirim SMS kalayan jumlah karakter anu ageung, éta bakal dibagi kana sababaraha bagéan sareng digabungkeun dina alat anu nampi. Dina hal segmentasi, jumlah karakter dikirangan ku header pesen, anu nunjukkeun bagian tina pesen. Ku alatan éta, nalika ngirim pesen SMS badag, eta ngandung maksimum 153 karakter Latin atawa 67 karakter non-khas.

Skéma Coding Data

Nanging, karakter kedah dikodekeun pikeun nepikeun pesen. Dina protokol SMPP, widang husus tanggung jawab encoding - Data Coding Skéma, atawa DCS. Ieu widang nu nangtukeun kumaha pesen kudu dipikawanoh. Sajaba ti éta, widang DCS ngawengku:

  • set karakter anu ngahartikeun encoding;
  • kelas pesen;
  • nyuhunkeun ngahapus otomatis saatos maca;
  • indikasi komprési pesen;
  • basa pesen siaran;

Alfabét 7-bit baku (GSM 03.38). Éta dikembangkeun pikeun sistem olahtalatah di GSM. Encoding ieu cocog pikeun basa Inggris sareng sajumlah basa Latin. Unggal karakter diwangun ku 7 bit sarta disandikeun kana oktet.

UTF-16 (dina GSM UCS2) Pikeun ngalebetkeun karakter anu leungit dina alfabét 7-bit, encoding UTF-16 dikembangkeun, anu nambihan karakter tambahan (kalebet karakter Sirilik) ku cara ngirangan ukuran pesen tina 160 dugi ka 70, encoding jinis ieu. ampir sakabéhna ngulang Unicode.

8-bit pamaké diartikeun data. Ieu kalebet KOI8-R sareng Windows-1251. Sanaos solusi ieu sigana langkung ekonomis dibandingkeun sareng UTF-16 anu sami. Aya patarosan lumrah ngeunaan kasaluyuan dina alat béda. Kusabab dina hal ieu duanana alat kudu ngonpigurasi sateuacanna.

Kelas pesen

  • Class0, atanapi lampu kilat, pesen anu disimpen dina mémori telepon upami dipénta ku pangguna;
  • Class1, atanapi anu disimpen dina mémori telepon;
  • Class1, atanapi anu disimpen dina mémori telepon;
  • Class2, kudu mastikeun yén suratna disimpen dina mémori tina terminal mobile, disebutkeun kudu masihan bewara ka puseur SMS ngeunaan henteu mampuh pikeun nyimpen;
  • Class3 - dina hal ieu, telepon kudu ngirim bewara yen pesen bisa disimpen, paduli jumlah memori dina alat. Jenis pesen ieu nunjukkeun yén pesen parantos dugi ka tujuanana;

Jenis pesen

Pesen jempé (SMS0) Jenis pesen SMS tanpa eusi. SMS sapertos kitu sumping tanpa béwara sareng henteu ditampilkeun dina layar alat.

PDUs

Unggal operasi pdu dipasangkeun sareng diwangun ku pamundut sareng réspon. Contona: paréntah anu nyebutkeun sambungan geus dijieun (bind_transmitter / bind_transmitter_resp), atawa yén pesen geus dikirim (deliver_sm / deliver_sm_resp)

SMPP - Protokol Pesen Singkat Peer-to-Peer

Unggal pakét pdu diwangun ku dua bagian - lulugu (header) jeung awak (awak). Struktur lulugu sarua pikeun sagala pakét pdu: panjang paréntah nyaéta panjang pakét, id nyaéta ngaran pakét, sarta paréntah status nunjukkeun naha pesen ieu dikirim hasil atawa gagal.

Parameter TLV tambahan

TLV (Tag Length Value), atawa widang tambahan. Parameter sapertos dianggo pikeun ngalegaan pungsionalitas protokol sareng opsional. Widang ieu dieusian dina tungtung widang pdu. Salaku conto, ngagunakeun TLV dest_addr_np_information, anjeun tiasa ngatur transfer inpormasi ngeunaan porting nomer.

Ton jeung Npi

Parameter TON (Tipe Jumlah) ngawartosan SMSC ngeunaan format alamat sareng jinis jaringan.
NPI (Numbering Plan Identification) parameter nunjukkeun rencana panomeran.

SMPP - Protokol Pesen Singkat Peer-to-Peer

Alamat sumber pesen, atanapi nami alfa

Pesen anu dikirim ka telepon aya dina dua jinis: numerik sareng alfabét. Nomer tiasa panjang (sarupa sareng nomer telepon) atanapi pondok. Kadang operator boga larangan dina ngirim tina ngaran nétral, kayaning Infosms, Siaga jsb. Kadang operator teu ngidinan lalulintas lamun ngaran teu didaptarkeun dina jaringan maranéhanana. Sanajan kitu, ieu téh leuwih fitur tina operator.

Tahapan ngirimkeun

SMPP - Protokol Pesen Singkat Peer-to-Peer

SMS-SEMPIkeun ngirim pesen MO FSM (pesen pondok tina terminal mobile)
SMS-Kirimkeun laporan - konfirmasi yén pesen dikirim ku SMSC
SRI SM (SendRoutingInfo) - SMSC nampi inpormasi ti HLR ngeunaan lokasi MSC/VLR palanggan
SRI SM RESP - réspon ti HLR ngeunaan daging posisi palanggan
MT-FSM - saatos nampi lokasina, pesen dikirim nganggo operasi "Forward Short Message".
MT-FSM-ACK - réspon ti SMSC yén pesen parantos dikirim
LAPORAN STATUS SMS - SMSC ngirimkeun status pangiriman pesen.

Status pangiriman pesen

LAPORAN STATUS SMS tiasa nyandak sababaraha nilai:
DELIVRD pesen suksés dikirimkeun
DITOLAK - pesen ditolak ku puseur SMS
NGEDENGKE - pesen dipiceun tina antrian kirim saatos tungtung TTL (umur pesen)
UNDELIV - kasus séjén non-pangiriman
TEU DIPIKANYAHO- Taya respon narima.

Kasalahan pangiriman

Kadang-kadang alesan pikeun pesen SMS henteu dikirimkeun ka palanggan. Konsékuansi tina alesan ieu lumangsungna kasalahan. Kasalahan dipulangkeun dina PDUs_sms_resp. Sadaya kasalahan tiasa dibagi kana samentawis (Samentara) sareng permanén (Permanén).

Salaku conto, absent_subscriber samentawis, palanggan henteu sayogi atanapi henteu online, sareng permanén - palanggan henteu aya. Gumantung kana kasalahan anu lumangsung, kawijakan pikeun ngirim deui pesen ieu kabentuk.

Salaku conto, upami palanggan sibuk ngobrol sareng nampi héndsét MT mangrupikeun kasalahan sibuk, pesenna tiasa ambek saatos sababaraha menit, tapi upami palanggan parantos ngablokir ladénan panampi pesen, kiriman deui moal asup akal. Anjeun tiasa manggihan daptar kasalahan dina kaca SMSC, contona, salaku эта.

sumber: www.habr.com

Tambahkeun komentar