PCRF (وظيفة قواعد السياسة والفوترة)
نظرة عامة
يتضمن HSS وظيفة PCRF (وظيفة قواعد السياسة والفوترة) المدمجة التي توفر التحكم في السياسة وقواعد الفوترة لجلسات البيانات المحمولة. يتحكم PCRF في سياسات جودة الخدمة (QoS) وتخصيص النطاق الترددي وقواعد الفوترة لكل من الحاملات الافتراضية والمخصصة في شبكات LTE.
القدرات الرئيسية
- واجهة Gx: التحكم في السياسة لـ PGW/PCEF (بوابة شبكة البيانات الحزمية / وظيفة تنفيذ السياسة والفوترة)
- واجهة Rx: التفويض وجودة الخدمة لتدفقات الوسائط IMS (نظام الوسائط المتعددة IP)
- واجهة Sy: التحكم في حد إنفاق المشترك مقابل OCS خارجي - انظر واجهة Sy
- إدارة السياسة الديناميكية: تحديثات السياسة في الوقت الحقيقي عبر طلبات إعادة التفويض (RAR)
- دعم VoLTE: إنشاء حامل مخصص لمكالمات الصوت مع ضمان جودة الخدمة
- قواعد الفوترة: تحديد سلوك الفوترة وملفات السرعة باستخدام قوالب تدفق البيانات (TFTs)
- REST API: التحكم البرمجي في تنفيذ السياسة وإدارة القواعد
الهيكلية
واجهات القطر
| الواجهة | معرف التطبيق | النظير | الغرض |
|---|---|---|---|
| Gx | 16,777,238 | PGW (PCEF) | إدارة جلسة PDN، تنفيذ QoS، قواعد الفوترة |
| Rx | 16,777,236 | P-CSCF (AF) | تفويض الوسائط IMS، حجز النطاق الترددي |
| Sy | 16,777,302 | OCS | حالة حد إنفاق المشترك، سياسة مدفوعة بالإنفاق - انظر واجهة Sy |
إدارة حالة الجلسة
يحافظ PCRF على حالة الجلسة للاتصالات النشطة PDN ومكالمات VoLTE:
واجهة Gx
العمليات المدعومة
1. طلب التحكم في الائتمان - أولي (CCR-I)
التحفيز: يقوم PGW بإنشاء اتصال PDN جديد للمشترك
طلب AVPs:
- Session-Id
- Origin-Host, Origin-Realm
- Subscription-Id (يحتوي على IMSI)
- Called-Station-Id (اسم APN)
- IP-CAN-Type (نوع شبكة الوصول إلى الاتصال IP)
- RAT-Type (تكنولوجيا الوصول اللاسلكي)
- Framed-IP-Address (عنوان IP للـ UE)
إجراءات PCRF:
- البحث عن المشترك بواسطة IMSI
- استرجاع ملف APN وتهيئة QoS
- إنشاء إدخال تتبع الجلسة
- بناء سياسات QoS من ملف APN
استجابة AVPs:
- Result-Code: 2001 (DIAMETER_SUCCESS)
- QoS-Information (حدود النطاق الترددي المجمع لـ APN)
- Default-EPS-Bearer-QoS (QCI، ARP، الأولوية)
- Bearer-Control-Mode
- Online / Offline (طريقة الفوترة الافتراضية على مستوى الجلسة - انظر الفوترة على مستوى الجلسة Online/Offline)
2. طلب التحكم في الائتمان - تحديث (CCR-U)
التحفيز: يقوم PGW بالإبلاغ عن تغييرات الجلسة (تحديث الموقع، تغيير RAT، إلخ.)
إجراءات PCRF:
- تحديد موقع الجلسة الحالية بواسطة معرف الجلسة
- تحديث معلمات الجلسة (نوع RAT، الموقع، إلخ.)
- إرجاع السياسات المحدثة إذا لزم الأمر
الاستجابة: Result-Code 2001 مع تحديثات سياسة اختيارية
3. طلب التحكم في الائتمان - إنهاء (CCR-T)
التحفيز: يقوم PGW بإنهاء اتصال PDN
إجراءات PCRF:
- تحديد موقع الجلسة بواسطة معرف الجلسة
- حذف الجلسة وسجلات المكالمات المرتبطة
- تأكيد الإنهاء
الاستجابة: Result-Code 2001
الفوترة على مستوى الجلسة Online/Offline
تحدد AVPs Online (AVP 1009) و Offline (AVP 1008) المرسلة في أعلى مستوى من Gx CCA-I طريقة الفوترة الافتراضية لجلسة IP-CAN بأكملها (الحامل الافتراضي الافتراضي)، كما هو محدد في 3GPP TS 29.212. هذا يختلف عن Online/Offline لكل قاعدة التي يتم حملها داخل تعريف قاعدة الفوترة، والتي تحكم فقط حركة المرور المطابقة لتلك القاعدة المحددة.
بشكل افتراضي، يقوم PCRF بصدى أي قيم أعلنها PGW/PCEF في CCR-I. يمكن أن يثبت ملف QoS الخاص بـ APN طريقة الفوترة على مستوى الجلسة، متجاوزًا الصدى. يتم التحكم في ذلك من خلال حقلين اختياريين على ملف QoS الخاص بـ APN:
| الحقل | النوع | AVP | التأثير |
|---|---|---|---|
online_charging_enabled | Boolean | Online (1009) | true → ENABLE_ONLINE (1)، false → DISABLE_ONLINE (0) |
offline_charging_enabled | Boolean | Offline (1008) | true → ENABLE_OFFLINE (1)، false → DISABLE_OFFLINE (0) |
يتم حل كل حقل بشكل مستقل:
قيم AVP لطريقة الفوترة (TS 29.212):
| AVP | الرمز | القيمة | الاسم | المعنى |
|---|---|---|---|---|
Online | 1009 | 0 | DISABLE_ONLINE | لم يتم تطبيق الفوترة عبر الإنترنت (OCS / Gy) على الجلسة |
Online | 1009 | 1 | ENABLE_ONLINE | تم تطبيق الفوترة عبر الإنترنت - يجب منح الائتمان قبل تدفق حركة المرور |
Offline | 1008 | 0 | DISABLE_OFFLINE | لم يتم تطبيق الفوترة غير المتصلة (CDR / Gz) على الجلسة |
Offline | 1008 | 1 | ENABLE_OFFLINE | تم تطبيق الفوترة غير المتصلة - تم تسجيل الاستخدام للفوترة |
كيف يعمل: عندما تُترك online_charging_enabled/offline_charging_enabled غير محددة (الإعداد الافتراضي لكل ملف موجود)، تظل السلوكيات دون تغيير - يعكس PCRF طلب PGW، لذا يتم الحفاظ على موقف الفوترة الحالي للشبكة. يؤدي تعيين أي حقل إلى فرض وضع الفوترة هذا على كل CCR-I لأي APN يستخدم الملف، بغض النظر عن ما يعلنه PGW.
حالة الاستخدام: تثبيت الفوترة عبر الإنترنت لـ APN مسبق الدفع (لذا يجب على PGW استشارة OCS حتى لو طلب الفوترة غير المتصلة)، أو فرض الفوترة غير المتصلة على APN بعد الدفع/IoT لضمان توليد CDR. نظرًا لأن الإعداد موجود على ملف QoS الخاص بـ APN، فإنه ينطبق بشكل موحد على كل APN يشير إلى ذلك الملف.
ملاحظة: هذا يتحكم في الإعداد الافتراضي للجلسة فقط. لا تزال الفوترة لكل حركة مرور تحكمها حقول
online_charging_enabled/offline_charging_enabledعلى قواعد الفوترة الفردية، والتي تظهر داخل AVPs تعريف قاعدة الفوترة.
4. طلب إعادة التفويض (RAR)
الاتجاه: PCRF → PGW (يبدأ HSS)
التحفيز:
- إعداد مكالمة IMS (ت triggers Rx AAR Gx RAR)
- إنهاء مكالمة IMS (ت triggers Rx STR Gx RAR)
- إعادة التفويض اليدوي عبر REST API
AVPs RAR:
- Session-Id (معرف جلسة PGW)
- Auth-Application-Id: 16,777,238
- Re-Auth-Request-Type (0 = التفويض فقط)
- Charging-Rule-Install/Remove
- QoS-Information (للحاملات المخصصة)
إجراءات PGW: إنشاء/تعديل/حذف الحاملات المخصصة بناءً على قواعد الفوترة
قواعد الفوترة وقوالب تدفق البيانات
يدعم PCRF تعريف قواعد الفوترة باستخدام قوالب تدفق البيانات (TFTs) للتحكم في:
- الفوترة الخاصة بالخدمة - معدلات مختلفة للفيديو، الألعاب، وسائل التواصل الاجتماعي، إلخ.
- ملفات السرعة - تقييد أو إعطاء الأولوية لحركة المرور المطابقة لأنماط محددة
- سياسات قائمة على الاستخدام - تطبيق QoS مختلفة بناءً على نوع حركة المرور أو الوجهة
يمكن أن تكون قواعد الفوترة:
- مثبتة ديناميكيًا عبر Gx RAR بناءً على اكتشاف التطبيق
- محددة مسبقًا ويتم تحفيزها بواسطة ظروف محددة (وقت اليوم، الموقع، الحصة)
- مرتبطة بـ TFTs باستخدام قواعد تصفية الحزم (5-tuple: البروتوكول، عنوان IP المصدر/الوجهة، منفذ المصدر/الوجهة)
حالات الاستخدام الشائعة:
- التسعير الصفري - الوصول غير المحدود إلى خدمات معينة (Spotify، WhatsApp، Facebook) دون استهلاك حصة البيانات
- الوصول بعد الحصة - السماح ببوابة الرعاية الذاتية ومواقع الدعم حتى بعد استنفاد المشترك لحد البيانات
- سرعة متدرجة - سرعة عالية للخدمات المتميزة، مقيدة للمحتوى القياسي
- سياسات قائمة على الوقت - دفق غير محدود في أوقات الذروة، إعطاء الأولوية في أوقات الذروة
- سياسات التجوال - فوترة مختلفة لاستخدام البيانات الدولية مقابل المحلية
- SLA للشركات - ضمان QoS للتطبيقات الحيوية للأعمال
هيكل سياسة QoS
QoS للحامل الافتراضي (من ملف APN):
{
"QoS-Class-Identifier": 9, // QCI (9 = الحامل الافتراضي)
"APN-Aggregate-Max-Bitrate-UL": 50000, // كيلوبت في الثانية
"APN-Aggregate-Max-Bitrate-DL": 100000, // كيلوبت في الثانية
"Allocation-Retention-Priority": {
"Priority-Level": 8,
"Pre-emption-Capability": 1, // قد يتم استباقه
"Pre-emption-Vulnerability": 1 // قد يتم استباقه
}
}
QoS للحامل المخصص (لـ VoLTE):
{
"QoS-Class-Identifier": 1, // QCI 1 = الصوت المحادثة
"Max-Requested-Bandwidth-UL": 128000, // بت في الثانية
"Max-Requested-Bandwidth-DL": 128000, // بت في الثانية
"Guaranteed-Bitrate-UL": 128000,
"Guaranteed-Bitrate-DL": 128000
}
واجهة Rx
العمليات المدعومة
1. طلب AA (AAR) / إجابة AA (AAA)
التحفيز: يطلب P-CSCF التفويض لجلسة الوسائط IMS (إعداد مكالمة VoLTE)
طلب AVPs:
- Session-Id (معرف جلسة P-CSCF)
- Subscription-Id (IMSI أو SIP URI)
- Media-Component-Description
- Media-Type (صوت، فيديو)
- Max-Requested-Bandwidth-UL/DL
- Codec-Data
- Flow-Description (قواعد تصفية الحزم 5-tuple)
- AF-Application-Identifier
إجراءات PCRF:
- البحث عن المشترك بواس��ة IMSI أو SIP URI
- العثور على جلسة IMS النشطة
- استخراج معلمات الوسائط (ترميز، عرض النطاق الترددي، قواعد التدفق)
- إنشاء إدخال تتبع المكالمة
- تحفيز Gx RAR إلى PGW لإنشاء حامل مخصص
- الانتظار لاستجابة Gx RAA
- إرجاع Rx AAA مع نتيجة التفويض
استجابة AVPs:
- Result-Code: 2001 (نجاح) أو 5063 (الخدمة غير مفوضة)
مكالمات الطوارئ (SOS)، بما في ذلك المتصلين غير المصرح لهم / بدون SIM
تتم الموافقة على مكالمات الطوارئ (urn:service:sos) حتى عندما لا يكون المتصل مشتركًا معروفًا (جهاز بدون SIM، أو مشترك تجوال بدون بيانات اعتماد في السجل). هذا مطلوب حتى تحصل مكالمات الطوارئ دائمًا على QoS الصحيح (TS 23.167).
كيف يتعرف PCRF على AAR الطوارئ ويوافق عليه:
- كشف الطوارئ. يتم اعتبار الطلب طارئًا إذا كان أحد
Subscription-Idهو SIP URI يحتوي علىsos، أو إذا كانFramed-IP-Addressلـ AAR يحل إلى جلسة PDN تم إنشاؤها بالفعل كـ PDN طارئ بواسطة Gx CCR-I (يحدد جانب Gx الطوارئ بواسطة APN /Called-Station-Idالذي يحتوي علىsos). المسار الثاني هو ما يسمح لـ INVITE طارئ مجهول (بدون هوية قابلة للاستخدام) بأن يتم الموافقة عليه. - حل المشترك. يتم البحث عنه بواسطة
Subscription-Id، أو بواسطةFramed-IP-Address. لا يحتوي PDN الطارئ اليتيم (الذي تم إنشاؤه بواسطة Gx لمشترك غير معروف) على مشترك (subscriber_state_id: nil); تأخذ AAR بعد ذلك المسار اليتيم بدلاً من مسار المشترك العادي. - ملف APN الطارئ. يتم أخذ QoS للحامل المخصص من ملف APN الطارئ (انظر "ملف APN الطارئ الافتراضي المدمج" أدناه).
- يقوم Gx RAR بتثبيت الحامل الصوتي المخصص (QCI 1) على PDN (اليتيم)، وتعيد AAA
2001.
ملاحظة: لا يؤدي
Framed-IP-Addressإلى التفويض إلا إذا كان يتوافق مع PDN الذي أنشأه Gx كطوارئ. يتم رفض طلب غير الطوارئ من UE غير المسجل عند P-CSCF (لا يصل أبدًا إلى PCRF كـ AAR طارئ).
ملف APN الط��رئ الافتراضي المدمج. لم يعد يعتمد التفويض الطارئ على وجود مشغل قد قام مسبقًا بتوفير ملف APN sos في قاعدة البيانات. يقوم PCRF بحل ملف APN الطارئ على النحو التالي:
- ملف APN محدد من قبل المشغل يكون معرف APN الخاص به هو
sos، إذا كان موجودًا؛ خلاف ذلك - ملف APN الطارئ الافتراضي المدمج الذي توفره OmniHSS.
الافتراضي المدمج هو ملف عابر (لا يوجد صف في قاعدة البيانات، apn_profile_id: nil على PDN اليتيم - العمود قابل للإلغاء) مع QoS الطارئ:
| المعلمة | القيمة |
|---|---|
| QCI الحامل الطارئ الافتراضي | 5 |
| QCI الحامل الصوتي المخصص | 1 (أولوية ARP 2) |
| أولوية الاحتفاظ بالتخصيص | 1 |
| قدرة الاستباق | مفعل |
| قابلية الاستباق | معطل |
| APN-AMBR UL/DL | 10000 كيلوبت في الثانية |
لتجاوز هذه القيم (أو لتعيين قواعد الفوترة لكل مشغل عبر ملف PCRF)، قم بإنشاء ملف APN sos في قاعدة البيانات - فإنه يأخذ الأولوية على الافتر��ضي المدمج.
2. طلب إنهاء الجلسة (STR) / إجابة إنهاء الجلسة (STA)
التحفيز: يقوم P-CSCF بإنهاء جلسة IMS (إنهاء المكالمة)
إجراءات PCRF:
- تحديد موقع جلسة المكالمة بواسطة معرف جلسة P-CSCF
- تحفيز Gx RAR إلى PGW لإزالة الحامل المخصص
- حذف إدخال تتبع المكالمة
- إرجاع تأكيد STA
الاستجابة: Result-Code 2001
تدفقات الرسائل الشائعة
التدفق 1: إنشاء جلسة PDN
التدفق 2: إعداد مكالمة VoLTE (Rx AAR → Gx RAR)
التدفق 3: إنهاء مكالمة VoLTE (Rx STR → Gx RAR)
التدفق 4: تحديث جلسة PDN
التدفق 5: إنهاء جلسة PDN
التدفق 6: إعادة التفويض اليدوي عبر REST API
REST API
نقطة نهاية إعادة التفويض PCRF
نقطة النهاية: POST /api/operation/pcrf_re_auth
الغرض: تحفيز يدوي لطلب إعادة التفويض Gx لتحديث السياسات
متى تستخدم: تُستخدم هذه النقطة اليدوية عادةً لأغراض استكشاف الأخطاء وإصلاحها أو لفرض تحديث السياسة على مشتركين محددين. بالنسبة لتحديثات السياسة الروتينية (تغيير ملفات QoS لـ APN)، يقوم النظ��م تلقائيًا بتحفيز إعادة التفويض لجميع الجلسات المتأثرة - لا حاجة لإجراء يدوي.
جسم الطلب:
{
"imsi": "999999876543210",
"apn": "ims"
}
استجابة النجاح (HTTP 200):
{
"data": "Gx Re-Auth Request for 999999876543210 sent to pgw.epc.mnc999.mcc999.3gppnetwork.org, Result-Code: 2001"
}
استجابة الخطأ (HTTP 400):
{
"error": "Unable to send Re-Auth Request for 999999876543210 on APN ims, no active PDN Session found"
}
واجهة تكوين السياسة API
يسترجع PCRF سياسات QoS من تكوينات APN المخزنة في قاعدة البيانات. يمكن إنشاء هذه السياسات وإدارتها عبر REST API.
تنفيذ السياسة التلقائي: عند تحديث ملف QoS لـ APN (على سبيل المثال، تغيير حدود النطاق الترددي أو QCI)، يرسل النظام تلقائيًا طلبات إعادة التفويض Gx (RAR) إلى جميع PGWs مع جلسات PDN النشطة التي تستخدم ذلك APN. يضمن ذلك تطبيق تغييرات السياسة على الفور على جميع المشتركين المتصلين دون تدخل يدوي.
هيكل السياسة
يتم تعريف السياسات من خلال هيكل ثلاثي المستويات:
معرف APN → ملف QoS لـ APN → ملف APN
↓ ↓ ↓
"internet" QCI, AMBR, ARP يربط بين الاثنين
1. إنشاء معرف APN
حدد اسم APN ودعم إصدار IP.
نقطة النهاية: POST /api/apn/identifier
جسم الطلب:
{
"apn_identifier": {
"apn": "internet",
"ip_version": "ipv4v6"
}
}
خيارات إصدار IP:
"ipv4"- IPv4 فقط"ipv6"- IPv6 فقط"ipv4v6"- كومة مزدوجة (كلا من IPv4 و IPv6)"ipv4_or_ipv6"- الشبكة تقرر (إما IPv4 أو IPv6)
الاستجابة (HTTP 201):
{
"data": {
"id": "4fa85f64-5717-4562-b3fc-2c963f66afa6",
"apn": "internet",
"ip_version": "ipv4v6"
}
}
التحقق:
apn: مطلوب، 1-254 حرف، فريدip_version: مطلوب، يجب أن يكون واحدًا من الخيارات الأربعة أعلاه
قائمة معرفات APN: GET /api/apn/identifier
2. إنشاء ملف QoS لـ APN
حدد معلمات QoS (النطاق الترددي، QCI، الأولوية).
نقطة النهاية: POST /api/apn/qos_profile
جسم الطلب:
{
"apn_qos_profile": {
"name": "أفضل جهد إنترنت",
"qci": 9,
"allocation_retention_priority": 8,
"apn_ambr_dl_kbps": 100000,
"apn_ambr_ul_kbps": 50000,
"pre_emption_capability": false,
"pre_emption_vulnerability": true,
"online_charging_enabled": false,
"offline_charging_enabled": true
}
}
معلمات QoS:
| الحقل | النوع | النطاق | الوصف |
|---|---|---|---|
name | string | 1-254 حرف | اسم الملف (فريد) |
qci | integer | 1-254 | معرف فئة QoS (1-4 = GBR، 5-9 = غير GBR) |
allocation_retention_priority | integer | 1-15 | مستوى ARP (1 = أعلى أولوية) |
apn_ambr_dl_kbps | integer | 1-4,294,967,293 | معدل البت الأقصى المجمع لـ APN في الاتجاه الهابط (كيلوبت في الثانية) |
apn_ambr_ul_kbps | integer | 1-4,294,967,293 | معدل البت الأقصى المجمع لـ APN في الاتجاه الصاعد (كيلوبت في الثانية) |
pre_emption_capability | boolean | true/false | يمكن أن يستبق الحاملات ذات الأولوية المنخفضة |
pre_emption_vulnerability | boolean | true/false | يمكن أن يتم استباقه بواسطة الحاملات ذات الأولوية الأعلى |
online_charging_enabled | boolean | true/false/null | AVP Online على مستوى الجلسة لـ Gx CCA-I. null (افتراضي) يعكس قيمة CCR-I الخاصة بـ PGW. انظر الفوترة على مستوى الجلسة Online/Offline |
offline_charging_enabled | boolean | true/false/null | AVP Offline على مستوى الجلسة لـ Gx CCA-I. null (افتراضي) يعكس قيمة CCR-I الخاصة بـ PGW. انظر الفوترة على مستوى الجلسة Online/Offline |
قيم QCI الشائعة:
1- الصوت المحادثة (VoLTE) - GBR، ميزانية تأخير 100 مللي ثانية2- الفيديو المحادثة - GBR، ميزانية تأخير 150 مللي ثانية5- إشارات IMS - غير GBR، ميزانية تأخير 100 مللي ثانية9- الحامل الافتراضي (الإنترنت) - غير GBR، ميزانية تأخير 300 مللي ثانية
الاستجابة (HTTP 201):
{
"data": {
"id": "8d8ac610-566d-4ef0-9c22-186b2a5ed793",
"name": "أفضل جهد إنترنت",
"qci": 9,
"allocation_retention_priority": 8,
"apn_ambr_dl_kbps": 100000,
"apn_ambr_ul_kbps": 50000,
"pre_emption_capability": false,
"pre_emption_vulnerability": true,
"online_charging_enabled": false,
"offline_charging_enabled": true
}
}
قائمة ملفات QoS: GET /api/apn/qos_profile
3. إنشاء ملف APN
ربط معرف APN بملف QoS.
نقطة النهاية: POST /api/apn/profile
جسم الطلب:
{
"apn_profile": {
"name": "ملف APN للإنترنت",
"apn_identifier_id": "4fa85f64-5717-4562-b3fc-2c963f66afa6",
"apn_qos_profile_id": "8d8ac610-566d-4ef0-9c22-186b2a5ed793"
}
}
الحقول:
name: اسم الملف (فريد)، يستخدم كمرجعapn_identifier_id: معرف من إنشاء معرف APNapn_qos_profile_id: معرف من إنشاء ملف QoS لـ APN
الاستجابة (HTTP 201):
{
"data": {
"id": "a1b2c3d4-e5f6-4a3b-8c2d-1e0f9a8b7c6d",
"name": "ملف APN للإنترنت",
"apn_identifier_id": "4fa85f64-5717-4562-b3fc-2c963f66afa6",
"apn_qos_profile_id": "8d8ac610-566d-4ef0-9c22-186b2a5ed793"
}
}
القيود:
- يجب أن يشير
apn_identifier_idوapn_qos_profile_idإلى سجلات موجودة - يجب أن تكون كل مجموعة من معرف APN وملف QoS فريدة
قائمة ملفات APN: GET /api/apn/profile
مثال كامل لتكوين السياسة
الخطوة 1: إنشاء سياسة APN IMS (VoLTE)
# 1. إنشاء معرف APN
curl -X POST https://hss.example.com:8443/api/apn/identifier \
-H "Content-Type: application/json" \
-d '{
"apn_identifier": {
"apn": "ims",
"ip_version": "ipv4v6"
}
}'
# الاستجابة: {"data": {"id": "2c3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a", ...}}
# 2. إنشاء ملف QoS (إشارات IMS)
curl -X POST https://hss.example.com:8443/api/apn/qos_profile \
-H "Content-Type: application/json" \
-d '{
"apn_qos_profile": {
"name": "QoS لإشارات IMS",
"qci": 5,
"allocation_retention_priority": 2,
"apn_ambr_dl_kbps": 5000,
"apn_ambr_ul_kbps": 5000,
"pre_emption_capability": true,
"pre_emption_vulnerability": false
}
}'
# الاستجابة: {"data": {"id": "7b44a3e0-27cc-4b21-8d7a-3f19e5c2b8d4", ...}}
# 3. إنشاء ملف APN
curl -X POST https://hss.example.com:8443/api/apn/profile \
-H "Content-Type: application/json" \
-d '{
"apn_profile": {
"name": "APN IMS",
"apn_identifier_id": "2c3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a",
"apn_qos_profile_id": "7b44a3e0-27cc-4b21-8d7a-3f19e5c2b8d4"
}
}'
# الاستجابة: {"data": {"id": "91c2f3a4-5d6e-4f7a-8b9c-0d1e2f3a4b5c", ...}}
الخطوة 2: تعيين إلى المشترك
بمجرد الإنشاء، يتم تعيين ملف APN إلى المشتركين عبر ملفات EPC. انظر مرجع API لربط ملفات APN بالمشتركين.
تحديث السياسة والحذف
تحديث ملف QoS:
PATCH /api/apn/qos_profile/{id}
PUT /api/apn/qos_profile/{id}
مثال - زيادة النطاق الترددي لجميع المستخدمين:
# تحديث ملف QoS لزيادة النطاق الترددي
curl -X PATCH https://hss.example.com:8443/api/apn/qos_profile/8d8ac610-566d-4ef0-9c22-186b2a5ed793 \
-H "Content-Type: application/json" \
-d '{
"apn_qos_profile": {
"apn_ambr_dl_kbps": 150000,
"apn_ambr_ul_kbps": 75000
}
}'
ما يحدث تلقائيًا:
- يتم تحديث ملف QoS في قاعدة البيانات
- يحدد النظام جميع جلسات PDN النشطة التي تستخدم APNs المرتبطة بهذا الملف QoS
- لكل جلسة نشطة، يتم إرسال RAR Gx إلى PGW المقابل
- تقوم PGWs بتحديث QoS للحامل لتعكس حدود النطاق الترددي الجديدة
- يتلقى جميع المشتركين المتصلين السياسة المحدثة على الفور
سيناريو المثال: إذا كان 100 مشترك متصلين حاليًا على APN "الإنترنت" باستخدام هذا الملف QoS، فسيتم تحديث حدود النطاق الترددي الخاصة بهم إلى 150 ميجابت في الثانية في الاتجاه الهابط / 75 ميجابت في الثانية في الاتجاه الصاعد خلال ثوانٍ من اكتمال استدعاء API.
ملاحظة: عند تحديث ملف QoS لـ APN، يقوم النظام بتحفيز إعادة التفويض تلقائيًا لجميع جلسات PDN النشطة التي تستخدم ذلك APN، مما يطبق السياسات الجديدة على الفور على المشتركين المتصلين. لا حاجة لإعادة التفويض اليدوي.
حذف الموارد:
DELETE /api/apn/identifier/{id}
DELETE /api/apn/qos_profile/{id}
DELETE /api/apn/profile/{id}
قيود الحذف:
- لا يمكن حذف معرفات APN أو ملفات QoS المشار إليها بواسطة ملفات APN
- لا يمكن حذف ملفات APN المعينة لمشتركين نشطين
قوالب السياسة
إنترنت عالي السرعة (100 ميجابت في الثانية في الاتجاه الهابط / 50 ميجابت في الثانية في الاتجاه الصاعد):
{
"apn_qos_profile": {
"name": "إنترنت عالي السرعة",
"qci": 9,
"allocation_retention_priority": 8,
"apn_ambr_dl_kbps": 100000,
"apn_ambr_ul_kbps": 50000,
"pre_emption_capability": false,
"pre_emption_vulnerability": true
}
}
إنترنت متميز (500 ميجابت في الثانية في الاتجاه الهابط / 100 ميجابت في الثانية في الاتجاه الصاعد):
{
"apn_qos_profile": {
"name": "إنترنت متميز",
"qci": 8,
"allocation_retention_priority": 5,
"apn_ambr_dl_kbps": 500000,
"apn_ambr_ul_kbps": 100000,
"pre_emption_capability": true,
"pre_emption_vulnerability": false
}
}
IoT/M2M (نطاق ترددي منخفض):
{
"apn_qos_profile": {
"name": "IoT M2M",
"qci": 9,
"allocation_retention_priority": 10,
"apn_ambr_dl_kbps": 1024,
"apn_ambr_ul_kbps": 512,
"pre_emption_capability": false,
"pre_emption_vulnerability": true
}
}
خدمات الطوارئ (أعلى أولوية):
{
"apn_qos_profile": {
"name": "APN الطوارئ",
"qci": 5,
"allocation_retention_priority": 1,
"apn_ambr_dl_kbps": 10000,
"apn_ambr_ul_kbps": 10000,
"pre_emption_capability": true,
"pre_emption_vulnerability": false
}
}
التكوين
إعداد خدمة القطر
تطبيق Gx (config/runtime.exs):
%{
application_name: :gx,
application_dictionary: :diameter_gen_3gpp_gx,
vendor_specific_application_ids: [
%{vendor_id: 10415, auth_application_id: 16_777_238}
]
}
تطبيق Rx (config/runtime.exs):
%{
application_name: :rx,
application_dictionary: :diameter_gen_3gpp_rx,
vendor_specific_application_ids: [
%{vendor_id: 10415, auth_application_id: 16_777_236}
]
}
معلمات QoS
تستمد معلمات QoS من:
-
الحامل الافتراضي: تكوين ملف APN في قاعدة البيانات
apn_qos_profile.qci(معرف فئة QoS)apn_qos_profile.apn_ambr_ul_kbps(معدل البت الأقصى المجمع في الاتجاه الصاعد)apn_qos_profile.apn_ambr_dl_kbps(معدل البت الأقصى المجمع في الاتجاه الهابط)apn_qos_profile.priority_level(أولوية الاحتفاظ بالتخصيص)
-
الحامل المخصص: مستخرج من وصف مكون الوسائط Rx AAR
- QCI: 1 (الصوت المحادثة)
- معدل البت المضمون: من AVPs Max-Requested-Bandwidth
- مرشحات التدفق: من AVPs Flow-Description
معالجة الأخطاء
| رمز النتيجة | النوع | المعنى | السبب |
|---|---|---|---|
| 2001 | نجاح | DIAMETER_SUCCESS | تم معالجة الطلب بنجاح |
| 5001 | تجريبي | المستخدم غير موجود | IMSI غير موجود في قاعدة بيانات المشتركين |
| 5002 | تجريبي | الجلسة غير موجودة | لا توجد جلسة PDN للتحديث/الإنهاء |
| 5063 | تجريبي | الخدمة غير مفوضة | تم رفض تفويض الوسائط IMS |
تفاصيل التنفيذ
إدارة الجلسة
يتعقب PCRF:
- جلسات PDN النشطة - واحدة لكل APN، لكل مشترك
- مكالمات VoLTE - مكالمات متعددة لكل جلسة IMS (تدعم المكالمات الجماعية)
- سياسات QoS - تطبق ديناميكيًا بناءً على تكوين APN
- قواعد الفوترة - قوالب تدفق الحركة والسياسات الخاصة بالخدمة
ميزات السياسة المتقدمة
يدعم PCRF التحكم المتقدم في السياسة بما في ذلك:
- تثبيت/إزالة قواعد الفوترة عبر واجهة Gx
- مطابقة قوالب تدفق الحركة (TFT) لتفريق الخدمات
- ملفات السرعة الديناميكية بناءً على التطبيق أو نوع الحركة
- سياسات واعية للخدمة يتم تحفيزها بواسطة ظروف الشبكة أو سلوك المشترك
اتصل بمدير النظام لديك للحصول على معلومات حول تكوين قواعد الفوترة المتقدمة والسياسات المعتمدة على TFT.
الوثائق ذات الصلة
- واجهة Sy - التحكم في حد إنفاق المشترك مقابل OCS خارجي
- بروتوكولات القطر - مواصفات البروتوكول التفصيلية
- مرجع API - الوثائق الكاملة لـ API
- الهيكلية - الهيكل العام لـ HSS
- تعيين البيانات - تعيين قاعدة البيانات إلى AVP القطر