تدفقات بروتوكول OmniHSS
نظرة عامة
توضح هذه الوثيقة تدفقات رسائل بروتوكول Diameter المدعومة من OmniHSS. فهم هذه التدفقات أمر ضروري لاستكشاف الأخطاء وإصلاحها والعمليات.
واجهة S6a (LTE/EPC)
طلب معلومات المصادقة (AIR/AIA)
يطلب MME متجهات المصادقة للاشتراك.
المتغيرات الرئيسية:
- الطلب: User-Name (IMSI)، Visited-PLMN-Id، عدد المتجهات المطلوبة
- الاستجابة: Authentication-Info (RAND، AUTN، XRES، KASME)
ط��ب تحديث الموقع (ULR/ULA)
يبلغ MME HSS بموقع المشترك ويسترجع بيانات الاشتراك.
المتغيرات الرئيسية:
- الطلب: User-Name (IMSI)، RAT-Type، ULR-Flags، Visited-PLMN-Id، UE-SRVCC-Capability
- الاستجابة: Subscription-Data (AMBR، APN-Configuration، Network-Access-Mode)
طلب تطهير UE (PUR/PUA)
يبلغ MME HSS عندما يتم حذف سياق المشترك.
طلب الإخطار (NOR/NOA)
يبلغ MME HSS بأحداث مختلفة.
طلب إلغاء الموقع (CLR/CLA)
يبدأ HSS إلغاء الموقع لإبلاغ MME بأن المشترك يجب أن يتم فصله. يدعم OmniHSS إرسال CLR تلقائيًا وبرمجيًا.
CLR تلقائي (نقل MME)
عندما يقوم المشترك بإجراء طلب تحديث الموقع من MME جديد، يرسل OmniHSS تلقائيًا CLR إلى MME السابق لتنظيف التسجيلات القديمة.
المتغيرات الرئيسية (CLR تلقائي):
- User-Name: IMSI للمشترك
- Destination-Host: اسم مضيف MME السابق
- Destination-Realm: مجال MME السابق
- Cancellation-Type: 0 (إجراء تحديث MME)
- CLR-Flags: 0
- Subscription-Data: ملف الاشتراك الكامل
CLR برمجي (مTriggered API)
يمكن للمسؤولين تشغيل CLR عبر واجهة برمجة التطبيقات البرمجية لفصل المشتركين بالقوة (على سبيل المثال، لسحب الاشتراك، منع الاحتيال، أو الإجراءات الإدارية).
المتغيرات الرئيسية (CLR برمجي):
- User-Name: IMSI للمشترك
- Destination-Host: اسم مضيف MME الذي تم رؤيته آخر مرة
- Destination-Realm: مجال MME الذي تم رؤيته آخر مرة
- Cancellation-Type:
:subscription_withdrawal(مشفرة كعدد صحيح وفقًا لـ 3GPP TS 29.272) - CLR-Flags:
- s6a_indicator: 1 (تشير إلى استخدام واجهة S6a)
- reattach_required: 1 (يجب على UE إعادة المصادقة لإعادة الاتصال)
أنواع الإلغاء
يدعم OmniHSS أنواع إلغاء متعددة وفقًا لـ 3GPP TS 29.272:
| النوع | القيمة | الوصف | حالة الاستخدام |
|---|---|---|---|
| إجراء تحديث MME | 0 | تغيير MME عادي | تلقائي أثناء ULR من MME جديد |
| إجراء تحديث SGSN | 1 | نقل SGSN | سيناريوهات النقل 3G/2G |
| سحب الاشتراك | 2 | إنهاء إداري | فصل يدوي عبر API |
| إجراء تحديث IWF | 3 | تحديث وظ��فة التداخل | التوافق مع الشبكة القديمة |
| إجراء الاتصال الأولي | 4 | تسجيل جديد | فرض إعادة المصادقة |
CLR-Flags
المتغير CLR-Flags هو قناع بت يحتوي على الحقول التالية:
| العلم | البت | الوصف |
|---|---|---|
| مؤشر S6a/S6d | 0 | 1 = تم استخدام واجهة S6a |
| إعادة الاتصال مطلوبة | 1 | 1 = يجب على UE إجراء اتصال جديد |
مثال على تكوين CLR-Flags:
clr_flags: %{
s6a_indicator: 1, # استخدام واجهة S6a
reattach_required: 1 # فرض إعادة المصادقة
}
سيناريوهات متعددة IMSI
يتتبع OmniHSS تسجيل MME لكل مشترك (IMSI)، وليس لكل MSISDN. هذا أمر حاسم لفهم سلوك CLR في سيناريوهات متعددة IMSI:
السيناريو 1: عدة MSISDNs، IMSI واحد
المشترك A:
- IMSI: 999000123456789
- MSISDNs: ["+1234567890", "+9876543210"]
- last_seen_mme: "mme01.operator.com"
عندما ينتقل هذا المشترك إلى MME جديد:
- تم إرسال CLR واحد إلى "mme01.operator.com" مع IMSI 999000123456789
- كلا MSISDNs متأثران (��فس المشترك، نفس SIM)
- يحتوي المتغير User-Name على IMSI، وليس MSISDNs
السيناريو 2: مشتركين متعددين (IMSI مختلفة)، نفس MSISDN
يفرض OmniHSS قيود MSISDN الفريدة (لا يمكن أن ينتمي MSISDN واحد إلى عدة مشتركين في نفس الوقت). ومع ذلك، أثناء النقل/الهجرة:
المشترك A:
- IMSI: 999000111111111
- MSISDN: "+1234567890"
- last_seen_mme: "mme01.operator.com"
المشترك B (بعد النقل):
- IMSI: 999000222222222
- MSISDN: "+1234567890" # نفس MSISDN، SIM/IMSI مختلفة
- last_seen_mme: "mme02.operator.com"
عندما يسجل المشترك B:
- لم يتم إرسال CLR (IMSI مختلفة = مشترك مختلف)
- يبقى المشترك A مسجلاً في mme01
- يسجل المشترك B في mme02
- يمكن أن يكون كلاهما نشطين في نفس الوقت (أجهزة مادية مختلفة)
السيناريو 3: CLR برمجي لمشترك متعدد MSISDN
النتيجة:
- تم إرسال CLR واحد إلى last_seen_mme للمشترك
- جميع MSISDNs المرتبطة بهذا IMSI مفصولة بشكل فعال
- IMSI هو المفتاح الأساسي لتتبع تسجيل MME
ملاحظات مهمة
-
IMSI هو المفتاح: عمليات CLR تكون دائمًا لكل IMSI، وليس لكل MSISDN. تتبع جدول
subscriber_statelast_seen_mmeحسب المشترك (IMSI). -
عملية ذرية: يمكن تسجيل كل مشترك في MME واحد فقط في وقت واحد. يضمن CLR التلقائي ذلك عن طريق تنظيف التسجيل القديم.
-
لا CLR إذا لم يكن هناك MME سابق: إذا كان
last_seen_mmeهوnil(لم يسجل المشترك أبدًا)، فلن يتم إرسال CLR أثناء ULR. -
تضمين بيانات الاشتراك: يتضمن CLR التلقائي (أثناء ULR) المتغير الكامل
Subscription-Dataلمساعدة MME القديم في تنظيف السياق بشكل صحيح. -
غير متزامن: يتم إرسال CLR بشكل غير متزامن (إطلاق ونسيان). لا تنتظر استجابة ULA لـ MME الجديد CLA من MME القديم.
-
معالجة CLA: يتلقى OmniHSS استجابات CLA ولكنه يتجاهلها حاليًا (
:discardفي السطر 398). يمنع ذلك حلقات الرسائل وهو سلوك قياسي لـ HSS.
واجهة SWx (الوصول غير 3GPP / مكالمات WiFi)
تمكن واجهة SWx مكالمات WiFi من خلال ربط ePDG (بوابة بيانات الحزمة المتطورة) بـ HSS لمصادقة المشترك وتفويضه عبر الشبكات غير 3GPP.
طلب مصادقة الوسائط المتعددة (MAR/MAA)
يطلب ePDG متجهات مصادقة EAP-AKA لتسجيل مكالمات WiFi.
المتغيرات الرئيسية:
- الطلب: User-Name (IMSI أو IMSI@realm)، SIP-Auth-Data-Item (نظام المصادقة)، SIP-Number-Auth-Items
- الاستجابة: SIP-Auth-Data-Item (SIP-Authenticate، SIP-Authorization، Confidentiality-Key، Integrity-Key)
إعادة مزامنة SQN: عندما يكتشف UE فشل المصادقة بسبب عدم تطابق SQN، يتضمن ePDG بيانات إعادة المزامنة في المتغير SIP-Authorization. يستخرج OmniHSS AUTS من هذا الحقل ويعيد حساب SQN باستخدام حسابات مدركة لطول IND وفقًا لـ 3GPP TS 33.102.
طلب تعيين الخادم (SAR/SAA)
يسجل ePDG أو يلغي تسجيل المشترك لخدمات مكالمات WiFi.
أنواع تعيين الخادم:
| النوع | القيمة | الوصف |
|---|---|---|
| NO_ASSIGNMENT | 0 | استعلام فقط، لا تغيير في الحالة |
| REGISTRATION | 1 | تسجيل مكالمات WiFi الأولي |
| RE_REGISTRATION | 2 | تحديث التسجيل |
| UNREGISTERED_USER | 3 | خدمات للمستخدم غير المسجل |
| TIMEOUT_DEREGISTRATION | 4 | انتهاء التسجيل |
| USER_DEREGISTRATION | 5 | إلغاء التسجيل الذي بدأه المستخدم |
| AUTHENTICATION_FAILURE | 7 | فشل المصادقة، مسح الحالة |
| ADMINISTRATIVE_DEREGISTRATION | 8 | إلغاء التسجيل الذي بدأه المسؤول |
المتغيرات الرئيسية:
- الطلب: User-Name (IMSI)، Server-Assignment-Type، Server-Name (هوية ePDG)، Service-Selection (APN)
- الاستجابة: User-Data (ملف IFC XML)، Non-3GPP-User-Data
تدفق تسجيل مكالمات WiFi
تسجيل مكالمات WiFi من النهاية إلى النهاية.
واجهة Cx (IMS)
طلب تفويض المستخدم (UAR/UAA)
يستعلم I-CSCF عما إذا كان المستخدم مخولًا للتسجيل.
طلب تعيين الخادم (SAR/SAA)
يسجل S-CSCF/يلغي تسجيل المستخدم ويسترجع ملف IMS.
تقديم قالب IFC:
{{imsi}}→ IMSI الفعلي{{msisdns}}→ قائمة بأرقام الهواتف{{mcc}}, {{mnc}}→ رموز PLMN المنزلية
طلب مصادقة الوسائط المتعددة (MAR/MAA)
يطلب S-CSCF متجهات المصادقة لتسجيل IMS.
طلب معلومات الموقع (LIR/LIA)
يستعلم ICSCF عن S-CSCF الذي يخدم المستخدم.
واجهة Sh (بيانات ملف IMS)
طلب بيانات المستخدم (UDR/UDA)
يطلب خادم التطبيق بيانات ملف المشترك.
طلب تحديث الملف (PUR/PUA)
يحدث خادم التطبيق بيانات ملف المشترك.
طلب إشعارات الاشتراك (SNR/SNA)
يشترك خادم التطبيق في تغييرات الملف.
واجهة Gx (تحكم السياسة)
يعمل OmniHSS كـ PCRF (وظيفة قواعد السياسة والتحصيل) عبر واجهة Gx.
انظر وثائق PCRF للحصول على بنية مفصلة، وتكوين السياسة، وإدارة QoS.
طلب التحكم في الائتمان - أولي (CCR-I/CCA-I)
يطلب P-GW قواعد السياسة عند إنشاء جلسة PDN.
المتغيرات الرئيسية:
- الطلب: Subscription-Id (IMSI)، Called-Station-Id (APN)، RAT-Type، IP-CAN-Type
- الاستجابة: QoS-Information (QCI، ARP، AMBR)، Charging-Rule-Install
طلب التحكم في الائتمان - تحديث (CCR-U/CCA-U)
يبلغ P-GW بتغييرات الجلسة.
طلب التحكم في الائتمان - إنهاء (CCR-T/CCA-T)
يبلغ P-GW عندما تنتهي جلسة PDN.
طلب إعادة المصادقة (RAR/RAA)
يبدأ OmniHSS (PCRF) تحديث السياسة إلى P-GW.
واجهة Rx (سياسة وسائط IMS)
يعمل OmniHSS كـ PCRF عبر واجهة Rx لتفويض وسائط IMS.
انظر وثائق PCRF للحصول على تدفقات مكالمات VoLTE المفصلة وتفويض الوسائط.
طلب AA (AAR/AAA)
يطلب P-CSCF تفويض الوسائط لجلسة IMS.
المعلومات الرئيسية:
- تحليل SDP لتحديد الترميز وعرض النطاق الترددي
- حساب عرض النطاق الترددي المطلوب (UL/DL)
- إنشاء SDF filters لتدفقات الوسائط
- بدء الحاملة المخصصة عبر Gx RAR
طلب إنهاء الجلسة (STR/STA)
يبلغ P-CSCF عندما تنتهي جلسة IMS.
واجهة S13 (EIR)
يعمل OmniHSS كـ EIR (سجل هوية المعدات) عبر واجهة S13.
انظر و��ائق EIR للحصول على تفاصيل فحص هوية المعدات، والتحقق من IMEI، وإدارة القوائم السوداء.
طلب فحص هوية ME (ECR/ECA)
يطلب عميل EIR الخارجي (أو MME) التحقق من المعدات.
قيم حالة المعدات:
- المعدات غير معروفة (0) - الجهاز مسموح به (قائمة بيضاء)
- المعدات المدرجة في القائمة السوداء (1) - الجهاز محظور
- المعدات المدرجة في القائمة الرمادية (2) - الجهاز مسموح به ولكن يتم تتبعه
تدفق المكالمة الكاملة: مكالمة VoLTE
إعداد مكالمة VoLTE من النهاية إلى النهاية يظهر واجهات متعددة.
واجهة Zh (البنية التحتية للتشغيل العامة)
تمكن واجهة Zh البنية التحتية للتشغيل العامة (GBA) من خلال ربط وظيفة خادم التشغيل (BSF) بـ HSS لمصادقة المشترك وتوليد المفاتيح.
طلب مصادقة الوسائط المتعددة (MAR/MAA)
يطلب BSF متجهات مصادقة GBA للتشغيل.
المتغيرات الرئيسية:
- الطلب: User-Name (IMPI)، Public-Identity، SIP-Auth-Data-Item (نظام المصادقة)، Destination-Realm
- الاستجابة: SIP-Auth-Data-Item (SIP-Authenticate، SIP-Authorization، Confidentiality-Key، Integrity-Key)، GBA-UserSecSettings
حالات استخدام GBA:
| التطبيق | الوصف |
|---|---|
| MBMS | إدارة مفاتيح خدمة البث المتنقل |
| HTTPS | توفير الشهادات المعتمدة على GBA |
| NAF | مصادقة وظيفة تطبيق الشبكة العامة |
| Presence | مصادقة خدمة الحضور الآمنة |
واجهة SWm (الوصول غير الموثوق غير 3GPP)
تمكن واجهة SWm مصادقة EAP-AKA لشبكات الوصول غير الموثوق غير 3GPP (على سبيل المثال، WiFi عبر ePDG) من خلال ربط خادم AAA 3GPP بـ HSS.
طلب Diameter-EAP (DER/DEA)
تبادل مصادقة EAP للوصول إلى WiFi.
المتغيرات الرئيسية:
- الطلب: Session-Id، Auth-Application-Id، EAP-Payload، Auth-Request-Type، User-Name (اختياري)
- الاستجابة: EAP-Payload، EAP-Master-Session-Key (MSK)، APN-Configuration، Session-Timeout
طلب AA (AAR/AAA)
تفويض بعد نجاح مصادقة EAP.
المتغيرات الرئيسية:
- الطلب: Session-Id، Auth-Application-Id، User-Name، Auth-Request-Type، AAR-Flags
- الاستجابة: APN-Configuration، 3GPP-Charging-Characteristics، Session-Timeout
طلب إنهاء الجلسة (STR/STA)
إشعار إنهاء جلسة WiFi.
أسباب الإنهاء:
| السبب | القيمة | الوصف |
|---|---|---|
| DIAMETER_LOGOUT | 1 | تسجيل خروج المستخدم |
| DIAMETER_SERVICE_NOT_PROVIDED | 2 | الخدمة غير متاحة |
| DIAMETER_BAD_ANSWER | 3 | خطأ في البروتوكول |
| DIAMETER_ADMINISTRATIVE | 4 | إنهاء إداري |
| DIAMETER_LINK_BROKEN | 5 | فقدان الاتصال |
| DIAMETER_AUTH_EXPIRED | 6 | انتهاء صلاحية المصادقة |
| DIAMETER_USER_MOVED | 7 | انتقل المستخدم إلى وصول آخر |
| DIAMETER_SESSION_TIMEOUT | 8 | انتهاء الجلسة |
استكشاف مشكلات البروتوكول
فشل المصادقة (S6a AIR)
تحقق من:
- تم تكوين مجموعة المفاتيح بشكل صحيح (Ki، OPC، AMF)
- مزامنة SQN (إذا كانت هناك فشل متكرر)
- قواعد التجوال تسمح بالشبكة الزائرة
فشل تحديث الموقع (S6a ULR)
تحقق من:
- يوجد ملف EPC ولديه APNs مكونة
- يسمح بالتجوال لخدمات البيانات
- تنسيق هوية MME صحيح
فشل تسجيل IMS (Cx SAR)
تحقق من:
- تم تعيين ملف IMS للمشترك
- قالب IFC XML صالح
- تم تكوين اختيار S-CSCF
- تم تعيين MSISDNs إذا تم استخدامها في القالب
فشل اتصال PDN (Gx CCR-I)
تحقق من:
- يوجد APN في قائمة APN الخاصة بملف EPC
- تم تكوين ملف QoS الخاص بـ APN
- جدول جلسات PDN ليس ممتلئًا (إذا كانت هناك حدود)