انتقل إلى المحتوى الرئيسي

PCRF (وظيفة قواعد السياسة والفوترة)

نظرة عامة​

يتضمن HSS وظيفة PCRF (وظيفة قواعد السياسة والفوترة) المدمجة التي توفر التحكم في السياسة وقواعد الفوترة لجلسات البيانات المحمولة. يتحكم PCRF في سياسات جودة الخدمة (QoS) وتخصيص النطاق الترددي وقواعد الفوترة لكل من الحاملات الافتراضية والمخصصة في شبكات LTE.

القدرات الرئيسية​

  • واجهة Gx: التحكم في السياسة لـ PGW/PCEF (بوابة شبكة البيانات الحزمية / وظيفة تنفيذ السياسة والفوترة)
  • واجهة Rx: التفويض وجودة الخدمة لتدفقات الوسائط IMS (نظام الوسائط المتعددة IP)
  • واجهة Sy: التحكم في حد إنفاق المشترك مقابل OCS خارجي - انظر واجهة Sy
  • إدارة السياسة الديناميكية: تحديثات السياسة في الوقت الحقيقي عبر طلبات إعادة التفويض (RAR)
  • دعم VoLTE: إنشاء حامل مخصص لمكالمات الصوت مع ضمان جودة الخدمة
  • قواعد الفوترة: تحديد سلوك الفوترة وملفات السرعة باستخدام قوالب تدفق البيانات (TFTs)
  • REST API: التحكم البرمجي في تنفيذ السياسة وإدارة القواعد

الهيكلية​

واجهات القطر​

الواجهةمعرف التطبيقالنظيرالغرض
Gx16,777,238PGW (PCEF)إدارة جلسة PDN، تنفيذ QoS، قواعد الفوترة
Rx16,777,236P-CSCF (AF)تفويض الوسائط IMS، حجز النطاق الترددي
Sy16,777,302OCSحالة حد إنفاق المشترك، سياسة مدفوعة بالإنفاق - انظر واجهة 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:

  1. البحث عن المشترك بواسطة IMSI
  2. استرجاع ملف APN وتهيئة QoS
  3. إنشاء إدخال تتبع الجلسة
  4. بناء سياسات 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:

  1. تحديد موقع الجلسة الحالية بواسطة معرف الجلسة
  2. تحديث معلمات الجلسة (نوع RAT، الموقع، إلخ.)
  3. إرجاع السياسات المحدثة إذا لزم الأمر

الاستجابة: Result-Code 2001 مع تحديثات سياسة اختيارية

3. طلب التحكم في الائتمان - إنهاء (CCR-T)​

التحفيز: يقوم PGW بإنهاء اتصال PDN

إجراءات PCRF:

  1. تحديد موقع الجلسة بواسطة معرف الجلسة
  2. حذف الجلسة وسجلات المكالمات المرتبطة
  3. تأكيد الإنهاء

الاستجابة: 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_enabledBooleanOnline (1009)true → ENABLE_ONLINE (1)، false → DISABLE_ONLINE (0)
offline_charging_enabledBooleanOffline (1008)true → ENABLE_OFFLINE (1)، false → DISABLE_OFFLINE (0)

يتم حل كل حقل بشكل مستقل:

قيم AVP لطريقة الفوترة (TS 29.212):

AVPالرمزالقيمةالاسمالمعنى
Online10090DISABLE_ONLINEلم يتم تطبيق الفوترة عبر الإنترنت (OCS / Gy) على الجلسة
Online10091ENABLE_ONLINEتم تطبيق الفوترة عبر الإنترنت - يجب منح الائتمان قبل تدفق حركة المرور
Offline10080DISABLE_OFFLINEلم يتم تطبيق الفوترة غير المتصلة (CDR / Gz) على الجلسة
Offline10081ENABLE_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:

  1. البحث عن المشترك بواس��ة IMSI أو SIP URI
  2. العثور على جلسة IMS النشطة
  3. استخراج معلمات الوسائط (ترميز، عرض النطاق الترددي، قواعد التدفق)
  4. إنشاء إدخال تتبع المكالمة
  5. تحفيز Gx RAR إلى PGW لإنشاء حامل مخصص
  6. الانتظار لاستجابة Gx RAA
  7. إرجاع Rx AAA مع نتيجة التفويض

استجابة AVPs:

  • Result-Code: 2001 (نجاح) أو 5063 (الخدمة غير مفوضة)
مكالمات الطوارئ (SOS)، بما في ذلك المتصلين غير المصرح لهم / بدون SIM​

تتم الموافقة على مكالمات الطوارئ (urn:service:sos) حتى عندما لا يكون المتصل مشتركًا معروفًا (جهاز بدون SIM، أو مشترك تجوال بدون بيانات اعتماد في السجل). هذا مطلوب حتى تحصل مكالمات الطوارئ دائمًا على QoS الصحيح (TS 23.167).

كيف يتعرف PCRF على AAR الطوارئ ويوافق عليه:

  1. كشف الطوارئ. يتم اعتبار الطلب طارئًا إذا كان أحد Subscription-Id هو SIP URI يحتوي على sos، أو إذا كان Framed-IP-Address لـ AAR يحل إلى جلسة PDN تم إنشاؤها بالفعل كـ PDN طارئ بواسطة Gx CCR-I (يحدد جانب Gx الطوارئ بواسطة APN / Called-Station-Id الذي يحتوي على sos). المسار الثاني هو ما يسمح لـ INVITE طارئ مجهول (بدون هوية قابلة للاستخدام) بأن يتم الموافقة عليه.
  2. حل المشترك. يتم البحث عنه بواسطة Subscription-Id، أو بواسطة Framed-IP-Address. لا يحتوي PDN الطارئ اليتيم (الذي تم إنشاؤه بواسطة Gx لمشترك غير معروف) على مشترك (subscriber_state_id: nil); تأخذ AAR بعد ذلك المسار اليتيم بدلاً من مسار المشترك العادي.
  3. ملف APN الطارئ. يتم أخذ QoS للحامل المخصص من ملف APN الطارئ (انظر "ملف APN الطارئ الافتراضي المدمج" أدناه).
  4. يقوم 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/DL10000 كيلوبت في الثانية

لتجاوز هذه القيم (أو لتعيين قواعد الفوترة لكل مشغل عبر ملف PCRF)، قم بإنشاء ملف APN sos في قاعدة البيانات - فإنه يأخذ الأولوية على الافتر��ضي المدمج.

2. طلب إنهاء الجلسة (STR) / إجابة إنهاء الجلسة (STA)​

التحفيز: يقوم P-CSCF بإنهاء جلسة IMS (إنهاء المكالمة)

إجراءات PCRF:

  1. تحديد موقع جلسة المكالمة بواسطة معرف جلسة P-CSCF
  2. تحفيز Gx RAR إلى PGW لإزالة الحامل المخصص
  3. حذف إدخال تتبع المكالمة
  4. إرجاع تأكيد 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:

الحقلالنوعالنطاقالوصف
namestring1-254 حرفاسم الملف (فريد)
qciinteger1-254معرف فئة QoS (1-4 = GBR، 5-9 = غير GBR)
allocation_retention_priorityinteger1-15مستوى ARP (1 = أعلى أولوية)
apn_ambr_dl_kbpsinteger1-4,294,967,293معدل البت الأقصى المجمع لـ APN في الاتجاه الهابط (كيلوبت في الثانية)
apn_ambr_ul_kbpsinteger1-4,294,967,293معدل البت الأقصى المجمع لـ APN في الاتجاه الصاعد (كيلوبت في الثانية)
pre_emption_capabilitybooleantrue/falseيمكن أن يستبق الحاملات ذات الأولوية المنخفضة
pre_emption_vulnerabilitybooleantrue/falseيمكن أن يتم استباقه بواسطة الحاملات ذات الأولوية الأعلى
online_charging_enabledbooleantrue/false/nullAVP Online على مستوى الجلسة لـ Gx CCA-I. null (افتراضي) يعكس قيمة CCR-I الخاصة بـ PGW. انظر الفوترة على مستوى الجلسة Online/Offline
offline_charging_enabledbooleantrue/false/nullAVP 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"
}
}

الحقول:

الاستجابة (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
}
}'

ما يحدث تلقائيًا:

  1. يتم تحديث ملف QoS في قاعدة البيانات
  2. يحدد النظام جميع جلسات PDN النشطة التي تستخدم APNs المرتبطة بهذا الملف QoS
  3. لكل جلسة نشطة، يتم إرسال RAR Gx إلى PGW المقابل
  4. تقوم PGWs بتحديث QoS للحامل لتعكس حدود النطاق الترددي الجديدة
  5. يتلقى جميع المشتركين المتصلين السياسة المحدثة على الفور

سيناريو المثال: إذا كان 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.

الوثائق ذات الصلة​