ESME_RINVDSTADR في بروتوكول SMPP
ما هو ESME_RINVDSTADR؟
ESME_RINVDSTADR (كود الخطأ: 0x0000000B) هو خطأ في بروتوكول SMPP يشير إلى أن عنوان الوجهة المقدم في الطلب غير صالح أو غير مسموح به من قبل SMSC.
الأسباب المحتملة
- حقل
destination_addr
فارغ أو غير مهيأ بشكل صحيح. - رقم الوجهة أطول أو أقصر من الطول المسموح به.
- رقم الوجهة يحتوي على أحرف غير صالحة (مثل الحروف أو الرموز الخاصة).
- قيم
dest_addr_ton
وdest_addr_npi
غير صحيحة أو غير مدعومة. - رقم الوجهة محظور أو غير قابل للتوجيه من قبل SMSC.
متى يحدث هذا الخطأ؟
يحدث هذا الخطأ عند إرسال PDU في بروتوكول SMPP (مثل submit_sm
) بعنوان وجهة غير صالح أو غير مدعوم.
مثال على معاملة PDU في SMPP
PDU submit_sm
غير صحيح (عنوان وجهة غير صالح)
0000002C (الطول) 00000004 (معرف الأمر لـ submit_sm) 00000000 (حالة الأمر) 00000002 (رقم التسلسل) 00000000 (نوع الخدمة) 05 (مصدر عنوان TON - أبجدي رقمي) 00 (مصدر عنوان NPI - غير معروف) 74657374 000000 (عنوان المصدر: "test") 01 (عنوان الوجهة TON - دولي) 01 (عنوان الوجهة NPI - ISDN) 00000000 (عنوان الوجهة فارغ) 00 (علامة الأولوية) 01 (علامة التسليم المسجل) 00000000 (طول الرسالة) 48656C6C6F (الرسالة: "Hello")
رد PDU (submit_sm_resp
) مع ESME_RINVDSTADR
00000010 (الطول) 80000004 (معرف الأمر لـ submit_sm_resp) 0000000B (حالة الأمر - ESME_RINVDSTADR) 00000002 (رقم التسلسل)
المشكلة: حقل destination_addr
فارغ، مما تسبب في رفض SMSC للطلب.
كيف يتم حلها؟
- تأكد من أن حقل
destination_addr
يحتوي على رقم هاتف صالح. - استخدم قيم صالحة لـ
dest_addr_ton
وdest_addr_npi
: - للأرقام الدولية:
dest_addr_ton = 1
,dest_addr_npi = 1
- للأرقام المحلية:
dest_addr_ton = 2
,dest_addr_npi = 1
- تحقق من أن رقم الوجهة ضمن الطول والتنسيق المدعوم.
- تأكد من أن الرقم غير محظور أو مقيد من قبل SMSC.
- قم بتمكين سجلات التصحيح لفحص القيمة المرسلة في PDU بدقة.
إذا استمرت المشكلة، اتصل بمزود SMSC لتأكيد قواعد التوجيه لرقم الوجهة.