SMPP: ทางศูนย์กำลังรอ SMS…. คุณสมบัติของการทำงานกับโปรโตคอล คำสั่ง SMPP ที่รองรับ

(Short Message Peer to Peer) เป็นโปรโตคอลแบบเปิดที่ใช้ในการส่ง/รับข้อความ SMS ระหว่างเพื่อน โปรโตคอลนี้ถูกใช้บน TCP/IP เช่น HTTP แต่เป็นไบนารี ตามกฎแล้ว โปรโตคอล SMPP จัดให้มีโหมดการเชื่อมต่อแบบถาวร โดยไม่ต้องร้องขอและรอการตอบกลับจากเซิร์ฟเวอร์ จากนั้นจึงตัดการเชื่อมต่อ การใช้การเชื่อมต่อแบบถาวรจะเพิ่มความเร็วในการส่งข้อความอย่างมาก

ผู้ให้บริการ SMS อาจจำกัดอัตราที่จะรับข้อความเพื่อเพิ่มประสิทธิภาพและจัดสรรทรัพยากรของตน หากคุณพยายามส่งด้วยความเร็วเกินกว่าที่ ISP อนุญาต คุณอาจพบข้อผิดพลาดและความล่าช้าที่ไม่คาดคิด

SMPP สามารถส่งข้อความประเภทใดก็ได้ รวมถึงข้อความ UCP/EMI SMPP รองรับทั้งข้อความตัวอักษรยาวและข้อความที่เขียนด้วย Unicode เซิร์ฟเวอร์ SMPP บางแห่งต้องการให้ผู้ส่งส่งข้อความยาวเพียงข้อความเดียว ในขณะที่เซิร์ฟเวอร์อื่นต้องการให้แบ่งข้อความตามประเภทของข้อความ

มีการเชื่อมต่อสามประเภทที่เซิร์ฟเวอร์ SMPP รองรับ

  • “ผู้ส่ง” หรือ “ส่งเท่านั้น” - มีเพียงการส่งข้อความเท่านั้นและเซิร์ฟเวอร์ไม่สามารถรับข้อความใด ๆ ได้
  • "ตัวรับ" หรือ "รับเท่านั้น" - ไม่อนุญาตให้เชื่อมต่อผ่านการเชื่อมต่อข้อความ เซิร์ฟเวอร์สามารถรับได้เฉพาะข้อความเท่านั้น ความพยายามในการรับข้อความผ่านการเชื่อมต่อนี้มักจะส่งผลให้เกิดข้อผิดพลาด
  • "ตัวรับส่งสัญญาณ" - อนุญาตให้ส่งและส่งข้อความผ่านการเชื่อมต่อเดียว

ประเภทของการเชื่อมต่อที่คุณใช้จะขึ้นอยู่กับการตั้งค่าและนโยบายของบริการ SMPP ของคุณ

โปรโตคอล SMPP สามารถขยายได้ ช่วยให้ผู้ให้บริการสามารถเพิ่มพารามิเตอร์เพิ่มเติมของตนเอง ซึ่งเรียกว่าพารามิเตอร์ TLV ซึ่งตั้งชื่อตามรูปแบบของพารามิเตอร์เหล่านี้: แท็ก (ป้ายกำกับ) ความยาว ต้นทุน พารามิเตอร์ TLV บางตัวถูกกำหนดไว้ในข้อกำหนดเฉพาะ แต่ไม่จำเป็นต้องใช้ พารามิเตอร์อื่น ๆ จัดทำโดยผู้ให้บริการ

สามารถใช้บริการ SMS เป็นเซิร์ฟเวอร์ SMPP สำหรับแอปพลิเคชันอื่นได้ ไคลเอนต์หรือแอปพลิเคชันอื่นเชื่อมต่อกับบริการ SMS และเซิร์ฟเวอร์ SMPP และบริการ SMS สื่อสารกับศูนย์ SMS อื่นอย่างน้อยหนึ่งแห่งเพื่อส่งและรับข้อความ SMS โดยใช้ SMPP หรืออาจเป็นโปรโตคอลอื่น

การส่งข้อความระหว่างเซิร์ฟเวอร์ SMS และศูนย์ SMS ของผู้ให้บริการ GSM ผ่านการสื่อสาร IP สามารถดำเนินการผ่านสายเฉพาะ (เกตเวย์) ผ่านทางอินเทอร์เน็ต ในกรณีนี้ การเชื่อมต่อ IP ระหว่างพีซีและ SMS Center จะสามารถป้องกันได้

ข้อดีของโปรโตคอล SMPP คือกระบวนการนี้เกิดขึ้นเร็วกว่ามากและมีช่วงเวลาสั้นกว่า (ตั้งแต่หนึ่งถึงสิบวินาที) เมื่อเทียบกับการใช้โทรศัพท์มือถือ แนะนำให้ใช้ SMPP หากจำนวนข้อความสูงสุดที่ส่งมากกว่า 100 SMS/ชั่วโมง นอกจากนี้ บริการ SMPP ยังให้คุณป้อนข้อมูลใด ๆ (11 ตัวอักษร) ลงในบรรทัดหมายเลขผู้ส่ง รองรับตัวเลข อักขระละติน และเครื่องหมายวรรคตอน ข้อมูลที่ป้อนจะปรากฏสำหรับผู้รับในบรรทัด "ข้อความจาก:" และผู้ส่งสามารถเปลี่ยนแปลงได้อย่างอิสระ ดังนั้นคุณจึงมีโอกาสที่จะใช้ศูนย์ SMS ของคุณเองที่ทำงานโดยใช้โปรโตคอล SMPP

SMPP (ตัวย่อ: โปรโตคอลข้อความสั้นแบบเพียร์ทูเพียร์) แปลจากภาษาอังกฤษหมายถึง "โปรโตคอลข้อความสั้นแบบเพียร์ทูเพียร์" และอนุญาตให้คุณอธิบายการโต้ตอบระหว่างเซิร์ฟเวอร์ 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

พารามิเตอร์สำหรับการส่งข้อความ (SUBMIT_SM) ผ่านโปรโตคอล smpp

กฎการทำงานกับการเชื่อมต่อ SMPP

เมื่อสร้างการเชื่อมต่อแล้ว ไคลเอนต์จะมีเวลา 10 วินาทีในการส่งคำสั่ง BIND_TRANSMITTER หรือ BIND_TRANSCEIVER มิฉะนั้นการเชื่อมต่อจะถูกปิด

ไคลเอนต์จะต้องตอบกลับแพ็กเก็ตทั้งหมดที่ได้รับผ่านเกตเวย์ด้วยแพ็กเก็ต resp ที่เกี่ยวข้องภายใน 1 นาที มิฉะนั้นการเชื่อมต่อจะถูกปิดโดยไม่ส่ง UNBIND

กำลังรับสถานะการส่งข้อความ

มีสองตัวเลือกในการรับสถานะการจัดส่งโดยใช้โปรโตคอล smpp (ใช้งานอยู่และแฝง) แนะนำให้ใช้ตัวเลือกแบบพาสซีฟ

ตัวเลือกแบบพาสซีฟเกี่ยวข้องกับการตั้งค่าสถานะ register_delivery ของแพ็คเกจ SUBMIT_SM
หลังจากที่ข้อความถึงสถานะสุดท้าย เซิร์ฟเวอร์จะส่งแพ็กเก็ต DELIVER_SM พร้อมด้วยข้อความใบเสร็จรับเงินในการจัดส่ง รูปแบบข้อความใบเสร็จรับเงินจัดส่งอยู่ด้านล่าง

ตัวเลือกที่ใช้งานอยู่จัดให้มีการสำรวจสถานะข้อความเป็นระยะโดยการส่ง
QUERY_SM

แบบฟอร์มใบส่งสินค้า

"id:IIIIIIIII ย่อย:SSS dlvrd:DDD วันที่ส่ง:YYMMDDhhmm วันที่เสร็จสิ้น:YYMMDDhhmm
สถิติ:DDDDDDDD ผิดพลาด: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 มิฉะนั้นการเชื่อมต่อจะถูกปิดโดยเซิร์ฟเวอร์

ลูกค้ามีหน้าที่ตอบสนองต่อแพ็กเก็ตทั้งหมดที่เซิร์ฟเวอร์ส่งมาด้วยแพ็กเก็ตการตอบกลับที่เกี่ยวข้องภายใน 1 นาที มิฉะนั้น การเชื่อมต่อจะถูกปิดโดยเซิร์ฟเวอร์โดยไม่ส่ง UNBIND

กำลังรับสถานะการส่งข้อความ

มีสองตัวเลือกในการรับสถานะการจัดส่ง (ใช้งานอยู่และเฉยๆ) แนะนำให้ใช้ตัวเลือกแบบพาสซีฟ

ตัวเลือกแบบพาสซีฟเกี่ยวข้องกับการตั้งค่าสถานะ register_delivery ของแพ็คเกจ SUBMIT_SM หลังจากที่ข้อความถึงสถานะสุดท้าย เซิร์ฟเวอร์จะส่งแพ็กเก็ต DELIVER_SM พร้อมด้วยข้อความใบเสร็จรับเงินในการจัดส่ง รูปแบบข้อความใบเสร็จรับเงินจัดส่งอยู่ด้านล่าง

ตัวเลือกที่ใช้งานอยู่จัดให้มีการสำรวจสถานะข้อความเป็นระยะโดยการส่ง QUERY_SM

มีบริการระดับหนึ่งบนเครือข่าย
ที่ให้โอกาสผู้ใช้
เรียกใช้ฟังก์ชันต่างๆ โดยส่ง SMS ไปที่
เบอร์พิเศษและรับคำตอบด้วย
ข้อความ ตัวอย่างเช่น คุณสามารถลงทะเบียนได้
กล่องอีเมลที่คุณสามารถตั้งค่าได้
ส่งต่อสบู่ที่เข้ามาไปยังโทรศัพท์ของคุณ
คุณสามารถรับข่าวสารแบบเรียลไทม์และ
มีส่วนร่วมในการแชท ผ่านทาง SMS ได้
สั่งรูปภาพและทำนองสำหรับคุณ
โทรศัพท์มือถือ ในที่สุดคุณสามารถเข้าร่วมได้
โหวต OpSoS บางตัว
สนับสนุนบริการดังกล่าวเมื่อสำหรับแต่ละ
เขาไม่จ่ายค่า SMS ที่ผู้ใช้ส่งมา
เฉพาะกับ OpSoSu เท่านั้น แต่ยังรวมถึงเจ้าของบริการด้วย
เมื่อชำระค่าบริการบ่อยที่สุด
เสมือน. เมื่อใช้โทรศัพท์เราไม่ทำ
เราแนบค่าใช้จ่ายเงินที่แนบมาด้วย
ค่าเดียวกับเมื่อใช้ WebMoney
หรือเมื่อชำระเงินผ่าน SberBank
ความสามารถของ SMS ให้ขอบเขตที่กว้างสำหรับ
ธุรกิจอิเล็กทรอนิกส์ หลายคนถูกดึงดูดให้
โอกาสที่น่าดึงดูดใจในการได้รับปอด
เงินเมื่อคุณเพียงแค่รับชม
ดำเนินการและคุณนับเงิน แต่มันใช้ได้ผล
คุณสคริปต์บนเซิร์ฟเวอร์ ฉันไม่ได้ตั้งเป้าหมาย
สร้างแนวทางสู่ "ธุรกิจ" รูปแบบใหม่
เพื่อคนคนหนึ่ง" ในบทความนี้ I
ฉันจะสรุปเฉพาะด้านเทคนิคของปัญหาเท่านั้น
การประมวลผล 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 ดังนั้นคุณต้องทำ
คนจรจัดด้วย Virtual PC หรือโค้ดทันทีภายใต้ Linux

คำอธิบายโปรโตคอล

การเชื่อมต่อสามารถเริ่มต้นได้ดังนี้:
ผู้ใช้ที่มีชื่ออยู่ในคำอธิบาย
โปรโตคอลเอนทิตีข้อความสั้นภายนอก (ESME) และศูนย์ SMS
(เอสเอ็มเอสซี) โปรดทราบว่าเนื่องจากความเป็นไปได้นี้
มันจะผิดถ้าจะเรียกมันว่าศูนย์ SMS
เซิร์ฟเวอร์เนื่องจากสามารถทำได้
ลูกค้า. ตัวเลือกแรกใช้เป็น
โดยปกติเมื่อส่งข้อความและอย่างที่สอง
เมื่อได้รับแม้ว่าจะไม่มีใครห้ามก็ตาม
ส่งข้อความผ่านการเชื่อมต่อ
ติดตั้งโดยศูนย์ SMS และรับผ่านทาง
การเชื่อมต่อที่สร้างโดยคุณเอง ทั้งหมด
ข้อมูลในโปรโตคอล SMPP ซ้อนอยู่ในบล็อก
เรียกว่า Protocol Data Units (PDUs) ซึ่งมี
ส่วนหัวระบุขนาดบล็อกและ
รหัสการดำเนินงาน

รูปแบบส่วนหัว PDU:

ความยาว DWORD - ความยาวของบล็อกทั้งหมดรวมถึง
ชื่อ
คำสั่ง DWORD
สถานะ DWORD - 0 ในคำขอและรหัสข้อผิดพลาดและการตอบกลับ
DWORD SequenceNumber - หมายเลขลำดับ

ต้องระบุหมายเลขซีเรียลในการตอบกลับ
เท่ากับจำนวนในคำขอ

ตัวเลขทั้งหมดใน SMPP จะถูกเข้ารหัสเพื่อให้ค่าสูงสุด
ไบต์ทางด้านซ้าย สำหรับสิ่งนี้คุณสามารถใช้
ฟังก์ชัน htonl() PDU ทั้งหมดแบ่งออกเป็นคำขอและ
คำตอบ ในรหัสคำขอ บิตที่สำคัญที่สุดคือ
ศูนย์ ประมาณหนึ่งคำตอบ สำหรับทุกคำขอ
คำตอบควรมายกเว้น
การแจ้งเตือนเกี่ยวกับข้อความที่ได้รับ ลาก่อน
ไม่ได้รับการตอบกลับ ถือว่าดำเนินการ
ยังไม่เสร็จ หากไม่มีการตอบสนอง
ก่อนที่การเชื่อมต่อจะขาดหาย ผู้เข้าร่วม ไม่ว่าจะเป็น SMSC
หรือ ESME จะต้องขอซ้ำอีกครั้ง มาตรการ
แบบอะซิงโครนัสเช่น ผู้ส่งคำขออาจ
ส่งคำขออื่นโดยไม่ต้องรอ
คำตอบและคำตอบสามารถติดตามได้ตลอดเวลา
ลำดับ การดำเนินการทั้งหมดด้วย
แบ่งออกเป็นส่วนที่สามารถใช้ได้
ESMEs ที่ SMSC และเหล่านั้นสามารถใช้ได้
ซึ่งสามารถใช้ได้ทั้งสองอย่าง
ฝ่าย การเชื่อมต่ออาจจะอยู่ใน
สถานะต่อไปนี้:

— เปิด (ยังไม่ได้รับการรับรองความถูกต้อง)
- โอนย้าย
- แผนกต้อนรับ
- การรับและส่งสัญญาณ
- ปิดแล้ว

ในสถานะ "เปิด" เช่น ทันทีหลังจากนั้น
สร้างการเชื่อมต่อ TCP ESME ที่ต้องการ
ส่ง SMS ต้องส่งคำขอไปที่ bind_transmitter
สำหรับการรับ - bind_receiver สำหรับการกระทำทั้งสองอย่าง
ทันที - bind_transceiver คำขอนี้ส่ง
เข้าสู่ระบบและรหัสผ่าน หากทำการเชื่อมต่อแล้ว
SMSC จากนั้นจะต้องส่งคำขอส่งออกก่อน
และส่งต่อล็อกอินและรหัสผ่านเข้าไปเพราะว่าใน
ในสถานการณ์นี้ คุณต้องมีสิทธิ์การเข้าถึงของเขาอยู่แล้ว
ตรวจสอบ. ตัวอย่างเช่น ฉันจะแสดงวิธีรีดให้คุณดู
คำสั่งbind_transmitter:

หัวข้อ:
ความยาว DWORD
คำสั่ง DWORD = BIND_TRANSMITTER
สถานะ DWORD = 0
หมายเลขลำดับ DWORD

ข้อมูล:
เข้าสู่ระบบไลน์
รหัสผ่านสตริง
ประเภทระบบสตริง (เช่น WWW หรือ Mail)
เวอร์ชันโปรโตคอล BYTE = 0x34
BYTE addr_ton (ประเภทตัวเลข), 0 = ค่าเริ่มต้น
BYTE addr_npi (แผนหมายเลข), 0 = ค่าเริ่มต้น
ช่วงสตริงของตัวเลข สตริงว่าง
หากผู้ให้บริการเองรู้ว่าเราเป็นเลขอะไร
เราให้บริการ

สตริงเป็นแบบ ASCIIZ เช่น สิ้นสุดด้วยค่า Null

พารามิเตอร์ส่วนใหญ่ของคำขอนี้
อาจเป็นศูนย์หรือสตริงว่างก็ได้ ใน
คำตอบสำหรับคำขอดังกล่าวจะเข้ามา
ซึ่งนอกเหนือจากส่วนหัวแล้วจะมี SystemId ของศูนย์ SMS
และฟิลด์สถานะจะเป็นศูนย์หากสำเร็จ ถ้า
มีการสร้างการเชื่อมต่อการส่งสัญญาณแล้วเรา
เรามีสิทธิ์ที่จะส่งคำขอ send_sm และหาก
สร้างการเชื่อมต่อสำหรับการรับสัญญาณแล้วคุณต้องมี
รอคำขอ send_sm ที่มีข้อความ
ได้รับข้อความและดำเนินการ
เมื่อทำงานเสร็จแล้วเราจะส่งข้อความปลดและ
ตัดการเชื่อมต่อ

คำถามส่วนใหญ่มีมากมาย
พารามิเตอร์ที่คุณไม่สามารถทำได้โดยเฉพาะ
อาบน้ำอบไอน้ำและทำให้สิ่งเหล่านั้นเป็นโมฆะ ดังนั้นก็ตาม
เอกสารจำนวนที่น่าประทับใจ
เครื่องตอบรับ SMS แบบธรรมดาที่ใช้
ซึ่งคุณสามารถสร้างบางส่วนได้
ระบบช่วยเหลือ เข้าใจแล้ว
ด้วยปริมาณข้อความเพียง 25 kB ใน C ++ และการทดสอบ
SCTT แสดงให้เห็นว่าทุกอย่างใช้งานได้และยังคงอยู่
เพียงซื้อสิทธิ์เข้าถึง SMSC :)

ที่จะเชื่อมต่อกับใคร

ข้อความผ่านโปรโตคอล SMPP ของคุณเอง
OpSoS จำนวนมากยอมรับลูกค้าเช่นกัน
ไม่มีการอ้างอิงที่เฉพาะเจาะจง ลองหาข้อมูลได้ที่
เว็บไซต์ของ OpSoS ที่คุณต้องการ
งาน. นอกจากนี้ศูนย์ SMS ของคุณเอง
ทำงานบนโปรโตคอล SMPP ให้

หนึ่งในโปรโตคอล SMS คือ smpp อธิบายกระบวนการโต้ตอบระหว่างผู้รับข้อความ นั่นคือ ไคลเอนต์ smpp และเซิร์ฟเวอร์ SMS โดยใช้ระบบการส่งข้อมูลพิเศษ

การใช้การส่งข้อความ smpp เป็นหลัก คุณจะสามารถ:

  • ใช้รูปแบบข้อความต่าง ๆ รวมถึง wap push SMS
  • ส่งข้อความสั้น ๆ เท่านั้น แต่ยังส่งข้อความยาวด้วย
  • รับรายงานโดยละเอียดเกี่ยวกับ SMS ที่ส่งและล่าช้า
  • แลกเปลี่ยนข้อความในรูปแบบสองทาง
  • เลือกความเร็วในการส่ง

ดังนั้น, โปรโตคอลเอสเอ็มพีพีมีความสามารถที่ยอดเยี่ยมซึ่งเกี่ยวข้องกับคุณสมบัติการใช้งานและการติดตั้งบางอย่างซึ่งเราจะพิจารณา

คุณสมบัติของการทำงานกับ smpp

หากต้องการทำงานกับโปรโตคอลนี้ คุณต้องมีซอฟต์แวร์ที่เหมาะสมและเซิร์ฟเวอร์ที่สามารถโต้ตอบกับ smpp ได้ ในกรณีนี้อุปกรณ์จะต้องเชื่อมต่อกับเกตเวย์ของบริษัทผู้ให้บริการอย่างต่อเนื่อง เพื่อให้ smpp SMS สามารถส่งได้อย่างรวดเร็วและไม่ล่าช้า ลูกค้าทั้งหมดของบริษัทของเราจะต้องผ่านการทดสอบความเข้ากันได้ของอุปกรณ์ สิ่งนี้ช่วยให้คุณกำจัดปัญหาทางเทคนิคมากมายในระยะเริ่มแรก

นอกจากนี้ ก่อนที่จะใช้โปรโตคอลสำหรับการส่งจดหมาย ผู้ใช้สามารถทดสอบการส่ง smpp sms เพื่อกำหนดความเร็วในการจัดส่งที่ต้องการได้

ผู้เชี่ยวชาญพร้อมให้คำแนะนำในการใช้งาน เชื่อมต่อ และทดสอบบริการเสมอ ซึ่งจะทำให้งานของคุณง่ายขึ้น

การเชื่อมต่อผ่านโปรโตคอล SMPP

  • system_id - ชื่อผู้ใช้ของแบบฟอร์ม XXXX.X ที่ลงทะเบียนในระบบ
  • รหัสผ่าน - รหัสผ่านผู้ใช้
  • ที่อยู่ -
  • พอร์ต - 8056

คำสั่ง SMPP ที่รองรับ

เซิร์ฟเวอร์จะตอบสนองต่อคำสั่งที่ไม่สนับสนุนด้วยข้อความ GENERIC_NAK พร้อมรหัสข้อผิดพลาด ESME_RINVCMDID

พารามิเตอร์สำหรับการส่งข้อความ (SUBMIT_SM) ผ่านโปรโตคอล smpp

กฎการทำงานกับการเชื่อมต่อ SMPP

เมื่อสร้างการเชื่อมต่อแล้ว ไคลเอ็นต์จะมีเวลา 10 วินาทีในการส่งคำสั่ง BIND_TRANSMITTER หรือ BIND_TRANSCEIVER มิฉะนั้นการเชื่อมต่อจะถูกปิดโดยเซิร์ฟเวอร์

ลูกค้ามีหน้าที่ตอบสนองต่อแพ็กเก็ตทั้งหมดที่เซิร์ฟเวอร์ส่งมาด้วยแพ็กเก็ตการตอบกลับที่เกี่ยวข้องภายใน 1 นาที มิฉะนั้น การเชื่อมต่อจะถูกปิดโดยเซิร์ฟเวอร์โดยไม่ส่ง UNBIND

กำลังรับสถานะการส่งข้อความ

มีสองตัวเลือกในการรับสถานะการจัดส่งโดยใช้โปรโตคอล smpp (ใช้งานอยู่และแฝง) แนะนำให้ใช้ตัวเลือกแบบพาสซีฟ

ตัวเลือกแบบพาสซีฟเกี่ยวข้องกับการตั้งค่าสถานะ register_delivery ของแพ็คเกจ SUBMIT_SM
หลังจากที่ข้อความถึงสถานะสุดท้าย เซิร์ฟเวอร์จะส่งแพ็กเก็ต DELIVER_SM พร้อมด้วยข้อความใบเสร็จรับเงินในการจัดส่ง รูปแบบข้อความใบเสร็จรับเงินจัดส่งอยู่ด้านล่าง

ตัวเลือกที่ใช้งานอยู่จัดให้มีการสำรวจสถานะข้อความเป็นระยะโดยการส่ง
QUERY_SM

แบบฟอร์มใบส่งสินค้า

"id:IIIIIIIII ย่อย:SSS dlvrd:DDD วันที่ส่ง:YYMMDDhhmm วันที่เสร็จสิ้น:YYMMDDhhmm
สถิติ:DDDDDDDD ผิดพลาด: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)
มีเงินในบัญชีไม่เพียงพอ


มีคำถามหรือไม่?

แจ้งการพิมพ์ผิด

ข้อความที่จะส่งถึงบรรณาธิการของเรา: