شرح بروتوكول SMPP
بروتوكول SMPP (Short Message Peer-to-Peer) هو بروتوكول TCP المفتوح الذي ينقل A2P SMS بين التطبيق — وهو ESME — وSMSC الخاص بمشغّل شبكة الهاتف المحمول. يقوم ESME بفتح عملية ربط (bind) مستمرة، ويرسل الرسائل كـ submit_sm PDUs ثنائية، ويستلم إيصالات التسليم عبر نفس المقبس (socket).
ملخص من كيف يعمل بروتوكول SMPP؟
كيف يعمل
- 1
الربط (Bind)
يقوم ESME بفتح اتصال TCP (ويُفضل أن يكون TLS) ويرسل bind_transceiver مع system_id وكلمة مرور. يمكنه الربط كـ Transmitter أو Receiver أو Transceiver؛ ويُعد الربط Transceiver عبر SMPP 3.4 هو الخيار الافتراضي الحديث.
اقرأ الإجابة الكاملة - 2
الإرسال (Submit)
تخرج كل رسالة كـ submit_sm PDU، ويقوم SMSC بالتأكيد باستخدام submit_sm_resp يحمل message_id. وتُعد النافذة — وهي عدد الـ PDUs التي يمكن إرسالها دون انتظار تأكيد — هي العامل الأكثر تأثيراً في تحديد معدل نقل الرسائل (TPS) الفعلي.
اقرأ الإجابة الكاملة - 3
استلام إيصالات التسليم
تصل إيصالات التسليم بشكل غير متزامن كـ deliver_sm PDUs عبر نفس المقبس (socket)، ويتم مطابقتها مع الرسالة الأصلية بواسطة message_id.
اقرأ الإجابة الكاملة - 4
الحفاظ على استمرارية الجلسة
تضمن نبضة قلب (heartbeat) enquire_link كل 30 ثانية استمرار عملية الربط (bind)، حيث يعيد العميل الاتصال باستخدام خاصية التراجع الأسي (exponential backoff)، بينما تؤدي عملية إلغاء الربط (unbind) إلى إغلاق الجلسة بشكل نظيف. وفي حال فشل عملية الإرسال (submit)، يتم إرجاع command_status رقمي لفك تشفيره.
اقرأ الإجابة الكاملة
المصطلحات الرئيسية
لكل مصطلح صفحة إجابات خاصة به تتضمن الشرح الكامل.
- ما هو SMPP؟بروتوكول SMPP (بروتوكول تبادل الرسائل القصيرة من نظير إلى نظير) هو معيار مفتوح لتبادل رسائل SMS بين مراكز خدمة الرسائل القصيرة (SMSCs) وكيانات الرسائل القصيرة الخارجية (ESMEs) ومجمعي الرسائل.
- كيف يعمل بروتوكول SMPP؟بروتوكول SMPP (بروتوكول الرسائل القصيرة من نظير إلى نظير) هو بروتوكول TCP مفتوح ينقل رسائل SMS من التطبيقات إلى الأشخاص (A2P) بين تطبيق (ESME) ومركز خدمة الرسائل القصيرة (SMSC) التابع لمشغّل شبكة الهاتف المحمول.
- ما هو كيان الرسائل القصيرة الخارجي (ESME)؟ESME (كيان الرسائل القصيرة الخارجية) هو مصطلح SMPP يُطلق على أي تطبيق خارج مركز خدمة الرسائل القصيرة (SMSC) يقوم بإرسال أو استقبال الرسائل القصيرة.
- ما هو مركز خدمة الرسائل القصيرة (SMSC)؟مركز خدمة الرسائل القصيرة (SMSC) هو المكون الأساسي لبنية شبكة الهاتف المحمول، حيث يقوم بتخزين وإعادة توجيه وتسليم رسائل SMS بين الأجهزة المحمولة والتطبيقات الخارجية.
- ما هو حجم نافذة SMPP؟النافذة هي عدد وحدات PDU SMPP التي قد تكون قيد الإرسال من ESME - أي التي تم إرسالها ولكن لم يتم تأكيد استلامها بعد - في عملية ربط واحدة في أي لحظة.
- SMPP 3.4 مقابل SMPP 5.0 - ما الذي تغير وما الذي يجب استخدامهلا يزال بروتوكول SMPP 3.4 (1999) هو بروتوكول الربط البيني للرسائل النصية القصيرة (SMS) المستخدم في معظم عمليات الربط من التطبيقات إلى الأشخاص (A2P) في بيئات الإنتاج الحالية.
- ما هو إيصال التسليم (DLR)؟يُعدّ DLR تأكيدًا غير متزامن على تسليم رسالة SMS (أو فشل تسليمها) إلى الهاتف.
- ما هو معدل المعاملات في الثانية (TPS)؟معدل المعاملات في الثانية (TPS) - ويُسمى أيضًا معدل الإرسال (MPS) - هو الحد الأقصى لإنتاجية ربط الرسائل أو الحساب: أي عدد وحدات بيانات بروتوكول الرسائل القصيرة (SMS submit_sm PDUs) التي يقبلها مركز خدمة الرسائل…
- بروتوكول TLS 1.3 في المراسلة - ما الذي تغير ولماذا هو مهم لبروتوكول SMPPاستبدل بروتوكول TLS 1.3 (RFC 8446، 2018) بروتوكول TLS 1.2 بآلية مصافحة أسرع، وأزال جميع الخوارزميات التي تم اختراقها خلال العقد الماضي، وجعل سرية البيانات المتبادلة إلزامية.
الأدلة والقراءات الإضافية
- مرجعنظرة عامة على بروتوكول SMPP
- مرجععمليات الربط في SMPP وحالات الجلسة
- مرجعSMPP submit_sm: كل حقل إلزامي
- مرجعرموز أخطاء SMPP command_status
- دليلقائمة تدقيق تكامل SMPP
- مقالتكلفة تشغيل تكامل SMS: اتصالات bind وخطافات الويب وأنماط الأعطال
- مقالمعدل نقل رسائل SMS وتخطيط TPS: تحديد حجم روابط SMPP (bind) للحملات ذات الحجم الكبير
- مقارنةSMS API مقابل SMPP
- وثائق المطورينتكامل SMPP
- أداةالبحث عن رمز خطأ SMPP
الأسئلة الشائعة
متى يجب عليك اختيار SMPP بدلاً من REST؟
اختر بروتوكول SMPP عندما ترسل باستمرار عدة مئات من الرسائل في الثانية أو تحتاج إلى اتصالات bind دائمة (يتم الاتفاق على السعة لكل bind مع فريق حسابك)، أو عندما تستخدم نظام OTP حساسًا للغاية للتأخير حيث يكون لكل جزء من الثانية أهمية بالغة، أو عندما ترغب في التكامل مع منظومة مشغّل/مجمع يدعم بروتوكول SMPP بشكل كامل. وفي غير ذلك، فإن واجهة برمجة تطبيقات رسائل SMS REST (التي لا توجد لها حدود معدل ثابتة لكل حساب لدى BroadNet) هي أسهل في التشغيل وتُرسل الرسائل عبر نفس المسارات.
اقرأ الإجابة الكاملةهل ينبغي عليّ استخدام بروتوكول SMPP 5.0 لعملية تكامل جديدة؟
نادراً ما يحدث ذلك. يُنصح بربط بروتوكول SMPP 3.4 عبر TLS إلا إذا اشترط طرفٌ مُحدد استخدام الإصدار 5.0. تعتمد قاعدة التثبيت والأدوات ودعم المشغّلين جميعها على الإصدار 3.4، ولا يُقدم الإصدار 5.0 أي ميزة في إمكانية التسليم على مسارات A2P التجارية.
اقرأ الإجابة الكاملةهل يُوصل بروتوكول SMPP 5.0 الرسائل بشكل أفضل من الإصدار 3.4؟
لا. إمكانية التسليم تعتمد على مسار المشغّل، وليس على إصدار بروتوكول SMPP. أما التحسينات التي أضافها الإصدار 5.0 (مثل رؤوس Unicode وعناصر TLV الخاصة بالفواتير) فتتم معالجتها عادةً على مستوى التطبيق فوق الإصدار 3.4.
اقرأ الإجابة الكاملةكيف يمكنني إرسال اللغة العربية أو الرموز التعبيرية عبر بروتوكول SMPP 3.4؟
قم بتعيين data_coding إلى UCS-2 (0x08)، أو قم بتضمين نص الرسالة في message_payload TLV. الإصدار 3.4 يتعامل مع محتوى Unicode بشكل جيد؛ لست بحاجة إلى الإصدار 5.0 لذلك.
اقرأ الإجابة الكاملةما نوع الربط والمنفذ الذي يجب أن أستخدمه؟
يُعدّ ربط جهاز الإرسال والاستقبال عبر بروتوكول TLS المعيارَ القياسيّ لبروتوكول A2P، حيث يُرسل رسالة submit_sm ويستقبل رسائل DLR عبر منفذ واحد. توفر BroadNet روابط SMPP 3.4؛ يتم توفير المضيف والمنفذ وبيانات الاعتماد مع وصول الاختبار الخاص بك.
اقرأ الإجابة الكاملة