دليل واجهة المستخدم على الويب
يوفر هذا الدليل وثائق شاملة لاستخدام واجهة المستخدم على الويب (واجهة Phoenix LiveView) لـ OmniSS7.
جدول المحتويات
- نظرة عامة
- الوصول إلى واجهة المستخدم على الويب
- صفحة إدارة التوجيه
- صفحة المشتركين النشطين
- العمليات الشائعة
- سلوك التحديث التلقائي
نظرة عامة
واجهة المستخدم على الويب لـ OmniSS7 هي تطبيق Phoenix LiveView يوفر قدرات المراقبة والإدارة في الوقت الحقيقي. تعتمد الصفحات المتاحة على وضع التشغيل النشط (STP، HLR، أو SMSc).
بنية واجهة المستخدم على الويب
تكوين الخادم
- البروتوكول: HTTPS
- المنفذ: 443 (مُعد في
config/runtime.exs) - عنوان IP الافتراضي: 0.0.0.0 (يستمع على جميع الواجهات)
- الشهادات: تقع في
priv/cert/
رابط الوصول: https://[server-ip]:443
الوصول إلى واجهة المستخدم على الويب
المتطلبات المسبقة
-
شهادات SSL: تأكد من وجود شهادات SSL صالحة في
priv/cert/:omnitouch.crt- ملف الشهادةomnitouch.pem- ملف المفتاح الخاص
-
تشغيل التطبيق: ابدأ التطبيق باستخدام
iex -S mix -
جدار الحماية: تأكد من فتح المنفذ 443 لحركة مرور HTTPS
الصفحات المتاحة حسب الوضع
| الصفحة | وضع STP | وضع HLR | وضع SMSc | الوصف |
|---|---|---|---|---|
| أحداث SS7 | ✅ | ✅ | ✅ | تسجيل الأحداث والتقاط رسائل SCCP |
| عميل SS7 | ✅ | ✅ | ✅ | اختبار العمليات اليدوية لـ MAP |
| M3UA | ✅ | ✅ | ✅ | حالة اتصال M3UA |
| التوجيه | ✅ | ❌ | ✅ | إدارة جدول توجيه M3UA |
| اختبار التوجيه | ✅ | ❌ | ✅ | اختبار التوجيه والتحقق منه |
| روابط HLR | ❌ | ✅ | ❌ | حالة واجهة برمجة التطبيقات HLR وإدارة المشتركين |
| المشتركين النشطين | ❌ | ✅ | ❌ | تتبع موقع المشتركين في الوقت الحقيقي (HLR) |
| روابط SMSc | ❌ | ❌ | ✅ | حالة واجهة برمجة التطبيقات SMSc وإدارة الطوابير |
| مشتركي SMSc | ❌ | ❌ | ✅ | تتبع المشتركين في الوقت الحقيقي (SMSc) |
| التطبيق | ✅ | ✅ | ✅ | موارد النظام والمراقبة |
| التكوين | ✅ | ✅ | ✅ | عارض التكوين |
صفحة إدارة التوجيه
الصفحة: /routing
الأوضاع: STP، SMSc
التحديث التلقائي: كل 5 ثوانٍ
توفر صفحة إدارة التوجيه واجهة تبويب لإدارة جداول توجيه M3UA.
تخطيط الصفحة
تبويب الأقران
إدارة اتصالات M3UA للأقران (STPs، HLRs، MSCs، SMSCs).
أعمدة جدول الأقران
| العمود | الوصف | المثال |
|---|---|---|
| ID | معرف فريد للقرين | 1 |
| الاسم | اسم قرين قابل للقراءة البشرية | "STP_West" |
| الدور | دور الاتصال | client، server، stp |
| نقطة الاتصال | نقطة الاتصال SS7 للقرين | 100 |
| عن بعد | IP:Port عن بعد | 10.0.0.10:2905 |
| الحالة | حالة الاتصال | active، aspup، down |
| الإجراءات | أزرار تعديل/حذف | - |
إضافة قرين
- انقر على تبويب الأقران
- املأ حقول النموذج:
- معرف القرين: يتم إنشاؤه تلقائيًا إذا ترك فارغًا
- اسم القرين: اسم وصفي (مطلوب)
- الدور: اختر
client،server، أوstp - نقطة الاتصال: نقطة الاتصال SS7 (مطلوب)
- IP المحلي: عنوان IP لنظامك
- المنفذ المحلي: 0 لتعيين منفذ ديناميكي
- IP عن بعد: عنوان IP للقرين
- المنفذ عن بعد: منفذ القرين (عادةً 2905)
- سياق التوجيه: معرف سياق توجيه M3UA
- مؤشر الشبكة:
internationalأوnational
- انقر على "إضافة قرين"
الاستمرارية: يتم حفظ القرين على الفور في Mnesia ويستمر بعد إعادة التشغيل.
تعديل قرين
- انقر على زر "تعديل" في صف القرين
- عدل حقول النموذج حسب الحاجة
- انقر على "تحديث القرين"
ملاحظة: إذا قمت بتغيير معرف القرين، سيتم حذف القرين القديم وإنشاء قرين جديد.
حذف قرين
- انقر ع��ى زر "حذف" في صف القرين
- أكد الحذف (سيتم أيضًا إزالة جميع الطرق التي تستخدم هذا القرين)
مؤشرات حالة القرين
| الحالة | اللون | الوصف |
|---|---|---|
active | 🟢 أخضر | القرين متصل ويقوم بتوجيه الرسائل |
aspup | 🟡 أصفر | ASP متصل ولكن ليس نشطًا بعد |
down | 🔴 أحمر | القرين غير متصل |
تبويب طرق نقطة الاتصال
تكوين قواعد التوجيه بناءً على نقاط الاتصال الوجهة.
أعمدة جدول الطرق
| العمود | الوصف | المثال |
|---|---|---|
| نقطة الاتصال الوجهة | نقطة الاتصال المستهدفة (بتنسيق zone.area.id) | 1.2.3 (100) |
| القناع | قناع الشبكة لمطابقة نقطة الاتصال | /14 (مطابقة دقيقة)، /8 (نطاق) |
| معرف القرين | القرين المستهدف لهذه الطريقة | 1 |
| اسم القرين | اسم القرين المستهدف | "STP_West" |
| الأولوية | أولوية الطريقة (1 = الأعلى) | 1 |
| الشبكة | مؤشر الشبكة | international |
| الإجراءات | أزرار تعديل/حذف | - |
إضافة طريقة نقطة الاتصال
- انقر على تبويب "طرق نقطة الاتصال"
- املأ حقول النموذج:
- نقطة الاتصال الوجهة: أدخل كـ
zone.area.id(مثل،1.2.3) أو كعدد صحيح (0-16383) - القناع: اختر القناع
/14للمطابقة الدقيقة، وقيم أقل للنطاقات - معرف القرين: اختر القرين المستهدف من القائمة المنسدلة
- الأولوية: أدخل الأولوية (1 = الأعلى، الافتراضي)
- مؤشر الشبكة: اختر
internationalأوnational
- نقطة الاتصال الوجهة: أدخل كـ
- انقر على "إضافة طريقة"
تنسيق نقطة الاتصال: يمكنك إدخال نقاط الاتصال في تنسيقين:
- تنسيق 3-8-3:
zone.area.id(مثل،1.2.3) - تنسيق عدد صحيح:
0-16383(مثل،1100)
يقوم النظام بتحويل التنسيقات تلقائيًا.
فهم الأقنعة
نقاط الاتصال هي قيم 14 بت (0-16383). يحدد القناع عدد البتات الأكثر أهمية التي يجب أن تتطابق:
| القناع | نقاط الاتصال المتطابق�� | حالة الاستخدام |
|---|---|---|
/14 | 1 (مطابقة دقيقة) | توجيه إلى وجهة محددة |
/13 | 2 نقاط اتصال | نطاق صغير |
/8 | 64 نقطة اتصال | نطاق متوسط |
/0 | جميع 16,384 نقطة اتصال | طريق افتراضي/احتياطي |
أمثلة:
PC 1000 /14→ يتطابق فقط مع PC 1000PC 1000 /8→ يتطابق مع PC 1000-1063 (64 نقطة اتصال متتالية)PC 0 /0→ يتطابق مع جميع نقاط الاتصال (طريق افتراضي)
بطاقة مرجعية لقناع نقطة الاتصال
تتضمن صفحة الويب مرجعًا تفاعليًا يعرض جميع قيم الأقنعة ونطاقاتها.
تبويب طرق العنوان العالمي
تكوين قواعد التوجيه بناءً على عناوين العنوان العالمي SCCP.
المتطلبات: يجب تمكين توجيه العنوان العالمي في التكوين:
config :omniss7,
enable_gt_routing: true
أعمدة جدول الطرق
| العمود | الوصف | المثال |
|---|---|---|
| بادئة GT | بادئة GT للجهة المتصلة (فارغ = احتياطي) | "1234"، "" |
| SSN المصدر | المطابقة على SSN للجهة المتصلة (اختياري) | 6 (HLR)، any |
| معرف القرين | القرين المستهدف | 1 |
| القرين | اسم القرين | "HLR_West (1)" |
| SSN الوجهة | إعادة كتابة SSN عند التوجيه (اختياري) | 6، preserve |
| الأولوية | أولوية الطريقة | 1 |
| الوصف | وصف الطريقة | "أرقام الولايات المتحدة" |
| الإجراءات | أزرار تعديل/حذف | - |
إضافة طريقة عنوان عالمي
- انقر على تبويب "طرق العنوان العالمي"
- املأ حقول النموذج:
- بادئة GT: اترك فارغًا للطريق الاحتياطي، أو أدخل أرقام (مثل،
"1234") - SSN المصدر: اختياري - تصفية حسب SSN للجهة المتصلة
- معرف القرين: اختر القرين المستهدف
- SSN الوجهة: اختياري - إعادة كتابة SSN عند التوجيه
- الأولوية: أولوية الطريقة (1 = الأعلى)
- الوصف: وصف قابل للقراءة البشرية
- بادئة GT: اترك فارغًا للطريق الاحتياطي، أو أدخل أرقام (مثل،
- انقر على "إضافة طريقة"
طرق الاحتياطي: إذا كانت بادئة GT فارغة، فإن الطريقة تعمل كطريق شامل للـ GTs التي لا تتطابق مع أي طريقة أخرى.
قيم SSN الشائعة
تتضمن الصفحة بطاقة مرجعية بقيم SSN الشائعة:
| SSN | عنصر الشبكة |
|---|---|
| 6 | HLR (سجل الموقع المنزلي) |
| 7 | VLR (سجل الموقع الزائر) |
| 8 | MSC (مركز تبديل الهاتف المحمول) |
| 9 | EIR (سجل هوية المعدات) |
| 10 | AUC (مركز المصادقة) |
| 142 | RANAP |
| 145 | gsmSCF (وظيفة التحكم في الخدمة) |
| 146 | SGSN |
إعادة كتابة SSN
- SSN المصدر: المطابقة على SSN للجهة المتصلة في الرسائل الواردة
- SSN الوجهة: إذا تم تعيينه، يعيد كتابة SSN للجهة المتصلة عند التوجيه
- فارغ = الحفاظ على SSN الأصلي
- قيمة = الاستبدال بهذه SSN
حالة الاستخدام: توجيه الرسائل مع SSN=6 (HLR) إلى قرين، وإعادة كتابتها إلى SSN=7 (VLR) على الجانب الخارج.
استمرارية جدول التوجيه
جميع الطرق مخزنة في Mnesia وت��تمر بعد إعادة تشغيل التطبيق.
كيف تستمر الطرق
- تغييرات واجهة المستخدم على الويب: يتم حفظ جميع عمليات الإضافة/التعديل/الحذف على الفور في Mnesia
- إعادة تشغيل التطبيق: يتم تحميل الطرق من Mnesia عند بدء التشغيل
- دمج runtime.exs: يتم دمج الطرق الثابتة من
config/runtime.exsمع طرق Mnesia (بدون تكرارات)
أولوية الطرق
عندما تتطابق عدة طرق مع وجهة:
- الأكثر تحديدًا أولاً: القيم الأعلى للقناع (الأكثر تحديدًا) تأخذ الأولوية
- حقل الأولوية: الأرقام الأقل للأولوية تمر أولاً (1 = أعلى أولوية)
- حالة القرين: يتم استخدام الطرق فقط للأقران
النشطين
المشتركين النشطين
الصفحة: /subscribers
الوضع: HLR فقط
التحديث التلقائي: كل 2 ثانيتين
يعرض تتبعًا في الوقت الحقيقي للمشتركين الذين أرسلوا طلبات UpdateLocation.
ميزات الصفحة
أعمدة جدول المشتركين
| العمود | الوصف | المثال |
|---|---|---|
| IMSI | IMSI المشترك | "50557123456789" |
| رقم VLR | عنوان GT VLR الحالي | "555123155" |
| رقم MSC | عنوان GT MSC الحالي | "555123155" |
| تم التحديث في | آخر طابع زمني لـ UpdateLocation | "2025-10-25 14:23:45 UTC" |
| المدة | الوقت منذ التسجيل | "2h 15m 34s" |
ملخص الإحصائيات
عندما يكون هناك مشتركين، تعرض بطاقة ملخص:
- إجمالي النشطين: إجمالي عدد المشتركين المسجلين
- VLRs الفريدة: عدد عناوين VLR المتميزة
- MSCs الفريدة: عدد عناوين MSC المتميزة
مسح المشتركين
زر مسح الكل: يزيل جميع المشتركين النشطين من المتعقب.
التأكيد: يتطلب تأكيدًا قبل المسح (لا يمكن التراجع عنه).
حالة الاستخدام: مسح سجلات المشتركين القديمة بعد صيانة الشبكة أو الاختبار.
التحديث التلقائي
تقوم الصفحة بالتحديث تلقائيًا كل 2 ثانية لعرض تحديثات المشتركين في الوقت الحقيقي.
مشتركي SMSc
الصفحة: /smsc_subscribers
الوضع: SMSc فقط
التحديث التلقائي: كل 2 ثانيتين
يعرض تتبعًا في الوقت الحقيقي للمشتركين بناءً على رسائل alertServiceCenter المستلمة من HLRs، وحالة تسليم الرسائل، وتتبع الفشل.
ميزات الصفحة
أعمدة جدول المشتركين
| العمود | الوصف | المثال |
|---|---|---|
| MSISDN | رقم هاتف المشترك | "15551234567" |
| IMSI | IMSI المشترك | "001010123456789" |
| HLR GT | HLR GT الذي أرسل alertServiceCenter | "15551111111" |
| الرسائل المرسلة | عدد رسائل MT-FSM المرسلة | 5 |
| الرسائل المستلمة | عدد رسائل MO-FSM المستلمة | 2 |
| الحالة | نشط أو فشل (ملونة) | ● نشط |
| آخر تحديث | آخر طابع زمني للتحديث | "2025-10-30 14:23:45 UTC" |
| المدة | الوقت منذ آخر تحديث | "15m 34s" |
مؤشرات الحالة
- ● نشط (أخضر): المشترك قابل للوصول، آخر alertServiceCenter تم استلامه بنجاح
- ○ فشل (أحمر): آخر محاولة تسليم فشلت (خطأ SRI-for-SM أو مشترك غائب)
ملخص الإحصائيات
عندما يكون هناك مشتركين، تعرض بطاقة ملخص:
- إجمالي المتعقبين: إجمالي عدد المشتركين المتعقبين
- نشط: عدد المشتركين بحالة نشطة
- فشل: عدد المشتركين بحالة فشل
- HLRs الفريدة: عدد HLRs المتميزة التي ترسل التنبيهات
إدارة المشتركين
زر إزالة: يزيل مشتركًا فرديًا من المتابعة.
زر مسح الكل: يزيل جميع المشتركين المتعقبين.
التأكيد: يتطلب مسح الكل تأكيدًا قبل المسح (لا يمكن التراجع عنه).
حالة الاستخدام:
- إزالة الإدخالات القديمة بعد مشاكل الشبكة
- مسح بيانات الاختبار بعد التطوير
- مراقبة HLRs التي ترسل التنبيهات
عدادات الرسائل
يقوم المتعقب بزيادة العدادات تلقائيًا:
- الرسائل المرسلة: تزداد عندما تنجح SRI-for-SM ويتم إرسال MT-FSM
- الرسائل المستلمة: تزداد عندما يتم استلام MO-FSM من المشترك
التحديث التلقائي
تقوم الصفحة بالتحديث تلقائيًا كل 2 ثانية لعرض تحديثات المشتركين والحالة في الوقت الحقيقي.
العمليات الشائعة
البحث والتصفية
حاليًا�� لا تتضمن واجهة المستخدم على الويب وظيفة بحث/تصفية مدمجة. للعثور على طرق معينة:
- استخدم وظيفة البحث في متصفحك (Ctrl+F / Cmd+F)
- ابحث عن أسماء الأقران، نقاط الاتصال، أو بادئات GT
العمليات الجماعية
لإجراء تغييرات جماعية على الطرق:
- الخيار 1: استخدم واجهة برمجة التطبيقات REST للوصول البرمجي
- الخيار 2: عدل
config/runtime.exsوأعد تشغيل التطبيق - الخيار 3: استخدم واجهة المستخدم على الويب لإجراء تغييرات فردية على الطرق
التصدير/الاستيراد
ملاحظة: لا تدعم واجهة المستخدم على الويب حاليًا تصدير أو استيراد جداول التوجيه. الطرق هي:
- مخزنة في ملفات قاعدة بيانات Mnesia
- مُعدة في
config/runtime.exs
لعمل نسخة احتياطية من الطرق:
- Mnesia: قم بعمل نسخة احتياطية من دليل
Mnesia.{node_name}/ - التكوين: تحكم في إصدار
config/runtime.exs
سلوك التحديث التلقائي
تمتل�� الصفحات المختلفة فترات تحديث مختلفة:
| الصفحة | فترة التحديث | السبب |
|---|---|---|
| إدارة التوجيه | 5 ثوانٍ | تغييرات الطرق نادرة |
| المشتركين النشطين | 2 ثانيتين | تتغير حالة المشتركين بشكل متكرر |
| حالة M3UA | تختلف حسب الصفحة | مراقبة حالة الاتصال |
اتصال WebSocket: تستخدم جميع الصفحات اتصالات WebSocket لـ Phoenix LiveView للتحديثات في الوقت الحقيقي.
انقطاع الشبكة: إذا فقد اتصال WebSocket، ستقوم الصفحة بمحاولة إعادة الاتصال تلقائيًا.
استكشاف الأخطاء وإصلاحها
الصفحة لا تُحمّل
- تحقق من شهادة HTTPS: تأكد من وجود
priv/cert/omnitouch.crtو.pem - تحقق من المنفذ 443: تحقق من قواعد جدار الحماية للسماح بحركة مرور HTTPS
- تشغيل التطبيق: تأكد من تشغيل التطبيق باستخدام
iex -S mix - وحدة تحكم المتصفح: تحقق من أخطاء شهادة SSL (تحذيرات الشهادات الموقعة ذاتيًا)
الطر�� لا تستمر
- تحقق من تخزين Mnesia: تحقق من
mnesia_storage_type: :disc_copiesفي التكوين - دليل Mnesia: تأكد من أن دليل Mnesia قابل للكتابة
- تحقق من السجلات: ابحث عن أخطاء Mnesia في سجلات التطبيق
التحديث التلقائي لا يعمل
- اتصال WebSocket: تحقق من وحدة تحكم المتصفح لأخطاء WebSocket
- الشبكة: تحقق من اتصال الشبكة المستقر
- إعادة تحميل الصفحة: حاول تحديث الصفحة (F5)
الوثائق ذات الصلة
- دليل STP - تكوين التوجيه بالتفصيل
- دليل HLR - إدارة المشتركين
- دليل API - واجهة برمجة التطبيقات REST للوصول البرمجي
- مرجع التكوين - جميع معلمات التكوين
الملخص
توفر واجهة المستخدم على الويب لـ OmniSS7 إدارة بديهية وفي الوقت الحقيقي لجداول التوجيه وتتبع المشتركين:
✅ تحديثات في الوقت الحقيقي - التحديث التلقائي يبقي البيا��ات محدثة
✅ تخزين مستمر - تضمن Mnesia بقاء الطرق بعد إعادة التشغيل
✅ واجهة مستخدم قائمة على الدور - تتكيف الصفحات مع وضع التشغيل (STP/HLR/SMSc)
✅ إدارة تفاعلية - إضافة وتعديل وحذف الطرق دون إعادة التشغيل
✅ مراقبة الحالة - حالة الاتصال والقرين مباشرة
لإجراء عمليات متقدمة أو الأتمتة، راجع دليل API.