ESME_RINVSRCADR في SMPP
ما هو ESME_RINVSRCADR؟
ESME_RINVSRCADR (كود الخطأ: 0x0000000A) هو خطأ في بروتوكول SMPP يشير إلى أن عنوان المصدر (معرف المرسل) المقدم في الطلب غير صالح أو غير مسموح به من قبل SMSC.
الأسباب المحتملة
- حقل
source_addr
فارغ أو غير مهيأ بشكل صحيح. - معرف المرسل أطول من الطول المسموح به (عادة 11 حرفًا للمعرفات الأبجدية الرقمية).
- معرف المرسل يحتوي على أحرف غير مدعومة.
- معرف المرسل غير مسجل أو غير مدرج في القائمة البيضاء على SMSC.
- نوع معرف المرسل (
source_addr_ton
وsource_addr_npi
) غير صحيح أو غير مدعوم.
متى يحدث هذا الخطأ؟
يحدث هذا الخطأ عند إرسال PDU في SMPP (مثل submit_sm
) بمعرف مرسل غير صالح أو غير مدعوم.
مثال على معاملة PDU في SMPP
PDU submit_sm
غير صحيح (عنوان مصدر غير صالح)
0000002C (الطول) 00000004 (معرف الأمر لـ submit_sm) 00000000 (حالة الأمر) 00000002 (رقم التسلسل) 00000000 (نوع الخدمة) 00 (source_addr_ton غير صالح) 00 (source_addr_npi غير صالح) 00000000 (عنوان المصدر فارغ) 35363137 38363530 30303000 (عنوان الوجهة) 00 (علامة الأولوية) 01 (علامة التسجيل) 00000000 (طول الرسالة) 48656C6C6F (الرسالة: "Hello")
رد PDU (submit_sm_resp
) مع ESME_RINVSRCADR
00000010 (الطول) 80000004 (معرف الأمر لـ submit_sm_resp) 0000000A (حالة الأمر - ESME_RINVSRCADR) 00000002 (رقم التسلسل)
المشكلة: حقل source_addr
فارغ، مما تسبب في رفض SMSC للطلب.
كيف يتم حلها؟
- تأكد من أن
source_addr
(معرف المرسل) مهيأ بشكل صحيح وفي الطول المسموح به. - استخدم
source_addr_ton
وsource_addr_npi
صالحين: - لمعرف مرسل أبجدي رقمي:
source_addr_ton = 5
,source_addr_npi = 0
- لمعرف مرسل رقمي:
source_addr_ton = 1
,source_addr_npi = 1
- تحقق مع مزود SMSC ما إذا كان معرف المرسل يحتاج إلى موافقة مسبقة.
- تحقق من أي قيود على الأحرف تفرضها SMSC.
- قم بتمكين سجلات التصحيح لفحص القيمة المرسلة في PDU بدقة.
إذا استمرت المشكلة، اتصل بمزود SMSC لتأكيد متطلبات معرف المرسل.