SMPP - Peer-to-peer කෙටි පණිවිඩ ප්‍රොටෝකෝලය

ආයුබෝවන්! ක්ෂණික පණිවිඩකරුවන් සහ සමාජ ජාල සෑම දිනකම සම්ප්‍රදායික සන්නිවේදන ක්‍රම වෙනුවට ආදේශ කරමින් සිටියද, මෙය SMS වල ජනප්‍රියතාවයට බාධාවක් නොවේ. ජනප්‍රිය අඩවියක සත්‍යාපනය හෝ ගනුදෙනු දැනුම්දීමක් ඔවුන් ජීවත් වන අතර ජීවත් වනු ඇත. ඒ සියල්ල ක්‍රියාත්මක වන ආකාරය ගැන ඔබ සිතුවාද? බොහෝ විට, SMPP ප්‍රොටෝකෝලය තොග පණිවිඩ යැවීමට භාවිතා කරයි, එය කප්පාදුව යටතේ සාකච්ඡා කෙරේ.

Habré සතුව දැනටමත් smpp ගැන ලිපි තිබුණි, 1,2, නමුත් ඔවුන්ගේ අරමුණ වූයේ ප්රොටෝකෝලය විස්තර කිරීම නොවේ. ඇත්ත වශයෙන්ම, ඔබට වහාම මූලාශ්රයෙන් ආරම්භ කළ හැකිය - පිරිවිතර, නමුත් එහි අන්තර්ගතයේ සාරාංශයක් තිබුනොත් හොඳයි කියලා මම හිතනවා. මම උදාහරණයක් ලෙස v3.4 භාවිතා කර පැහැදිලි කරන්නම්.ඔබගේ වෛෂයික විවේචනය ගැන මම සතුටු වෙමි.

SMPP ප්‍රොටෝකෝලය යනු peer-to-peer පණිවිඩකරණ ප්‍රොටෝකෝලයකි. මෙයින් අදහස් කරන්නේ සෑම peer/hub සේවාදායකයක්ම සමාන බවයි. සරලම අවස්ථාවෙහිදී, SMS පණිවිඩ යැවීමේ යෝජනා ක්රමය මේ ආකාරයෙන් පෙනේ:

SMPP - Peer-to-peer කෙටි පණිවිඩ ප්‍රොටෝකෝලය

කෙසේ වෙතත්, ජාතික ක්‍රියාකරුට මාර්ගයක් නොමැති නම්, ඔහු මේ සඳහා අතරමැදියෙකුගෙන් සමහර දුරස්ථ කලාපයකට - කෙටි පණිවුඩ මධ්‍යස්ථානයක් ඉල්ලා සිටී. සමහර විට, එක් කෙටි පණිවුඩයක් යැවීමට, ඔබ රටවල් කිහිපයක් හෝ මහාද්වීප අතර දාමයක් ගොඩනගා ගත යුතුය.

ප්රොටෝකෝලය ගැන

SMPP යනු PDU හුවමාරුව මත පදනම් වූ යෙදුම් ස්ථර ප්‍රොටෝකෝලයක් වන අතර එය TCP / IP හෝ X25 සැසි හරහා කෙටි පණිවුඩ සහ ussd පණිවිඩ යැවීම සඳහා සම්ප්‍රේෂණය වේ. සාමාන්‍යයෙන්, SMPP ස්ථීර සම්බන්ධතා ප්‍රකාරයේදී භාවිතා කරයි, එය කාලය ඉතිරි කරයි. SMPP සේවාදායක-සේවාදායක සන්නිවේදන ආකෘතියක් භාවිතා කරයි.

සන්නිවේදන මාදිලිය

SMPP - Peer-to-peer කෙටි පණිවිඩ ප්‍රොටෝකෝලය

SMPP හරහා යවන්නා සහ SMS මධ්‍යස්ථානය අතර පණිවිඩ හුවමාරු කිරීම පහත ක්‍රම වලින් සිදු කළ හැක:

සම්ප්රේෂකය (සම්ප්රේෂකය) - එක් දිශාවකට පණිවිඩයක් සම්ප්රේෂණය කිරීම
ලබන්නා (ග්රාහකයා) - SMS මධ්යස්ථානයෙන් පමණක් පණිවිඩයක් ලැබීම.
සම්ප්‍රේෂකය (ප්‍රතිග්‍රාහකය) - SMS මධ්‍යස්ථානය සහ පරිශීලකයා අතර පණිවිඩ හුවමාරුව

ව්යුහය

SMPP - Peer-to-peer කෙටි පණිවිඩ ප්‍රොටෝකෝලය

පණිවිඩයේ දිග

සිරිලික් භාෂාවෙන් ටයිප් කිරීමේදී එක් SMS පණිවිඩයක අක්ෂර 70 ක් අඩංගු විය හැකි අතර ලතින් අක්ෂර 157 ට වඩා + UDH 3 කට වඩා වැඩි ගණනක් ඔබ අක්ෂර විශාල සංඛ්‍යාවක් සමඟ කෙටි පණිවුඩයක් යවන්නේ නම්, එය කොටස් කිහිපයකට බෙදා ලැබෙන උපාංගයේ ඒකාබද්ධ කෙරේ. ඛණ්ඩනය කිරීමේදී, පණිවිඩයේ කොටස පෙන්නුම් කරන පණිවිඩ ශීර්ෂ මගින් අක්ෂර ගණන අඩු වේ. එබැවින්, විශාල SMS පණිවිඩයක් යැවීමේදී, උපරිම වශයෙන් ලතින් අක්ෂර 153 ක් හෝ සාමාන්ය නොවන අක්ෂර 67 ක් අඩංගු වේ.

දත්ත කේතීකරණ යෝජනා ක්රමය

කෙසේ වෙතත්, පණිවිඩයක් ලබා දීම සඳහා අක්ෂර සංකේතනය කළ යුතුය. SMPP ප්‍රොටෝකෝලය තුළ, කේතීකරණය සඳහා විශේෂ ක්ෂේත්‍රයක් වගකිව යුතුය - දත්ත කේතීකරණ ක්‍රමය, හෝ DCS. මෙය පණිවිඩ හඳුනා ගත යුතු ආකාරය සඳහන් කරන ක්ෂේත්‍රයකි. ඊට අමතරව, DCS ක්ෂේත්‍රයට ඇතුළත් වන්නේ:

  • කේතනය නිර්වචනය කරන අක්ෂර කට්ටලය;
  • පණිවිඩ පන්තිය;
  • කියවීමෙන් පසු ස්වයංක්රීයව මකා දැමීම සඳහා ඉල්ලීම;
  • පණිවිඩ සම්පීඩනය පිළිබඳ ඇඟවීමක්;
  • විකාශන පණිවිඩ භාෂාව;

සම්මත 7-bit හෝඩිය (GSM 03.38). එය GSM හි පණිවුඩකරණ පද්ධතිය සඳහා සංවර්ධනය කරන ලදී. මෙම කේතනය ඉංග්‍රීසි සහ ලතින් භාෂා ගණනාවකට ගැලපේ. සෑම අක්ෂරයක්ම බිටු 7 කින් සමන්විත වන අතර එය අෂ්ටකයකට කේතනය කර ඇත.

UTF-16 (GSM UCS2 හි) 7-bit හෝඩියේ අස්ථානගත වූ අක්ෂර ඇතුළත් කිරීම සඳහා, UTF-16 කේතනය වැඩි දියුණු කරන ලද අතර, මෙම ආකාරයේ කේතීකරණ 160 සිට 70 දක්වා පණිවිඩ ප්‍රමාණය අඩු කිරීමෙන් අමතර අක්ෂර (සිරිලික් ඒවා ඇතුළුව) එකතු කරයි. යුනිකෝඩ් සම්පූර්ණයෙන්ම පාහේ පුනරාවර්තනය වේ .

8-bit පරිශීලක නිර්වචනය කළ දත්ත. මේවාට KOI8-R සහ Windows-1251 ඇතුළත් වේ. මෙම විසඳුම එකම UTF-16 හා සසඳන විට වඩා ලාභදායී බව පෙනේ. විවිධ උපාංගවල අනුකූලතාව පිළිබඳ සාධාරණ ප්රශ්නයක් තිබේ. මෙම අවස්ථාවේ දී උපාංග දෙකම කල්තියා වින්යාසගත කළ යුතු බැවින්.

පණිවිඩ පන්තිය

  • Class0, හෝ flash, පරිශීලකයාගේ ඉල්ලීම පරිදි දුරකථනයේ මතකයේ ගබඩා කර ඇති පණිවිඩයක්;
  • Class1, හෝ දුරකථනයේ මතකයේ ගබඩා කර ඇති ඒවා;
  • Class1, හෝ දුරකථනයේ මතකයේ ගබඩා කර ඇති ඒවා;
  • Class2, පණිවිඩය ජංගම පර්යන්තයේ මතකයේ ගබඩා කර ඇති බව සහතික කළ යුතුය, එසේ නොමැතිනම් සුරැකීමේ නොහැකියාව පිළිබඳව SMS මධ්යස්ථානය වෙත දැනුම්දීම් ලබා දිය යුතුය;
  • Class3 - මෙම අවස්ථාවෙහිදී, උපාංගයේ ඇති මතක ප්රමාණය කුමක් වුවත්, පණිවිඩය සුරැකිය හැකි බවට දුරකථනය දැනුම් දීමක් කළ යුතුය. මෙම ආකාරයේ පණිවිඩය පණිවිඩය එහි ගමනාන්තයට ළඟා වී ඇති බව ඇඟවුම් කරයි;

පණිවිඩ වර්ගය

නිහඬ පණිවිඩය (SMS0) SMS පණිවිඩ වර්ගය අන්තර්ගතය නොමැතිව. එවැනි කෙටි පණිවිඩයක් දැනුම්දීමකින් තොරව පැමිණෙන අතර උපාංග තිරය මත දර්ශනය නොවේ.

පීඩීයූ

සෑම pdu මෙහෙයුමක්ම යුගල කර ඇති අතර ඉල්ලීමකින් සහ ප්‍රතිචාරයකින් සමන්විත වේ. උදාහරණයක් ලෙස: සම්බන්ධතාවයක් ස්ථාපිත කර ඇති බව පවසන විධානයක් (bind_transmitter / bind_transmitter_resp), හෝ පණිවිඩයක් යවා ඇති බව (deliver_sm / deliver_sm_resp)

SMPP - Peer-to-peer කෙටි පණිවිඩ ප්‍රොටෝකෝලය

සෑම pdu පැකේජයක්ම කොටස් දෙකකින් සමන්විත වේ - ශීර්ෂකය (ශීර්ෂකය) සහ ශරීරය (ශරීරය). ඕනෑම pdu පැකට්ටුවක් සඳහා ශීර්ෂ ව්‍යුහය සමාන වේ: විධාන දිග යනු පැකට්ටුවේ දිග, id යනු පැකට්ටුවේ නම, සහ තත්ව විධානය මඟින් පණිවිඩය සාර්ථකව යවා තිබේද නැතහොත් අසාර්ථක වූවාද යන්න දක්වයි.

අතිරේක TLV පරාමිතීන්

TLV (ටැග් දිග අගය), හෝ අමතර ක්ෂේත්‍ර. එවැනි පරාමිතීන් ප්රොටෝකෝලයෙහි ක්රියාකාරිත්වය දිගු කිරීම සඳහා භාවිතා කරනු ලබන අතර ඒවා විකල්ප වේ. මෙම ක්ෂේත්‍රය pdu ක්ෂේත්‍රයේ අවසානයේ දක්වා ඇත. උදාහරණයක් ලෙස, dest_addr_np_information TLV භාවිතයෙන්, ඔබට අංකයේ පෝට් කිරීම පිළිබඳ තොරතුරු මාරු කිරීම සංවිධානය කළ හැකිය.

ටොන් සහ එන්පී

TON (අංක වර්ගය) පරාමිතිය ලිපින ආකෘතිය සහ ජාල වර්ගය පිළිබඳව SMSC වෙත දැනුම් දෙයි.
NPI (Numbering Plan Identification) පරාමිතිය අංකකරණ සැලැස්ම පෙන්නුම් කරයි.

SMPP - Peer-to-peer කෙටි පණිවිඩ ප්‍රොටෝකෝලය

පණිවිඩ මූලාශ්‍ර ලිපිනය, හෝ ඇල්ෆා නම

දුරකථනයට යවන පණිවිඩ වර්ග දෙකකින් පැමිණේ: සංඛ්‍යාත්මක සහ අකාරාදී. අංක දිගු (දුරකථන අංකයකට සමාන) හෝ කෙටි විය හැක. සමහර විට ක්‍රියාකරුවන්ට Infosms, Alert වැනි මධ්‍යස්ථ නම් වලින් යැවීමට සීමාවන් ඇත. සමහර විට ක්‍රියාකරුවන් තම ජාලයේ නම ලියාපදිංචි කර නොමැති නම් ගමනාගමනයට ඉඩ නොදේ. කෙසේ වෙතත්, මෙය ක්රියාකරුගේ වඩාත් ලක්ෂණයකි.

ඉදිරිපත් කිරීමේ අදියර

SMPP - Peer-to-peer කෙටි පණිවිඩ ප්‍රොටෝකෝලය

SMS-ඉදිරිපත් කරන්න MO FSM පණිවිඩය යවයි (ජංගම පර්යන්තයෙන් කෙටි පණිවිඩයක්)
SMS - වාර්තාව ඉදිරිපත් කරන්න - පණිවිඩය SMSC මගින් යවා ඇති බව තහවුරු කිරීම
ශ්‍රී එස්.එම් (SendRoutingInfo) - ග්‍රාහකයාගේ MSC/VLR ස්ථානය සම්බන්ධයෙන් SMSC HLR වෙතින් තොරතුරු ලබා ගනී.
SRI SM RESP - ග්‍රාහක ස්ථාන මස් සම්බන්ධයෙන් HLR වෙතින් ප්‍රතිචාරය
MT-FSM - ස්ථානය ලැබීමෙන් පසු, "Forward Short Message" මෙහෙයුම භාවිතයෙන් පණිවිඩයක් යවනු ලැබේ
MT-FSM-ACK - පණිවිඩය යවා ඇති බවට SMSC වෙතින් ප්‍රතිචාරය
SMS තත්ත්‍ව වාර්තාව - SMSC පණිවිඩ බෙදා හැරීමේ තත්ත්වය යවයි.

පණිවිඩ බෙදා හැරීමේ තත්ත්වය

SMS තත්ත්‍ව වාර්තාව අගයන් කිහිපයක් ගත හැක:
DELIVRD පණිවිඩය සාර්ථකව ලබා දෙන ලදී
ප්‍රතික්ෂේප කරනවා - පණිවිඩය SMS මධ්‍යස්ථානය විසින් ප්‍රතික්ෂේප කරන ලදී
කල් ඉකුත් විය - TTL (පණිවිඩ ආයු කාලය) අවසන් වූ පසු පණිවිඩය යැවීමේ පෝලිමෙන් ඉවත් කරනු ලැබේ.
UNDELIV - භාර නොදීමේ වෙනත් අවස්ථා
නොදන්නා- ප්‍රතිචාරයක් ලැබී නැත.

සම්ප්රේෂණ දෝෂ

සමහර විට SMS පණිවිඩ ග්‍රාහකයාට ලබා නොදෙන හේතු. මේ හේතූන්ගේ විපාකය දෝෂ ඇතිවීමයි. PDUs_sms_resp හි දෝෂ ආපසු ලබා දෙනු ලැබේ. සියලුම දෝෂ තාවකාලික (තාවකාලික) සහ ස්ථිර (ස්ථිර) ලෙස බෙදිය හැකිය.

උදාහරණයක් ලෙස, absent_subscriber තාවකාලිකයි, ග්‍රාහකයා නොමැත හෝ සබැඳිව නැත, සහ ස්ථිර - ග්‍රාහකයා නොපවතියි. සිදු වන දෝෂ මත පදනම්ව, මෙම පණිවිඩ නැවත යැවීම සඳහා ප්‍රතිපත්තියක් සාදනු ලැබේ.

උදාහරණයක් ලෙස, ග්‍රාහකයා කාර්යබහුලව කතා කරමින් සිටියේ නම් සහ MT ජංගම දුරකථනය කාර්යබහුල දෝෂයක් ලබා ගත්තේ නම්, මිනිත්තු කිහිපයකට පසු පණිවිඩය නැවත යැවිය හැක, කෙසේ වෙතත්, ග්‍රාහකයා පණිවිඩ පිළිගැනීමේ සේවාව අවහිර කර ඇත්නම්, නැවත යැවීම අර්ථවත් නොවේ. ඔබට SMSC පිටු වල දෝෂ ලැයිස්තුවක් සොයාගත හැකිය, උදාහරණයක් ලෙස, ලෙස මේ.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න