BroadNet
SMPPالأخطاء

رموز أخطاء SMPP command_status

آخر تحديث 2 دقائق للقراءةقائم على المعايير
إجابة مباشرة

command_status هو حقل الترويسة بطول 4 بايت الذي يبلّغ عن نتيجة العملية. يساوي 0 (ESME_ROK) في الطلب؛ ويحمل رمز خطأ ESME_R* في الاستجابة. والقيمة 0x00000000 تعني النجاح؛ أما القيم غير الصفرية فتشير إلى أعطال محددة مثل كلمة مرور غير صالحة أو خنق أو طابور رسائل ممتلئ.

§01

كيف يعمل command_status

تعكس كل وحدة استجابة قيمة sequence_number للطلب وتضبط command_status على النتيجة. وتعني ESME_ROK (0) النجاح. وأي قيمة أخرى خطأ يقابل رمزها العددي ثابتًا مسمًّى ESME_R* في المواصفة. والرموز 0x00000100–0x000003FF محجوزة لامتدادات SMPP والرموز 0x00000400–0x000004FF لأخطاء موردي SMSC، لذا عالِج الرموز غير المعروفة بلطف دائمًا.

§02

الرموز التي ستراها فعلًا

تغطي مجموعة صغيرة من الرموز معظم المعالجة الواقعية. صنّفها حسب الاستجابة: أعِد المحاولة بعد تباطؤ تدريجي (backoff) (الخنق، الطابور الممتلئ، خطأ النظام)، وأصلِح الطلب (عنوان أو TON/NPI أو data_coding أو طول رسالة غير صالح)، والقاتل للجلسة (كلمة مرور أو معرّف نظام غير صالح، فشل الربط).

رموز command_status الشائعة الحدوث
القيمةالاسمالمعنىرد الفعل النموذجي
0x00000000ESME_ROKلا يوجد خطأتم بنجاح
0x00000001ESME_RINVMSGLENطول الرسالة غير صالحإصلاح الحمولة / المقطع
0x00000005ESME_RALYBNDالربط (bind) قائم بالفعللا تقم بإعادة الربط؛ أعد استخدام الجلسة
0x0000000AESME_RINVSRCADRعنوان مصدر غير صالحتصحيح المرسل / TON / NPI
0x0000000BESME_RINVDSTADRعنوان وجهة غير صالحتصحيح MSISDN المستلم
0x0000000DESME_RBINDFAILفشل الربط (bind)تراجع، تحقق من بيانات الاعتماد
0x0000000EESME_RINVPASWDكلمة مرور غير صحيحةخطأ فادح - إصلاح بيانات الاعتماد
0x0000000FESME_RINVSYSIDمعرف النظام غير صالحخطأ فادح - إصلاح بيانات الاعتماد
0x00000014ESME_RMSGQFULقائمة انتظار الرسائل ممتلئةتراجع وحاول مرة أخرى
0x00000043ESME_RINVESMCLASSesm_class غير صالحإصلاح بتات esm_class
0x00000058ESME_RTHROTTLEDتقييد المعدل (throttling) — تم تجاوز المعدلأبطئ، وتراجع (backoff) مع تذبذب عشوائي (jitter)
0x00000062ESME_RINVEXPIRYvalidity_period غير صالحإصلاح تنسيق الصلاحية
0x000000FEESME_RDELIVERYFAILUREفشل التسليم (data_sm)الفحص / إعادة المحاولة وفقًا للسياسة
0x000000FFESME_RUNKNOWNERRخطأ غير معروفسجّل، نبّه، أعد المحاولة بحذر
§03

المديات المحجوزة ومديات الموردين

ليس كل رمز تتلقاه ضمن المواصفة الأساسية. تحجز المواصفة 0x00000100–0x000003FF لاستخدام SMPP المستقبلي و0x00000400–0x000004FF لرموز خاصة بـ SMSC، لذا قد يعيد مزوّدك قيمة يشرحها توثيقه وحده. طابِق الرموز الخاصة بالمزوّد على تصنيف داخلي موحَّد (رقم غير صالح، محجوب، مخنوق، فشل مؤقت) كي تبقى جودة المسارات قابلة للمقارنة.

المديات المحجوزة في command_status
النطاقمحجوز لـ
0x00000100 – 0x000003FFامتدادات بروتوكول SMPP
0x00000400 – 0x000004FFأخطاء خاصة بمورد SMSC
0x00000500 – 0xFFFFFFFFمحجوز
التعليمات

الأسئلة المتكررة

ماذا يعني ESME_RTHROTTLED وكيف أعالجه؟

يعني ESME_RTHROTTLED (0x00000058) أنك تجاوزت معدّل الرسائل المسموح. أوقف زيادة الحمل، وأوقف الإرسال مؤقتًا، وأبطئ تدريجيًا (backoff) مع تشويش زمني قبل إعادة المحاولة. والإصرار على المعدّل نفسه يخاطر بإسقاط المزوّد للربط.

هل يمكن التعافي من ESME_RINVPASWD؟

لا، ليس أثناء التشغيل. يشير ESME_RINVPASWD (0x0000000E) إلى بيانات اعتماد خاطئة. لا تكرّر الربط في حلقة سريعة؛ أصلِح إعداد system_id/password وأعد الاتصال. وقد تؤدي عمليات الربط الفاشلة المتكررة إلى حجب عنوان IP.

ما الفرق بين ESME_RMSGQFUL وESME_RTHROTTLED؟

يعني ESME_RMSGQFUL (0x00000014) أن طابور SMSC ممتلئ مؤقتًا؛ ويعني ESME_RTHROTTLED (0x00000058) أنك تجاوزت حدّ معدّلك. كلاهما يستدعي الإبطاء التدريجي (backoff)، لكن الخنق يتعلق بإنتاجيتك (TPS) بينما امتلاء الطابور يتعلق بسعة SMSC.

تلقّيت رمز خطأ غير موجود في المواصفة — لماذا؟

يحجز SMPP المدى 0x400–0x4FF لرموز خاصة بموردي SMSC، لذا قد يعيد مزوّدك قيمة موثّقة لديه وحده. راجِع جدول أخطاء المزوّد وطابقها على تصنيفك الداخلي.

مراجع

مواصفات المصدر

تستند هذه الصفحة إلى المعايير المنشورة. يفتح في علامة تبويب جديدة.

BNتتم صيانته بواسطة فريق الهندسة BroadNet·خدمة الرسائل عالية الجودة منذ عام 2003
ضعه على السلك

قم بالبناء باستخدام ربط SMPP حقيقي وواجهة برمجة تطبيقات REST.

اطلب الوصول التجريبي باستخدام مفاتيح اختبار حقيقية: أرسل أولاً إلى رقمك الذي تم التحقق منه، ثم انتقل إلى الإنتاج عبر أكثر من 200 دولة بمجرد الموافقة على معرّف المُرسِل ومساراته.