హలో! ఇన్స్టంట్ మెసెంజర్లు మరియు సోషల్ నెట్వర్క్లు ప్రతిరోజూ కమ్యూనికేషన్ యొక్క సాంప్రదాయ పద్ధతులను భర్తీ చేస్తున్నప్పటికీ, ఇది SMS యొక్క ప్రజాదరణను తగ్గించదు. జనాదరణ పొందిన సైట్లో ధృవీకరణ లేదా లావాదేవీ నోటిఫికేషన్ వారు ప్రత్యక్షంగా మరియు ప్రత్యక్షంగా పునరావృతమవుతుంది. ఇది ఎలా పని చేస్తుందో మీరు ఆలోచించారా? చాలా తరచుగా, SMPP ప్రోటోకాల్ బల్క్ సందేశాలను పంపడానికి ఉపయోగించబడుతుంది, ఇది కట్ కింద చర్చించబడుతుంది.
హబ్రేకి ఇప్పటికే smppp గురించి కథనాలు ఉన్నాయి,
SMPP ప్రోటోకాల్ అనేది పీర్-టు-పీర్ మెసేజింగ్ ప్రోటోకాల్. అంటే ప్రతి పీర్/హబ్ సర్వర్ సమానం. సరళమైన సందర్భంలో, SMS సందేశ పథకం ఇలా కనిపిస్తుంది:
అయినప్పటికీ, జాతీయ ఆపరేటర్కు మార్గం లేకుంటే, అతను ఏదైనా మారుమూల ప్రాంతానికి - SMS హబ్కి దీని కోసం మధ్యవర్తిని అడుగుతాడు. కొన్నిసార్లు, ఒక SMS పంపడానికి, మీరు అనేక దేశాలు లేదా ఖండాల మధ్య గొలుసును నిర్మించాలి.
ప్రోటోకాల్ గురించి
SMPP అనేది PDUల మార్పిడిపై ఆధారపడిన అప్లికేషన్ లేయర్ ప్రోటోకాల్ మరియు sms మరియు ussd సందేశాలను పంపడానికి TCP / IP లేదా X25 సెషన్ల ద్వారా ప్రసారం చేయబడుతుంది. సాధారణంగా SMPP నిరంతర కనెక్షన్ మోడ్లో ఉపయోగించబడుతుంది, ఇది సమయాన్ని ఆదా చేస్తుంది. SMPP క్లయింట్-సర్వర్ కమ్యూనికేషన్ మోడల్ని ఉపయోగిస్తుంది.
కమ్యూనికేషన్ మోడ్
SMPP ద్వారా పంపినవారు మరియు SMS కేంద్రం మధ్య సందేశాల మార్పిడి క్రింది మోడ్లలో నిర్వహించబడుతుంది:
ట్రాన్స్మిటర్ (ట్రాన్స్మిటర్) - ఒక దిశలో సందేశాన్ని ప్రసారం చేయడం
రిసీవర్ (రిసీవర్) - SMS కేంద్రం నుండి సందేశాన్ని మాత్రమే స్వీకరించడం.
ట్రాన్స్సీవర్ (ట్రాన్స్సీవర్) - SMS కేంద్రం మరియు వినియోగదారు మధ్య సందేశ మార్పిడి
నిర్మాణం
సందేశం పొడవు
సిరిలిక్లో టైప్ చేస్తున్నప్పుడు ఒక SMS సందేశం 70 అక్షరాలను కలిగి ఉంటుంది మరియు 157 లాటిన్ అక్షరాలు + 3 UDH కంటే ఎక్కువ ఉండకూడదు మీరు పెద్ద సంఖ్యలో అక్షరాలతో SMSని పంపితే, అది అనేక విభాగాలుగా విభజించబడింది మరియు స్వీకరించే పరికరంలో కలపబడుతుంది. విభజన విషయంలో, సందేశం యొక్క భాగాన్ని సూచించే సందేశ శీర్షికల ద్వారా అక్షరాల సంఖ్య తగ్గించబడుతుంది. అందువల్ల, పెద్ద SMS సందేశాన్ని పంపుతున్నప్పుడు, అది గరిష్టంగా 153 లాటిన్ అక్షరాలు లేదా 67 సాధారణం కాని అక్షరాలను కలిగి ఉంటుంది.
డేటా కోడింగ్ పథకం
అయితే, సందేశాన్ని అందించడానికి అక్షరాలు ఎన్కోడ్ చేయబడాలి. SMPP ప్రోటోకాల్లో, ఎన్కోడింగ్కు ప్రత్యేక ఫీల్డ్ బాధ్యత వహిస్తుంది - డేటా కోడింగ్ స్కీమ్ లేదా DCS. ఇది సందేశాలను ఎలా గుర్తించాలో పేర్కొనే ఫీల్డ్. అదనంగా, DCS ఫీల్డ్లో ఇవి ఉన్నాయి:
- ఎన్కోడింగ్ను నిర్వచించే అక్షర సమితి;
- సందేశ తరగతి;
- చదివిన తర్వాత ఆటోమేటిక్ తొలగింపు కోసం అభ్యర్థన;
- సందేశం కుదింపు యొక్క సూచన;
- ప్రసార సందేశ భాష;
ప్రామాణిక 7-బిట్ ఆల్ఫాబెట్ (GSM 03.38). ఇది GSMలో సందేశ వ్యవస్థ కోసం అభివృద్ధి చేయబడింది. ఈ ఎన్కోడింగ్ ఇంగ్లీష్ మరియు అనేక లాటిన్ భాషలకు అనుకూలంగా ఉంటుంది. ప్రతి అక్షరం 7 బిట్లను కలిగి ఉంటుంది మరియు ఆక్టెట్గా ఎన్కోడ్ చేయబడుతుంది.
UTF-16 (GSM UCS2లో) 7-బిట్ ఆల్ఫాబెట్లో తప్పిపోయిన అక్షరాలను చేర్చడానికి, UTF-16 ఎన్కోడింగ్ అభివృద్ధి చేయబడింది, ఇది సందేశ పరిమాణాన్ని 160 నుండి 70కి తగ్గించడం ద్వారా అదనపు అక్షరాలను (సిరిలిక్ వాటితో సహా) జోడిస్తుంది, ఈ రకమైన ఎన్కోడింగ్ దాదాపు పూర్తిగా యూనికోడ్ పునరావృతమవుతుంది.
8-బిట్ వినియోగదారు నిర్వచించిన డేటా. వీటిలో KOI8-R మరియు Windows-1251 ఉన్నాయి. అదే UTF-16తో పోలిస్తే ఈ పరిష్కారం మరింత పొదుపుగా ఉన్నట్లు కనిపిస్తున్నప్పటికీ. విభిన్న పరికరాలలో అనుకూలత యొక్క సహేతుకమైన ప్రశ్న ఉంది. ఈ సందర్భంలో రెండు పరికరాలను ముందుగానే కాన్ఫిగర్ చేయాలి కాబట్టి.
సందేశ తరగతి
- Class0, లేదా ఫ్లాష్, వినియోగదారు అభ్యర్థన మేరకు ఫోన్ మెమరీలో నిల్వ చేయబడిన సందేశం;
- Class1, లేదా ఫోన్ మెమరీలో నిల్వ చేయబడినవి;
- Class1, లేదా ఫోన్ మెమరీలో నిల్వ చేయబడినవి;
- Class2, సందేశం మొబైల్ టెర్మినల్ యొక్క మెమరీలో నిల్వ చేయబడిందని నిర్ధారించుకోవాలి, లేకుంటే తప్పనిసరిగా సేవ్ చేయడంలో అసమర్థత గురించి SMS కేంద్రానికి నోటిఫికేషన్లు ఇవ్వాలి;
- Class3 - ఈ సందర్భంలో, పరికరంలోని మెమరీ మొత్తంతో సంబంధం లేకుండా సందేశాన్ని సేవ్ చేయవచ్చని ఫోన్ నోటిఫికేషన్ను పంపాలి. ఈ రకమైన సందేశం సందేశం దాని గమ్యస్థానానికి చేరుకుందని సూచిస్తుంది;
సందేశ రకం
కంటెంట్ లేకుండా నిశ్శబ్ద సందేశం (SMS0) SMS సందేశ రకం. అటువంటి SMS నోటిఫికేషన్ లేకుండా వస్తుంది మరియు పరికరం స్క్రీన్పై ప్రదర్శించబడదు.
పిడియు
ప్రతి pdu ఆపరేషన్ జత చేయబడింది మరియు అభ్యర్థన మరియు ప్రతిస్పందనను కలిగి ఉంటుంది. ఉదాహరణకు: కనెక్షన్ ఏర్పాటు చేయబడిందని చెప్పే ఆదేశం (bind_transmitter / bind_transmitter_resp), లేదా సందేశం పంపబడిందని (deliver_sm / deliver_sm_resp)
ప్రతి pdu ప్యాకేజీ రెండు భాగాలను కలిగి ఉంటుంది - ఒక హెడర్ (హెడర్) మరియు ఒక బాడీ (బాడీ). ఏదైనా pdu ప్యాకెట్కి హెడర్ నిర్మాణం ఒకే విధంగా ఉంటుంది: కమాండ్ పొడవు అనేది ప్యాకెట్ యొక్క పొడవు, id అనేది ప్యాకెట్ పేరు మరియు స్థితి ఆదేశం సందేశం విజయవంతంగా పంపబడిందా లేదా విఫలమైందా అని సూచిస్తుంది.
అదనపు TLV పారామితులు
TLV (ట్యాగ్ పొడవు విలువ), లేదా అదనపు ఫీల్డ్లు. ఇటువంటి పారామితులు ప్రోటోకాల్ యొక్క కార్యాచరణను విస్తరించడానికి ఉపయోగించబడతాయి మరియు ఐచ్ఛికం. ఈ ఫీల్డ్ pdu ఫీల్డ్ చివరిలో పేర్కొనబడింది. ఉదాహరణగా, dest_addr_np_information TLVని ఉపయోగించి, మీరు నంబర్ యొక్క పోర్టింగ్ గురించి సమాచారాన్ని బదిలీ చేయవచ్చు.
టన్ మరియు Npi
TON (సంఖ్య రకం) పరామితి SMSCకి చిరునామా ఆకృతి మరియు నెట్వర్క్ రకం గురించి తెలియజేస్తుంది.
NPI (నంబరింగ్ ప్లాన్ ఐడెంటిఫికేషన్) పరామితి నంబరింగ్ ప్లాన్ను సూచిస్తుంది.
సందేశ మూల చిరునామా లేదా ఆల్ఫా పేరు
ఫోన్కి పంపబడే సందేశాలు రెండు రకాలుగా ఉంటాయి: సంఖ్యా మరియు అక్షరం. సంఖ్యలు పొడవుగా ఉండవచ్చు (ఫోన్ నంబర్ లాగా) లేదా చిన్నవిగా ఉండవచ్చు. కొన్నిసార్లు ఆపరేటర్లు Infosms, Alert మొదలైన తటస్థ పేర్ల నుండి పంపడంపై పరిమితులను కలిగి ఉంటారు. కొన్నిసార్లు ఆపరేటర్లు తమ నెట్వర్క్లో పేరు నమోదు చేయకపోతే ట్రాఫిక్ను అనుమతించరు. అయితే, ఇది ఆపరేటర్ యొక్క మరింత లక్షణం.
సమర్పణ దశలు
SMS-సమర్పించండి MO FSM సందేశాన్ని పంపుతోంది (మొబైల్ టెర్మినల్ నుండి సంక్షిప్త సందేశం)
SMS-సమర్పణ నివేదిక - సందేశం SMSC ద్వారా పంపబడిందని నిర్ధారణ
శ్రీ SM (SendRoutingInfo) - సబ్స్క్రైబర్ యొక్క MSC/VLR స్థానానికి సంబంధించి HLR నుండి SMSC సమాచారాన్ని అందుకుంటుంది
శ్రీ SM RESP — సబ్స్క్రైబర్ పొజిషన్ మాంసం గురించి HLR నుండి ప్రతిస్పందన
MT-FSM - స్థానాన్ని స్వీకరించిన తర్వాత, "ఫార్వర్డ్ షార్ట్ మెసేజ్" ఆపరేషన్ ఉపయోగించి సందేశం పంపబడుతుంది
MT-FSM-ACK - సందేశం పంపబడిందని SMSC నుండి ప్రతిస్పందన
SMS స్థితి నివేదిక - SMSC సందేశ డెలివరీ స్థితిని పంపుతుంది.
సందేశ డెలివరీ స్థితి
SMS స్థితి నివేదిక అనేక విలువలను తీసుకోవచ్చు:
డెలివర్డ్ సందేశం విజయవంతంగా పంపిణీ చేయబడింది
తిరస్కరించబడింది - SMS కేంద్రం ద్వారా సందేశం తిరస్కరించబడింది
గడువు ముగిసింది - సందేశం TTL ముగిసిన తర్వాత పంపే క్యూ నుండి తీసివేయబడుతుంది (సందేశ జీవితకాలం)
UNDELIV - డెలివరీ కాని ఇతర కేసులు
తెలియదు- స్పందన రాలేదు.
ప్రసార లోపాలు
కొన్నిసార్లు SMS సందేశాలు సబ్స్క్రైబర్కు బట్వాడా చేయబడకపోవడానికి కారణాలు. ఈ కారణాల పర్యవసానంగా లోపాలు సంభవించడం. PDUs_sms_respలో లోపాలు తిరిగి ఇవ్వబడ్డాయి. అన్ని లోపాలను తాత్కాలిక (తాత్కాలిక) మరియు శాశ్వత (శాశ్వత)గా విభజించవచ్చు.
ఉదాహరణగా, absent_subscriber తాత్కాలికం, సబ్స్క్రైబర్ అందుబాటులో లేరు లేదా ఆన్లైన్లో లేరు మరియు శాశ్వత - చందాదారు ఉనికిలో లేరు. సంభవించే లోపాలను బట్టి, ఈ సందేశాలను మళ్లీ పంపే విధానం రూపొందించబడుతుంది.
ఉదాహరణకు, సబ్స్క్రైబర్ మాట్లాడటంలో బిజీగా ఉండి, MT హ్యాండ్సెట్ని అందుకున్నట్లయితే, బిజీ ఎర్రర్ అయితే, సందేశాన్ని కొన్ని నిమిషాల తర్వాత మళ్లీ పంపవచ్చు, అయితే, సబ్స్క్రైబర్ సందేశాన్ని స్వీకరించే సేవను బ్లాక్ చేసినట్లయితే, మళ్లీ పంపడం అర్ధవంతం కాదు. మీరు SMSC పేజీలలో లోపాల జాబితాను కనుగొనవచ్చు, ఉదాహరణకు
మూలం: www.habr.com