خدمات شبكة أومنيتوتش - نظام نشر أنسبل
نظرة عامة
يحتوي هذا المستودع على ملفات تشغيل أنسبل، والأدوار، والتكوين لنشر حلول الشبكة الخلوية الكاملة (4G EPC، 5G Core، IMS، SS7) من خدمات شبكة أومنيتوتش. يمكّن النظام من نشر بنية تحتية للاتصالات من الدرجة الإنتاجية بشكل آلي وقابل للتكرار.
ما الذي يتم نشره
أومنيكور (منصة نواة حزمة 4G/5G)
- OmniHSS - خادم المشتركين المنزليين
- OmniSGW - بوابة الخدمة (طبقة التحكم)
- OmniPGW - بوابة الحزمة (طبقة التحكم)
- OmniUPF - وظ��فة مستوى المستخدم
- OmniDRA - وكيل توجيه القطر
- OmniTWAG - بوابة الوصول WLAN الموثوقة
انظر: https://docs.omnitouch.com.au/docs/repos/OmniCore
أومنيكول (منصة الصوت والرسائل)
- OmniCall CSCF - التحكم في جلسة المكالمات (P-CSCF، I-CSCF، S-CSCF)
- OmniTAS - خادم تطبيق IMS (VoLTE، VoNR، VoWiFi)
- OmniMessage - مركز الرسائل القصيرة (SMS-C)
- OmniMessage SMPP - دعم بروتوكول SMPP
- OmniSS7 - مكونات إشارة SS7 (STP، HLR، CAMEL)
- VisualVoicemail - وظيفة البريد الصوتي
انظر: https://docs.omnitouch.com.au/docs/repos/OmniCall
أومنيتشارج/أومنيCRM
- OmniCRM - إدارة علاقات العملاء، التسجيل الذاتي، الفوترة
انظر: https://docs.omnitouch.com.au/docs/repos/OmniCharge
خدمات الدعم
- License Server - ترخيص مركزي
- DNS - حل DNS الشبكي
- Monitoring - بروميثيوس وغرافانا
- APT Cache - مستودع حزم محلي (اختياري)
الوثائق
البدء
- مقدمة في نشر أنسبل
- نظرة عامة على كيفية استخدام أنسبل لنشر الشبكات الخلوية
- المفاهيم الأساسية: الجرد، الأدوار، ملفات التشغيل، المتغيرات
- سير عمل النشر والفوائد
المفاهيم الأساسية
-
- بنية الشبكة وتخصيص الشبكة الفرعية
- نموذج نشر بأربعة شبكات فرعية
- إرشادات تخصيص عنوان IP
- التعامل مع IP العامة
- طرق التنفيذ (بطاقات NIC منفصلة مقابل VLANs)
-
- تعريف طوبولوجيا الشبكة الخاصة بك
- تكوين وظائف الشبكة ومعلماتها
- فهم تكوين PLMN
- العمل مع قوالب Jinja2
-
- دليل كامل لجميع متغيرات التكوين
- إعدادات مكونات OmniCore (HSS، PGW، SGW، DRA)
- إعدادات مكونات OmniCall (TAS، Message، CSCF)
- شرح تكوين وقت التشغيل
- مرجع المتغيرات مع أمثلة
-
- تخصيص النشر دون تعديل الأدوار
- أسبقية المتغيرات والدمج
- دمج قوالب Jinja2
- أفضل الممارسات لتجاوز التكوين
البنية التحتية
-
- خيارات توزيع الحزم (ذاكرة التخزين المؤقت المحلية مقابل المستودع العام)
- كيفية تسليم الحزم المجمعة مسبقًا
- إعداد عمليات النشر غير المتصلة/المعزولة
- تكوين ذاكرة التخزين المؤقت APT المحلية
-
- إدارة الترخيص المركزية
- نماذج النشر (محلي، سحابي، هجين)
- الميزات التي يتم التحكم فيها بواسطة الترخيص
- التوافر العالي واستكشاف الأخطاء وإصلاحها
الأدوات
- ملفات التشغيل المساعدة
- فحص الصحة: إنشاء تقارير HTML عن صحة النظام، حالة الخدمة والإصدارات
- المستخدمون الشائعون/الإعداد: تكوين النظام الأساسي والمستخدمين
- إعادة التشغيل: إعادة تشغيل النظام بشكل لطيف
- مولد خطة IP: توثيق طوبولوجيا الشبكة
- نسخ احتياطي HSS: أدوات نسخ احتياطي للبيانات
- استكشاف الأخطاء: استرجاع التقاط الحزم، تحديثات MTU
الصورة الكاملة
- نظرة عامة على بنية النشر
- كيف تتناسب جميع المكونات معًا
- تقسيم الشبكة والأمان
- تبعيات الخدمة وترتيب النشر
- أنماط التوسع والتوافر العالي
البدء السريع
المتطلبات المسبقة
- عقدة تحكم Ubuntu 20.04+
- Python 3.8+
- وصول SSH إلى المضيفين المستهدفين
- بيانات اعتماد مناسبة لمستودع APT
- ترخيص أومنيتوتش صالح
التثبيت
-
احصل على المستودع
-
أنشئ بيئة افتراضية Python:
python3 -m venv venv
source venv/bin/activate
- قم بتثبيت أنسبل والاعتمادات:
pip install -r requirements.txt
- تحقق من التثبيت:
ansible --version
ال��كوين
- أنشئ ملف المضيفين الخاص بك بناءً على تصميم شبكتك:
cp services/hosts/Example/host_files/template.yml services/hosts/YourCustomer/host_files/production.yml
انظر: تكوين ملف المضيفين
- خصص مع group_vars (اختياري):
mkdir -p services/hosts/YourCustomer/group_vars
# أنشئ ملفات التخصيص حسب الحاجة
انظر: تكوين المتغيرات الجماعية
- قم بتكوين الوصول إلى مستودع APT في ملف المضيفين الخاص بك:
للنشر مع خادم ذاكرة التخزين المؤقت APT محلي (موصى به):
apt_cache_servers:
hosts:
your-apt-cache:
ansible_host: 192.168.1.100
gateway: 192.168.1.1
# لا حاجة لتكوين إضافي!
# use_apt_cache و apt_repo.apt_server يتم تعيينها تلقائيًا
أو للوصول المباشر إلى المستودع:
all:
vars:
apt_repo:
apt_server: "packages.omnitouch.com"
apt_repo_username: "your-username"
apt_repo_password: "your-password"
use_apt_cache: false # استخدم المستودع العام مباشرة (ليس ذاكرة التخزين المؤقت)
انظر: نظام ذاكرة التخزين المؤقت APT
- قم بتكوين خادم الترخيص:
all:
vars:
license_server_api_urls: ["https://licenses.omnitouch.com/api"]
license_enforced: true
انظر: خادم الترخيص
النشر
قم بنشر شبكتك الكاملة:
# نشر الشبكة بالكامل
ansible-playbook -i services/hosts/YourCustomer/host_files/production.yml services/all.yml
# أو نشر مكونات محددة:
ansible-playbook -i services/hosts/YourCustomer/host_files/production.yml services/epc.yml
ansible-playbook -i services/hosts/YourCustomer/host_files/production.yml services/ims.yml
ansible-playbook -i services/hosts/YourCustomer/host_files/production.yml services/infra.yml
هيكل المستودع
Omnicore/
├── README.md # هذا الملف
├── docs/ # الوثائق
│ ├── ansible-introduction.md
│ ├── IP_Planning_Standard.md
│ ├── hosts-file-configuration.md
│ ├── group-vars-configuration.md
│ ├── apt-cache-system.md
│ ├── license-server.md
│ ├── health-check-utility.md # دليل ملفات التشغيل المساعدة
│ └── deployment-architecture.md
├── services/ # ملفات تشغيل أنسبل
│ ├── hosts/ # تكوينات خاصة بالعميل
│ │ └── Customer_Name/
│ │ ├── host_files/ # ملفات الجرد
│ │ └── group_vars/ # تجاوزات المتغيرات
│ ├── epc.yml # نشر نواة 4G
│ ├── ims.yml # نشر IMS
│ ├── omniss7.yml # نشر كومة SS7
│ ├── infra.yml # نشر خدمات الدعم
│ ├── all.yml # نشر كل شيء
│ ├── common.yml # تكوين النظام الأساسي
│ ├── setup_users.yml # إدارة المستخدمين
│ ├── reboot.yml # أداة إعادة التشغيل بشكل لطيف
│ └── ... # ملفات التشغيل الخاصة بالمكونات
├── util_playbooks/ # الأدوات التشغيلية
│ ├── health_check.yml # تقارير صحة النظام
│ ├── ip_plan_generator.yml # توثيق الشبكة
│ ├── hss_backup.yml # النسخ الاحتياطي للبيانات
│ ├── getLocalCapture.yml # استرجاع التقاط الحزم
│ └── ... # أدوات أخرى
├── roles/ # أدوار أنسبل
│ ├── common/ # التكوين الأساسي
│ ├── omnihss/ # نشر OmniHSS
│ ├── omnisgwc/ # نشر OmniSGW
│ ├── omnipgwc/ # نشر OmniPGW
│ ├── omni_tas/ # نشر OmniTAS
│ ├── omnimessage/ # نشر OmniMessage
│ ├── license_server/ # خادم الترخيص
│ ├── monitoring/ # بروميثيوس/غرافيانا
│ └── ... # أدوار مكونات أخرى
└── requirements.txt # اعتمادات Python
الميزات الرئيسية
النشر الآلي
- شبكة خلوية كاملة يتم نشرها في ساعات
- تكوين متسق عبر البيئات
- عمليات نشر قابلة للتكرار للتطوير، والاختبار، والإنتاج
تكوين مرن
- قوالب Jinja2 لإنشاء تكوين ديناميكي
- group_vars لتخصيصات خاصة بالعميل
- ��ا حاجة لتعديل الأدوار الأساسية
إدارة الحزم
- حزم ثنائية مجمعة مسبقًا (.deb)
- ذاكرة تخزين مؤقت APT محلية للنشر غير المتصل
- مستودع عام لمواقع متصلة بالإنترنت
البنية التحتية ككود
- جميع التكوينات في نظام التحكم في إصدار Git
- تتبع التغييرات وتمكين التراجع
- مراجعة التغييرات قبل النشر
ملفات التشغيل الشائعة
| ملف التشغيل | الغرض |
|---|---|
services/all.yml | نشر الشبكة الكاملة |
services/epc.yml | نشر مكونات 4G EPC |
services/ims.yml | نشر خدمات الصوت IMS |
services/omniss7.yml | نشر كومة SS7 |
services/infra.yml | نشر خدمات الدعم |
services/monitoring.yml | نشر المراقبة فقط |
services/license_server.yml | نشر خادم الترخيص فقط |
services/apt.yml | إعداد ذاكرة التخزين المؤقت APT المحلية |
services/proxmox.yml | إنشاء VMs على Proxmox |
المنصات المدعومة
Hypervisors
- Proxmox VE
- VMware vSphere
- مثيلات سحابية (Vultr / AWS / GCP)
نماذج ال��شر
- في الموقع (مركز بيانات العميل)
- سحابي (AWS، Azure، GCP عبر vLab)
- هجين (خلط بين الموقع والسحابة)
- معزول (غير متصل تمامًا)
الحصول على المساعدة
- تحقق من الوثائق للحصول على أدلة تفصيلية
- راجع ملفات المضيفين النموذجية للرجوع إليها
- استشر الوثائق الخاصة بالمنتج على https://docs.omnitouch.com.au/
- اتصل بدعم أومنيتوتش للحصول على مساعدة في النشر
الخطوات التالية
- اقرأ مقدمة في نشر أنسبل
- راجع معيار تخطيط IP لتخطيط بنية شبكتك
- راجع نظرة عامة على بنية النشر
- أنشئ ملف المضيفين الخاص بك
- خصص مع group_vars حسب الحاجة
- انشر شبكتك!