دليل عمليات البث الخلوي
تقوم OmniLCS بتنفيذ مركز بث الخلايا (CBC) الذي يدعم شبكات 2G عبر CBSP، وشبكات 3G UTRAN عبر SABP، وشبكات 4G LTE عبر SBC-AP. يمكن لـ CBC إرسال وتحديث وإيقاف رسائل البث عبر جميع عناصر شبكة الوصول الراديوي المتصلة في نفس الوقت.

الهندسة المعمارية
عمليات CBSP في 2G
نموذج الاتصال
يستخدم CBSP نقل TCP وفقًا لمعيار 3GPP TS 48.049. يستمع CBC على منفذ TCP 48049 (مسجل لدى IANA) وتقوم BSCs بإنشاء اتصالات واردة.
- كل اتصال مقبول يولد معالج اتصال تحت DynamicSupervisor
- يتم تتبع الاتصالات في جدول ETS
:cbsp_connections - يتم بث حالة الاتصال عبر PubSub إلى واجهة LiveView
إبقاء الاتصال نشط
ينفذ CBC إبقاء الاتصال نشط بشكل استباقي:
| المعامل | القيمة الافتراضية | الوصف |
|---|---|---|
| فترة إبقاء الاتصال نشط | 30 ثانية | مدى تكرار إرسال CBC لرسائل KEEP-ALIVE إلى كل نظير |
| مهلة إبقاء الاتصال نشط | 10 ثواني | الوقت الذي يجب الانتظار فيه لاستكمال KEEP-ALIVE قبل اعتبار الاتصال غير صحي |
يرسل CBC رسائل KEEP-ALIVE الاستباقية ويستجيب لرسائل KEEP-ALIVE التي يبدأها BSCs مع KEEP-ALIVE COMPLETE.
أنواع رسائل CBSP
| الرسالة | الاتجاه | الرمز | الوصف |
|---|---|---|---|
| WRITE-REPLACE | CBC -> BSC | 0x01 | إرسال أو تحديث رسالة بث |
| WRITE-REPLACE COMPLETE | BSC -> CBC | 0x02 | تم قبول البث من قبل BSC |
| WRITE-REPLACE FAILURE | BSC -> CBC | 0x03 | تم رفض البث من قبل BSC |
| KILL | CBC -> BSC | 0x04 | إيقاف بث |
| KILL COMPLETE | BSC -> CBC | 0x05 | تم إيقاف البث |
| KILL FAILURE | BSC -> CBC | 0x06 | فشل في إيقاف البث |
| LOAD-QUERY | CBC -> BSC | 0x07 | استعلام عن تحميل الموارد الراديوية |
| LOAD-QUERY COMPLETE | BSC -> CBC | 0x08 | تم إرجاع معلومات التحميل |
| LOAD-QUERY FAILURE | BSC -> CBC | 0x09 | فشل استعلام التحميل |
| STATUS-QUERY | CBC -> BSC | 0x0A | استعلام عن حالة ت��ليم البث |
| STATUS-QUERY COMPLETE | BSC -> CBC | 0x0B | تم إرجاع معلومات الحالة |
| STATUS-QUERY FAILURE | BSC -> CBC | 0x0C | فشل استعلام الحالة |
| RESET | CBC -> BSC | 0x10 | إعادة تعيين حالة البث على BSC |
| RESET COMPLETE | BSC -> CBC | 0x11 | تم الاعتراف بإعادة التعيين |
| RESET FAILURE | BSC -> CBC | 0x12 | فشل إعادة التعيين |
| RESTART | BSC -> CBC | 0x13 | تم إعادة تشغيل BSC (معلوماتية) |
| FAILURE | BSC -> CBC | 0x14 | إشارة فشل BSC |
| ERROR INDICATION | Either | 0x15 | خطأ بروتوكول |
| KEEP-ALIVE | Either | 0x16 | إشراف على الاتصال |
| KEEP-ALIVE COMPLETE | Either | 0x17 | استجابة إبقاء الاتصال نشط |
تأطير رسالة CBSP
كل رسالة CBSP على السلك هي:
+----------+----------+------+
| Length | Type | IEs |
| (3 bytes)| (1 byte) | ... |
+----------+----------+------+
يغطي حقل الطول البالغ 3 بايت بايت النوع وجميع IEs (لا يشمل بايتات الطول الثلاثة نفسها).
تنسيقات قائمة الخلايا
تحدد IE قائمة الخلايا أي الخلايا تستهدفها رسالة البث. التنسيقات المدعومة:
| المميز | القيمة | التنسيق | الوصف |
|---|---|---|---|
| CGI | 0x00 | MCC+MNC+LAC+CI | هوية الخلية العالمية الكاملة |
| LAC+CI | 0x01 | PLMN+LAC+CI | رمز منطقة الموقع + هوية الخلية |
| CI | 0x02 | CI فقط | هوية الخلية فقط |
| LAI | 0x04 | MCC+MNC+LAC | هوية منطقة الموقع |
| LAC | 0x05 | LAC فقط | رمز منطقة الموقع |
| الكل في BSC | 0x06 | (لا خلايا) | جميع الخلايا المدارة بواسطة BSC |
مؤشر القناة
| القيمة | الاسم | الوصف |
|---|---|---|
| 0 | CBCH الأساسي | قناة البث الخلوي الأساسية |
| 1 | CBCH الموسعة | قناة البث الخلوي الموسعة (سعة أعلى) |
عمليات SABP في 3G
يوفر بروتوكول بث منطقة الخدمة (SABP) واجهة Iu-BC بين CBC وRNCs في شبكة 3G UTRAN، وفقًا لمعيار 3GPP TS 25.419. يستخدم SABP ترميز ASN.1 PER المحاذي عبر TCP.
نموذج الاتصال
يستخدم SABP نقل TCP وفقًا لمعيار TS 25.414 §7.1.3.3. المنفذ المسجل لدى IANA لـ SABP هو 3452. وفقًا لمعيار TS 25.419 §5، يبدأ CBC الاتصالات للعمليات العادية (Write-Replace، Kill، إلخ) ويبدأ RNC الاتصالات فقط للإشارات الخاصة بالفشل/إعادة التشغيل. يستخدم كلا الجانبين المنفذ الوجهة 3452 عند إنشاء اتصالات جديدة.
- كل اتصال TCP مقبول يولد معالج اتصال تحت DynamicSupervisor الخاص بـ SABP
- يتم تتبع الاتصالات في جدول ETS
:sabp_connections - يتم بث تغييرات حالة الاتصال عبر PubSub إلى واجهة LiveView
- تمكين خيار مقبس إبقاء الاتصال نشط TCP نظرًا لعدم وجود آلية إبقاء الاتصال نشط على مستوى البروتوكول في SABP
تأطير رسالة SABP
تؤطر رسائل SABP عبر TCP مع بادئة طول 4 بايت بنظام big-endian:
+-------------------+---------------------------+
| Length (4 bytes) | ASN.1 PER Encoded PDU |
| big-endian uint32 | ... |
+-------------------+---------------------------+
يحدد حقل الطول عدد البايتات في الحمولة المشفرة بـ ASN.1 PER التي تليها. قد تصل رسائل متعددة في شريحة TCP واحدة؛ يقوم معالج الاتصال بتخزينها وإعادة تجميعها حسب الحاجة.
إجراءات SABP
| الإجراء | الرمز | الفئة | الاتجاه | الوصف |
|---|---|---|---|---|
| Write-Replace | 0 | Class 1 | CBC -> RNC | إرسال أو تحديث رسالة بث |
| Kill | 1 | Class 1 | CBC -> RNC | إيقاف بث نشط |
| Load-Status-Enquiry | 2 | Class 1 | CBC -> RNC | استعلام عن تحميل الموارد الراديوية |
| Message-Status-Query | 3 | Class 1 | CBC -> RNC | استعلام عن حالة تسليم البث |
| Reset | 4 | Class 1 | CBC -> RNC | إعادة تعيين حالة البث على RNC |
| Restart-Indication | 5 | Class 2 | RNC -> CBC | تم إعادة تشغيل RNC، إعادة إرسال البث النشط |
| Failure-Indication | 6 | Class 2 | RNC -> CBC | إشارة فشل RNC |
| Error-Indication | 7 | Class 2 | Either | الإبلاغ عن خطأ بروتوكول |
عناصر معلومات SABP
يستخدم بروتوكول SABP عناصر معلومات (IEs) محددة بواسطة ASN.1. العناصر الرئيسية المستخدمة في Write-Replace:
| IE | ID | الأهمية | النوع | الوصف |
|---|---|---|---|---|
| Broadcast-Message-Content | 0 | Reject | Binary | محتوى رسالة CBS المشفرة |
| Category | 1 | Ignore | Enum | أولوية الرسالة (عالية، عادية، خلفية، افتراضية) |
| Cause | 2 | Ignore | Integer | قيمة السبب للإشارات الخاصة بالفشل/الخطأ |
| Data-Coding-Scheme | 4 | Ignore | 8-bit | كيفية ترميز محتوى الرسالة (مثل 0x0F لـ GSM 7-bit) |
| Message-Identifier | 6 | Reject | 16-bit | معرف رسالة CB |
| New-Serial-Number | 7 | Reject | 16-bit | الرقم التسلسلي للبث الجديد/المحدث |
| Number-of-Broadcasts-Requested | 9 | Reject | Integer | إجمالي عدد البث (0..65535) |
| Old-Serial-Number | 10 | Ignore | 16-bit | الرقم التسلسلي للرسالة التي يتم استبدالها (اختياري) |
| Repetition-Period | 13 | Reject | Integer | الثواني بين التكرارات (1..4096) |
| Service-Areas-List | 15 | Reject | List | مناطق الخدمة المستهدفة (قائمة SAIs) |
معرف منطقة الخدمة (SAI)
يستهدف SABP البث إلى مناطق خدمة محددة يتم تحديدها بواسطة SAIs. يتكون كل SAI من:
| الحقل | الحجم | الوصف |
|---|---|---|
| هوية PLMN | 3 بايت | مشفرة بتنسيق BCD لـ MCC+MNC وفقًا لمعيار 3GPP TS 24.008 |
| LAC | 2 بايت | رمز منطقة الموقع |
| SAC | 2 بايت | رمز منطقة الخدمة |
فئة البث
تحدد IE الفئة الاختيارية أولوية رسالة البث:
| الفئة | الوصف |
|---|---|
| عالية الأولوية | أعلى أولوية، تتجاوز البث الآخر |
| أولوية عادية | أولوية قياسية |
| أولوية خلفية | أولوية منخفضة، لا تتجاوز |
| أولوية افتراضية | افتراضية عند عدم تحديد أي فئة |
معالجة إشارة إعادة التشغيل وإشارة الفشل
عندما يتلقى CBC إشارة إعادة التشغيل من RNC، يكون RNC قد أعيد تشغيله وفقد حالة البث الخاصة به. يجب على CBC إعادة إرسال جميع البث النشط إلى ذلك RNC.
عندما يتلقى CBC إشارة الفشل، يقوم RNC بالإبلاغ عن أن بعض مناطق الخدمة قد فقدت القدرة على البث. يتم تسجيل ذلك وإصداره كحدث قياس.
عمليات SBC-AP في 4G

نموذج الاتصال
وفقًا لمعيار 3GPP TS 29.168 القسم 4.3، يبدأ CBC ارتباطات SCTP إلى كل MME. يستمع MME على المنفذ 29168 (مسجل لدى IANA). معرف بروتوكول الحمولة SCTP (PPID) لـ SBC-AP هو 24.
ينفذ النقل إعادة الاتصال التلقائي مع زيادة زمنية:
| المعامل | القيمة | الوصف |
|---|---|---|
| تأخير إعادة الاتصال الأولي | 5 ثواني | أول تأخير بعد فشل الاتصال |
| الحد الأقصى لتأخير إعادة الاتصال | 60 ثانية | الحد الأقصى لزيادة التأخير |
| فترة نبض SCTP | 10 ثواني | نبض عنوان النظير |
| الحد الأقصى لإعادة إرسال SCTP | 7 | قبل إعلان فشل المسار |
| الحد الأقصى لوقت إعادة الإرسال SCTP | 30 ثانية | الحد الأقصى لوقت إعادة الإرسال |
| الحد الأدنى لوقت إعادة الإرسال SCTP | 1 ثانية | الحد الأدنى لوقت إعادة الإرسال |
إجراءات SBC-AP
| الإجراء | الرمز | الفئة | الاتجاه | الوصف |
|---|---|---|---|---|
| Write-Replace-Warning | 0 | Class 1 | CBC -> MME | إرسال أو تحديث رسالة تحذير |
| Stop-Warning | 1 | Class 1 | CBC -> MME | إيقاف تحذير نشط |
| Error-Indication | 2 | Class 2 | Either | الإبلاغ عن خطأ بروتوكول |
| PWS-Restart-Indication | 3 | Class 2 | MME -> CBC | تم إعادة تشغيل MME، إعادة إرسال التحذيرات النشطة |
| PWS-Failure-Indication | 4 | Class 2 | MME -> CBC | فشل eNB، فقدت الخلايا القدرة على البث |
عناصر IE لطلب Write-Replace-Warning
| IE | ID | الأهم��ة | النوع | الوصف |
|---|---|---|---|---|
| Message-Identifier | 5 | Reject | 16-bit | معرف رسالة CB (مثل 0x1112 لـ CMAS) |
| Serial-Number | 11 | Reject | 16-bit | الرقم التسلسلي مع نطاق جغرافي، رمز الرسالة، رقم التحديث |
| List-of-TAIs | 14 | Reject | List | هويات منطقة التتبع للبث |
| Warning-Area-List | 15 | Ignore | Choice | المنطقة المستهدفة (قائمة TAI، قائمة الخلايا، أو منطقة الطوارئ) |
| Repetition-Period | 10 | Reject | Integer | الثواني بين التكرارات (0..4096) |
| Number-of-Broadcasts-Requested | 7 | Reject | Integer | إجمالي عدد البث (0..65535) |
| Warning-Type | 18 | Ignore | 2 bytes | نوع تحذير ETWS + علامات التفعيل |
| Data-Coding-Scheme | 3 | Ignore | 8-bit | كيفية ترميز محتوى الرسالة |
| Warning-Message-Content | 16 | Ignore | Binary | صفحات CBS المشفرة |
| Omc-Id | 19 | Ignore | Binary | معرف مركز العمليات |
| Concurrent-Warning-Message-Indicator | 20 | Reject | Boolean | السماح بالتحذيرات المتزامنة |
عناصر IE لطلب Stop-Warning
| IE | ID | الأهمية | الوصف |
|---|---|---|---|
| Message-Identifier | 5 | Reject | معرف رسالة CB لإيقافها |
| Serial-Number | 11 | Reject | الرقم التسلسلي للبث لإيقافه |
| List-of-TAIs | 14 | Reject | (اختياري) تحديد الإيقاف لمناطق TAIs معينة |
| Warning-Area-List | 15 | Ignore | (اختياري) تحديد الإيقاف لمناطق معينة |
معالجة إشارة PWS-Restart-Indication
عندما يتلقى CBC إشارة PWS-Restart-Indication من MME، يقوم بإعادة إرسال جميع البث النشط (تلك في حالة :sent أو :acknowledged) إلى ذلك MME. يضمن ذلك استمرارية البث بعد إعادة تشغيل MME.
معالجة إشارة PWS-Failure-Indication
عندما يتلقى CBC إشارة PWS-Failure-Indication، يقوم بوضع علامة على البث المتأثر مع استجابة :pws_failure لرابطة MME المبلغة. يتم تسجيل ذلك كتحذير.
تنسيق الرسالة
ترميز GSM 7-bit
الترميز الافتراضي لرسائل CBS. تحتوي كل صفحة CBS على ما يصل إلى 93 سبتيت مضغوطة في 82 بايت.
تقوم الأبجدية الافتراضية لـ GSM 7-bit بتمثيل الأحرف اللاتينية القياسية بالإضافة إلى الأحرف اليونانية والرموز الخاصة. الأحرف غير الموجودة في الأبجدية الأساسية تستخدم جدول الامتداد (تسلسل الهروب 0x1B + رمز الامتداد)، مما يستهلك سبتيتين.
البنية الثنائية لمحتوى رسالة التحذير:
+----------+-------------------------------------------+
| Num Pages| Page 1 (82 bytes packed + 1 byte length) |
| (1 byte) | Page 2 ... |
+----------+-------------------------------------------+
ترميز UCS-2
للنصوص غير اللاتينية (CJK، العربية، التايلاندية، إلخ). تحتوي كل صفحة CBS على ما يصل إلى 40 حرف UCS-2 (80 بايت من بيانات UTF-16BE)، مملوءة إلى 82 بايت.
مخطط ترميز البيانات (DCS)
| الترميز | قيمة DCS | الوصف |
|---|---|---|
| GSM 7-bit | 0x0F | الأبجدية الافتراضية لـ GSM 7-bit، اللغة غير محددة |
| UCS-2 | 0x48 | UCS-2 (UTF-16BE)، اللغة غير محددة |
يمكن تعيين DCS بشكل صريح لكل بث أو يتم اشتقاقه تلقائيًا من معامل الترميز.
هيكل الرقم التسلسلي
وفقًا لمعيار 3GPP TS 23.041 القسم 9.4.1.2.1، يحتوي الرقم التسلسلي البالغ 16 بت على هيكل داخلي:
+----+------------+--------+
| GS | Msg Code | Update |
| 2b | 10 bits | 4 bits |
+----+------------+--------+
| الحقل | البتات | الوصف |
|---|---|---|
| النطاق الجغرافي (GS) | 15-14 | 0 = فوري على مستوى الخلية، 1 = على مستوى PLMN، 2 = على مستوى LA/TA، 3 = على مستوى الخلية |
| رمز الرسالة | 13-4 | يحدد البث ضمن نطاقه (0..1023) |
| رقم التحديث | 3-0 | يتم زيادته لتحديث الرسائل (0..15) |
يتم بناء الرقم التسلسلي من هذه المكونات.
أنواع التحذيرات (ETWS)
تكون IE نوع التحذير 2 بايت وفقًا لمعيار 3GPP TS 23.041 القسم 9.3.24:
| نوع التحذير | قيمة بايت 1 | الوصف |
|---|---|---|
| زلزال | 0x00 | تحذير زلزال |
| تسونامي | 0x01 | تحذير تسونامي |
| زلزال + تسونامي | 0x02 | زلزال وتسونامي مجتمعة |
| اختبار | 0x03 | تحذير اختبار |
| آخر | 0x04 | حالة طوارئ أخرى |
علامات التفعيل في بايت 2 (الافتراضي 0xC0):
| البت | القيمة | الوصف |
|---|---|---|
| البت 8 | 0x80 | تنبيه المستخدم الطارئ (تفعيل نغمة التنبيه/الاهتزاز) |
| البت 7 | 0x40 | نافذة منبثقة (عرض الرسالة تلقائيًا على الشاشة) |
يتم تعيين كلا البتين بشكل افتراضي (0xC0) لضمان أقصى رؤية.
إدارة حالة البث
دورة حياة الحالة
الاستمرارية
تتم المحافظة على البث النشط لـ 2G و3G و4G في priv/active_broadcasts.json كـ JSON. عند بدء التشغيل، يقوم المحرك بإعادة تحميل هذا الملف لاستعادة حالة البث. يسمح ذلك لـ CBC بإعادة إرسال التحذيرات النشطة بعد إعادة تشغيل التطبيق. يخزن ملف الاستمرار��ة ثلاث خرائط بث منفصلة: active_broadcasts_4g وactive_broadcasts_3g وactive_broadcasts_2g3g.
تتبع الاستجابة
بالنسبة لبث 4G، يبدأ كل send_broadcast_4g مؤقت مهلة استجابة مدته 30 ثانية. يتم ربط الاستجابات من MMEs بواسطة Message-Identifier وSerial-Number. يتم إلغاء المؤقت عندما تستجيب جميع نظيرات MME المتوقعة. يتم تسجيل النظيرات التي تجاوزت المهلة مع سبب :timeout.
عرض البث النشط

توفر صفحة البث النشط عرضًا موحدًا لجميع البث الجاري عبر شبكات 2G و3G و4G.
تاريخ البث
يحافظ المحرك على تاريخ متداول لأحدث 100 بث 4G لواجهة LiveView واستعلامات API.
استكشاف الأخطاء وإصلاحها
لا توجد MMEs متصلة (SBC-AP)
- تحقق من أن تكوين
mme_peersيحتوي على عناوين IP والمنافذ الصحيحة - تحقق من أن
local_ipيمكن الوصول إليه من شبكة MME - ابحث عن أخطاء اتصال SCTP في السجل:
SBC-AP: فشل في الاتصال بـ MME - تحقق من أن SCTP غير محظور بواسطة جدران الحماية (بروتوكول 132)
- تأكد من أن MME يستمع على المنفذ 29168
لا توجد BSCs متصلة (CBSP)
- تحقق من تكوين
listen_ipوlisten_portتحت:cbsp - تحقق من أن منفذ TCP 48049 غير محظور بواسطة جدران الحماية
- ابحث عن أخطاء القبول:
فشل قبول CBSP - تأكد من أن BSC تم تكوينه مع عنوان IP ومنفذ CBC
لا توجد RNCs متصلة (SABP)
- تحقق من تكوين
listen_ipوlisten_portتحت:sabp - تحقق من أن منفذ TCP 3452 غير محظور بواسطة جدران الحماية
- ابحث عن أخطاء القبول:
فشل قبول SABP - تأكد من أن RNC تم تكوينه مع عنوان IP ومنفذ CBC
- تحقق من السجلات بحثًا عن رسائل
SABP connection closed by peerأوSABP TCP error
لم يتم تسليم البث
- تحقق من جدول البث النشط لحالة الاستجابة
- ابحث عن رسائل WRITE-REPLACE FAILURE أو KILL FAILURE في سجل رسائل CBSP/SABP
- تحقق من أن تنسيق قائمة الخلايا يتطابق مع ما يتوقعه BSC/RNC/MME
- بالنسبة لـ 4G، تحقق من أن قيم TAC صالحة لـ MME المستهدفة
- بالنسبة لـ 3G، تحقق من أن معرفات منطقة الخدمة (SAIs) صالحة لـ RNC المستهدفة
- تحقق من تاريخ البث بحثًا عن إدخالات تجاوز المهلة
مشاكل الترميز
- للنصوص غير اللاتينية، تأكد من اختيار ترميز
:ucs2 - تحقق من أن DCS يتطابق مع الترميز (0x0F لـ GSM 7-bit، 0x48 لـ UCS-2)
- يمكن أن يمثل GSM 7-bit الأبجدية الافتراضية لـ GSM فقط؛ يتم استبدال الأحرف غير المدعومة بـ
؟
مراجع 3GPP
| المواصفة | العنوان |
|---|---|
| TS 25.419 | واجهة UTRAN Iu-BC: بروتوكول بث منطقة الخدمة (SABP) |
| TS 29.168 | واجهات مركز بث الخلايا مع نواة الحزمة المتطورة (SBC-AP) |
| TS 48.049 | بروتوكول مركز بث الخلايا (CBSP) |
| TS 23.041 | التنفيذ الفني لخدمة بث الخلايا (CBS) |
| TS 23.038 | الأبجديات والمعلومات الخاصة باللغة (DCS، GSM 7-bit) |
| TS 24.008 | مواصفة طبقة الراديو المتنقل 3 (ترميز هوية PLMN) |