ESME_RINVNUMDESTS في بروتوكول SMPP

ما هو ESME_RINVNUMDESTS؟

ESME_RINVNUMDESTS (كود الخطأ: 0x00000033) هو خطأ في بروتوكول SMPP يشير إلى أن عدد الوجهات المحددة في وحدة بيانات البروتوكول (PDU) غير صالح.

الأسباب المحتملة

  • حقل number_of_dests في وحدة submit_multi PDU يحتوي على قيمة غير صالحة (مثل صفر أو تجاوز الحدود المسموح بها).
  • واحدة أو أكثر من عناوين الوجهات في حقل dest_address غير صحيحة أو غير صالحة.
  • يوجد قيود على SMSC بالنسبة للحد الأقصى لعدد الوجهات المسموح بها في كل طلب.
  • وحدة PDU غير منظمة بشكل صحيح، مما يؤدي إلى أخطاء في التحليل عند SMSC.

متى يحدث هذا الخطأ؟

يحدث هذا الخطأ عند إرسال وحدة submit_multi PU، ويكتشف SMSC مشكلة في عدد عناوين الوجهات.

مثال على معاملة SMPP PDU

وحدة submit_multi PDU غير صحيحة (عدد غير صالح من الوجهات)

0000003C (الطول)
00000021 (معرف الأمر لـ submit_multi)
00000000 (حالة الأمر)
00000002 (رقم التسلسل)
00 (نوع الخدمة)
01 (نوع رقم المصدر TON)
01 (مؤشر خطة ترقيم المصدر NPI)
31323334 00 (عنوان المصدر: "1234")
00 (فئة ESM)
00 (معرف البروتوكول)
00 (علامة الأولوية)
00000000 (وقت التسليم المجدول - غير محدد)
00000000 (فترة الصلاحية - غير محدد)
00 (التسليم المسجل)
00 (علامة استبدال إذا موجود)
00 (معرف الرسالة الافتراضي Sm)
0005 (طول الرسالة)
48656C6C 6F (الرسالة: "Hello")
00 (عدد الوجهات - غير صالح)
    

وحدة الرد PDU (submit_multi_resp) مع ESME_RINVNUMDESTS

00000010 (الطول)
80000021 (معرف الأمر لـ submit_multi_resp)
00000033 (حالة الأمر - ESME_RINVNUMDESTS)
00000002 (رقم التسلسل)
    

المشكلة: عدد الوجهات إما صفر أو يتجاوز الحد المسموح به.

كيف يتم حلها؟

  • تأكد من توفير عنوان وجهة واحد صالح على الأقل.
  • تحقق مما إذا كان عدد الوجهات يتجاوز الحد الأقصى المسموح به من قبل SMSC.
  • تحقق من تنسيق عناوين الوجهات في وحدة PDU.
  • استشر مزود SMSC لمعرفة عدد الوجهات المدعومة في كل طلب.
  • قم بتمكين سجلات التصحيح لفحص القيم الدقيقة المرسلة في وحدة PDU.

إذا استمرت المشكلة، اتصل بمزود SMSC للتحقق من قيود النظام وحل أي مشكلات في التكوين.

More information