بوابة OmniMessage SMPP - دليل العمليات
ما هي بوابة OmniMessage 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) | إرسال الرسائل القصيرة عبر بروتوكول 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"
العمليات الرئيسية لواجهة برمجة التطبيقات:
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 للمصطلحات