فهم حقل PID في بروتوكول SMPP
ما هو حقل PID في بروتوكول SMPP؟
معرف البروتوكول (PID) في بروتوكول SMPP (بروتوكول الرسائل القصيرة من نظير إلى نظير) هو حقل بحجم 1 بايت داخل وحدات بيانات البروتوكول (PDUs).
وهو يحدد البروتوكول المستخدم من قبل النظام المرسل أو يوفر تعليمات خاصة لمعالجة الرسالة. يتم تعريف حقل PID في عمليات
submit_sm
، deliver_sm
، و data_sm
وهو حاسم لـ:
- تحديد بروتوكولات الطبقة العليا (مثل X.400، Telnet)
- تشغيل أنواع رسائل خاصة (مثل إشعارات البريد الصوتي)
- معالجة استبدال الرسائل (مثل استبدال الرسائل الموجودة)
هيكل PID وقناع البتات
PID هو قناع بتات حيث تتحكم بتات محددة في سلوك البروتوكول. يتوافق هيكله مع مواصفات GSM 03.40:
البتات | الوصف |
---|---|
7-5 | نوع البروتوكول: يشير إلى البروتوكول (مثل GSM، Telex، أو SMS). |
4-0 | تعليمات/أعلام: معالجة خاصة (مثل استبدال الرسالة، البريد الصوتي). |
قيم PID الرئيسية وتفسيرها
PID (Hex) | ثنائي | الوصف |
---|---|---|
0x00 | 00000000 | افتراضي (لا يوجد بروتوكول خاص) |
0x01 | 00000001 | Telex (قديم) |
0x03 | 00000011 | X.400 (قديم) |
0x40 | 01000000 | رسالة استدعاء عودة (معالجة بطاقة SIM) |
0x41 | 01000001 | استبدال الرسالة القصيرة (كتابة فوق الرسالة الموجودة) |
0x42 | 01000010 | إشعار البريد الصوتي |
0x7F | 01111111 | محجوز للاستخدام المستقبلي |
حالات الاستخدام والسيناريوهات
1. استبدال الرسالة (PID=0x41)
يستخدم لكتابة رسالة جديدة فوق رسالة موجودة على جهة المستقبل. شائع في أنظمة OTP (كلمة المرور لمرة واحدة) حيث يتم استبدال كلمة المرور القديمة بأخرى جديدة.
2. إشعار البريد الصوتي (PID=0x42)
يشغل تنبيهًا مرئيًا/مسموعًا على جهة المستقبل لوجود بريد صوتي جديد. غالبًا ما يكون نص الرسالة فارغًا، حيث أن PID نفسه هو المشغل.
3. تنزيل بيانات SIM (PID=0x40)
يوجه بطاقة SIM لمعالجة الرسالة (مثل تحديث الإعدادات المسبقة).
أمثلة على وحدات PDU في SMPP مع PID
المثال 1: PID افتراضي (0x00)
0000001D // طول الأمر (29 بايت) 00000004 // معرف الأمر (SubmitSM) 00000001 // رقم التسلسل 00 // نوع مصدر TON 00 // مصدر NPI 736F7572636500 // عنوان المصدر ("source") 00 // نوع الوجهة TON 00 // وجهة NPI 36353433323100 // عنوان الوجهة ("654321") 00 // فئة ESM 00 // معرف البروتوكول (PID=0x00) 00 // علم الأولوية 00 // وقت تسليم الجدولة 00 // فترة الصلاحية 00 // التسليم المسجل 00 // استبدال إذا موجود 00 // مخطط ترميز البيانات (DCS=0x00) 00 // معرف الرسالة الافتراضي SM 07 // طول SM (7 سباعية) C8329BFD06DDDF72 // الحمولة ("Hello!")
المثال 2: إشعار البريد الصوتي (PID=0x42)
0000001D // طول الأمر (29 بايت) 00000004 // معرف الأمر (SubmitSM) 00000002 // رقم التسلسل 00 // نوع مصدر TON 00 // مصدر NPI 736F7572636500 // عنوان المصدر ("source") 00 // نوع الوجهة TON 00 // وجهة NPI 36353433323100 // عنوان الوجهة ("654321") 00 // فئة ESM 42 // معرف البروتوكول (PID=0x42: بريد صوتي) 00 // علم الأولوية 00 // وقت تسليم الجدولة 00 // فترة الصلاحية 00 // التسليم المسجل 00 // استبدال إذا موجود 00 // ترميز البيانات (DCS=0x00) 00 // معرف الرسالة الافتراضي SM 00 // طول SM (0 بايت: لا يوجد حمولة)
المثال 3: استبدال الرسالة الموجودة (PID=0x41)
0000001D // طول الأمر (29 بايت) 00000004 // معرف الأمر (SubmitSM) 00000003 // رقم التسلسل 00 // نوع مصدر TON 00 // مصدر NPI 736F7572636500 // عنوان المصدر ("source") 00 // نوع الوجهة TON 00 // وجهة NPI 36353433323100 // عنوان الوجهة ("654321") 00 // فئة ESM 41 // معرف البروتوكول (PID=0x41: استبدال) 00 // علم الأولوية 00 // وقت تسليم الجدولة 00 // فترة الصلاحية 01 // التسليم المسجل (طلب إيصال) 00 // استبدال إذا موجود 00 // ترميز البيانات (DCS=0x00) 00 // معرف الرسالة الافتراضي SM 07 // طول SM (7 سباعية) C8329BFD06DDDF72 // الحمولة ("New OTP: 1234")
تفاعل PID مع TP-Protocol-Identifier (GSM)
في شبكات GSM، يتم تعيين PID إلى TP-Protocol-Identifier
في وحدات TPDU للرسائل القصيرة. تشمل التعيينات الرئيسية:
- 0x41: أمر الاستبدال (GSM 03.40 TP-PID=0x41)
- 0x42: البريد الصوتي (GSM 03.40 TP-PID=0x42)
المزالق الشائعة
- استخدام قيم PID محجوزة (مثل 0x7F) بدون دعم من SMSC.
- عدم تطابق PID و DCS (مثل استخدام ترميز UCS2 لبيانات SIM).
- تجاهل القواعد الخاصة بالشبكة (مثل PID=0x40 قد يتطلب تكوين خاص لـ SMSC).
الختام
حقل PID ضروري للتوجيه المتقدم للرسائل القصيرة ومعالجتها. بينما يتم تعيينه غالبًا إلى 0x00 (افتراضي)، فإن قيمه المتخصصة تمكن من ميزات مثل استبدال الرسائل، تحديثات SIM، وتنبيهات البريد الصوتي. اختبر دائمًا تكوينات PID مع SMSC الخاص بك وراجع مواصفات GSM 03.40 أو SMPP v5.0 للسلوك الدقيق.
More information
- كيفية تكوين حقل نوع خدمة SMPP
- كيفية تكوين حقول أرقام هواتف SMPP
- كيفية تكوين حقل فئة ESM في SMPP
- كيفية تكوين حقل PID في SMPP
- كيفية تكوين حقل الأولوية في SMPP
- كيفية تكوين حقل الوقت المجدول في SMPP
- كيفية تكوين حقل فترة الصلاحية في SMPP
- كيفية تكوين حقل التسليم المسجل في SMPP
- كيفية تكوين حقل استبدال إذا كان موجودًا في SMPP
- كيفية تكوين حقل sm_default_msg_id
- كيفية تكوين حقل DCS في SMPP
- كيفية حساب حقل طول SM في SMPP
- كيفية إدخال البيانات في حقل SMPP SM