SMPP (Short Message Peer-to-Peer) هو بروتوكول مفتوح وثنائي يعمل عبر TCP لتبادل رسائل SMS بين تطبيق خارجي (ESME) ومركز خدمة الرسائل القصيرة (SMSC). وهو الواجهة المعيارية لرسائل A2P عالية الإنتاجية لأنه محافظ على الحالة، ومنخفض زمن الاستجابة، ويدعم إيصالات التسليم بشكل أصيل.
bind_transceiverفتح الجلسة والمصادقة عليهاbind_transceiver_respتم قبول الجلسةsubmit_smإرسال رسالةsubmit_sm_respتم القبول، وإعادة معرف الرسالةdeliver_smإيصال استلام أو رسالة واردةdeliver_sm_respتم التأكيدenquire_linkإشارة Keepalive أثناء الخمول
ما هو SMPP ولماذا وُجد
SMPP هو بروتوكول تطبيقي من المستوى السابع يتيح لتطبيق الرسائل تبادل الرسائل القصيرة مع SMSC أو بوابة توجيه. وبينما تناسب واجهة REST البرمجية الأحجام المنخفضة، فإن SMPP جلسة ثنائية دائمة تتجنب أعباء HTTP لكل رسالة، وتحافظ على آلاف الرسائل في الثانية عبر اتصال واحد، وتحمل عمليات الإرسال والتسليم والاستعلام والاستبدال والإلغاء إضافة إلى إيصالات التسليم غير المتزامنة. وهو محايد تجاه الشبكة الأساسية، إذ يتولى SMSC التسليم إلى الهاتف عبر SS7/MAP أو SIGTRAN أو IP. نُشر أول مرة من قبل Aldiscon/Logica في أواخر التسعينيات، ويتولى صيانته الآن منتدى مطوري SMPP؛ ويظل الإصدار v3.4 (1999) الأوسع انتشارًا.
الطرفان: ESME وSMSC
الطرفان هما ESME (الكيان الخارجي للرسائل القصيرة — تطبيقك) وSMSC (مركز خدمة الرسائل القصيرة — بوابة المشغّل أو المجمّع). يفتح ESME اتصال TCP إلى منفذ الاستماع لدى SMSC (المنفذ 2775 المسجل لدى IANA للنص الصريح) ويصادِق عبر عملية bind. وبالرغم من تسمية «الند للند»، فإن العلاقة عادة ما تكون بين عميل (ESME) وخادم (SMSC)؛ ويمكن لأيٍ من الطرفين إرسال وحدات PDU بمجرد ربط الجلسة، وهذه هي الطريقة التي يدفع بها SMSC الرسائل المنشأة من المحمول (MO) وإيصالات التسليم إلى ESME.
| المصطلح | المعنى |
|---|---|
| ESME | كيان الرسائل القصيرة الخارجي (ESME) — التطبيق المتصل (المرسِل لديك) |
| SMSC | مركز خدمة الرسائل القصيرة - بوابة المشغّل/المجمع |
| MC | مركز الرسائل — مصطلح v5.0 الذي يعمّم SMSC |
| MT | منتهية إلى الهاتف المحمول (MT) — رسالة تُسلَّم إلى جهاز محمول |
| MO | صادرة من الهاتف المحمول (MO) — رسالة مرسلة من جهاز محمول إلى ESME |
نموذج الجلسة والنقل
يعمل SMPP عبر اتصال TCP واحد طويل الأمد. بعد مصافحة TCP يرسل ESME وحدة bind؛ وعند نجاح bind_resp تدخل الجلسة في حالة مربوطة وتبقى مفتوحة إلى أجل غير مسمى، ويُحافظ عليها حيّة بوحدات enquire_link الدورية. والعمليات هي أزواج طلب/استجابة مترابطة عبر sequence_number، ويمكن أن تكون عدة طلبات معلّقة في آن واحد (النمط النافذي / غير المتزامن) حتى حجم النافذة المتفاوَض عليه. تنتهي الجلسة بتبادل unbind أو بإغلاق TCP. ولا يملك SMPP تشفيرًا مدمجًا؛ وتُضاف السرية بتشغيل الجلسة فوق TLS.
الإصدارات: v3.3 وv3.4 وv5.0
ثلاثة إصدارات تهمّ عمليًا. الإصدار v3.3 قديم ونادر الاستخدام. أدخل v3.4 ربط الإرسال والاستقبال (transceiver) ومعاملات TLV الاختيارية، وهو المعيار الفعلي للصناعة اليوم. أما v5.0 فمتوافق للخلف مع v3.4 ويضيف إشارات التحكم بالازدحام وعمليات البثّ وحالات رسائل إضافية، لكنه أقل انتشارًا. ويُحمَل الإصدار المتفاوَض عليه في حقل interface_version ضمن الـ bind: القيمة 0x34 لـ v3.4 والقيمة 0x50 لـ v5.0.
| القيمة | الإصدار |
|---|---|
| 0x33 أو أقل | SMPP الإصدار 3.3 أو أقدم |
| 0x34 | SMPP v3.4 |
| 0x50 | SMPP v5.0 |
الأسئلة المتكررة
هل ما زال SMPP مستخدمًا في 2026؟
نعم. يظل SMPP البروتوكول المهيمن لرسائل A2P عالية الحجم بين التطبيقات والمجمّعين ومراكز SMSC لدى المشغّلين. وتعمل واجهات REST فوق SMPP للتيسير، لكن الترابط المواجه للناقل يكاد يكون دائمًا SMPP عبر TCP، ومؤمّنًا عادة بـ TLS.
ما المنفذ الذي يستخدمه SMPP؟
القيمة الافتراضية المسجلة لدى IANA هي منفذ TCP رقم 2775 للنص الصريح. ولا يوجد منفذ TLS معياري واحد، لذا يوفّر المزوّدون منفذًا منفصلًا مفعّلًا بـ TLS (مثل 3550 أو منفذ خاص بكل حساب) للربط المشفّر. استخدم دائمًا المنفذ الذي يوفّره لك المزوّد.
ما الفرق بين SMPP وSMTP؟
لا علاقة بينهما. ينقل SMTP البريد الإلكتروني؛ بينما ينقل SMPP رسائل SMS بين التطبيقات وSMSC. تسبّب الاختصارات المتشابهة اللبس، لكن البروتوكولين لا يتشاركان أي تصميم أو منافذ أو صيغة رسائل.
هل أحتاج SMPP أم تكفي واجهة SMS REST؟
واجهة REST أبسط وتفي بالغرض للأحجام المنخفضة إلى المتوسطة وللتكامل السريع. أما SMPP فيثبت جدواه عند الإنتاجية العالية، حيث تمنح الجلسة الثنائية الدائمة زمن استجابة أقل وإنتاجية مستدامة أعلى بالإضافة إلى إيصالات تسليم آنية أصيلة على الاتصال نفسه.
مواصفات المصدر
تستند هذه الصفحة إلى المعايير المنشورة. يفتح في علامة تبويب جديدة.