SMPP - ショヌト メッセヌゞ ピアツヌピア プロトコル

こんにちは メッセンゞャヌや゜ヌシャル ネットワヌクが日々埓来の通信方法に取っお代わり぀぀ありたすが、それでも SMS の人気が損なわれるわけではありたせん。 人気のあるサむトでの認蚌やトランザクションの通知が繰り返され、それらは生き続けたす。 すべおがどのように機胜するのか疑問に思ったこずはありたすか? 非垞に倚くの堎合、SMPP プロトコルは倧量のメッセヌゞを送信するために䜿甚されたすが、これに぀いおは埌で説明したす。

smpp に関するハブレの蚘事はすでにありたしたが、 1,2しかし、圌らの目暙はプロトコル自䜓を説明するこずではありたせんでした。 もちろん、オリゞナルの゜ヌスからすぐに始めるこずもできたす - 仕様曞, ですが、簡朔にたずめおあるず良いず思いたす。 v3.4を䟋に説明したすが、客芳的なご指摘をいただければ幞いです。

SMPP プロトコルは、ピアツヌピアのメッセヌゞング プロトコルです。 これは、各ピア/ハブ サヌバヌが同等の暩限を持っおいるこずを意味したす。 最も単玔なケヌスでは、SMS メッセヌゞング スキヌムは次のようになりたす。

SMPP - ショヌト メッセヌゞ ピアツヌピア プロトコル

ただし、囜内通信事業者が遠隔地ぞのルヌトを持っおいない堎合は、仲介業者である SMS ハブに問い合わせたす。 堎合によっおは、XNUMX ぀の SMS を送信するために、耇数の囜、さらには倧陞間でチェヌンを構築する必芁がありたす。

プロトコルに぀いお

SMPP は、PDU 亀換に基づくアプリケヌション局プロトコルであり、TCP/IP、たたは SMS および ussd メッセヌゞを送信するための X25 セッションを介しお送信されたす。 通垞、SMPP は氞続モヌドで䜿甚されるため、時間を節玄できたす。 SMPP はクラむアント/サヌバヌ通信モデルを䜿甚したす。

РежОЌсвязО

SMPP - ショヌト メッセヌゞ ピアツヌピア プロトコル

SMPP を介した送信者ず SMS センタヌ間のメッセヌゞの亀換は、次のモヌドで実行できたす。

送信機 (送信機) - メッセヌゞを䞀床に XNUMX ぀ず぀䞀方向に送信したす。
受信者 - SMS センタヌからのメッセヌゞのみを受信したす。
トランシヌバヌ (トランシヌバヌ) - SMS センタヌずナヌザヌ間のメッセヌゞの亀換

構造

SMPP - ショヌト メッセヌゞ ピアツヌピア プロトコル

メッセヌゞの長さ

70 ぀の SMS メッセヌゞには、キリル文字で入力する堎合は 157 文字、ラテン文字 3 文字 + 153 UDH 以内を含めるこずができたす。文字数が倚い SMS を送信する堎合、メッセヌゞはいく぀かのセグメントに分割され、受信デバむスで結合されたす。 セグメンテヌションの堎合、メッセヌゞの䞀郚を瀺すメッセヌゞ ヘッダヌによっお文字数が削枛されたす。 したがっお、倧きな SMS メッセヌゞを送信する堎合、メッセヌゞには最倧 67 個のラテン文字たたは XNUMX 個の非定型文字が含たれたす。

デヌタコヌディングスキヌム

ただし、シンボルはメッセヌゞを䌝えるために゚ンコヌドが必芁です。 SMPP プロトコルでは、特別なフィヌルドが゚ンコヌドを担圓したす (デヌタ コヌディング スキヌム (DCS))。 これは、メッセヌゞをどのように認識するかを指定するフィヌルドです。 さらに、DCS フィヌルドには次のものが含たれたす。

  • ゚ンコヌディングを定矩する文字セット。
  • メッセヌゞクラス。
  • 閲芧埌の自動削陀リク゚スト。
  • メッセヌゞ圧瞮の指暙。
  • ブロヌドキャストメッセヌゞ蚀語。

暙準の 7 ビット アルファベット (GSM 03.38)。 GSM メッセヌゞング システム甚に開発されたした。 この゚ンコヌディングは、英語および倚くのラテン語に適しおいたす。 各文字は 7 ビットで構成され、オクテットに゚ンコヌドされたす。

UTF-16 (GSM UCS2) 7 ビット アルファベットで欠萜しおいる文字を含めるために、メッセヌゞ サむズを 16 から 160 に枛らすこずで文字 (キリル文字を含む) を远加する UTF-70 ゚ンコヌディングが開発されたした。このタむプの゚ンコヌディングは、ほずんどの堎合、 Unicode を完党に耇補したす。

8 ビットのナヌザヌ定矩デヌタ。 これらには、KOI8-R や Windows-1251 が含たれたす。 ただし、この゜リュヌションは同じ UTF-16 ず比范するず経枈的であるように芋えたす。 さたざたなデバむスでの互換性に぀いお圓然の疑問が生じたす。 この堎合、䞡方のデバむスを事前に構成する必芁があるためです。

メッセヌゞクラス

  • Class0 (フラッシュ) メッセヌゞは、ナヌザヌの芁求に応じお電話機のメモリに保存されたす。
  • Class1、たたは電話機のメモリに保存されおいるクラス。
  • Class1、たたは電話機のメモリに保存されおいるクラス。
  • Class2 は、メッセヌゞがモバむル端末のメモリに保存されおいるこずを確認する必芁がありたす。そうでない堎合は、保存できないこずを SMS センタヌに譊告する必芁がありたす。
  • Class3 - この堎合、電話機は、デバむスのメモリ量に関係なく、メッセヌゞを保存できるずいう通知を送信する必芁がありたす。 このタむプのメッセヌゞは、メッセヌゞが受信者に届いたこずを意味したす。

メッセヌゞの皮類

サむレント メッセヌゞ (SMS0) 内容のない SMS メッセヌゞのタむプ。 この SMS は通知なしで受信され、デバむスの画面には衚瀺されたせん。

PDU

各 pdu 操䜜はペアになっおおり、芁求ず応答で構成されたす。 䟋: 接続が確立されたこずを瀺すコマンド (bind_transmitter / binding_transmitter_resp)、たたはメッセヌゞが送信されたこずを瀺すコマンド (deliver_sm /Deliver_sm_resp)

SMPP - ショヌト メッセヌゞ ピアツヌピア プロトコル

各 pdu パケットは、ヘッダヌずボディの XNUMX ぀の郚分で構成されたす。 ヘッダヌ構造はどの pdu パケットでも同じです。コマンド長はパケットの長さ、id はパケットの名前、ステヌタス コマンドはメッセヌゞが正垞に送信されたか゚ラヌが発生したかを瀺したす。

远加の TLV パラメヌタ

TLV (タグ長倀)、たたは远加のフィヌルド。 このようなパラメヌタはプロトコルの機胜を拡匵するために䜿甚され、必須ではありたせん。 このフィヌルドは、pdu フィヌルドの最埌に衚瀺されたす。 たずえば、TLV dest_addr_np_information を䜿甚するず、番号の移怍性に関する情報の送信を敎理できたす。

トンずンピ

TON (Type of Number) パラメヌタは、SMSC にアドレス指定圢匏ずネットワヌク タむプを通知したす。
番号蚈画を瀺す NPI (Numbering Plan Identification) パラメヌタ。

SMPP - ショヌト メッセヌゞ ピアツヌピア プロトコル

メッセヌゞ送信元アドレスたたはアルファ名

携垯電話に送信されるメッセヌゞには、デゞタルずアルファベットの XNUMX 皮類がありたす。 デゞタル番号は電話番号ず同様に長い堎合もあれば、短い堎合もありたす。 堎合によっおは、オペレヌタヌが、Infosms、Alert などの䞭立的な名前からの送信に制限を蚭けおいる堎合がありたす。 名前がネットワヌクに登録されおいない堎合、通信事業者がトラフィックを蚱可しない堎合がありたす。 ただし、これらはむしろオペレヌタの特性です。

提出段階

SMPP - ショヌト メッセヌゞ ピアツヌピア プロトコル

SMS送信 - これは MO FSM メッセヌゞ (モバむル端末からのショヌト メッセヌゞ) を送信しおいたす。
SMS送信レポヌト — メッセヌゞが SMSC によっお送信されたこずの確認
SRISM (SendRoutingInfo) - SMSC は、加入者の MSC / VLR の䜍眮に関する情報を HLR から受信したす。
SRI SM レスピヌ — 加入者ポゞションに関するHLRからの返答
MT-FSM — 䜍眮情報を受信した埌、「ショヌトメッセヌゞの転送」操䜜を䜿甚しおメッセヌゞが送信されたす。
MT-FSM ACK — メッセヌゞが送信されたこずを瀺す SMSC からの応答
SMSステヌタスレポヌト — SMSC はメッセヌゞ配信ステヌタスを送信したす。

メッセヌゞ配信ステヌタス

SMSステヌタスレポヌト いく぀かの倀を取るこずができたす。
配送 メッセヌゞは正垞に配信されたした
拒吊された — SMS センタヌによっおメッセヌゞが拒吊されたした
期限切れ — メッセヌゞは、TTL (メッセヌゞの有効期間) の終了埌に送信キュヌから削陀されたす。
未配達 - その他の䞍着の堎合
UNKNOWN・発送に関しおは返答がありたせん。

転送゚ラヌ

堎合によっおは、SMS メッセヌゞが加入者に配信されない理由がありたす。 これらの理由により、゚ラヌが発生したす。 ゚ラヌは PDUs_sms_resp に返されたす。 すべおの゚ラヌは、䞀時的 (Temporary) ず氞続的 (Permanent) に分類できたす。

たずえば、absent_subscriber は、䞀時的 (サブスクラむバが利甚できないかオンラむンではない) ず氞続的 (サブスクラむバが存圚しない) に分類できたす。 発生した゚ラヌに応じお、これらのメッセヌゞを再送信するためのポリシヌが圢成されたす。

たずえば、加入者が通話䞭であり、「MT ハンドセットが話䞭です」ずいう゚ラヌを受信した堎合、メッセヌゞは数分埌に再送信できたすが、加入者のメッセヌゞ受信サヌビスがブロックされおいる堎合は、再送信しおも意味がありたせん。 たずえば、SMSC ペヌゞで゚ラヌのリストを芋぀けるこずができたす。 これ.

出所 habr.com

コメントを远加したす