بوابة OmniMessage SMPP
نظرة عامة على المنتج
بوابة OmniMessage SMPP هي واحدة من عدة بروتوكولات واجهة أمامية لمنصة OmniMessage.
تتيح إرسال الرسائل النصية القصيرة من خلال ربط بنيتك التحتية بشبكات الهاتف المحمول باستخدام بروتوكول SMPP (بروتوكول الرسائل القصيرة من نظير إلى نظير) القياسي في الصناعة.
مهم: هذه البوابة هي واجهة بروتوكول بدون حالة. مثل واجهات OmniMessage الأخرى (Diameter، MAP، IMS)، فهي ببساطة تترجم رسائل البروتوكول من/إلى واجهة برمجة التطبيقات الخاصة بـ OmniMessage للتوجيه والمعالجة.
القدرات الرئيسية
- إرسال واستقبال الرسائل عبر SMPP: إرسال واستقبال الرسائل النصية القصيرة عبر SMPP كـ SMSc أو ESME (عميل أو خادم)
- اتصالات متعددة: الاتصال بعدة مشغلين في نفس الوقت
- أداء عالي: معالجة آلاف الرسائل في الثانية
- تخزين محلي للرسائل: الاستمرار في قبول الرسائل أثناء انقطاع واجهة برمجة التطبيقات مع إعادة المحاولة التلقائية
- إيصالات التسليم (DLR): إرسال إيصالات تسليم SMPP مرة أخرى إلى الربط المتصل لكل رسالة مقدمة
- المراقبة: مقاييس Prometheus المدمجة ولوحة المعلومات على الويب
- موثوقية: إعادة الاتصال التلقائي وإعادة المحاولة للرسائل
- تشغيل بدون حالة: جميع المعالجة مفوضة إلى الخلفية الخاصة بـ OmniMessage
من يجب أن يستخدم هذا الدليل؟
هذا الدليل مخصص لفرق العمليات المسؤولة عن:
- تثبي�� وتكوين البوابة
- مراقبة حركة الرسائل
- إدارة اتصالات SMPP
- استكشاف المشكلات وإصلاحها
البدء السريع
إعداد المرة الأولى
- الوصول إلى لوحة المعلومات على الويب:
https://your-server:8087 - التحقق من حالة النظام: انتقل إلى SMPP → الحالة المباشرة
- مراجعة التكوين: انظر CONFIGURATION.md
- إعداد المراقبة: انظر MONITORING.md
العمليات اليومية
المهام التشغيلية الشائعة:
| المهمة | الإجراء |
|---|---|
| التحقق من حالة الاتصال | واجهة الويب → SMPP → الحالة المباشرة |
| عرض حركة الرسائل | واجهة الويب → قائمة الانتظار |
| مراقبة صحة النظام | واجهة الويب → السجلات أو مقاييس Prometheus |
| إضافة/تعديل الاتصالات | واجهة الويب → SMPP → الأقران (العملاء/الخوادم) |
انظر USAGE.md لإجراءات مفصلة.
هيكل النظام
بوابة SMPP هي مترجم بروتوكول بدون حالة يعمل كجزء من منصة OmniMessage:
المفاهيم الرئيسية:
- بوابة SMPP: مترجم بروتوكول فقط - لا معالجة للرسائل، تخزين، أو منطق الأعمال
- OmniMessage: المنصة الأساسية التي تتعامل مع جميع منطق الرسائل، التوجيه، والتخزين
- الاتصال عبر API: تسترجع البوابة الرسائل لإرسالها من OmniMessage وتبلغ عن حالة التسليم
تكامل OmniMessage
بوابة OmniMessage SMPP هي واجهة بروتوكول لمنصة الرسائل OmniMessage. إنها واحدة من عدة أنواع واجهات أمامية متطابقة تتفاعل مع ��بكات الهاتف المحمول باستخدام بروتوكولات مختلفة:
| الواجهة الأمامية | البروتوكول | الغرض |
|---|---|---|
| بوابة SMPP | SMPP (SMS) | الرسائل النصية القصيرة عبر بروتوكول SMPP |
| بوابة Diameter | Diameter | الرسائل المعتمدة على IMS |
| بوابة MAP | MAP | إشارة الشبكة المحمولة |
| بوابة IMS | IMS | نظام الوسائط المتعددة IP |
تشارك جميع الواجهات الأمامية نفس الهيكل: إنها مترجمات بروتوكول بدون حالة تفوض كل الذكاء إلى جوهر OmniMessage.
كيف تعمل
تدفق الرسائل الواردة (النظام الخارجي → المشغل):
تدفق الرسائل الصادرة (المشغل → بوابة SMPP):
ما تفعله البوابة
- تستقبل SMPP PDUs من المشغلين والعملاء الخارجيين
- تحلل وتتحقق من رسائل بروتوكول SMPP
- تترجم تنسيق SMPP إلى التنسيق الداخلي لـ OmniMessage
- تستدعي واجهة برمجة التطبيقات REST لـ OmniMessage مع بيانات الرسالة
- تستقبل الرسائل من OmniMessage عبر استعلام واجهة برمجة التطبيقات
- تحول تنسيق OmniMessage مرة أخرى إلى SMPP PDUs
- تبلغ عن إيصالات التسليم مرة أخرى إلى OmniMessage
ما لا تفعله البوابة
- ❌ لا تخزين أو استمرارية للرسائل
- ❌ لا قرارات توجيه (تقرر OmniMessage)
- ❌ لا تحديد للحدود (تفرض OmniMessage)
- ❌ لا تحقق من الأرقام (تتحقق OmniMessage)
- ❌ لا تتبع للحالة (تحافظ OmniMessage على الحالة)
- ❌ لا منطق للأعمال (تتعامل OmniMessage مع كل المنطق)
واجهة برمجة التطبيقات REST لـ OmniMessage
تتواصل البوابة مع جوهر OmniMessage عبر واجهة برمجة التطبيقات REST:
التكوين:
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 - مرجع تكوين كامل مع شرح جميع المعلمات
- MESSAGE_CACHE.md - تخزين محلي للرسائل من أجل مرونة واجهة برمجة التطبيقات
- MONITORING.md - دليل مقاييس Prometheus والتنبيهات
- USAGE.md - إجراءات التشغيل اليومية
- TROUBLESHOOTING.md - المشكلات الشائعة والحلول
- GLOSSARY.md - المصطلحات والتعاريف
نقاط الوصول
لوحة المعلومات على الويب
- الرابط:
https://your-server:8087 - الميزات:
- عرض حالة اتصال SMPP
- مراقبة قائمة الرسائل
- عرض سجلات النظام
- تكوين الأقران SMPP
- الوصول إلى الوثائق
مقاييس Prometheus
- الرابط:
http://your-server:4000/metrics - التنسيق: تنسيق نص Prometheus
- الاستخدام: التكامل مع Grafana/Prometheus
نقطة نهاية واجهة برمجة التطبيقات
- الرابط: تم تكوينه في
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 الخاصة بك
- الاتصال عبر واجهة برمجة التطبيقات: يمكن التحقق من SSL أو استخدام الشهادات الموقعة ذاتيًا
- SMPP: بروتوكول نص عادي - استخدم أمان الشبكة
- بيانات الاعتماد: مخزنة في ملف التكوين - احمِ الوصول
الخطوات التالية
- مراجعة CONFIGURATION.md لجميع خيارات التكوين
- إعداد MONITORING.md مع Prometheus
- التعرف على USAGE.md للمهام اليومية
- إضافة TROUBLESHOOTING.md إلى المفضلة للرجوع السريع
- مراجعة GLOSSARY.md للمصطلحات