OmniCHF
تقوم OmniCHF بتنفيذ وظيفة الشحن (CHF) من النواة 5G. توفر CHF شحنًا متكاملًا عبر الإنترنت وغير المتصل لجلسات PDU 5G من خلال خدمة Nchf_ConvergedCharging (3GPP TS 32.290 / TS 32.291 / TS 32.255).
يقوم مستهلك الشحن، عادةً SMF، بإنشاء جلسة شحن لكل جلسة PDU، ويبلغ عن الاستخدام طوال مدة تلك الجلسة، وأخيرًا يقوم بإطلاقها. تقوم OmniCHF بترجمة كل طلب شحن 5G إلى استدعاء CGRateS SessionS JSON-RPC للحصول على تفويض ائتماني في الوقت الفعلي (الشحن عبر الإنترنت / إدارة الحصص) وتولد سجل بيانات الشحن (CDR) عند إطلاق الجلسة (الشحن غير المتصل). كل جلسة شحن مملوكة لعملية عامل مخصصة (معمارية عملية لكل جلسة) لعزل الأخطاء؛ يتم الاحتفاظ بحالة الجلسة في الذاكرة ويتم إعادة بنائها مع إنشاء المستهلكين لجلسات جديدة بعد إعادة التشغيل.
الوثائق
- دليل العمليات - أدوار 3GPP ومراجع المواصفات، نقاط نهاية SBI، تكامل CGRateS، والإجراءات الرئيسية للشحن مع مخططات تسلسلها.
- مرجع التكوين - جداول كاملة لمعلمات تكوين وقت التشغيل، واجهات الإدارة / OAM، وملاحظات التسجيل.
- مرجع القياسات - قياسات Prometheus (الشحن، CGRateS، NRF، BEAM VM) مع استعلامات PromQL مثال.
- استكشاف الأخطاء وإصلاحها - المشكلات الشائعة والتشخيصات.
نظرة عامة على المعمارية
يصل المستهلك (SMF) إلى OmniCHF عبر SBI. CGRateS هو محرك تقييم وتوازن خارجي، وOmniCHF هو عميل له، وليس العكس. عندما يتم تعطيل CGRateS، يقوم عميل CGRateS بتجاوز العملية ويعيد منح افتراضي ثابت (انظر تكامل CGRateS).
نظرة عامة على الميزات
- شحن متكامل عبر الإنترنت + غير متصل لجلسات PDU 5G عبر
nchf-convergedcharging/v3. - معمارية عملية لكل جلسة (ChargingWorker + Registry) لعزل الأخطاء والبحث O(1).
- تكامل CGRateS SessionS عبر HTTP JSON-RPC باستخدام عميل Finch مجمع.
- وضع تجاوز CGRateS لعمليات المختبر بدون محرك تقييم.
- إدارة الحصص مع منح GSU و
QUOTA_THRESHOLD/TIME_LIMITالمحفزات. - إشعار الشحن (
REAUTHORIZATION,ABORT_CHARGING) نحوnotifyUriالخاص بالمستهلك. - مجموعات تقييم لكل DNN عبر
rating_groups/default_rating_group. - توليد معرف شحن 3GPP (TS 32.251) مع
node_idالقابل للتكوين لكل مثيل. - ملفات CDR غير الم��صلة (اختياري) بالإضافة إلى تسجيل CDR دائم.
- تسجيل NRF ونبضات القلب.
- قياسات Prometheus وتسجيل JSON منظم.
- واجهة إدارة API ولوحة التحكم للحالة، وفحص الجلسات، والإحصائيات، وإجراءات OAM.
البدء السريع
يتم قراءة تكوين المشغل من مفتاح بيئة التطبيق :omnichf، الذي يتم تعبئته عند بدء التشغيل بواسطة config/runtime.exs. يمكن تجاوز كل مفتاح بواسطة متغير بيئة نظام التشغيل. المثال أدناه يوضح التكوين الأساسي لوقت التشغيل مع القيم المطبقة عندما يكون المتغير البيئي المقابل غير مضبوط.
config :omnichf,
# مستمع SBI (واجهة قائمة على الخدمة)
sbi_scheme: "http",
sbi_addr: "127.0.0.14",
sbi_port: 7777,
# تسجيل NRF / نبض القلب
nrf_uri: "http://127.0.0.1:7777",
# هوية PLMN المقدمة
mcc: "999",
mnc: "70",
# قابلية الملاحظة
prometheus_metrics_port: 9568,
# تردد نبض NRF
heartbeat_interval: 10_000,
# تكامل محرك تقييم / توازن CGRateS
cgrates_enabled: true,
cgrates_url: "http://localhost:2080/jsonrpc",
cgrates_tenant: "cgrates.org",
cgrates_timeout: 5000
تعيش الوثائق الكاملة للمعلمات، بما في ذلك مفاتيح مجموعة التقييم المتقدمة، والشحن غير المتصل، ومعرف الشحن، والتسجيل، وواجهات الإدارة، في مرجع التكوين.