SMPP: ცენტრი ელოდება SMS-ს…. პროტოკოლთან მუშაობის თავისებურებები. მხარდაჭერილი SMPP ბრძანებები

(Short Message Peer to Peer) არის ღია პროტოკოლი, რომელიც გამოიყენება თანატოლებს შორის SMS შეტყობინებების გასაგზავნად/მიღებისთვის. ეს პროტოკოლი გამოიყენება, როგორც HTTP, TCP/IP-ზე, მაგრამ ორობითია. როგორც წესი, SMPP პროტოკოლი უზრუნველყოფს მუდმივი კავშირის რეჟიმს, მოთხოვნის გარეშე და სერვერისგან პასუხების მოლოდინისა და შემდეგ კავშირის გაწყვეტის გარეშე. მუდმივი კავშირის გამოყენება მნიშვნელოვნად ზრდის შეტყობინებების გაგზავნის სიჩქარეს.

SMS პროვაიდერებს შეუძლიათ შეზღუდონ ტემპი, რომლითაც მიიღებენ შეტყობინებებს თავიანთი რესურსების ოპტიმიზაციისა და განაწილების მიზნით. თუ თქვენ ცდილობთ გაგზავნას უფრო სწრაფი სიჩქარით, ვიდრე ამას თქვენი ISP იძლევა, შეიძლება მოულოდნელი შეცდომები და დაგვიანებები შეგექმნათ.

SMPP-ს შეუძლია ნებისმიერი ტიპის შეტყობინების გადაცემა, მათ შორის UCP/EMI შეტყობინებები. SMPP მხარს უჭერს როგორც გრძელ ტექსტურ შეტყობინებებს, ასევე უნიკოდში დაწერილ შეტყობინებებს. ზოგიერთი SMPP სერვერი მოითხოვს გამგზავნს ერთი გრძელი შეტყობინების გაგზავნას, ზოგი კი შეტყობინების სეგმენტირებას შეტყობინების ტიპის მიხედვით.

არსებობს სამი სხვადასხვა ტიპის კავშირი, რომელთა მხარდაჭერაც შესაძლებელია SMPP სერვერის მიერ.

  • "გამომგზავნი" ან "მხოლოდ გაგზავნა" - მუშაობს მხოლოდ შეტყობინების გადაცემა და სერვერი ვერ მიიღებს შეტყობინებას.
  • "მიმღები" ან "მხოლოდ მიღება" - შეტყობინებების კავშირის საშუალებით კავშირი დაუშვებელია, სერვერს შეუძლია მხოლოდ შეტყობინებების მიღება. ამ კავშირის საშუალებით შეტყობინებების მიღების ნებისმიერი მცდელობა, როგორც წესი, გამოიწვევს შეცდომას.
  • "გადამცემი" - ნებადართულია გაგზავნოს და გადასცეს შეტყობინებები ერთი კავშირის საშუალებით.

თქვენ მიერ გამოყენებული კავშირის ტიპი დამოკიდებული იქნება თქვენი SMPP სერვისების პრეფერენციებსა და პოლიტიკაზე.

SMPP პროტოკოლი გაფართოებულია, რაც პროვაიდერებს საშუალებას აძლევს დაამატონ საკუთარი დამატებითი პარამეტრები, რომლებიც ცნობილია როგორც TLV პარამეტრები, ასე დასახელებულია ამ პარამეტრების ფორმატის გამო: ტეგი (ეტიკეტი), სიგრძე, ღირებულება. ზოგიერთი TLV პარამეტრი განსაზღვრულია სპეციფიკაციაში, მაგრამ არ არის საჭირო მათი გამოყენება. სხვა პარამეტრები მოწოდებულია პროვაიდერის მიერ.

შესაძლებელია SMS სერვისის გამოყენება, როგორც SMPP სერვერი სხვა აპლიკაციებისთვის. სხვა კლიენტები ან აპლიკაციები უკავშირდებიან SMS სერვისს და მათ SMPP სერვერს და SMS სერვისი დაუკავშირდება ერთ ან რამდენიმე სხვა SMS ცენტრს SMS შეტყობინებების გასაგზავნად და მისაღებად, SMPP ან შესაძლოა სხვა პროტოკოლების გამოყენებით.

SMS სერვერსა და GSM სერვისის პროვაიდერის SMS ცენტრს შორის შეტყობინებების გადაცემა IP კომუნიკაციის საშუალებით შეიძლება იყოს გამოყოფილი ხაზის (კარიბჭის) მეშვეობით ინტერნეტის საშუალებით. ამ შემთხვევაში, IP კავშირი კომპიუტერსა და SMS ცენტრს შორის შეიძლება იყოს დაცული.

SMPP პროტოკოლის უპირატესობა ის არის, რომ პროცესი ხდება ბევრად უფრო სწრაფად და უფრო მოკლე ინტერვალებით (ერთიდან ათ წამამდე), ვიდრე მობილური ტელეფონის გამოყენებისას. SMPP რეკომენდირებულია, თუ გაგზავნილი შეტყობინებების მაქსიმალური რაოდენობა 100 SMS/საათზე მეტია. ასევე, SMPP სერვისი საშუალებას გაძლევთ შეიყვანოთ ნებისმიერი ინფორმაცია (11 სიმბოლო) გამგზავნის ნომრის ხაზში. მხარდაჭერილია რიცხვები, ლათინური სიმბოლოები და პუნქტუაციის ნიშნები. შეყვანილი ინფორმაცია გამოჩნდება მიმღებისთვის ხაზში „შეტყობინება:“ და შეიძლება დამოუკიდებლად შეიცვალოს გამგზავნის მიერ. ამრიგად, თქვენ გაქვთ შესაძლებლობა გამოიყენოთ თქვენი საკუთარი SMS ცენტრი, რომელიც მუშაობს SMPP პროტოკოლის გამოყენებით.

SMPP (აბრევიატურა: Short message peer-to-peer პროტოკოლი) ინგლისურიდან თარგმნილი ნიშნავს „მოკლე შეტყობინების peer-to-peer პროტოკოლს“ და გაძლევთ საშუალებას აღწეროთ ურთიერთქმედება SMS სერვერსა და საბოლოო კლიენტს შორის. ეს პროტოკოლი ერთ-ერთი ყველაზე პოპულარულია SMS პროვაიდერებს შორის, რომლებიც იყენებენ მას ტექსტური შეტყობინებების გასაცვლელად SMS ცენტრებს შორის თანაბარი უფლებებით. SMPP პროტოკოლთან მუშაობისთვის, თქვენ უნდა გქონდეთ მუდმივად ჩართული სერვერი და შესაბამისი პროგრამული უზრუნველყოფა, რომელიც თავსებადია პროვაიდერის SMS კარიბჭესთან.

  • მხარს უჭერს ტექსტის სხვადასხვა ფორმატს და wap sms-ს;
  • გრძელი ტექსტების გაგზავნა;
  • ორმხრივი შეტყობინებები;
  • გაგზავნის სიჩქარის შერჩევა;
  • კოდირების მეთოდის შერჩევა;
  • გაფართოება;
  • მიიღეთ დეტალური ანგარიშები.

პროტოკოლი შეუცვლელია დიდი მოცულობის შეტყობინებების რეგულარულად გასაგზავნად სანდო და მაღალსიჩქარიანი არხით. ამიტომ, SMS პროვაიდერი, როგორც წესი, იყენებს ამ პროტოკოლს SMS და USSD შეტყობინებების გასაცვლელად VAS სისტემებში, სხვადასხვა გარე სისტემების დასაკავშირებლად და ა.შ. თქვენ შეგიძლიათ გაიგოთ მეტი SMPP პროტოკოლის შესახებ და როგორ ხდება ფოსტის გაგზავნა, დაუკავშირდით ჩვენს სპეციალისტებს.

  • მხარდაჭერილი ბრძანებები
  • შეტყობინების გაგზავნის პარამეტრები (SUBMIT_SM) SMPP-ით
  • smpp კავშირთან მუშაობის წესები
  • მიტანის ქვითრის ფორმატი
  • დაცულია smpp პროტოკოლის შეცდომის კოდები
  • განაცხადი

შეცდომის აღწერა შეგიძლიათ იხილოთ SMPP 3.4 სპეციფიკაციაში.

ყურადღება: თქვენ უნდა გამოაგზავნოთ IP მისამართების სია, რომლიდანაც გსურთ
დაკავშირება SMPP-ის გამოყენებამდე.

კავშირის პარამეტრები SMPP-ის გამოყენებით

  • system_id - სისტემაში რეგისტრირებული XXXX.X ფორმის მომხმარებლის სახელი
  • პაროლი - მომხმარებლის პაროლი
  • მისამართი -
  • პორტი - 8056

მხარდაჭერილი SMPP ბრძანებები

მხარდაუჭერელი ბრძანებები მიიღებენ GENERIC_NAK შეტყობინებებს შეცდომის კოდით ESME_RINVCMDID.

smpp პროტოკოლით შეტყობინების გაგზავნის პარამეტრები (SUBMIT_SM).

SMPP კავშირთან მუშაობის წესები

როდესაც კავშირი დამყარდება, კლიენტს ეძლევა 10 წამი BIND_TRANSMITTER ან BIND_TRANSCEIVER ბრძანების გასაგზავნად, წინააღმდეგ შემთხვევაში კავშირი დაიხურება.

კლიენტმა უნდა უპასუხოს კარიბჭის მეშვეობით მიღებულ ყველა პაკეტს შესაბამისი resp პაკეტით 1 წუთის განმავლობაში, წინააღმდეგ შემთხვევაში კავშირი დაიხურება UNBIND-ის გაგზავნის გარეშე.

შეტყობინების მიწოდების სტატუსის მიღება

მიწოდების სტატუსის მიღების ორი ვარიანტი არსებობს smpp პროტოკოლის გამოყენებით (აქტიური და პასიური). სასურველია პასიური ვარიანტი.

პასიური ვარიანტი მოიცავს SUBMIT_SM პაკეტის registered_delivery flag-ის დაყენებას.
მას შემდეგ, რაც შეტყობინება მიაღწევს საბოლოო მდგომარეობას, სერვერი გამოგიგზავნით DELIVER_SM პაკეტს მიწოდების ქვითრით. მიწოდების ქვითრის შეტყობინების ფორმატი მოცემულია ქვემოთ.

აქტიური ვარიანტი ითვალისწინებს შეტყობინების სტატუსის პერიოდულ გამოკითხვას გაგზავნით
QUERY_SM.

მიტანის ქვითრის ფორმატი

"id:IIIIIIIII sub:SSS dlvrd:DDD გაგზავნის თარიღი:YYMMDDhhmm დასრულების თარიღი:YYMMDDhhmm
stat:DDDDDDD err:E ტექსტი: . . . . . . . . "

დაცულია შეცდომის კოდები smpp კავშირისთვის

კოდი აღწერა
0x0400
(1024)
კოდირება არ არის აღიარებული
0x0401
(1025)
შეტყობინების ტექსტი ძალიან დიდია. მაქსიმალური სიგრძე არ უნდა აღემატებოდეს 160-ს
ბაიტი.
0x0402
(1026)
გაგზავნის შეტყობინების რეგისტრაციისას მოხდა შეცდომა. როდესაც ეს შეცდომა ჩნდება
დაუკავშირდით მხარდაჭერას.
0x0403
(1027)
შეტყობინების ტექსტი არ შემოწმდა შეუსაბამო სიტყვებზე და/ან ფრაზებზე
0x0404
(1028)
შავ სიაში გამომგზავნი ან მიმღები
0x0453
(1107)
იყო შეზღუდვა ერთი და იგივე ტექსტის ერთსა და იმავე ნომერზე მოკლე დროში გაგზავნაზე. დაუკავშირდით მხარდაჭერას, თუ გსურთ გამორთოთ ან შეამციროთ პერიოდი.
0x043C
(1084)
მოთხოვნილი დანიშნულების ადგილისთვის ხელმისაწვდომი ტარიფი არ არის.
0x043F
(1087)
ზედა დინების კონტრაგენტს არ აქვს შესაბამისი ტარიფი.
0x045A
(1114)
მარშრუტის პოლიტიკა ვერ მოიძებნა.
0x0446
(1094)
ტრანსპორტის შეცდომა. თუ ეს შეცდომა მოხდა, გთხოვთ, დაუკავშირდეთ კლიენტთა მომსახურებას.
მხარდაჭერა.
0x433
(1075)
ანგარიშზე არასაკმარისი თანხაა.

გაცვლის პროტოკოლი განისაზღვრება SMPP სპეციფიკაციის ვერსიით 3.4.

ვერსია 1.0 არის მხოლოდ შეტყობინებების გაგზავნისთვის და მიწოდების სტატუსის მისაღებად.

შეტყობინებების მიღება ამჟამად არ არის მხარდაჭერილი.

შეცდომის აღწერა შეგიძლიათ იხილოთ SMPP სპეციფიკაციის ვერსიაში 3.4.

სისტემასთან მუშაობისას უსაფრთხოების დონის ასამაღლებლად, შეგიძლიათ მოგვაწოდოთ IP მისამართების სია, საიდანაც განხორციელდება კავშირი.

კავშირის პარამეტრები

მხარდაჭერილი ბრძანებები

  • system_id - სისტემაში რეგისტრირებული მომხმარებლის სახელი.
  • პაროლი - SMS მომხმარებლის პაროლი
  • მისამართი - sms.site
  • პორტი - 9001

სერვერი უპასუხებს მხარდაუჭერელ ბრძანებებს GENERIC_NAK შეტყობინებით შეცდომის კოდით ESME_RINVCMDID.

შეტყობინების გაგზავნის პარამეტრები (SUBMIT_SM)

SMPP კავშირთან მუშაობის წესები

როდესაც კავშირი დამყარდება, კლიენტს ეძლევა 10 წამი BIND_TRANSMITTER ან BIND_TRANSCEIVER ბრძანების გასაგზავნად. წინააღმდეგ შემთხვევაში, კავშირი დაიხურება სერვერის მიერ.

კლიენტი ვალდებულია უპასუხოს სერვერის მიერ გამოგზავნილ ყველა პაკეტს შესაბამისი resp პაკეტით 1 წუთის განმავლობაში. წინააღმდეგ შემთხვევაში, კავშირი დაიხურება სერვერის მიერ UNBIND-ის გაგზავნის გარეშე.

შეტყობინების მიწოდების სტატუსის მიღება

მიწოდების სტატუსის მისაღებად ორი ვარიანტია (აქტიური და პასიური). სასურველია პასიური ვარიანტი.

პასიური ვარიანტი მოიცავს SUBMIT_SM პაკეტის registered_delivery flag-ის დაყენებას. მას შემდეგ, რაც შეტყობინება მიაღწევს საბოლოო მდგომარეობას, სერვერი გამოგიგზავნით DELIVER_SM პაკეტს მიწოდების ქვითრით. მიწოდების ქვითრის შეტყობინების ფორმატი მოცემულია ქვემოთ.

აქტიური ვარიანტი ითვალისწინებს შეტყობინების სტატუსის პერიოდულ გამოკითხვას QUERY_SM-ის გაგზავნით.

ქსელში არის ასეთი კლასის სერვისები,
რაც მომხმარებლებს აძლევს შესაძლებლობას
დარეკეთ ნებისმიერ ფუნქციაზე SMS-ის გაგზავნით
სპეციალური ნომრები და პასუხების მიღება ასევე
ესემესი მაგალითად, შეგიძლიათ დარეგისტრირდეთ
ელ.ფოსტის ყუთი, რომლისთვისაც შეგიძლიათ დააყენოთ
შემომავალი საპნის გადაგზავნა თქვენს ტელეფონში.
შეგიძლიათ მიიღოთ სიახლეები რეალურ დროში და
ჩატებში მონაწილეობა. შესაძლებელია SMS-ის საშუალებით
შეუკვეთეთ სურათები და მელოდიები თქვენთვის
მობილურები. საბოლოოდ, შეგიძლიათ მონაწილეობა მიიღოთ
ხმის მიცემა. ზოგიერთი OpSoS
მხარდაჭერა ასეთი სერვისი, როდესაც თითოეული
ის არ იხდის მომხმარებლის მიერ გაგზავნილ SMS-ს
მხოლოდ OpSoSu-ს, არამედ სერვისის მფლობელს,
მომსახურების გადახდისას, ყველაზე ხშირად
ვირტუალური. როდესაც ვიყენებთ ტელეფონს, ჩვენ არა
თან ვამაგრებთ თანხის ხარჯს
იგივე მნიშვნელობა, რაც WebMoney-ის გამოყენებისას
ან SberBank-ის მეშვეობით გადახდების განხორციელებისას.
SMS შესაძლებლობები იძლევა ფართო შესაძლებლობებს
ელექტრონული ბიზნესი. ბევრ ადამიანს იზიდავს
ფილტვების მიღების მაცდური პერსპექტივა
ფული, როცა უბრალოდ უყურებ
დამუშავება და თქვენ ითვლით ფულს, მაგრამ ისინი მუშაობენ
თქვენ სკრიპტები სერვერზე. მიზნებს არ ვადგენ
შექმენით სახელმძღვანელო ახალი ტიპის "ბიზნესისთვის"
ერთი ადამიანისთვის." ამ სტატიაში მე
მე მხოლოდ პრობლემის ტექნიკურ მხარეს გამოვყოფ
ავტომატური SMS დამუშავება.

განსხვავებული მიდგომები

დაკისრებული ამოცანების მიხედვით და
ხელმისაწვდომი თანხა შეგიძლიათ აირჩიოთ
ერთ-ერთი შემდეგი გამოსავალი:

  • SMS-ის გაგზავნა შეგიძლიათ მხოლოდ ფორმებით
    OpSoSov ვებსაიტებზე ან ზოგიერთზე
    პორტალები. Უფასოა. ასე რომ შესაძლებელია
    განახორციელეთ SMS გაგზავნა თქვენი პორტალიდან,
    მაგრამ ფასიანი მომსახურების განსახორციელებლად, დან
    რომელსაც მომხმარებლები ელიან განსაკუთრებულ საიმედოობას,
    ეს არ არის სერიოზული. მათ შესახებ უკვე ბევრი დაიწერა,
    ამიტომ მათზე არ გავამახვილებ ყურადღებას,
    მით უმეტეს, რომ ისინი ყველა ამჟამად არიან
    დაცულია ტურინგის ტესტით, ამიტომ ეს
    მეთოდი ამჟამად მიუწვდომელია.
  • სპეციალური http-to-SMS კარიბჭეები ბიზნეს აპლიკაციებისთვის.
    თქვენ იხდით და ისინი გაძლევენ შესაძლებლობას დაწეროთ http მოთხოვნები
    გაუგზავნეთ SMS თქვენი სკრიპტებიდან ნებისმიერს
    მსოფლიოს წერტილი და ასევე მიიღეთ SMS,
    იგზავნება სპეციალურ ნომრებზე. Ისე
    ძალიან ადვილია პორტალის გაკეთება SMS ფორმის ან
    შეტყობინება ახალი წერილების შესახებ.
  • SMPP პროტოკოლი საშუალებას იძლევა არა მხოლოდ
    SMS-ის მიღება და გადაცემა, მაგრამ ასევე მიღება
    გაგზავნილი მიწოდების შეტყობინებები
    შეტყობინებები, ასევე გაუქმება და შეცვლა
    შეტყობინებები. თქვენ გამოყოფილი გაქვთ ნომერი ან
    რიცხვების მთელი დიაპაზონი, თქვენ მიიღებთ ყველაფერს
    შეტყობინებები მოდის მას და
    გაგზავნეთ შეტყობინებები ნებისმიერი ნომრიდან.
    შესაძლო შეტყობინება მიღებული
    შეტყობინებები: SMS ცენტრი დაკავშირებულია
    წინასწარ განსაზღვრული IP და პორტი და
    გიგზავნით შეტყობინებებს.

ამ სტატიაში მე ვისაუბრებ SMPP-ზე, როგორც ა
SMS გეითვეიებთან მუშაობის მოწინავე მეთოდი.

ამ პროტოკოლით შეგიძლიათ მიიღოთ
და გაგზავნეთ SMS ე.წ SMS ცენტრების საშუალებით.
SMS ცენტრები არის კარიბჭე ინტერნეტს შორის
და ფიჭური ქსელები. ამაზე მუშაობა
პროტოკოლში არის მზა გადაწყვეტილებები,
მაგალითად Net::SMPP Perl-ში. პროტოკოლის აღწერა და
შეგიძლიათ იპოვოთ პროგრამული პროდუქტების ბმულები
www.smpp.org-ზე.
პროტოკოლის უახლესი ვერსია იმ დროისთვის
სტატიის წერა - 3.4. თქვენ ასევე შეგიძლიათ ჩამოტვირთოთ იქ
კლიენტის პროგრამული უზრუნველყოფის ტესტირების პროგრამა - SMPP
კლიენტის ტესტის ინსტრუმენტი (SCTT). ჯერ არ მიყიდია წვდომა
რეალური SMS ცენტრი, თქვენ უნდა შეამოწმოთ იგი როგორმე
თქვენი პროგრამები. ერთადერთი არასასიამოვნო ის არის, რომ SCTT
დაწერილი Linux-ისთვის, ასე რომ თქვენ უნდა
შეცვალეთ ვირტუალური კომპიუტერი ან დაუყოვნებლივ კოდირება Linux-ის ქვეშ.

პროტოკოლის აღწერა

კავშირი შეიძლება დაიწყოს შემდეგნაირად:
აღწერაში დასახელებული მომხმარებელი
გარე მოკლე შეტყობინების ერთეული (ESME) პროტოკოლი და SMS ცენტრი
(SMSC). გაითვალისწინეთ, რომ ამ შესაძლებლობის გამო
არასწორი იქნება მას SMS ცენტრი დავარქვათ
სერვერზე, რადგან ეს შეიძლება იყოს
კლიენტი. პირველი ვარიანტი გამოიყენება როგორც
ჩვეულებრივ შეტყობინებების გაგზავნისას და მეორე
მიღებისთანავე, თუმცა არავინ კრძალავს
შეტყობინებების გაგზავნა კავშირის საშუალებით,
დაინსტალირებულია SMS ცენტრის მიერ და მიიღება მეშვეობით
თქვენ მიერ დამყარებული კავშირი. ყველა
SMPP პროტოკოლში მონაცემები ჩასმულია ბლოკებში,
სახელწოდებით Protocol Data Units (PDUs), რომლებსაც აქვთ
სათაური, რომელიც მიუთითებს ბლოკის ზომაზე და
ოპერაციის კოდი.

PDU სათაურის ფორმატი:

DWORD სიგრძე - მთელი ბლოკის სიგრძე, მათ შორის
სათაური
DWORD ბრძანება
DWORD სტატუსი - 0 მოთხოვნებში, შეცდომის კოდში და პასუხებში
DWORD SequenceNumber - მიმდევრობის ნომერი.

პასუხის სერიული ნომერი უნდა იყოს
მოთხოვნის რიცხვის ტოლია.

SMPP-ში ყველა რიცხვი დაშიფრულია ისე, რომ უმაღლესი
ბაიტი მარცხნივ. ამისთვის შეგიძლიათ გამოიყენოთ
ფუნქცია htonl(). ყველა PDU იყოფა მოთხოვნებად და
პასუხები. მოთხოვნის კოდებში ყველაზე მნიშვნელოვანი ბიტია
ნული, პასუხების შესახებ ერთი. ყოველი მოთხოვნისთვის
პასუხი უნდა მოვიდეს, გარდა
შეტყობინებები მიღებული შეტყობინებების შესახებ. Ნახვამდის
პასუხი არ მიუღია, ოპერაცია განიხილება
დაუმთავრებელი. თუ პასუხი არ არის
სანამ კავშირი დაიკარგება, მონაწილე, იქნება ეს SMSC
ან ESME, უნდა გაიმეოროს მოთხოვნა. Ოქმი
ასინქრონული, ე.ი. მოთხოვნის გამგზავნს შეუძლია
გაგზავნეთ სხვა მოთხოვნა მოლოდინის გარეშე
პასუხი და პასუხები შეიძლება მოჰყვეს ნებისმიერ დროს
თანმიმდევრობები. ყველა ოპერაცია ასევე
იყოფა ისეთებად, რომელთა გამოყენებაც შესაძლებელია
ESME-ები, რომლებიც შეიძლება გამოიყენონ SMSC-მ და მათ
რომლის გამოყენება ორივეს შეუძლია
პარტიები. კავშირი შეიძლება იყოს
შემდეგი შტატები:

- ღია (ჯერ არ არის დამოწმებული)
- Გადაცემა
- მიღება
- მიღება და გადაცემა
- დაიხურა

"ღია" მდგომარეობაში, ანუ დაუყოვნებლივ
TCP კავშირის დამყარება ESME, ვისაც სურს
გაგზავნეთ SMS, უნდა გაგზავნოთ მოთხოვნა bind_transmitter-ზე.
მისაღებად - bind_receiver. ორივე მოქმედებისთვის
დაუყოვნებლივ - bind_transceiver. ეს მოთხოვნა იგზავნება
შესვლა და პაროლი. თუ კავშირი დამყარდა
SMSC, მაშინ მან ჯერ უნდა გაგზავნოს გარე მოთხოვნა
და ჩასვით მასში შესვლა და პაროლი, რადგან ინ
ამ სიტუაციაში, თქვენ უკვე გჭირდებათ მისი წვდომის უფლებები
ჩეკი. მაგალითად, მე გაჩვენებთ როგორ დააუთოვოთ იგი
bind_transmitter ბრძანება:

სათაური:
DWORD სიგრძე
DWORD ბრძანება = BIND_TRANSMITTER
DWORD სტატუსი = 0
DWORD მიმდევრობის ნომერი

მონაცემები:
ხაზის შესვლა
სიმებიანი პაროლი
სიმებიანი სისტემის ტიპი (მაგალითად, WWW ან ფოსტა)
BYTE პროტოკოლის ვერსია = 0x34
BYTE addr_ton (ნომრის ტიპი), 0 = ნაგულისხმევი
BYTE addr_npi (ნომრის გეგმა), 0 = ნაგულისხმევი
სტრიქონი რიცხვების დიაპაზონი, ცარიელი სტრიქონი,
თუ თავად პროვაიდერმა იცის რა ნომრები გვაქვს
ჩვენ ვემსახურებით

სტრიქონები არის ASCIIZ, ანუ ნულოვანი.

ამ მოთხოვნის პარამეტრების უმეტესობა
შეიძლება იყოს ნულები ან ცარიელი სტრიქონები. IN
ასეთ მოთხოვნაზე პასუხი მოვა
რომელიც სათაურის გარდა შეიცავს SMS ცენტრის SystemId-ს,
და სტატუსის ველი იქნება ნულოვანი წარმატების შემთხვევაში. თუ
დამყარებულია გადაცემის კავშირი, მაშინ ჩვენ
ჩვენ გვაქვს უფლება გამოგვიგზავნოთ მოთხოვნები submit_sm და თუ
მიმღებთან კავშირი დამყარებულია, მაშინ გჭირდებათ
დაელოდეთ deliver_sm მოთხოვნებს, რომლებიც შეიცავს ტექსტებს
მიღებული შეტყობინებები და დამუშავება.
სამუშაოს დასრულების შემდეგ, ჩვენ ვაგზავნით unbind შეტყობინებას და
გათიშვა.

მოთხოვნების უმეტესობას თაიგული აქვს
პარამეტრები, რომლებზეც განსაკუთრებით არ შეგიძლიათ
მიიღეთ ორთქლის აბაზანა და გააუქმეთ ისინი. ასე რომ, მიუხედავად
შთამბეჭდავი რაოდენობის დოკუმენტაცია,
მარტივი SMS ავტომოპასუხე, რომელიც ეფუძნება
რომლის აშენებაც შეგიძლიათ
დახმარების სისტემა, მე მივიღე
მხოლოდ 25 კბ ტექსტის მოცულობით C++-ში და ტესტისთვის
SCTT-მ აჩვენა, რომ ყველაფერი მუშაობს და რჩება
უბრალოდ იყიდეთ SMSC-ზე წვდომა :).

ვისთან დაკავშირება

შეტყობინებები SMPP პროტოკოლით თქვენი საკუთარი
ბევრი OpSoS იღებს კლიენტებს, ასე რომ
არანაირი კონკრეტული მითითება. მოძებნეთ ინფორმაცია
თქვენთვის სასურველი OpSoS-ის ვებსაიტი
მუშაობა. გარდა ამისა, თქვენი საკუთარი SMS ცენტრი,
მუშაობს SMPP პროტოკოლზე, უზრუნველყოფს

ერთ-ერთი SMS პროტოკოლი არის smpp. იგი აღწერს შეტყობინების მიმღებს, ანუ smpp კლიენტსა და SMS სერვერს შორის ურთიერთქმედების პროცესს მონაცემთა გადაცემის სპეციალური სისტემის გამოყენებით.

smpp შეტყობინების გაგზავნის საფუძვლად, თქვენ შეძლებთ:

  • გამოიყენეთ ტექსტის სხვადასხვა ფორმატი, ასევე wap push SMS;
  • გაგზავნეთ არა მხოლოდ მოკლე, არამედ გრძელი ტექსტები;
  • მიიღეთ დეტალური ანგარიშები მიწოდებული და დაგვიანებული SMS-ების შესახებ;
  • შეტყობინებების გაცვლა ორმხრივ ფორმატში;
  • აირჩიეთ გაგზავნის სიჩქარე.

ამრიგად, smpp პროტოკოლიაქვს დიდი შესაძლებლობები, რაც, თუმცა, დაკავშირებულია გამოყენებისა და ინსტალაციის ზოგიერთ მახასიათებელთან, რომელსაც განვიხილავთ.

smpp–თან მუშაობის თავისებურებები

ამ პროტოკოლთან მუშაობისთვის, თქვენ უნდა გქონდეთ შესაბამისი პროგრამული უზრუნველყოფა და სერვერი, რომელსაც შეუძლია ურთიერთქმედება smpp-თან. ამ შემთხვევაში, აღჭურვილობა მუდმივად უნდა იყოს დაკავშირებული პროვაიდერის კომპანიის კარიბჭესთან. იმისათვის, რომ smpp SMS გაიგზავნოს სწრაფად და შეფერხების გარეშე, ჩვენი კომპანიის ყველა კლიენტი გადის ტექნიკის თავსებადობის ტესტს. ეს საშუალებას გაძლევთ თავიდან აიცილოთ მრავალი ტექნიკური სირთულე საწყის ეტაპზე.

გარდა ამისა, გზავნილებისთვის პროტოკოლის გამოყენებამდე მომხმარებლებს შეუძლიათ შეამოწმონ smpp sms გაგზავნა სასურველი მიწოდების სიჩქარის დასადგენად.

სპეციალისტები ყოველთვის მზად არიან გასცენ რჩევები სერვისის გამოყენების, დაკავშირებისა და ტესტირების შესახებ, რაც გაგიმარტივებთ თქვენს ამოცანას.

კავშირი SMPP პროტოკოლით.

  • system_id - სისტემაში რეგისტრირებული XXXX.X ფორმის მომხმარებლის სახელი
  • პაროლი - მომხმარებლის პაროლი
  • მისამართი -
  • პორტი - 8056

მხარდაჭერილი SMPP ბრძანებები

სერვერი უპასუხებს მხარდაუჭერელ ბრძანებებს GENERIC_NAK შეტყობინებით შეცდომის კოდით ESME_RINVCMDID.

smpp პროტოკოლით შეტყობინების გაგზავნის პარამეტრები (SUBMIT_SM).

SMPP კავშირთან მუშაობის წესები

როდესაც კავშირი დამყარდება, კლიენტს ეძლევა 10 წამი BIND_TRANSMITTER ან BIND_TRANSCEIVER ბრძანების გასაგზავნად. წინააღმდეგ შემთხვევაში, კავშირი დაიხურება სერვერის მიერ.

კლიენტი ვალდებულია უპასუხოს სერვერის მიერ გამოგზავნილ ყველა პაკეტს შესაბამისი resp პაკეტით 1 წუთის განმავლობაში. წინააღმდეგ შემთხვევაში, კავშირი დაიხურება სერვერის მიერ UNBIND-ის გაგზავნის გარეშე.

შეტყობინების მიწოდების სტატუსის მიღება

მიწოდების სტატუსის მიღების ორი ვარიანტი არსებობს smpp პროტოკოლის გამოყენებით (აქტიური და პასიური). სასურველია პასიური ვარიანტი.

პასიური ვარიანტი მოიცავს SUBMIT_SM პაკეტის registered_delivery flag-ის დაყენებას.
მას შემდეგ, რაც შეტყობინება მიაღწევს საბოლოო მდგომარეობას, სერვერი გამოგიგზავნით DELIVER_SM პაკეტს მიწოდების ქვითრით. მიწოდების ქვითრის შეტყობინების ფორმატი მოცემულია ქვემოთ.

აქტიური ვარიანტი ითვალისწინებს შეტყობინების სტატუსის პერიოდულ გამოკითხვას გაგზავნით
QUERY_SM.

მიტანის ქვითრის ფორმატი

"id:IIIIIIIII sub:SSS dlvrd:DDD გაგზავნის თარიღი:YYMMDDhhmm დასრულების თარიღი:YYMMDDhhmm
stat:DDDDDDD err:E ტექსტი: . . . . . . . . "

დაცულია შეცდომის კოდები smpp კავშირისთვის

კოდი აღწერა
0x0400
(1024)
კოდირება არ არის აღიარებული
0x0401
(1025)
შეტყობინების ტექსტი ძალიან დიდია. მაქსიმალური სიგრძე არ უნდა აღემატებოდეს 160-ს
ბაიტი.
0x0402
(1026)
გაგზავნის შეტყობინების რეგისტრაციისას მოხდა შეცდომა. როდესაც ეს შეცდომა ჩნდება
დაუკავშირდით მხარდაჭერას.
0x0403
(1027)
შეტყობინების ტექსტი არ შემოწმდა შეუსაბამო სიტყვებზე და/ან ფრაზებზე
0x0404
(1028)
შავ სიაში გამომგზავნი ან მიმღები
0x0453
(1107)
იყო შეზღუდვა ერთი და იგივე ტექსტის ერთსა და იმავე ნომერზე მოკლე დროში გაგზავნაზე. დაუკავშირდით მხარდაჭერას, თუ გსურთ გამორთოთ ან შეამციროთ პერიოდი.
0x043C
(1084)
მოთხოვნილი დანიშნულების ადგილისთვის ხელმისაწვდომი ტარიფი არ არის.
0x043F
(1087)
ზედა დინების კონტრაგენტს არ აქვს შესაბამისი ტარიფი.
0x045A
(1114)
მარშრუტის პოლიტიკა ვერ მოიძებნა.
0x0446
(1094)
ტრანსპორტის შეცდომა. თუ ეს შეცდომა მოხდა, გთხოვთ, დაუკავშირდეთ კლიენტთა მომსახურებას.
მხარდაჭერა.
0x433
(1075)
ანგარიშზე არასაკმარისი თანხაა.


გაქვთ შეკითხვები?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: