انتقل إلى المحتوى الرئيسي

بوابة OmniMessage SMPP - دليل العمليات

ما هي بوابة OmniMessage SMPP؟

بوابة OmniMessage SMPP هي واحدة من عدة بروتوكولات واجهة أمامية لمنصة الاتصالات OmniMessage. تمكّن من إرسال رسائل SMS من خلال ربط بنيتك التحتية بشبكات الهاتف المحمول باستخدام بروتوكول SMPP (بروتوكول الرسائل القصيرة من نظير إلى نظير) القياسي في الصناعة.

مهم: هذه البوابة هي واجهة أمامية لبروتوكول بلا حالة. ليس لديها منطق تجاري أو معالجة للرسائل أو قدرات تخزين. كل الذكاء يأتي من OmniMessage، الذي يتم الوصول إليه عبر واجهة برمجة التطبيقات REST. مثل واجهات OmniMessage الأخرى (Diameter، MAP، IMS)، فهي ببساطة تترجم رسائل البروتوكول من/إلى التنسيق الداخلي لـ OmniMessage.

القدرات الرئيسية

  • إرسال واستقب��ل رسائل SMPP ثنائية الاتجاه: إرسال واستقبال رسائل SMS عبر SMPP
  • اتصالات متعددة: الاتصال بعدة مزودين في وقت واحد
  • أداء عالي: معالجة آلاف الرسائل في الثانية
  • تخزين مؤقت محلي للرسائل: الاستمرار في قبول الرسائل خلال انقطاع واجهة برمجة التطبيقات مع إعادة المحاولة التلقائية
  • المراقبة: مقاييس Prometheus المدمجة ولوحة المعلومات على الويب
  • موثوقية: إعادة الاتصال التلقائي وإعادة محاولة الرسائل
  • تشغيل بلا حالة: يتم تفويض كل المعالجة إلى الخلفية OmniMessage

من يجب أن يستخدم هذا الدليل؟

هذا الدليل مخصص لفرق العمليات المسؤولة عن:

  • تثبيت وتكوين البوابة
  • مراقبة حركة الرسائل
  • إدارة اتصالات SMPP
  • استكشاف المشكلات وحلها

البداية السريعة

إعداد المرة الأولى

  1. الوصول إلى لوحة المعلومات على الويب: https://your-server:8087
  2. تحقق من حالة النظام: انتقل إ��ى SMPP → الحالة الحية
  3. مراجعة التكوين: انظر CONFIGURATION.md
  4. إعداد المراقبة: انظر MONITORING.md

العمليات اليومية

المهام التشغيلية الشائعة:

المهمةالإجراء
تحقق من حالة الاتصالواجهة الويب → SMPP → الحالة الحية
عرض حركة الرسائلواجهة الويب → قائمة الانتظار
مراقبة صحة النظامواجهة الويب → السجلات أو مقاييس Prometheus
إضافة/تعديل الاتصالاتواجهة الويب → SMPP → أقران العميل/الخادم

انظر USAGE.md لإجراءات مفصلة.

هيكل النظام

بوابة SMPP هي مترجم بروتوكول بلا حالة يعمل كجزء من منصة OmniMessage:

المفاهيم الرئيسية:

  • بوابة SMPP: مترجم بروتوكول فقط - لا معالجة للرسائل، تخزين، أو منطق تجاري
  • OmniMessage: المنصة الأساسية التي تتعامل مع كل منطق الرسائل، التوجيه، والتخزين
  • الاتصال عبر واجهة برمجة التطبيقات: تسترجع البوابة الرسائل لإرسالها من OmniMessage وتبلغ عن حالة التسليم

تكامل OmniMessage

بوابة OmniMessage SMPP هي واجهة بروتوكول لمنصة الرسائل OmniMessage. إنها واحدة من عدة أنواع واجهات متطابقة تتفاعل مع شبكات الهاتف المحمول باستخدام بروتوكولات مختلفة:

الواجهةالبروتوكولالغرض
بوابة SMPPSMPP (SMS)إرسال رسائل SMS عبر بروتوكول SMPP
بوابة DiameterDiameterالرسائل المعتمدة على IMS
بوابة MAPMAP��شارات الشبكة المحمولة
بوابة IMSIMSنظام الوسائط المتعددة عبر بروتوكول الإنترنت

تشارك جميع الواجهات نفس الهيكل: إنها مترجمات بروتوكول بلا حالة تفوض كل الذكاء إلى جوهر 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: بروتوكول نص عادي - استخدم أمان الشبكة
  • بيانات الاعتماد: مخزنة في ملف التكوين - احمِ الوصول

الخطوات التالية

  1. مراجعة CONFIGURATION.md لجميع خيارات التكوين
  2. إعداد MONITORING.md مع Prometheus
  3. التعرف على USAGE.md للمهام اليومية
  4. إضافة TROUBLESHOOTING.md إلى المفضلة للرجوع السريع
  5. مراجعة GLOSSARY.md للمصطلحات