Բարեւ Ձեզ! Թեև ակնթարթային մեսենջերներն ու սոցիալական ցանցերը ամեն օր փոխարինում են հաղորդակցության ավանդական մեթոդներին, դա չի նվազեցնում SMS-ի հանրաճանաչությունը: Ստուգումը հայտնի կայքում կամ գործարքի մասին ծանուցումը կրկնում է, որ նրանք ապրում են և կշարունակվեն: Մտածե՞լ եք, թե ինչպես է այդ ամենն աշխատում: Շատ հաճախ SMPP արձանագրությունն օգտագործվում է զանգվածային հաղորդագրություններ ուղարկելու համար, որոնք կքննարկվեն կտրվածքի տակ:
Հաբրեն արդեն ուներ հոդվածներ smpp-ի մասին,
SMPP արձանագրությունը հավասարազոր հաղորդագրությունների փոխանցման արձանագրություն է: Սա նշանակում է, որ յուրաքանչյուր գործընկեր/հաբ սերվեր հավասար է: Ամենապարզ դեպքում, SMS հաղորդագրությունների սխեման այսպիսի տեսք ունի.
Այնուամենայնիվ, եթե ազգային օպերատորը երթուղի չունի, նա միջնորդից է խնդրում դա ինչ-որ հեռավոր տարածաշրջան՝ SMS հանգույց: Երբեմն մեկ SMS ուղարկելու համար անհրաժեշտ է շղթա կառուցել մի քանի երկրների կամ նույնիսկ մայրցամաքների միջև:
Արձանագրության մասին
SMPP-ը կիրառական շերտի արձանագրություն է, որը հիմնված է PDU-ների փոխանակման վրա և փոխանցվում է TCP/IP կամ X25 նիստերի միջոցով՝ sms և ussd հաղորդագրություններ ուղարկելու համար: Սովորաբար SMPP-ն օգտագործվում է մշտական կապի ռեժիմում, սա խնայում է ժամանակը: SMPP-ն օգտագործում է հաճախորդ-սերվեր հաղորդակցման մոդել:
Հաղորդակցման ռեժիմ
SMPP-ի միջոցով ուղարկողի և SMS կենտրոնի միջև հաղորդագրությունների փոխանակումը կարող է իրականացվել հետևյալ ռեժիմներով.
Հաղորդող (հաղորդիչ) - հաղորդագրության փոխանցում մեկ ուղղությամբ, իր հերթին
Ընդունիչ (ստացող) - միայն SMS կենտրոնից հաղորդագրություն ստանալը:
Ընդունիչ (հաղորդիչ) - հաղորդագրությունների փոխանակում SMS կենտրոնի և օգտագործողի միջև
Կառուցվածք
Հաղորդագրության երկարությունը
Մեկ SMS հաղորդագրությունը կարող է պարունակել 70 նիշ կիրիլիցա մուտքագրելիս և ոչ ավելի, քան 157 լատինատառ + 3 UDH Եթե դուք SMS ուղարկեք մեծ թվով նիշերով, այն կբաժանվի մի քանի հատվածի և կմիավորվի ստացող սարքում: Սեգմենտավորման դեպքում նիշերի քանակը կրճատվում է հաղորդագրության վերնագրերով, որոնք ցույց են տալիս հաղորդագրության մասը։ Հետևաբար, մեծ SMS հաղորդագրություն ուղարկելիս այն պարունակում է առավելագույնը 153 լատինական նիշ կամ 67 ոչ տիպիկ նիշ:
Տվյալների կոդավորման սխեման
Այնուամենայնիվ, հաղորդագրություն փոխանցելու համար նիշերը պետք է կոդավորվեն: SMPP արձանագրությունում կոդավորման համար պատասխանատու է հատուկ դաշտ՝ Data Coding Scheme կամ 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 կենտրոնին ծանուցումներ տա պահպանման անհնարինության մասին.
- Դաս 3 - այս դեպքում հեռախոսը պետք է ծանուցում ուղարկի, որ հաղորդագրությունը կարող է պահպանվել՝ անկախ սարքի հիշողության քանակից: Այս տեսակի հաղորդագրությունը ենթադրում է, որ հաղորդագրությունը հասել է իր նպատակակետին.
Հաղորդագրության տեսակը
Լուռ հաղորդագրություն (SMS0) SMS հաղորդագրության տեսակ առանց բովանդակության: Նման SMS-ները գալիս են առանց ծանուցման և չեն ցուցադրվում սարքի էկրանին:
PDU- ն
Յուրաքանչյուր pdu գործողություն զուգակցված է և բաղկացած է հարցումից և պատասխանից: Օրինակ՝ հրաման, որն ասում է, որ կապ է հաստատվել (bind_transmitter / bind_transmitter_resp), կամ որ հաղորդագրություն է ուղարկվել (deliver_sm / deliver_sm_resp)
Յուրաքանչյուր pdu փաթեթ բաղկացած է երկու մասից՝ վերնագիր (վերնագիր) և մարմին (մարմ): Վերնագրի կառուցվածքը նույնն է ցանկացած pdu փաթեթի համար. հրամանի երկարությունը փաթեթի երկարությունն է, id-ը փաթեթի անունն է, իսկ կարգավիճակի հրամանը ցույց է տալիս՝ հաղորդագրությունը հաջողությամբ ուղարկվել է, թե ձախողվել է:
Լրացուցիչ TLV պարամետրեր
TLV (Tag Length Value) կամ լրացուցիչ դաշտեր: Նման պարամետրերն օգտագործվում են արձանագրության ֆունկցիոնալությունը ընդլայնելու համար և պարտադիր չեն: Այս դաշտը նշված է pdu դաշտի վերջում: Որպես օրինակ, օգտագործելով dest_addr_np_information TLV-ը, կարող եք կազմակերպել համարի տեղափոխման մասին տեղեկատվության փոխանցումը:
թոն եւ Նփի
TON (Type of Number) պարամետրը SMSC-ին տեղեկացնում է հասցեավորման ձևաչափի և ցանցի տեսակի մասին:
NPI (Numbering Plan Identification) պարամետր, որը ցույց է տալիս համարակալման պլանը:
Հաղորդագրության աղբյուրի հասցեն կամ ալֆա անունը
Հեռախոսին ուղարկվող հաղորդագրությունները լինում են երկու տեսակի՝ թվային և այբբենական: Թվերը կարող են լինել երկար (հեռախոսահամարի նման) կամ կարճ: Երբեմն օպերատորները սահմանափակումներ ունեն չեզոք անուններից ուղարկելու հարցում, ինչպիսիք են Infosms, Alert և այլն: Երբեմն օպերատորները թույլ չեն տալիս երթեւեկությունը, եթե անունը գրանցված չէ իրենց ցանցում: Այնուամենայնիվ, սա ավելի շատ օպերատորի առանձնահատկությունն է:
Ներկայացման փուլերը
SMS-ՆԵՐԿԱՅԱՑՐԵԼ ուղարկում է MO FSM հաղորդագրություն (կարճ հաղորդագրություն բջջային տերմինալից)
SMS-ՆԵՐԿԱՅԱՑՆԵԼ ՀԱՇՎԵՏՎՈՒԹՅՈՒՆ — հաստատում, որ հաղորդագրությունն ուղարկվել է SMSC-ով
ԳՀԻ ՍՄ (SendRoutingInfo) - SMSC-ն տեղեկատվություն է ստանում HLR-ից բաժանորդի MSC/VLR գտնվելու վայրի վերաբերյալ:
SRI SM RESP — HLR-ի պատասխանը բաժանորդի դիրքի մսի վերաբերյալ
MT-FSM - գտնվելու վայրը ստանալուց հետո հաղորդագրություն է ուղարկվում «Փոխանցել կարճ հաղորդագրություն» գործողության միջոցով
MT-FSM-ACK — պատասխան SMSC-ից, որ հաղորդագրությունն ուղարկվել է
SMS ԿԱՐԳԱՎԻՃԱԿԻ ՀԱՇՎԵՏՎՈՒԹՅՈՒՆ — SMSC-ն ուղարկում է հաղորդագրությունների առաքման կարգավիճակը:
Հաղորդագրության առաքման կարգավիճակը
SMS ԿԱՐԳԱՎԻՃԱԿԻ ՀԱՇՎԵՏՎՈՒԹՅՈՒՆ կարող է վերցնել մի քանի արժեքներ.
ԴԵԼԻՎՐԴ հաղորդագրությունը հաջողությամբ առաքվեց
ՄԵՐԺՎԵԼ Է — SMS կենտրոնի կողմից մերժված հաղորդագրություն
ԺԱՄԿԵՏԱՆՑ - հաղորդագրությունը հեռացվում է ուղարկման հերթից TTL-ի ավարտից հետո (հաղորդագրության ժամկետը)
ՉԺԱՄԱՆԱԿՎԵԼ - չառաքման այլ դեպքեր
Անհայտ է- Պատասխան չի ստացվել։
Փոխանցման սխալներ
Երբեմն պատճառները, որոնց պատճառով SMS հաղորդագրությունները չեն առաքվում բաժանորդին: Այս պատճառների հետևանքը սխալների առաջացումն է։ Սխալները վերադարձվում են PDUs_sms_resp-ում: Բոլոր սխալները կարելի է բաժանել ժամանակավոր (ժամանակավոր) և մշտական (մշտական):
Որպես օրինակ՝ absent_subscriber-ը ժամանակավոր է, բաժանորդը հասանելի չէ կամ առցանց չէ, իսկ մշտական՝ բաժանորդը գոյություն չունի: Կախված տեղի ունեցող սխալներից՝ ձևավորվում է այս հաղորդագրությունները նորից ուղարկելու քաղաքականություն։
Օրինակ, եթե բաժանորդը զբաղված է եղել խոսելով և ստացել է MT հեռախոսը զբաղված է սխալ, հաղորդագրությունը կարող է նորից ուղարկվել մի քանի րոպե անց, սակայն, եթե բաժանորդն արգելափակել է հաղորդագրությունների ստացման ծառայությունը, նորից ուղարկելն իմաստ չի ունենա: SMSC-ի էջերում կարող եք գտնել սխալների ցանկ, օրինակ, ինչպես
Source: www.habr.com