ESME_RMISSINGTLV في SMPP
ما هو ESME_RMISSINGTLV؟
ESME_RMISSINGTLV (كود الخطأ: 0x000000C3) هو خطأ في SMPP يشير إلى أن معلمة Tag-Length-Value (TLV) إلزامية مفقودة من الطلب.
الأسباب المحتملة
- تم حذف معلمة TLV مطلوبة من PDU في SMPP.
- هيكل الطلب لا يتوافق مع مواصفات SMPP.
- التطبيق الذي يرسل الطلب يفشل في تضمين TLV ضروري.
متى يحدث هذا الخطأ؟
يحدث هذا الخطأ عندما يرسل ESME طلب SMPP يتطلب TLV معين، ولكن TLV غير مضمن في PDU.
مثال على معاملة SMPP PDU
طلب PDU (submit_sm
) مرسل من ESME بدون TLV إلزامي
0000003C (الطول) 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 (علم الأولوية) 00000000 (وقت التسليم المجدول - غير محدد) 00000000 (فترة الصلاحية - غير محدد) 00 (علم استبدال إذا موجود) 00 (معرف الرسالة الافتراضي Sm) 0005 (طول الرسالة) 48656C6C 6F (الرسالة: "Hello")
رد PDU (submit_sm_resp
) مع ESME_RMISSINGTLV
00000010 (الطول) 80000004 (معرف الأمر لـ submit_sm_resp) 000000C3 (حالة الأمر - ESME_RMISSINGTLV) 00000001 (رقم التسلسل)
المشكلة: TLV إلزامي (مثل message_payload
أو source_subaddress
) مطلوب ولكنه مفقود من الطلب.
كيفية حلها؟
- تحقق من مواصفات SMPP لمعرفة TLVs الإلزامية المطلوبة للأمر.
- تأكد من أن التطبيق يتضمن جميع معلمات TLV المطلوبة.
- استخدم محاكي SMPP أو محلل حزم للتحقق من هيكل PDU.
- قم بتعديل الطلب لتضمين TLV المفقود وأعد المحاولة.
إضافة معلمة TLV المطلوبة ستحل هذه المشكلة.