SMPP v5.0 متوافق للخلف مع v3.4 ويضيف إشارات التحكم بالازدحام وعمليات رسائل البثّ (broadcast_sm وأخواتها) وحالة رسالة إضافية (SKIPPED) ومعاملات TLV إضافية. ورغم ذلك يظل v3.4 الترابط المهيمن لأنه مدعوم عالميًا؛ ولا يُستخدم v5.0 إلا حيث ينفّذه الطرفان.
bind_transceiverفتح الجلسة والمصادقة عليهاbind_transceiver_respتم قبول الجلسةsubmit_smإرسال رسالةsubmit_sm_respتم القبول، وإعادة معرف الرسالةdeliver_smإيصال استلام أو رسالة واردةdeliver_sm_respتم التأكيدenquire_linkإشارة Keepalive أثناء الخمول
ما يضيفه v5.0
v5.0 مراجعة تدريجية متوافقة للخلف لـ v3.4. وإضافاته الأبرز هي التحكم بالازدحام (يعلن SMSC عن الحمل كي يبطئ ESME قبل خنقه)، وعائلة من عمليات البثّ لرسائل من نمط البثّ الخلوي، وحالة رسالة جديدة SKIPPED، ومعاملات اختيارية إضافية. أما صيغة PDU الأساسية ونموذج الربط وsubmit_sm/deliver_sm فلم تتغيّر، ولهذا يمكن لـ ESME من v3.4 التحدث مع SMSC من v5.0.
| المنطقة | v3.4 | إضافة v5.0 |
|---|---|---|
| التحكم في الازدحام | لا شيء (التفاعل مع التقييد) | congestion_state TLV — استباقي |
| بث | غير مدعوم | broadcast_sm / query_broadcast_sm / cancel_broadcast_sm |
| حالات الرسالة | 8 حالات | إضافة الحالة المخطوفة (9) SKIPPED |
| المعلمات الاختيارية | مجموعة v3.4 TLV | عناصر TLV إضافية |
| interface_version | 0x34 | 0x50 |
ما بقي كما هو
الأساسيات متطابقة: ترويسة الـ 16 بايت، والترميز big-endian، وأنواع الربط الثلاثة، وحالات الجلسة، ونبضة enquire_link، وتخطيطات حقول submit_sm/deliver_sm، ومدى أخطاء ESME_R* كلها منقولة. وتبقى معاملات TLV — المُدخَلة في v3.4 — آلية التوسّع. وهذا الاستمرار مقصود: صُمّم v5.0 كي تظل تكاملات v3.4 القائمة تعمل.
أي إصدار تستخدم
استخدم v3.4 ما لم يكن لديك سبب ملموس لاستخدام v5.0 ويدعمه الطرفان. فـ v3.4 هو الافتراضي الآمن والعالمي لترابط A2P. والجأ إلى v5.0 حين تحتاج تحديدًا إشارات الازدحام أو عمليات البثّ ويؤكّد المزوّد الدعم. وأكّد دائمًا الإصدار المتفاوَض عليه من bind_resp (معامل sc_interface_version) بدل افتراض توفّر ميزة.
الأسئلة المتكررة
هل SMPP v5.0 متوافق للخلف مع v3.4؟
نعم. يحافظ v5.0 على صيغة PDU ونموذج الربط والعمليات الأساسية في v3.4، لذا يمكن لـ ESME من v3.4 وSMSC من v5.0 التشغيل البيني. ويُعلَن الإصدار في interface_version (0x34 مقابل 0x50).
لماذا ما زال SMPP v3.4 الإصدار الأشيع؟
لأنه منفَّذ عالميًا ويغطي احتياجات رسائل A2P كاملة. أما إضافات v5.0 — التحكم بالازدحام والبثّ — فمفيدة في سيناريوهات محددة لكنها غير لازمة لحركة MT/MO المعيارية، لذا بقيت معظم الترابطات على v3.4.
ما الفائدة العملية الرئيسية لـ v5.0؟
التحكم الاستباقي بالازدحام: يتيح معامل congestion_state لـ SMSC الإعلان عن حمله كي يبطئ ESME المتعاون قبل بلوغ أخطاء ESME_RTHROTTLED الصارمة، ما يمنح إنتاجية أنعم تحت الضغط.
كيف أعرف أي إصدار تفاوضت عليه الجلسة؟
اقرأ معامل sc_interface_version المُعاد في bind_resp. لا تفترض توفّر ميزات v5.0 لمجرد أنك أرسلت interface_version بقيمة 0x50 — فـ SMSC يبلّغ بما يدعمه فعليًا.
مواصفات المصدر
تستند هذه الصفحة إلى المعايير المنشورة. يفتح في علامة تبويب جديدة.