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 لتأكيد متطلبات معرف المرسل.

More information