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

ما هو ESME_RINVSCHED؟

ESME_RINVSCHED (كود الخطأ: 0x00000061) هو خطأ في بروتوكول SMPP يشير إلى أن حقل schedule_delivery_time في طلب submit_sm يحتوي على تنسيق أو قيمة غير صالحة.

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

  • حقل schedule_delivery_time ليس بالتنسيق الصحيح.
  • التاريخ والوقت المقدمين بتنسيق غير مدعوم.
  • خادم SMSC لا يدعم تسليم الرسائل المجدولة.
  • الوقت المجدول في الماضي.

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

يحدث هذا الخطأ عندما يرسل ESME رسالة SMS بحقل schedule_delivery_time غير صحيح التنسيق.

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

PDU submit_sm غير صحيح (وقت تسليم مجدول غير صالح)

0000003F (الطول)
00000004 (معرف الأمر لـ submit_sm)
00000000 (حالة الأمر)
00000001 (رقم التسلسل)
00 (نوع الخدمة)
01 (نوع عنوان المصدر TON - دولي)
01 (معرف خطة ترقيم المصدر NPI - ISDN)
31323334 00 (عنوان المصدر: "1234")
01 (نوع عنوان الوجهة TON - دولي)
01 (معرف خطة ترقيم الوجهة NPI - ISDN)
39383736 00 (عنوان الوجهة: "9876")
00 (فئة ESM)
00 (معرف البروتوكول)
00 (علامة الأولوية)
31323039 3031303030303030 00 (وقت التسليم المجدول غير الصالح)
00000000 (فترة الصلاحية - غير مضبوطة)
00 (علامة استبدال إذا موجودة)
00 (معرف الرسالة الافتراضي Sm)
0005 (طول الرسالة)
48656C6C 6F (الرسالة: "Hello")

رد PDU (submit_sm_resp) مع ESME_RINVSCHED

00000010 (الطول)
80000004 (معرف الأمر لـ submit_sm_resp)
00000061 (حالة الأمر - ESME_RINVSCHED)
00000001 (رقم التسلسل)

المشكلة: حقل schedule_delivery_time غير صحيح التنسيق، مما يؤدي إلى رفضه من قبل SMSC.

كيف يتم حلها؟

  • تأكد من أن حقل schedule_delivery_time يتبع تنسيق الوقت المطلق أو النسبي لـ SMPP:
    • تنسيق الوقت المطلق: YYMMDDhhmmss000R (مثال: 240211153000000R ليوم 11 فبراير 2024، الساعة 15:30:00 بالتوقيت العالمي)
    • تنسيق الوقت النسبي: 000001000000000R (تسليم بعد ساعة من الآن)
  • تأكد من أن الوقت المجدول في المستقبل.
  • تحقق مع مزود SMSC ما إذا كان التسليم المجدول مدعومًا.
  • استخدم أحرف إنهاء صحيحة (مثل 00 للسلاسل المنتهية بـ NULL).

إذا استمرت المشكلة، راجع سجلات SMPP وتأكد من استخدام تنسيق الجدولة الصحيح.

More information