دليل واجهة المستخدم على الويب
يوفر هذا الدليل وثائق شاملة لاستخدام واجهة المستخدم على الويب OmniSS7 (واجهة Phoenix LiveView).
جدول المحتويات
- نظرة عامة
- الوصول إلى واجهة المستخدم على الويب
- صفحة إدارة التوجيه
- صفحة المشتركين النشطين
- العمليات الشائعة
- سلوك التحديث التلقائي
نظرة عامة
واجهة المستخدم على الويب 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 | 🔴 أحمر | القرين غير متصل |
تبويب طرق نقطة الاتصال
تكوين قواعد التوجيه بناءً على رموز النقاط الوجهة.
أعمدة جدول الطرق
| العمود | الوصف | المثال |
|---|---|---|
| PC الوجهة | رمز النقطة المستهدفة (بتنسيق zone.area.id) | 1.2.3 (100) |
| القناع | قناع الشبكة لمطابقة PC | /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 = أعلى أولوية)
- حالة القرين: يتم استخدام الطرق فقط إلى الأقران
active
المشتركين النشطين
الصفحة: /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.