SMPP - Тең-теңімен қысқа хабарлама хаттамасы

Сәлеметсіз бе! Мессенджерлер мен әлеуметтік желілер күнделікті қарым-қатынастың дәстүрлі әдістерін ауыстырып жатқанымен, бұл SMS-тің танымалдылығын төмендетпейді. Танымал сайтта растау немесе транзакция туралы хабарландыру олардың өмір сүретінін және өмір сүретінін қайталайды. Мұның бәрі қалай жұмыс істейтінін ойладыңыз ба? Көбінесе SMPP хаттамасы жаппай хабарламаларды жіберу үшін пайдаланылады, олар қысқартылған жағдайда талқыланады.

Хабреде smpp туралы мақалалар болды, 1,2, бірақ олардың мақсаты хаттаманың өзін сипаттау емес еді. Әрине, сіз бірден көзден бастай аласыз - сипаттамалары, бірақ оның мазмұнының қысқаша мазмұны болса жақсы болар еді деп ойлаймын. Мен мысал ретінде v3.4 арқылы түсіндіремін.Сіздің объективті сыныңызға қуаныштымын.

SMPP протоколы – тең дәрежелі хабар алмасу протоколы. Бұл әрбір теңдік/хаб сервері тең екенін білдіреді. Ең қарапайым жағдайда SMS хабарлама схемасы келесідей көрінеді:

SMPP - Тең-теңімен қысқа хабарлама хаттамасы

Алайда, егер ұлттық оператордың маршруты болмаса, ол бұл үшін қандай да бір шалғай өңірге – SMS хабына делдал сұрайды. Кейде бір SMS жіберу үшін бірнеше елдер, тіпті континенттер арасында тізбек құру қажет.

Протокол туралы

SMPP — PDU алмасуға негізделген және SMS және ussd хабарламаларын жіберу үшін TCP/IP немесе X25 сеанстары арқылы тасымалданатын қолданбалы деңгей протоколы. Әдетте, SMPP тұрақты қосылу режимінде пайдаланылады, бұл уақытты үнемдейді. SMPP клиент-сервер байланыс үлгісін пайдаланады.

Байланыс режимі

SMPP - Тең-теңімен қысқа хабарлама хаттамасы

Жіберуші мен SMS орталығы арасында SMPP арқылы хабарлама алмасу келесі режимдерде жүзеге асырылуы мүмкін:

Таратқыш (таратқыш) – хабарламаны бір бағытта, кезекпен жіберу
Қабылдаушы (қабылдаушы) – тек SMS орталығынан хабарлама алу.
Transreceiver (transceiver) – SMS орталығы мен пайдаланушы арасында хабарлама алмасу

құрылым

SMPP - Тең-теңімен қысқа хабарлама хаттамасы

Хабардың ұзақтығы

Бір SMS хабарламада кириллицада теру кезінде 70 таңба болуы мүмкін және 157 латын таңбасынан аспауы мүмкін + 3 UDH Таңбалар саны көп SMS жіберсеңіз, ол бірнеше сегменттерге бөлініп, қабылдау құрылғысында біріктіріледі. Сегменттеу жағдайында таңбалар саны хабарламаның бір бөлігін көрсететін хабарлама тақырыптары арқылы азаяды. Сондықтан, үлкен SMS-хабарламаны жіберген кезде ол ең көбі 153 латын таңбасын немесе 67 типтік емес таңбаны қамтиды.

Мәліметтерді кодтау схемасы

Дегенмен, хабарды жеткізу үшін таңбаларды кодтау қажет. SMPP хаттамасында кодтауға арнайы өріс жауап береді - Деректерді кодтау схемасы немесе DCS. Бұл хабарларды қалай тануға болатынын көрсететін өріс. Сонымен қатар, DCS өрісі мыналарды қамтиды:

  • кодтауды анықтайтын таңбалар жиыны;
  • хабарлама класы;
  • оқудан кейін автоматты түрде жоюды сұрау;
  • хабарламаны қысу көрсеткіші;
  • хабар тарату тілі;

Стандартты 7-биттік алфавит (GSM 03.38). Ол GSM жүйесіндегі хабар алмасу жүйесі үшін әзірленген. Бұл кодтау ағылшын және бірқатар латын тілдері үшін қолайлы. Әрбір таңба 7 биттен тұрады және октетке кодталған.

UTF-16 (GSM UCS2-де) 7-биттік әліпбидегі жетіспейтін таңбаларды қосу үшін хабар өлшемін 16-тан 160-ке дейін азайту арқылы қосымша таңбаларды қосатын UTF-70 кодтауы әзірленді, кодтаудың бұл түрі дерлік толығымен қайталайды Юникод.

8 биттік пайдаланушы анықтаған деректер. Оларға KOI8-R және Windows-1251 кіреді. Бұл шешім бірдей UTF-16-мен салыстырғанда үнемді болып көрінеді. Әртүрлі құрылғыларда үйлесімділік туралы ақылға қонымды сұрақ бар. Өйткені бұл жағдайда екі құрылғы да алдын ала конфигурациялануы керек.

Хабарлама класы

  • Class0 немесе флэш, пайдаланушының сұрауы бойынша телефон жадында сақталған хабарлама;
  • Class1 немесе телефон жадында сақталғандар;
  • Class1 немесе телефон жадында сақталғандар;
  • Класс2, хабарламаның мобильді терминалдың жадында сақталуын қамтамасыз етуі керек, әйтпесе SMS орталығына сақтау мүмкін еместігі туралы хабарламалар беруі керек;
  • Class3 - бұл жағдайда телефон құрылғыдағы жад көлеміне қарамастан хабарламаны сақтауға болатыны туралы хабарлама жіберуі керек. Хабарламаның бұл түрі хабардың тағайындалған жеріне жеткенін білдіреді;

Хабар түрі

Үнсіз хабарлама (SMS0) Мазмұнсыз SMS хабарлама түрі. Мұндай SMS хабарламасыз келеді және құрылғы экранында көрсетілмейді.

ПДУ

Әрбір pdu операциясы жұпталған және сұрау мен жауаптан тұрады. Мысалы: қосылым орнатылғанын (bind_transmitter / bind_transmitter_resp) немесе хабар жіберілгенін көрсететін пәрмен (deliver_sm / delivery_sm_resp)

SMPP - Тең-теңімен қысқа хабарлама хаттамасы

Әрбір pdu бумасы екі бөліктен тұрады - тақырып (тақырып) және дене (дене). Тақырып құрылымы кез келген pdu пакеті үшін бірдей: пәрмен ұзындығы - пакеттің ұзындығы, id - пакеттің аты, күй пәрмені хабардың сәтті немесе сәтсіз жіберілгенін көрсетеді.

Қосымша TLV параметрлері

TLV (тег ұзындығының мәні) немесе қосымша өрістер. Мұндай параметрлер хаттаманың функционалдығын кеңейту үшін пайдаланылады және қосымша болып табылады. Бұл өріс pdu өрісінің соңында көрсетілген. Мысал ретінде, dest_addr_np_information TLV көмегімен нөмірді тасымалдау туралы ақпаратты тасымалдауды ұйымдастыруға болады.

Тон және Npi

TON (Нөмір түрі) параметрі SMSC-ке адрестеу пішімі мен желі түрі туралы хабарлайды.
Нөмірлеу жоспарын көрсететін NPI (Numbering Plan Identification) параметрі.

SMPP - Тең-теңімен қысқа хабарлама хаттамасы

Хабар көзі мекенжайы немесе альфа атауы

Телефонға жіберілген хабарламалар екі түрлі болады: сандық және алфавиттік. Нөмірлер ұзын (телефон нөміріне ұқсас) немесе қысқа болуы мүмкін. Кейде операторларда Infosms, Alert сияқты бейтарап атаулардан жіберуге шектеулер болады. Кейде операторлар желіде аты тіркелмеген болса, трафикке рұқсат бермейді. Дегенмен, бұл оператордың ерекшелігі.

Беру кезеңдері

SMPP - Тең-теңімен қысқа хабарлама хаттамасы

SMS-ЖІБЕРУ MO FSM хабарламасын жіберуде (мобильді терминалдан қысқа хабарлама)
SMS-ЕСЕП ЖІБЕРУ — хабарламаның SMSC арқылы жіберілгенін растау
SRI-SM (SendRoutingInfo) - SMSC HLR-ден абоненттің MSC/VLR орналасқан жері туралы ақпаратты алады.
SRI SM RESP — HLR-ден абоненттік позицияға қатысты жауап
MT-FSM - орналасқан жерді алғаннан кейін «Қысқа хабарламаны қайта жіберу» операциясы арқылы хабарлама жіберіледі
MT-FSM-ACK — SMSC хабарлама жіберілгені туралы жауап
SMS STATUS ЕСЕП — SMSC хабарламаны жеткізу күйін жібереді.

Хабарды жеткізу күйі

SMS STATUS ЕСЕП бірнеше мәндерді қабылдауы мүмкін:
ЖЕТКІЗУ хабарлама сәтті жеткізілді
ҚАБЫЛДАУD — SMS орталығы қабылдамады хабарлама
ЖАРАМДЫЛЫҚ МЕРЗІМІ ӨТКЕН - TTL аяқталғаннан кейін хабарлама жіберу кезегінен жойылады (хабарламаның қызмет ету мерзімі)
ЖЕТКІЗУ - жеткізбеудің басқа жағдайлары
БІРІҢІЗ- Жауап жоқ.

Тасымалдау қателері

Кейде SMS-хабарламалардың абонентке жеткізілмейтін себептері. Бұл себептердің салдары қателердің пайда болуы болып табылады. Қателер PDUs_sms_resp ішінде қайтарылады. Барлық қателерді уақытша (Уақытша) және тұрақты (Тұрақты) деп бөлуге болады.

Мысал ретінде, absent_subscriber уақытша, абонент қол жетімді емес немесе желіде жоқ, ал тұрақты - абонент жоқ. Пайда болған қателерге байланысты бұл хабарларды қайта жіберу саясаты қалыптасады.

Мысалы, егер абонент сөйлесумен айналысса және MT телефон тұтқасы бос емес қатесін алса, хабарламаны бірнеше минуттан кейін қайта жіберуге болады, алайда, егер абонент хабарламаны қабылдау қызметін бұғаттаса, қайта жіберу мағынасы болмайды. Сіз SMSC беттерінде қателер тізімін таба аласыз, мысалы, сияқты бұл.

Ақпарат көзі: www.habr.com

пікір қалдыру