PCRF (وظيفة قواعد السياسة والفوترة)
نظرة عامة
يتضمن HSS وظيفة PCRF (وظيفة قواعد السياسة والفوترة) المدمجة التي توفر التحكم في السياسة وقواعد الفوترة لجلسات البيانات المحمولة. يتحكم PCRF في سياسات جودة الخدمة (QoS) وتخصيص النطاق الترددي وقواعد الفوترة لكل من الحاملات الافتراضية والمخصصة في شبكات LTE.
القدرات الرئيسية
- واجهة Gx: التحكم في السياسة لـ PGW/PCEF (بوابة شبكة بيانات الحزمة / وظيفة تنفيذ السياسة والفوترة)
- واجهة Rx: التفويض وجودة الخدمة لتدفقات وسائط IMS (نظام الوسائط المتعددة IP)
- واجهة Sy: التحكم في حد إنفاق المشترك مقابل OCS خارجي - انظر واجهة Sy
- إدارة السياسة الديناميكية: تحديثات السياسة في الوقت الفعلي عبر طلبات إعادة التفويض (RAR)
- دعم VoLTE: إنشاء حامل مخصص لمكالمات الصوت مع ضمان جودة الخدمة
- قواعد الفوترة: تحديد سلوك الفوترة وملفات تعريف السرعة باستخدام قوالب تدفق البيانات (TFTs)
- واجهة برمجة التطبيقات REST: التحكم البرمجي في تنفيذ السياسة وإدارة القواعد
الهيكلية
واجهات Diameter
| الواجهة | معرف التطبيق | النظير | الغرض |
|---|---|---|---|
| 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 لجهاز المستخدم)
إجراءات 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 طريقة الفوترة الافتراضية للجلسة بأكملها (الحامل الافتراضي)، كما هو موضح في 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 (تحفز Rx AAR Gx RAR)
- إنهاء مكالمة IMS (تحفز Rx STR Gx RAR)
- إعادة التفويض اليدوي عبر واجهة برمجة التطبيقات REST
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) دون استهلاك حصة البيانات
- الوصول بعد الحصة - السماح بالوصول إلى بوابة الخدمة الذاتية ومواقع الدعم حتى بعد استنفاد المشترك لحد البيانات
- السرعة المتدرجة - سرعة عالية للخدمات المميزة، مقيدة للمحتوى القياسي
- سياسات قائمة على الوقت - بث غير محدود في أوقات الذروة، إعطاء الأولوية في أوقات الذروة
- سياسات التجوال - تسعير مختلف لاستخدام البيانات الدولية مقابل المحلية
- اتفاقيات مستوى الخدمة للشركات - ضمان QoS للتطبيقات الحيوية للأعمال
هيكل سياسة QoS
QoS للحامل الافتراضي (من ملف تعريف APN):
{
"QoS-Class-Identifier": 9, // QCI (9 = حامل افتراضي)
"APN-Aggregate-Max-Bitrate-UL": 50000, // kbps
"APN-Aggregate-Max-Bitrate-DL": 100000, // kbps
"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, // bps
"Max-Requested-Bandwidth-DL": 128000, // bps
"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، إذا كان موجودًا؛ خلاف ذلك - افتراضي مدمج (
Hss.Control.Common.default_sos_apn_profile/0).
الافتراضي المدمج هو ملف تعريف مؤقت (لا يوجد صف في قاعدة البيانات، apn_profile_id: nil على PDN اليتيم - العمود قابل للإلغاء) مع QoS للطوارئ:
| المعلمة | القيمة |
|---|---|
| QCI للحامل الافتراضي للطوارئ | 5 |
| QCI للحامل الصوتي المخصص | 1 (أولوية ARP 2) |
| أولوية الاحتفاظ بالتخصيص | 1 |
| قدرة الاستيلاء | مفعل |
| قابلية الاستيلاء | غير مفعل |
| APN-AMBR UL/DL | 10000 kbps |
لتجاوز هذه القيم (أو لتعيين قواعد الفوترة حسب المشغل عبر ملف تعريف 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
واجهة برمجة التطبيقات REST
نقطة نهاية إعادة التفويض PCRF
نقطة النهاية: POST /api/operation/pcrf_re_auth
الغرض: تحفيز يدوي لطلب إعادة التفويض Gx لتحديث السياسات
متى تستخدم: تُستخدم هذه النقطة اليدوية عادةً لاستكشاف الأخطاء وإصلاحها أو لفرض تحديث السياسة على مشتركين محددين. بالنسبة لتحديثات السياسة الروتينية (تغيير ملفات تعريف QoS لـ APN)، يقوم النظام تلقائيًا بتحفيز إعادة التفويض لجميع الجلسات المتأثرة - لا حاجة لإجراء يدوي.
جسم الطلب:
{
"imsi": "999999876543210",
"apn": "ims"
}
استجابة النجاح (HTTP 200):
{
"data": "تم إرسال طلب إعادة التفويض Gx لـ 999999876543210 إلى pgw.epc.mnc999.mcc999.3gppnetwork.org، Result-Code: 2001"
}
استجابة الخطأ (HTTP 400):
{
"error": "غير قادر على إرسال طلب إعادة التفويض لـ 999999876543210 على APN ims، لم يتم العثور على جلسة PDN نشطة"
}
واجهة برمجة التطبيقات لتكوين السياسة
يسترجع PCRF سياسات QoS من تكوينات APN المخزنة في قاعدة البيانات. يمكن إنشاء هذه السياسات وإدارتها عبر واجهة برمجة التطبيقات REST.
تنفيذ السياسة التلقائي: عند تحديث ملف تعريف 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 في الاتجاه الهابط (kbps) |
apn_ambr_ul_kbps | integer | 1-4,294,967,293 | معدل البت الأقصى الإجمالي لـ APN في الاتجاه الصاعد (kbps) |
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. انظر مرجع واجهة برمجة التطبيقات لربط ملفات تعريف 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 المرتبطة بهذا الملف التعريفي
- لكل جلسة نشطة، يتم إرسال Gx RAR إلى PGW المقابل
- تقوم PGWs بتحديث QoS للحامل لتعكس حدود النطاق الترددي الجديدة
- يتلقى جميع المشتركين المتصلين السياسة المحدثة على الفور
سيناريو المثال: إذا كان 100 مشترك متصلين حاليًا على APN "الإنترنت" باستخدام هذا الملف التعريفي لـ QoS، فسيتم تحديث حدود النطاق الترددي الخاصة بهم جميعًا إلى 150 ميغابت في الثانية في الاتجاه الهابط / 75 ميغابت في الثانية في الاتجاه الصاعد خلال ثوانٍ من اكتمال استدعاء واجهة برمجة التطبيقات.
ملاحظة: عند تحديث ملف تعريف 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
}
}
التكوين
إعداد خدمة Diameter
تطبيق 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 خارجي
- بروتوكولات Diameter - مواصفات البروتوكول التفصيلية
- مرجع واجهة برمجة التطبيقات - الوثائق الكاملة لواجهة برمجة التطبيقات
- الهيكلية - الهيكل العام لـ HSS
- تعيين البيانات - تعيين قاعدة البيانات إلى AVPs Diameter