كل ما يستحق المعرفة، ولا شيء مما لا يستحقها.
كيفية عمل بروتوكول SMPP، خطوة بخطوة
يفتح جهاز ESME اتصال TCP (ويُفضّل أن يكون TLS) ويرسل الأمر bind_transceiver مع معرّف النظام وكلمة المرور. بمجرد الربط، يُرسل كل رسالة كوحدة بيانات بروتوكول submit_sm؛ ويؤكد مركز خدمة الرسائل القصيرة (SMSC) الاستلام برسالة submit_sm_resp تحمل معرّف الرسالة. تصل إيصالات التسليم بشكل غير متزامن كوحدات بيانات بروتوكول deliver_sm على نفس المنفذ، ويتم مطابقتها بواسطة معرّف الرسالة. يُبقي نبض enquire_link كل 30 ثانية الجلسة نشطة، ويُنهيها الأمر unbind بشكل صحيح. راجع /answers/what-is-smpp و /answers/what-is-esme.
أنواع الربط والإصدارات
يرتبط جهاز ESME كجهاز إرسال (للإرسال فقط)، أو جهاز استقبال (للاستقبال فقط)، أو جهاز إرسال واستقبال (كلاهما على اتصال واحد). يُعدّ الإرسال والاستقبال عبر بروتوكول SMPP 3.4 هو الوضع الافتراضي الحديث. أضاف بروتوكول SMPP 5.0 رؤوسًا خالية من ترميز Unicode ودعمًا للبث الخلوي، لكن لم يقم أحد تقريبًا بتثبيته - إذ أن قاعدة التثبيت هي في الغالب 3.4. تقبل BroadNet عمليات الربط SMPP 3.4؛ يتم توفير المضيف والمنفذ وبيانات الاعتماد مع وصول الاختبار الخاص بك. راجع /answers/smpp-3-4-vs-5-0.
مزايا مقارنة بواجهة برمجة تطبيقات REST
لا يُكلّف الربط المستمر أي تكلفة لكل رسالة بمجرد إنشائه، لذا عند حجم بيانات كبير، يستخدم بروتوكول SMPP عُشر وحدة المعالجة المركزية وربع عرض النطاق الترددي لبروتوكول HTTPS لكل طلب. وهو السبيل الوحيد للوصول إلى زمن استجابة أقل من 100 مللي ثانية (p99) إلى مركز خدمة الرسائل القصيرة (SMSC) - حيث لا توجد عملية مصافحة HTTP على المسار الحرج - كما أنه يُرسل إيصالات تسليم البيانات (DLRs) في الوقت الفعلي. راجع /compare/sms-api-vs-smpp.
القيود والمخاطر
بروتوكول SMPP هو بروتوكول ثنائي يتطلب منك التعامل معه: إدارة الربط، وإعادة الاتصال مع التراجع الأسي، وتتبع أرقام التسلسل، ومطابقة DLR بواسطة message_id (يُعاد كقيمة سداسية عشرية في بعض مراكز خدمة الرسائل القصيرة، وقيمة عشرية في مراكز أخرى) كلها مسؤوليتك. معالجة الأخطاء مختصرة - يُعيد الإرسال الفاشل رمز command_status رقميًا يجب عليك فك تشفيره. استخدم أداة البحث /tools/smpp-error-codes لتحويل هذه الرموز إلى إجراء. عميل SMPP المُصمم للإنتاج عبارة عن قاعدة بيانات برمجية ضخمة تتكون من آلاف الأسطر؛ لذا يُنصح بشراء واحد جاهز بدلًا من بنائه.
متى يجب عليك اختيار SMPP بدلاً من REST؟
اختر بروتوكول SMPP عندما ترسل باستمرار عدة مئات من الرسائل في الثانية أو تحتاج إلى اتصالات bind دائمة (يتم الاتفاق على السعة لكل bind مع فريق حسابك)، أو عندما تستخدم نظام OTP حساسًا للغاية للتأخير حيث يكون لكل جزء من الثانية أهمية بالغة، أو عندما ترغب في التكامل مع منظومة مشغّل/مجمع يدعم بروتوكول SMPP بشكل كامل. وفي غير ذلك، فإن واجهة برمجة تطبيقات رسائل SMS REST (التي لا توجد لها حدود معدل ثابتة لكل حساب لدى BroadNet) هي أسهل في التشغيل وتُرسل الرسائل عبر نفس المسارات. راجع [developers/smpp](/developers/smpp) و [products/sms-api](/products/sms-api).
ما هو المنفذ الذي يستخدمه بروتوكول SMPP، وهل لا يزال مستخدماً في عام 2026؟
لا يحتوي SMPP على منفذ محجوز واحد؛ 2775 هو المنفذ الافتراضي التاريخي للنص العادي، وعادة ما يقوم المشغّلون بعرض TLS على منفذ مخصص (توفر BroadNet منفذ TLS الخاص بها مع حسابك). نعم، بروتوكول SMPP حديث تمامًا: فهو البروتوكول المُعتمد في بداية جميع عقود الربط البيني من التطبيقات إلى الأشخاص تقريبًا، وتُشغّل BroadNet أكثر من 1000 عملية ربط نشطة خلف أكثر من 1000 اتصال بين المشغّلين، ناقلةً أكثر من 300 مليون رسالة يوميًا بنسبة تشغيل 99.99% منذ عام 2003.