بوابة OmniMessage SMPP - دليل العمليات
الإصدار: 1.0.0
لفرق العمليات
ما هي بوابة SMPP؟
بوابة OmniMessage SMPP هي واحدة من عدة بروتوكولات واجهة أمامية لمنصة الاتصالات OmniMessage. تتيح إرسال رسائل SMS من خلال ربط بنيتك التحتية بشبكات الهاتف المحمول باستخدام بروتوكول SMPP (رسالة قصيرة من نظير إلى نظير) القياسي في الصناعة.
مهم: هذه البوابة هي واجهة بروتوكول بدون حالة. ليس لديها منطق تجاري، أو معالجة رسائل، أو قدرات تخزين. كل الذكاء يأتي من OmniMessage، الذي يتم الوصول إليه عبر REST API. مثل واجهات OmniMessage الأخرى (Diameter، MAP، IMS)، تقوم ببساطة بترجمة رسائل البروتوكول من/إلى التنسيق الداخلي لـ OmniMessage.
القدرات الرئيسية
- إرسال واستقبا�� رسائل SMPP ثنائية الاتجاه: إرسال واستقبال رسائل SMS عبر SMPP
- اتصالات متعددة: الاتصال بعدة مشغلين في نفس الوقت
- أداء عالي: معالجة آلاف الرسائل في الثانية
- المراقبة: مقاييس Prometheus المدمجة ولوحة معلومات الويب
- موثوقية: إعادة الاتصال التلقائي وإعادة محاولة الرسائل
- تشغيل بدون حالة: يتم تفويض جميع المعالجة إلى خلفية OmniMessage
من يجب أن يستخدم هذا الدليل؟
هذا الدليل مخصص لفرق العمليات المسؤولة عن:
- تثبيت وتكوين البوابة
- مراقبة حركة الرسائل
- إدارة اتصالات SMPP
- استكشاف المشكلات وحلها
البدء السريع
إعداد أول مرة
- الوصول إلى لوحة المعلومات على الويب:
https://your-server:8087 - تحقق من حالة النظام: انتقل إلى SMPP → الحالة المباشرة
- مراجعة التكوين: انظر CONFIGURATION.md
- إعداد المراقبة: انظر MONITORING.md
العمليات اليومية
المهام التشغيلية الشائعة:
| المهمة | الإجراء |
|---|---|
| تحقق من حالة الاتصال | واجهة الويب → SMPP → الحالة المباشرة |
| عرض حركة الرسائل | واجهة الويب → قائمة الانتظار |
| مراقبة صحة النظام | واجهة الويب → السجلات أو مقاييس Prometheus |
| إضافة/تعديل الاتصالات | واجهة الويب → SMPP → أقران العميل/الخادم |
انظر OPERATIONS.md لإجراءات مفصلة.
هيكل النظام
بوابة SMPP هي مترجم بروتوكول بدون حالة يعمل كجزء من منصة OmniMessage:
المفاهيم الرئيسية:
- بوابة SMPP: مترجم بروتوكول فقط - لا معالجة رسائل، تخزين، أو منطق تجاري
- OmniMessage: المنصة الأساسية التي تتعامل مع جميع منطق الرسائل، التوجيه، والتخزين
- الاتصال عبر API: تسترجع البوابة الرسائل لإرسالها من OmniMessage وتبلغ عن حالة التسليم
تكامل OmniMessage
بوابة OmniMessage SMPP هي واجهة بروتوكول لمنصة الرسائل OmniMessage. إنها واحدة من عدة أنواع واجهات متطابقة تتفاعل مع شبكات الهاتف المحمول باستخدام بروتوكولات مختلفة:
| الواجهة | البروتوكول | الغرض |
|---|---|---|
| بوابة SMPP | SMPP (SMS) | إرسال رسائل SMS عبر بروتوكول SMPP |
| بوابة Diameter | Diameter | الرسائل المعتمدة على IMS |
| بوابة MAP | MAP | إشارة الشبكة المحمولة |
| بوابة IMS | IMS | نظام الوسائط المتعددة عبر بروتوكول الإنترنت |
تشارك جميع الواجهات نفس الهيكل: إنها مترجمات بروتوكول بدون حالة تفوض كل الذكاء إلى جوهر OmniMessage.
كيف تعمل
تدفق الرسائل الواردة (النظام الخارجي → المشغل):
تدفق الرسائل الصادرة (المشغل → بوابة SMPP):
ما الذي تفعله البوابة
- تستقبل PDUs SMPP من المشغلين والعملاء الخارجيين
- تحلل وتتحقق من رسائل بروتوكول SMPP
- تترجم تنسيق SMPP إلى التنسيق الداخلي لـ OmniMessage
- تستدعي REST API لـ OmniMessage مع بيانات الرسالة
- تستقبل الرسائل من OmniMessage عبر استعلام API
- تحول تنسيق OmniMessage مرة أخرى إلى PDUs SMPP
- تبلغ عن إيصالات التسليم مرة أخرى إلى OmniMessage
ما الذي لا تفعله البوابة
- ❌ لا تخزين أو استمرارية الرسائل
- ❌ لا قرارات توجيه (تقرر OmniMessage)
- ❌ لا تحديد معدل (تفرض OmniMessage)
- ❌ لا تحقق من الأرقام (تتحقق OmniMessage)
- ❌ لا تتبع الحالة (تحافظ OmniMessage على الحالة)
- ❌ لا منطق تجاري (تتعامل OmniMessage مع كل المنطق)
واجهة برمجة تطبيقات OmniMessage REST
تتواصل البوابة مع جوهر OmniMessage عبر REST API:
التكوين:
config :omnimessage_smpp,
api_base_url: "https://omnimessage-core.example.com:8443"
العمليات الرئيسية لـ API:
GET /api/message_queue?destination_smsc=<bind_name>- استرجاع الرسائل المعلقةPUT /api/messages/<id>/delivery_status- الإبلاغ عن إيصال التسليمGET /api/system/health- فحص الصحة
تنسيق الرسالة: تحتوي الرسائل في قائمة الانتظار على جميع معلومات التسليم اللازمة:
- الرقم الوجهة
- نص الرسالة
- الرقم المصدر
- الأولوية
- فترة الصلاحية
- SMSC المستهدف (اسم ربط المشغل)
تسترجع البوابة ببساطة هذه، وتنسقها كـ SMPP، وترسلها إلى المشغل، وتبلغ عن الحالة.
هيكل الوثائق
تم تنظيم هذه الوثائق في الأدلة التالية:
- CONFIGURATION.md - مرجع تكوين كامل مع شرح جميع المعلمات
- MONITORING.md - دليل مقاييس Prometheus والتنبيه
- OPERATIONS.md - إجراءات التشغيل اليومية
- TROUBLESHOOTING.md - المشكلات الشائعة والحلول
- GLOSSARY.md - المصطلحات والتعاريف
نقاط الوصول
لوحة المعلومات على الويب
- الرابط:
https://your-server:8087 - الميزات:
- عرض حالة اتصال SMPP
- مراقبة قائمة الانتظار للرسائل
- عرض سجلات النظام
- تكوين أقران SMPP
- الوصول إلى الوثائق
مقاييس Prometheus
- الرابط:
http://your-server:4000/metrics - التنسيق: تنسيق نص Prometheus
- الاستخدام: التكامل مع Grafana/Prometheus
نقطة نهاية API
- الرابط: تم تكوينه في
API_BASE_URL - الغرض: تكامل قائمة انتظار الرسائل في الخلفية
مرجع سريع
المهام الشائعة
| المهمة | الأمر/الموقع |
|---|---|
| بدء تشغيل البوابة | systemctl start omnimessage-smpp |
| إيقاف تشغيل البوابة | systemctl stop omnimessage-smpp |
| إعادة تشغيل البوابة | systemctl restart omnimessage-smpp |
| عرض السجلات | journalctl -u omnimessage-smpp -f |
| تحقق من الحالة | واجهة الويب → SMPP → الحالة المباشرة |
| عرض المقاييس | curl http://localhost:4000/metrics |
| تحرير التكوين | /opt/omnimessage-smpp/config/runtime.exs |
الملفات المهمة
| الملف | الغرض |
|---|---|
/opt/omnimessage-smpp/config/runtime.exs | التكوين الرئيسي |
/opt/omnimessage-smpp/priv/cert/ | شهادات SSL |
/var/log/omnimessage-smpp/ | سجلات التطبيق |
/etc/systemd/system/omnimessage-smpp.service | تعريف الخدمة |
ملاحظات الأمان
- واجهة الويب: تستخدم HTTPS مع شهادات SSL الخاصة بك
- الاتصال عبر API: يمكن التحقق من SSL أو استخدام شهادات موقعة ذاتيًا
- SMPP: بروتوكول نصي عادي - استخدم أمان الشبكة
- بيانات الاعتماد: مخزنة في ملف التكوين - احمِ الوصول
الخطوات التالية
- مراجعة CONFIGURATION.md لجميع خيارات التكوين
- إعداد MONITORING.md مع Prometheus
- التعرف على OPERATIONS.md للمهام اليومية
- إضافة TROUBLESHOOTING.md إلى المفضلة للرجوع السريع
- مراجعة GLOSSARY.md للمصطلحات
حقوق الطبع والنشر © 2025 خدمات شبكة Omnitouch
مرخص لـ: Omnitouch