كيفية تكوين حقول رقم الهاتف في SMPP
SMPP (بروتوكول الرسائل القصيرة من نظير إلى نظير) هو بروتوكول تستخدمه أنظمة الاتصالات لتبادل رسائل SMS بين مراكز خدمة الرسائل القصيرة (SMSC) والكيانات الخارجية للرسائل القصيرة (ESMEs). أحد المكونات الرئيسية للبروتوكول هو كيفية ترميز أرقام الهواتف (عناوين المصدر والوجهة) في وحدة بيانات البروتوكول (PDU) الخاصة بـ SMPP.
معايير العناوين في SMPP
الحقول الرئيسية المستخدمة لتحديد رقم الهاتف في SMPP هي:
- addr_ton (نوع الرقم)
- addr_npi (مؤشر خطة الترقيم)
- address_range أو source_addr/destination_addr
نوع الرقم (TON)
يحدد هذا الحقل تنسيق الرقم. تشمل القيم الشائعة:
القيمة | TON | الوصف |
---|---|---|
0 | غير معروف | تنسيق غير معروف |
1 | دولي | الرقم يتضمن رمز الدولة |
2 | وطني | تنسيق رقم محلي |
5 | أبجدي رقمي | يستخدم لأسماء المرسلين مثل "MyCompany" |
مؤشر خطة الترقيم (NPI)
يحدد هذا الحقل تنسيق الترقيم. القيم الشائعة:
القيمة | NPI | الوصف |
---|---|---|
0 | غير معروف | تنسيق غير معروف |
1 | ISDN (E.164) | تنسيق رقم الهاتف الدولي القياسي |
3 | بيانات | شبكة بيانات (X.121) |
ترميز العنوان
عند ترميز رقم هاتف في SMPP، يرسل النظام الرقم كسلسلة منتهية بقيمة فارغة (null) بتنسيق ASCII، مصحوبة بقيم TON و NPI المناسبة.
مثال:
رقم الهاتف: +14155552671 TON: 1 (دولي) NPI: 1 (ISDN/E.164) مشفر كـ: 31 34 31 35 35 35 35 32 36 37 31 00 (ASCII "14155552671" + NULL)
مثال على وحدة بيانات بروتوكول SMPP (PDU)
فيما يلي مثال على PDU من نوع submit_sm يتضمن رقم وجهة:
0000003F // طول الأمر (63 بايت) 00000004 // معرف الأمر (submit_sm) 00000000 // حالة الأمر 00000001 // رقم التسلسل 74657374 // service_type: "test" 01 // source_addr_ton: دولي 01 // source_addr_npi: ISDN 31323334 // source_addr: "1234" (ASCII) 00 // نهاية السلسلة (NULL) 01 // dest_addr_ton: دولي 01 // dest_addr_npi: ISDN 2B393138 // destination_addr: "+918123456789" (ASCII، بدون +) 31323334 35363738 3900 // نهاية السلسلة (NULL) 00 // esm_class 00 // protocol_id 00 // priority_flag 00 // schedule_delivery_time (null) 00 // validity_period (null) 00 // registered_delivery 00 // replace_if_present_flag 00 // data_coding (افتراضي GSM) 00 // sm_default_msg_id 0D // sm_length (13) 48656C6C // الرسالة القصيرة ("Hello, World!") 6F2C2057 6F726C64 2100
مثال مرسل أبجدي رقمي
عند استخدام اسم مرسل أبجدي رقمي (شائع في رسائل SMS الجماعية أحادية الاتجاه):
المرسل: "MyBrand" TON: 5 (أبجدي رقمي) NPI: 0 (غير معروف أو غير ذي صلة) مشفر: سلسلة ASCII "MyBrand" + نهاية السلسلة (NULL)
ملاحظات مهمة
- يجب ألا يتجاوز طول هويات المرسلين الأبجدية الرقمية 11 حرفًا.
- لا يتم دعم العناوين الأبجدية الرقمية في جميع البلدان.
- تأكد دائمًا من مطابقة TON و NPI بشكل صحيح مع تنسيق العنوان لتجنب مشكلات التوجيه.
الختام
يعد ترميز الأرقام في SMPP أمرًا بالغ الأهمية لضمان تسليم الرسائل بشكل صحيح. من خلال تعيين قيم TON
و NPI
الصحيحة وترميز العنوان بشكل صحيح بتنسيق ASCII (منتهي بقيمة NULL)، يمكن للمطورين ضمان التوافق مع مراكز خدمة الرسائل القصيرة (SMSCs) وشبكات الهاتف المحمول.
More information
- كيفية تكوين حقل نوع خدمة SMPP
- كيفية تكوين حقول أرقام هواتف SMPP
- كيفية تكوين حقل فئة ESM في SMPP
- كيفية تكوين حقل PID في SMPP
- كيفية تكوين حقل الأولوية في SMPP
- كيفية تكوين حقل الوقت المجدول في SMPP
- كيفية تكوين حقل فترة الصلاحية في SMPP
- كيفية تكوين حقل التسليم المسجل في SMPP
- كيفية تكوين حقل استبدال إذا كان موجودًا في SMPP
- كيفية تكوين حقل sm_default_msg_id
- كيفية تكوين حقل DCS في SMPP
- كيفية حساب حقل طول SM في SMPP
- كيفية إدخال البيانات في حقل SMPP SM